crewly 1.20.356 → 1.20.359

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 (277) hide show
  1. package/config/constants.ts +11 -0
  2. package/dist/backend/backend/src/constants.d.ts +313 -17
  3. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  4. package/dist/backend/backend/src/constants.js +316 -17
  5. package/dist/backend/backend/src/constants.js.map +1 -1
  6. package/dist/backend/backend/src/index.d.ts +21 -0
  7. package/dist/backend/backend/src/index.d.ts.map +1 -1
  8. package/dist/backend/backend/src/index.js +232 -15
  9. package/dist/backend/backend/src/index.js.map +1 -1
  10. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +10 -2
  11. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  12. package/dist/backend/backend/src/services/agent/agent-registration.service.js +27 -2
  13. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  14. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +34 -1
  15. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  16. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +69 -13
  17. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  18. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +8 -0
  19. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  20. package/dist/backend/backend/src/services/agent/idle-detection.service.js +26 -2
  21. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  22. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts +9 -0
  23. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/agent/resource-mode.service.js +16 -0
  25. package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
  26. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +44 -3
  27. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +126 -11
  29. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  30. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +2 -0
  31. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +9 -1
  33. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  34. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.d.ts +150 -0
  35. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.d.ts.map +1 -0
  36. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.js +324 -0
  37. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.js.map +1 -0
  38. package/dist/backend/backend/src/services/memory/auto-learning.subscriber.d.ts +9 -7
  39. package/dist/backend/backend/src/services/memory/auto-learning.subscriber.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/memory/auto-learning.subscriber.js +19 -17
  41. package/dist/backend/backend/src/services/memory/auto-learning.subscriber.js.map +1 -1
  42. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/memory/memory.service.js +11 -0
  44. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/memory/startup-briefing.service.d.ts +114 -0
  46. package/dist/backend/backend/src/services/memory/startup-briefing.service.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/memory/startup-briefing.service.js +345 -0
  48. package/dist/backend/backend/src/services/memory/startup-briefing.service.js.map +1 -0
  49. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.d.ts +33 -1
  50. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.js +69 -4
  52. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.wiring.d.ts +24 -1
  54. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.wiring.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.wiring.js +54 -3
  56. package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.wiring.js.map +1 -1
  57. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +9 -0
  58. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +16 -2
  60. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
  61. package/dist/backend/backend/src/services/project-tickets/ticket-prefixes.d.ts +30 -0
  62. package/dist/backend/backend/src/services/project-tickets/ticket-prefixes.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/project-tickets/ticket-prefixes.js +48 -0
  64. package/dist/backend/backend/src/services/project-tickets/ticket-prefixes.js.map +1 -0
  65. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +8 -0
  66. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +29 -8
  68. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  69. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +27 -0
  70. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +78 -24
  72. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  73. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts +23 -0
  74. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +38 -1
  76. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  77. package/dist/backend/backend/src/services/session/session-binding.d.ts +25 -2
  78. package/dist/backend/backend/src/services/session/session-binding.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/session/session-binding.js +32 -4
  80. package/dist/backend/backend/src/services/session/session-binding.js.map +1 -1
  81. package/dist/backend/backend/src/services/slack/agent-coordination.d.ts +119 -0
  82. package/dist/backend/backend/src/services/slack/agent-coordination.d.ts.map +1 -0
  83. package/dist/backend/backend/src/services/slack/agent-coordination.js +174 -0
  84. package/dist/backend/backend/src/services/slack/agent-coordination.js.map +1 -0
  85. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/slack/slack-initializer.js +7 -0
  87. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  88. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +167 -0
  89. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +619 -9
  91. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts +22 -0
  93. package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
  94. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +49 -12
  95. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
  96. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +7 -0
  97. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  98. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +25 -4
  99. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  100. package/dist/backend/backend/src/services/team-move/team-move-chat.d.ts +21 -1
  101. package/dist/backend/backend/src/services/team-move/team-move-chat.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/team-move/team-move-chat.js +54 -2
  103. package/dist/backend/backend/src/services/team-move/team-move-chat.js.map +1 -1
  104. package/dist/backend/backend/src/services/team-move/team-move-exporter.d.ts +9 -4
  105. package/dist/backend/backend/src/services/team-move/team-move-exporter.d.ts.map +1 -1
  106. package/dist/backend/backend/src/services/team-move/team-move-exporter.js +32 -10
  107. package/dist/backend/backend/src/services/team-move/team-move-exporter.js.map +1 -1
  108. package/dist/backend/backend/src/services/team-move/team-move-importer.d.ts +19 -0
  109. package/dist/backend/backend/src/services/team-move/team-move-importer.d.ts.map +1 -1
  110. package/dist/backend/backend/src/services/team-move/team-move-importer.js +78 -3
  111. package/dist/backend/backend/src/services/team-move/team-move-importer.js.map +1 -1
  112. package/dist/backend/backend/src/services/team-move/team-move-runtime.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/team-move/team-move-runtime.js +8 -0
  114. package/dist/backend/backend/src/services/team-move/team-move-runtime.js.map +1 -1
  115. package/dist/backend/backend/src/services/team-move/team-move-transcripts.d.ts +106 -0
  116. package/dist/backend/backend/src/services/team-move/team-move-transcripts.d.ts.map +1 -0
  117. package/dist/backend/backend/src/services/team-move/team-move-transcripts.js +212 -0
  118. package/dist/backend/backend/src/services/team-move/team-move-transcripts.js.map +1 -0
  119. package/dist/backend/backend/src/services/team-move/team-move.types.d.ts +20 -0
  120. package/dist/backend/backend/src/services/team-move/team-move.types.d.ts.map +1 -1
  121. package/dist/backend/backend/src/services/team-move/team-move.types.js.map +1 -1
  122. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +2 -2
  123. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  124. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +11 -4
  125. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  126. package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.js +3 -0
  128. package/dist/backend/backend/src/services/wiki/wiki-backlinks.service.js.map +1 -1
  129. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -1
  130. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +4 -1
  131. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -1
  132. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts.map +1 -1
  133. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js +4 -0
  134. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js.map +1 -1
  135. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +36 -5
  136. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  137. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +75 -7
  138. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  139. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts.map +1 -1
  140. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js +3 -1
  141. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js.map +1 -1
  142. package/dist/backend/backend/src/services/wiki/wiki-log-compile.service.d.ts +141 -0
  143. package/dist/backend/backend/src/services/wiki/wiki-log-compile.service.d.ts.map +1 -0
  144. package/dist/backend/backend/src/services/wiki/wiki-log-compile.service.js +324 -0
  145. package/dist/backend/backend/src/services/wiki/wiki-log-compile.service.js.map +1 -0
  146. package/dist/backend/backend/src/services/wiki/wiki-log-entries.d.ts +142 -0
  147. package/dist/backend/backend/src/services/wiki/wiki-log-entries.d.ts.map +1 -0
  148. package/dist/backend/backend/src/services/wiki/wiki-log-entries.js +222 -0
  149. package/dist/backend/backend/src/services/wiki/wiki-log-entries.js.map +1 -0
  150. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.d.ts +93 -0
  151. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.d.ts.map +1 -0
  152. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.js +142 -0
  153. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.js.map +1 -0
  154. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.d.ts +104 -0
  155. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.d.ts.map +1 -0
  156. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.js +192 -0
  157. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.js.map +1 -0
  158. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +3 -2
  159. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -1
  160. package/dist/backend/backend/src/services/wiki/wiki-query.service.js +23 -39
  161. package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -1
  162. package/dist/backend/backend/src/services/wiki/wiki-queue-drain.service.d.ts +105 -0
  163. package/dist/backend/backend/src/services/wiki/wiki-queue-drain.service.d.ts.map +1 -0
  164. package/dist/backend/backend/src/services/wiki/wiki-queue-drain.service.js +195 -0
  165. package/dist/backend/backend/src/services/wiki/wiki-queue-drain.service.js.map +1 -0
  166. package/dist/backend/backend/src/services/wiki/wiki-recent.service.d.ts.map +1 -1
  167. package/dist/backend/backend/src/services/wiki/wiki-recent.service.js +3 -0
  168. package/dist/backend/backend/src/services/wiki/wiki-recent.service.js.map +1 -1
  169. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +28 -5
  170. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  171. package/dist/backend/backend/src/services/wiki/wiki-search.service.js +96 -25
  172. package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  173. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts +11 -0
  174. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -1
  175. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js +17 -1
  176. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js.map +1 -1
  177. package/dist/backend/backend/src/services/wiki/work-record-transcript.d.ts +64 -0
  178. package/dist/backend/backend/src/services/wiki/work-record-transcript.d.ts.map +1 -0
  179. package/dist/backend/backend/src/services/wiki/work-record-transcript.js +194 -0
  180. package/dist/backend/backend/src/services/wiki/work-record-transcript.js.map +1 -0
  181. package/dist/backend/backend/src/services/wiki/work-record.d.ts +239 -0
  182. package/dist/backend/backend/src/services/wiki/work-record.d.ts.map +1 -0
  183. package/dist/backend/backend/src/services/wiki/work-record.js +631 -0
  184. package/dist/backend/backend/src/services/wiki/work-record.js.map +1 -0
  185. package/dist/backend/backend/src/services/wiki/work-record.service.d.ts +209 -0
  186. package/dist/backend/backend/src/services/wiki/work-record.service.d.ts.map +1 -0
  187. package/dist/backend/backend/src/services/wiki/work-record.service.js +514 -0
  188. package/dist/backend/backend/src/services/wiki/work-record.service.js.map +1 -0
  189. package/dist/backend/build-info.json +2 -2
  190. package/dist/backend/config/constants.d.ts +11 -0
  191. package/dist/backend/config/constants.d.ts.map +1 -1
  192. package/dist/backend/config/constants.js +11 -0
  193. package/dist/backend/config/constants.js.map +1 -1
  194. package/dist/cli/backend/src/constants.d.ts +313 -17
  195. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  196. package/dist/cli/backend/src/constants.js +316 -17
  197. package/dist/cli/backend/src/constants.js.map +1 -1
  198. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +10 -2
  199. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  200. package/dist/cli/backend/src/services/agent/agent-registration.service.js +27 -2
  201. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  202. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +34 -1
  203. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  204. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +69 -13
  205. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  206. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +9 -0
  207. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  208. package/dist/cli/backend/src/services/agent/resource-mode.service.js +16 -0
  209. package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
  210. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +44 -3
  211. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  212. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +126 -11
  213. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  214. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +2 -0
  215. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  216. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +9 -1
  217. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  218. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  219. package/dist/cli/backend/src/services/memory/memory.service.js +11 -0
  220. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  221. package/dist/cli/backend/src/services/memory/startup-briefing.service.d.ts +114 -0
  222. package/dist/cli/backend/src/services/memory/startup-briefing.service.d.ts.map +1 -0
  223. package/dist/cli/backend/src/services/memory/startup-briefing.service.js +345 -0
  224. package/dist/cli/backend/src/services/memory/startup-briefing.service.js.map +1 -0
  225. package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.d.ts +33 -1
  226. package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.d.ts.map +1 -1
  227. package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.js +69 -4
  228. package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.js.map +1 -1
  229. package/dist/cli/backend/src/services/slack/agent-coordination.d.ts +119 -0
  230. package/dist/cli/backend/src/services/slack/agent-coordination.d.ts.map +1 -0
  231. package/dist/cli/backend/src/services/slack/agent-coordination.js +174 -0
  232. package/dist/cli/backend/src/services/slack/agent-coordination.js.map +1 -0
  233. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +167 -0
  234. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  235. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +619 -9
  236. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  237. package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts +22 -0
  238. package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -1
  239. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +49 -12
  240. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
  241. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +7 -0
  242. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  243. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +25 -4
  244. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  245. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +36 -5
  246. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  247. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js +75 -7
  248. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  249. package/dist/cli/backend/src/services/wiki/wiki-log-entries.d.ts +142 -0
  250. package/dist/cli/backend/src/services/wiki/wiki-log-entries.d.ts.map +1 -0
  251. package/dist/cli/backend/src/services/wiki/wiki-log-entries.js +222 -0
  252. package/dist/cli/backend/src/services/wiki/wiki-log-entries.js.map +1 -0
  253. package/dist/cli/backend/src/services/wiki/wiki-recent.service.d.ts +51 -0
  254. package/dist/cli/backend/src/services/wiki/wiki-recent.service.d.ts.map +1 -0
  255. package/dist/cli/backend/src/services/wiki/wiki-recent.service.js +105 -0
  256. package/dist/cli/backend/src/services/wiki/wiki-recent.service.js.map +1 -0
  257. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts +28 -5
  258. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  259. package/dist/cli/backend/src/services/wiki/wiki-search.service.js +96 -25
  260. package/dist/cli/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  261. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts +11 -0
  262. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -1
  263. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js +17 -1
  264. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js.map +1 -1
  265. package/dist/cli/backend/src/services/wiki/work-record-transcript.d.ts +64 -0
  266. package/dist/cli/backend/src/services/wiki/work-record-transcript.d.ts.map +1 -0
  267. package/dist/cli/backend/src/services/wiki/work-record-transcript.js +194 -0
  268. package/dist/cli/backend/src/services/wiki/work-record-transcript.js.map +1 -0
  269. package/dist/cli/backend/src/services/wiki/work-record.d.ts +239 -0
  270. package/dist/cli/backend/src/services/wiki/work-record.d.ts.map +1 -0
  271. package/dist/cli/backend/src/services/wiki/work-record.js +631 -0
  272. package/dist/cli/backend/src/services/wiki/work-record.js.map +1 -0
  273. package/dist/cli/config/constants.d.ts +11 -0
  274. package/dist/cli/config/constants.d.ts.map +1 -1
  275. package/dist/cli/config/constants.js +11 -0
  276. package/dist/cli/config/constants.js.map +1 -1
  277. package/package.json +1 -1
@@ -1155,6 +1155,17 @@ export const AGENT_SUSPEND_CONSTANTS = {
1155
1155
  * paid that 50 times a day on steamfun-ops (2026-09-16).
1156
1156
  */
1157
1157
  CRON_KEEPALIVE_WINDOW_MINUTES: 30,
1158
+ /**
1159
+ * An idle member that is in a conversation with the owner (an owner thread
1160
+ * the sentinel watches: the owner wrote to it, or it promised the owner
1161
+ * something, in the last two hours) is kept at least this long before an
1162
+ * idle stop, whatever the configured or pressure timeout says. Under the
1163
+ * 10-minute pressure timeout the audit of 2026-10-16 counted 50 idle stops
1164
+ * in 9 h, many of them agents the owner was still talking to; every stop
1165
+ * costs a cold start and, past the fresh-start threshold, the conversation
1166
+ * (crewly#1344). Memory-pressure and critical stops still apply.
1167
+ */
1168
+ OWNER_THREAD_IDLE_TIMEOUT_MINUTES: 30,
1158
1169
  } as const;
1159
1170
 
1160
1171
  // ========================= SERVER PROCESS CONSTANTS =========================
@@ -531,6 +531,7 @@ export declare const AGENT_SUSPEND_CONSTANTS: {
531
531
  readonly ALWAYS_ON_ROLES: readonly ["orchestrator", "auditor"];
532
532
  readonly AGENT_IDLE_STOP_TIMEOUT_MS: 1800000;
533
533
  readonly CRON_KEEPALIVE_WINDOW_MINUTES: 30;
534
+ readonly OWNER_THREAD_IDLE_TIMEOUT_MINUTES: 30;
534
535
  };
535
536
  export declare const VERSION_CHECK_CONSTANTS: {
536
537
  readonly NPM_REGISTRY_URL: "https://registry.npmjs.org/crewly/latest";
@@ -2050,6 +2051,178 @@ export declare const WIKI_QUEUE_CONSTANTS: {
2050
2051
  readonly CLAIM_TIMEOUT_MS: number;
2051
2052
  /** Sub-folder of the queue root that holds expired items (kept, never deleted). */
2052
2053
  readonly DEAD_LETTER_DIR: "dead-letter";
2054
+ /**
2055
+ * Code drain (#1345): a pending item nobody claimed within this age is
2056
+ * filed into the vault's `log.md` by the backend, without an LLM.
2057
+ */
2058
+ readonly DRAIN_MIN_AGE_MS: number;
2059
+ /** Items filed per drain pass (the pass runs hourly, so a backlog of hundreds clears within a day). */
2060
+ readonly DRAIN_BATCH_SIZE: 100;
2061
+ /** Pause between two filed items, so a long backlog does not saturate disk I/O. */
2062
+ readonly DRAIN_ITEM_PAUSE_MS: 25;
2063
+ /** `claimedBy` / caller the drain stamps on items it files. */
2064
+ readonly DRAIN_CLAIMANT: "system:wiki-queue-drain";
2065
+ };
2066
+ /**
2067
+ * The vault activity log (`llm-curated/log.md`) and what the backend does
2068
+ * with it (#1345): dedupe on append, rotation into an archive, recent
2069
+ * entries in search, and a weekly digest page compiled from them.
2070
+ */
2071
+ export declare const WIKI_LOG_CONSTANTS: {
2072
+ /** Vault-relative path of the activity log. */
2073
+ readonly LOG_RELATIVE_PATH: "llm-curated/log.md";
2074
+ /** Vault-relative folder rotated logs move to (`log-YYYY-MM-DD.md`). Never read by search. */
2075
+ readonly ARCHIVE_DIR: "llm-curated/log-archive";
2076
+ /** Rotate when the log is larger than this. */
2077
+ readonly ROTATE_MAX_BYTES: number;
2078
+ /** Rotate when the log holds more entries than this. */
2079
+ readonly ROTATE_MAX_ENTRIES: 2000;
2080
+ /** After a rotation the fresh log keeps the non-noise entries from this many days. */
2081
+ readonly CARRY_FORWARD_DAYS: 30;
2082
+ /** Cap on entries carried into the fresh log. */
2083
+ readonly CARRY_FORWARD_MAX_ENTRIES: 500;
2084
+ /** Search/recall index the entries from this many days. */
2085
+ readonly SEARCH_WINDOW_DAYS: 30;
2086
+ /** Cap on log entries one vault contributes to a search. */
2087
+ readonly SEARCH_MAX_ENTRIES_PER_VAULT: 300;
2088
+ /** BM25 score multiplier for a log entry (pages rank above entries of equal relevance). */
2089
+ readonly SEARCH_ENTRY_WEIGHT: 0.6;
2090
+ /** Separator between the log path and an entry's timestamp in a search hit path. */
2091
+ readonly ENTRY_PATH_SEPARATOR: "#";
2092
+ /** Recent entry bodies remembered per vault to drop an identical append. */
2093
+ readonly DEDUPE_RECENT_ENTRIES: 500;
2094
+ /** Bytes of the log tail read once to seed the dedupe set. */
2095
+ readonly DEDUPE_SEED_TAIL_BYTES: number;
2096
+ /** The digest compiles the uncompiled non-noise entries from this many days. */
2097
+ readonly COMPILE_WINDOW_DAYS: 7;
2098
+ /** Fewer uncompiled entries than this: no digest page is written. */
2099
+ readonly COMPILE_MIN_ENTRIES: 3;
2100
+ /** Cap on entries one digest page takes (the rest wait for the next run). */
2101
+ readonly COMPILE_MAX_ENTRIES: 150;
2102
+ /** Characters of an entry body quoted in the digest. */
2103
+ readonly COMPILE_ENTRY_MAX_CHARS: 400;
2104
+ /** Vault-relative folder of digest pages. */
2105
+ readonly COMPILE_DIR: "llm-curated/digests";
2106
+ /** Vault-root file remembering which entries were compiled (dot-file: walkers skip it). */
2107
+ readonly COMPILE_STATE_FILE: ".wiki-compile-state.json";
2108
+ /** Cap on remembered compiled entry keys per vault. */
2109
+ readonly COMPILE_STATE_MAX_KEYS: 5000;
2110
+ /** Hourly maintenance tick (drain every tick; rotation + compile once per day). */
2111
+ readonly MAINTENANCE_INTERVAL_MS: number;
2112
+ /** Rotation + compile run at most this often. */
2113
+ readonly MAINTENANCE_DAILY_MS: number;
2114
+ /** Delay before the boot-time pass, so boot I/O settles first. */
2115
+ readonly MAINTENANCE_BOOT_DELAY_MS: number;
2116
+ /** Maintenance bookkeeping (last daily pass), under CREWLY_HOME. */
2117
+ readonly MAINTENANCE_STATE_FILE: "wiki-maintenance-state.json";
2118
+ /** Kill switch env var; the value `false` disables all wiki maintenance. */
2119
+ readonly MAINTENANCE_ENV_KILL_SWITCH: "CREWLY_WIKI_MAINTENANCE";
2120
+ };
2121
+ /**
2122
+ * Daily agent-memory refresh (#1345): what an agent recorded in the wiki
2123
+ * log is reflected into its `memory.json` and the project's memory.
2124
+ */
2125
+ export declare const AGENT_MEMORY_REFRESH_CONSTANTS: {
2126
+ readonly INTERVAL_MS: number;
2127
+ /** Delay before the boot-time catch-up run. */
2128
+ readonly BOOT_DELAY_MS: number;
2129
+ /** Entries newer than this are considered on the first run (later runs use the last-run watermark). */
2130
+ readonly LOOKBACK_MS: number;
2131
+ /** Cap on role-knowledge entries added per agent per run. */
2132
+ readonly MAX_ENTRIES_PER_AGENT: 10;
2133
+ /** Cap on characters of one entry kept as knowledge. */
2134
+ readonly ENTRY_MAX_CHARS: 600;
2135
+ /** Confidence of a knowledge entry derived from the agent's own log entries. */
2136
+ readonly CONFIDENCE: 0.5;
2137
+ /** State file (last run per agent), under CREWLY_HOME. */
2138
+ readonly STATE_FILE: "agent-memory-refresh-state.json";
2139
+ /** Kill switch env var; the value `false` disables the refresh. */
2140
+ readonly ENV_KILL_SWITCH: "CREWLY_AGENT_MEMORY_REFRESH";
2141
+ };
2142
+ /**
2143
+ * Automatic per-task work records (#1349): one `(record)` entry per finished
2144
+ * WorkItem in the project vault log, compiled into the weekly digest.
2145
+ */
2146
+ export declare const WORK_RECORD_CONSTANTS: {
2147
+ /** Hourly tick: catch-up for finished items without a record, blocked items, deferred items. */
2148
+ readonly TICK_MS: number;
2149
+ /** Delay before the boot-time pass, after the other wiki jobs settled. */
2150
+ readonly BOOT_DELAY_MS: number;
2151
+ /** A terminal event waits this long before the record is assembled (ticket sync, verify item, evidence land first). */
2152
+ readonly EVENT_DELAY_MS: number;
2153
+ /** Catch-up looks at items that ended within this many days. */
2154
+ readonly CATCHUP_WINDOW_DAYS: 7;
2155
+ /** Cap on records written per pass (the rest wait for the next tick). */
2156
+ readonly CATCHUP_MAX_PER_PASS: 200;
2157
+ /** A record waiting for the owner's OK on a ticket is written anyway after this long. */
2158
+ readonly DEFER_MAX_MS: number;
2159
+ /** An item parked in `blocked` for longer than this gets a blocked record. */
2160
+ readonly BLOCKED_AFTER_MS: number;
2161
+ /** Hard cap on one record's body (the `meta:` line always fits). */
2162
+ readonly MAX_CHARS: 2500;
2163
+ /** Characters of the ask quoted. */
2164
+ readonly QUOTE_MAX_CHARS: 160;
2165
+ /** Characters of the result summary kept. */
2166
+ readonly DID_MAX_CHARS: 400;
2167
+ /** Cap on output lines and characters per line. */
2168
+ readonly MAX_OUTPUTS: 8;
2169
+ readonly OUTPUT_MAX_CHARS: 160;
2170
+ /** Cap on error lines and characters per line. */
2171
+ readonly MAX_ERRORS: 5;
2172
+ readonly ERROR_MAX_CHARS: 160;
2173
+ /** Cap on helper lines and characters per line. */
2174
+ readonly MAX_HELPERS: 6;
2175
+ readonly HELPER_MAX_CHARS: 120;
2176
+ /** Bytes read from the end of the agent's transcript for the task window. */
2177
+ readonly TRANSCRIPT_TAIL_BYTES: number;
2178
+ /** Transcripts are consulted only for items that ended within this long (older windows are not in the tail). */
2179
+ readonly TRANSCRIPT_MAX_AGE_MS: number;
2180
+ /** Slack around the task window when slicing the transcript. */
2181
+ readonly TRANSCRIPT_WINDOW_SLACK_MS: number;
2182
+ /** Cap on trace events read per record. */
2183
+ readonly TRACE_MAX_EVENTS: 2000;
2184
+ /** State file (recorded keys), under CREWLY_HOME. */
2185
+ readonly STATE_FILE: "work-records-state.json";
2186
+ /** Cap on remembered record keys. */
2187
+ readonly STATE_MAX_KEYS: 5000;
2188
+ /** Kill switch env var; the value `false` disables work records. */
2189
+ readonly ENV_KILL_SWITCH: "CREWLY_WORK_RECORDS";
2190
+ /** Source type of a record entry in the vault log. */
2191
+ readonly SOURCE_TYPE: "work_record";
2192
+ /** Prefix of a record's `ref:` (`work-record:<workItemId>#<phase>`). */
2193
+ readonly REF_PREFIX: "work-record:";
2194
+ /** Records the startup briefing lists. */
2195
+ readonly BRIEFING_MAX: 5;
2196
+ /** Characters of one record line in the briefing. */
2197
+ readonly BRIEFING_LINE_MAX_CHARS: 240;
2198
+ /** WorkItem types that are bookkeeping, never recorded. */
2199
+ readonly SKIPPED_TYPES: readonly string[];
2200
+ };
2201
+ /**
2202
+ * Startup briefing content (#1345): wiki pages, recent lessons and open
2203
+ * owner threads an agent gets at registration, on top of its session memory.
2204
+ */
2205
+ export declare const STARTUP_BRIEFING_CONSTANTS: {
2206
+ /** Hard cap on the whole section. */
2207
+ readonly MAX_CHARS: 12000;
2208
+ /** Cap on the wiki index excerpt. */
2209
+ readonly INDEX_MAX_CHARS: 4000;
2210
+ /** Most-recently-changed topic pages listed. */
2211
+ readonly RECENT_PAGES: 5;
2212
+ /** Characters of a page summary shown. */
2213
+ readonly PAGE_SUMMARY_MAX_CHARS: 240;
2214
+ /** Lessons from this many days back. */
2215
+ readonly LESSONS_DAYS: 7;
2216
+ /** Cap on lessons listed. */
2217
+ readonly LESSONS_MAX: 12;
2218
+ /** Characters of one lesson shown. */
2219
+ readonly LESSON_MAX_CHARS: 300;
2220
+ /** Cap on owner threads listed. */
2221
+ readonly THREADS_MAX: 5;
2222
+ /** Characters of a thread preview shown. */
2223
+ readonly THREAD_PREVIEW_MAX_CHARS: 160;
2224
+ /** Section heading. */
2225
+ readonly HEADING: "## Your Project Knowledge";
2053
2226
  };
2054
2227
  /**
2055
2228
  * Standing-answer pages (#816): a few question-anchored pages per scope,
@@ -2175,6 +2348,10 @@ export declare const SLACK_TYPING_CONSTANTS: {
2175
2348
  readonly TIMEOUT_TEXT: "⏱ {name} is still working on this — the reply will follow.";
2176
2349
  /** How long a placeholder waits for the reply before it is edited to TIMEOUT_TEXT */
2177
2350
  readonly TIMEOUT_MS: number;
2351
+ /** Slack errors meaning the agent's bot cannot post in that channel at all (not a member of a private channel, or gone) */
2352
+ readonly UNREACHABLE_CHANNEL_ERROR: RegExp;
2353
+ /** After such an error, no placeholder is tried for that agent in that channel for this long (ms) */
2354
+ readonly UNREACHABLE_CHANNEL_MS: number;
2178
2355
  /** A timed-out placeholder is still removed by a reply arriving within this long (ms) */
2179
2356
  readonly EXPIRED_KEEP_MS: number;
2180
2357
  /**
@@ -2259,9 +2436,15 @@ export declare const SLACK_THREAD_CONTEXT_CONSTANTS: {
2259
2436
  /** Whether the Slack context block is fetched at all */
2260
2437
  readonly ENABLED: true;
2261
2438
  /** Most messages shown (newest kept) */
2262
- readonly MAX_MESSAGES: 30;
2263
- /** Character budget of the whole block's message lines (newest kept) */
2264
- readonly MAX_CHARS: 5000;
2439
+ readonly MAX_MESSAGES: 40;
2440
+ /**
2441
+ * Character budget of the whole block's message lines (newest kept).
2442
+ * 5 000 → 12 000 (crewly#1344): with the thread root always shown and
2443
+ * 1 500 characters per message, eight messages no longer fit in 5 000,
2444
+ * and the owner approved the larger prompt over agents that could not see
2445
+ * what the thread was about.
2446
+ */
2447
+ readonly MAX_CHARS: 12000;
2265
2448
  /** Characters kept per message before clipping */
2266
2449
  readonly PER_MESSAGE_CHARS: 4000;
2267
2450
  /**
@@ -2269,11 +2452,18 @@ export declare const SLACK_THREAD_CONTEXT_CONSTANTS: {
2269
2452
  * compact "thread so far", not a transcript: a 4 000-char draft pasted in
2270
2453
  * the thread made the prompt 13.5k chars, the busy-agent note cut it at
2271
2454
  * 6 000, and the newest posts and the owner's ping were the part cut
2272
- * (2026-10-08, #content-team).
2455
+ * (2026-10-08, #content-team). 500 → 1 500 (crewly#1344): 500 cut most
2456
+ * owner briefs mid-sentence; the busy-agent note now keeps the block's end.
2273
2457
  */
2274
- readonly BLOCK_PER_MESSAGE_CHARS: 500;
2458
+ readonly BLOCK_PER_MESSAGE_CHARS: 1500;
2275
2459
  /** The block shows at least this many of the newest messages, or everything since the agent's own last post when that is more */
2276
2460
  readonly BLOCK_RECENT_MESSAGES: 8;
2461
+ /**
2462
+ * The thread's root message is always in the block, even when it is
2463
+ * older than the window — it says what the thread is about (crewly#1344).
2464
+ * Shown with this marker and a line saying how many messages were skipped.
2465
+ */
2466
+ readonly ROOT_MARK: "(thread root)";
2277
2467
  /** Marks a line addressed to the agent (or a person's post) after its last post in the thread */
2278
2468
  readonly UNANSWERED_MARK: "⟵ not answered by you yet";
2279
2469
  /**
@@ -3370,12 +3560,24 @@ export declare const ORC_CONVERSATION_CONSTANTS: {
3370
3560
  readonly FRESH_CONTEXT_TOKENS: 300000;
3371
3561
  /** How much of the old transcript's end is read to find the last turn's size */
3372
3562
  readonly TAIL_BYTES: number;
3373
- /** Messages kept in the handover file, newest last */
3374
- readonly HANDOVER_MESSAGES: 40;
3563
+ /**
3564
+ * Messages kept in the handover file, newest last. Raised 40 → 60 with
3565
+ * the per-message and total caps (crewly#1344): a 16k-character tail of
3566
+ * plain words lost the tool traffic entirely, and agents that were reset
3567
+ * several times a day "remembered worse" than plain Claude Code.
3568
+ */
3569
+ readonly HANDOVER_MESSAGES: 60;
3375
3570
  /** Characters kept per handover message */
3376
- readonly HANDOVER_MESSAGE_CHARS: 800;
3377
- /** Total cap on the handover file's body */
3378
- readonly HANDOVER_MAX_CHARS: 16000;
3571
+ readonly HANDOVER_MESSAGE_CHARS: 2000;
3572
+ /** Total cap on the handover file's body (~40k characters, ~10k tokens) */
3573
+ readonly HANDOVER_MAX_CHARS: 40000;
3574
+ /**
3575
+ * Characters kept of each tool call / tool result in a handover: the tool
3576
+ * name plus the start of its input or output, one line each, so the new
3577
+ * conversation knows WHAT was done (files read, commands run), not just
3578
+ * what was said about it. Images stay a described placeholder.
3579
+ */
3580
+ readonly HANDOVER_TOOL_RESULT_CHARS: 200;
3379
3581
  /** Directory under CREWLY_HOME for handover files */
3380
3582
  readonly HANDOVER_DIR: "handover";
3381
3583
  /** A plain restart hands over the previous conversation only when its transcript was written within this window */
@@ -3385,7 +3587,7 @@ export declare const ORC_CONVERSATION_CONSTANTS: {
3385
3587
  /** How much of a transcript's start is read to check it belongs to a session (cwd-wide fallback) */
3386
3588
  readonly OWNERSHIP_HEAD_BYTES: number;
3387
3589
  /** Most of an earlier handover carried into a new one when the source conversation is unreadable */
3388
- readonly CHAINED_HANDOVER_MAX_CHARS: 16000;
3590
+ readonly CHAINED_HANDOVER_MAX_CHARS: 40000;
3389
3591
  };
3390
3592
  /** Pointer header (open work, suggested skills) written at the top of a handover file. */
3391
3593
  export declare const HANDOVER_POINTERS_CONSTANTS: {
@@ -3447,17 +3649,43 @@ export declare const FRESH_TASK_CONVERSATION_CONSTANTS: {
3447
3649
  readonly NEW_SESSION_POLL_MS: 1000;
3448
3650
  /** Cap on the handover text stored through memory (mirrored into the wiki) */
3449
3651
  readonly MEMORY_MAX_CHARS: 4000;
3450
- /** Members start fresh at launch when their last turn carried this many tokens. Env: CREWLY_MEMBER_FRESH_CONTEXT_TOKENS */
3451
- readonly MEMBER_FRESH_CONTEXT_TOKENS: 150000;
3652
+ /**
3653
+ * Members start fresh at launch when their last turn carried this many
3654
+ * tokens. Env: CREWLY_MEMBER_FRESH_CONTEXT_TOKENS.
3655
+ *
3656
+ * Above Claude Code's own auto-compact window (CLAUDE_CODE_CONTEXT, 350k)
3657
+ * on purpose (crewly#1344): Claude compacts its conversation itself and
3658
+ * keeps a far better summary than a handover tail, so Crewly's reset is
3659
+ * only a safety net for a conversation that compaction did not bring
3660
+ * down. At the old 150k the audit of 2026-10-16 counted 58 fresh starts
3661
+ * in 48 h, every one of them replacing a live conversation with 16k
3662
+ * characters of tail.
3663
+ */
3664
+ readonly MEMBER_FRESH_CONTEXT_TOKENS: 400000;
3665
+ /**
3666
+ * The smallest conversation a new-task `/clear` may close (last-turn
3667
+ * tokens): the same as {@link MEMBER_FRESH_CONTEXT_TOKENS}, read through
3668
+ * `memberFreshContextTokens()` so the env override applies to both. A
3669
+ * conversation under it is cheap to keep and is what the agent remembers
3670
+ * by; 137 clears in 48 h, some at 56k, were the cost of not having a floor.
3671
+ */
3672
+ readonly MIN_CLEAR_CONTEXT_TOKENS: 400000;
3673
+ /**
3674
+ * A member the owner spoke to this recently (an owner thread the sentinel
3675
+ * watches: the owner's last message, or an open promise) is never cleared
3676
+ * for a new task — the clear would wipe the conversation the owner is in.
3677
+ */
3678
+ readonly OWNER_CONVERSATION_ACTIVE_MS: number;
3452
3679
  /**
3453
3680
  * Idle-boundary context cap: a Claude Code member (never the orchestrator)
3454
3681
  * whose last turn carried more than this many tokens is saved (handover +
3455
3682
  * wiki) and cleared between turns, then re-oriented on its WorkItem. One
3456
- * long task can otherwise run 1000+ turns at 650k–965k context. Matches
3457
- * the 200k context ceiling the monitor alerts at, so a member never sits
3458
- * in "critical" between turns.
3683
+ * long task can otherwise run 1000+ turns at 650k–965k context. Above the
3684
+ * fresh-start threshold and Claude Code's 350k auto-compact (crewly#1344),
3685
+ * so compaction runs first and this only catches a conversation that kept
3686
+ * growing through it.
3459
3687
  */
3460
- readonly MEMBER_CONTEXT_CAP_TOKENS: 200000;
3688
+ readonly MEMBER_CONTEXT_CAP_TOKENS: 450000;
3461
3689
  /** Env override for {@link MEMBER_CONTEXT_CAP_TOKENS}; `0` disables the cap */
3462
3690
  readonly MEMBER_CONTEXT_CAP_ENV: "CREWLY_MEMBER_CONTEXT_CAP_TOKENS";
3463
3691
  /** At most one context-cap clear per session in this window */
@@ -7149,6 +7377,44 @@ export declare const TL_DELEGATION_CONSTANTS: {
7149
7377
  /** Accepted tool_name from the hook */
7150
7378
  readonly TOOL_NAME_PATTERN: RegExp;
7151
7379
  };
7380
+ /**
7381
+ * Agent-to-agent coordination in Slack rooms (crewly#1340): local
7382
+ * coordination stays inside Crewly, cross-machine coordination goes in a
7383
+ * thread, ticket ids never reach Slack, near-identical repeats are dropped.
7384
+ */
7385
+ export declare const AGENT_COORDINATION_CONSTANTS: {
7386
+ /** chat-v2 message metadata: this agent post was delivered inside Crewly only (value: the reason) */
7387
+ readonly INTERNAL_METADATA_KEY: "agentCoordinationInternal";
7388
+ /** A repeat to the same recipients in the same room within this window is dropped (ms) */
7389
+ readonly DUPLICATE_WINDOW_MS: number;
7390
+ /** Character-bigram similarity at which two messages count as the same message */
7391
+ readonly DUPLICATE_SIMILARITY: 0.85;
7392
+ /** Messages remembered per sender/recipients/room */
7393
+ readonly DUPLICATE_HISTORY: 10;
7394
+ /** Sender/recipients/room keys remembered at most */
7395
+ readonly DUPLICATE_MAX_KEYS: 500;
7396
+ /** Request ticket prefix — always internal (`TKT-187`) */
7397
+ readonly REQUEST_TICKET_PREFIX: "TKT";
7398
+ /** Ticket prefixes are re-read at most this often (ms) */
7399
+ readonly TICKET_PREFIX_CACHE_MS: number;
7400
+ /** Who asked a helper is remembered this long, to hand back a reply it cannot post (ms) */
7401
+ readonly ASKED_BY_TTL_MS: number;
7402
+ /** Entries of the asked-by map at most */
7403
+ readonly ASKED_BY_MAX: 500;
7404
+ /** Longest wait for the directory when telling agents elsewhere from people (ms) */
7405
+ readonly DIRECTORY_LOOKUP_MS: 2000;
7406
+ /** Coordination threads (one per room per UTC day) remembered at most */
7407
+ readonly COORDINATION_THREADS_MAX: 200;
7408
+ /**
7409
+ * Rules for every agent prompted from a Slack room. 2026-10-16: three
7410
+ * agents on one machine flooded #content-team with top-level coordination,
7411
+ * repeated one conclusion three times, quoted ticket ids, and promised to
7412
+ * watch a log "every 3h".
7413
+ */
7414
+ readonly PROMPT_RULES: string;
7415
+ /** Added when the message came from a colleague inside Crewly (never in Slack). */
7416
+ readonly INTERNAL_PROMPT_LINE: "This message came from a colleague inside Crewly and is not in Slack: reply with the command above — your answer goes to them, not to the room.";
7417
+ };
7152
7418
  /**
7153
7419
  * Harness-owned reply routing (specs/2026-10-02-harness-owned-routing.md).
7154
7420
  */
@@ -7973,6 +8239,19 @@ export declare const OWNER_THREAD_SENTINEL_CONSTANTS: {
7973
8239
  readonly BOOT_CARD_MAX_AGE_MS: number;
7974
8240
  /** A card goes into an owner thread only when that thread was active this recently */
7975
8241
  readonly CARD_THREAD_MAX_AGE_MS: number;
8242
+ /**
8243
+ * A watched thread with no owner activity for this long is dropped at
8244
+ * load and never counted as owed again (crewly#1344): a thread from 10-07
8245
+ * whose owner last wrote on 10-08 was re-stamped "restarted" on every boot
8246
+ * and listed as "work in hand" for ten days.
8247
+ */
8248
+ readonly STALE_AFTER_MS: number;
8249
+ /**
8250
+ * An agent counts as "in an owner conversation" while the owner wrote to
8251
+ * it (or it promised the owner something) in a watched thread within this
8252
+ * window — the per-task clear and the slot-cap eviction spare it (crewly#1344).
8253
+ */
8254
+ readonly OWNER_ACTIVE_MS: number;
7976
8255
  };
7977
8256
  /**
7978
8257
  * Drive mode briefing (specs/2026-10-08-drive-mode.md): the owner's queue of
@@ -8347,6 +8626,23 @@ export declare const TEAM_MOVE_CONSTANTS: {
8347
8626
  readonly NON_MACHINE_INSTANCE_PATTERN: "^crewly-cloud";
8348
8627
  /** Newest handover notes kept per agent. */
8349
8628
  readonly HANDOVERS_PER_AGENT: 10;
8629
+ /**
8630
+ * Largest Claude Code transcript (the agent's current conversation) that
8631
+ * travels with a move, per agent (crewly#1344). Only the latest
8632
+ * conversation per agent is packaged, under `transcripts/<session>/`, and
8633
+ * resumed on the target; a bigger one is left behind and listed.
8634
+ */
8635
+ readonly TRANSCRIPT_MAX_BYTES: number;
8636
+ /** Newest chat-v2 messages of the team's Slack room carried in the package (per channel). */
8637
+ readonly CHAT_MESSAGES_PER_CHANNEL: 500;
8638
+ /** Total cap on carried chat messages' content (bytes), all channels together. */
8639
+ readonly CHAT_MESSAGES_MAX_BYTES: number;
8640
+ /**
8641
+ * Suffix of the folder a project is given on the target when the team
8642
+ * lists a project the package did not carry: a clearly flagged placeholder
8643
+ * the owner is told to re-point (never silently dropped, crewly#1344).
8644
+ */
8645
+ readonly PLACEHOLDER_PROJECT_SUFFIX: "-NEEDS-PATH";
8350
8646
  /** Largest text file that is path-rewritten and secret-scanned in memory. */
8351
8647
  readonly TEXT_FILE_MAX_BYTES: number;
8352
8648
  /** Free disk the target needs beyond the package (bytes): 2x package + this. */