crewly 1.20.362 → 1.20.363

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 (262) hide show
  1. package/config/hooks/destructive-git-guard/guard.mjs +96 -0
  2. package/config/skills/agent/core/ask-owner/SKILL.md +31 -0
  3. package/config/skills/agent/core/ask-owner/execute.sh +14 -3
  4. package/config/skills/agent/core/ask-owner/execute.test.sh +8 -0
  5. package/config/skills/agent/core/gmail-read/SKILL.md +8 -0
  6. package/config/skills/agent/core/gmail-send/SKILL.md +10 -3
  7. package/config/skills/agent/core/gmail-send/execute.sh +2 -1
  8. package/config/skills/agent/core/gmail-watch-thread/SKILL.md +69 -0
  9. package/config/skills/agent/core/gmail-watch-thread/execute.sh +51 -0
  10. package/config/skills/agent/core/project-tickets/SKILL.md +12 -0
  11. package/config/skills/agent/core/project-tickets/execute.sh +13 -3
  12. package/config/skills/agent/core/project-tickets/execute.test.sh +4 -0
  13. package/config/skills/agent/core/watch-for-event/SKILL.md +22 -0
  14. package/config/skills/orchestrator/harness-login/SKILL.md +1 -1
  15. package/dist/backend/backend/src/constants.d.ts +63 -2
  16. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  17. package/dist/backend/backend/src/constants.js +64 -3
  18. package/dist/backend/backend/src/constants.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +44 -0
  20. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  21. package/dist/backend/backend/src/controllers/google/google.controller.js +121 -3
  22. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  23. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  24. package/dist/backend/backend/src/controllers/google/google.routes.js +5 -1
  25. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts +1 -1
  27. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +1 -1
  28. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
  29. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +2 -1
  31. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  32. package/dist/backend/backend/src/index.d.ts.map +1 -1
  33. package/dist/backend/backend/src/index.js +61 -0
  34. package/dist/backend/backend/src/index.js.map +1 -1
  35. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
  37. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  38. package/dist/backend/backend/src/services/decisions/decision-card.d.ts +46 -13
  39. package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/decisions/decision-card.js +100 -50
  41. package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
  42. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +23 -1
  43. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/decisions/decision-contract.js +76 -4
  45. package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
  46. package/dist/backend/backend/src/services/decisions/decision-wording.d.ts +167 -0
  47. package/dist/backend/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
  48. package/dist/backend/backend/src/services/decisions/decision-wording.js +406 -0
  49. package/dist/backend/backend/src/services/decisions/decision-wording.js.map +1 -0
  50. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +30 -1
  51. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/decisions/decision.service.js +44 -8
  53. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  54. package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/decisions/decision.wiring.js +17 -0
  56. package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
  57. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +1 -0
  59. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  60. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts +142 -0
  61. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.d.ts.map +1 -0
  62. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js +304 -0
  63. package/dist/backend/backend/src/services/google/gmail-reply-watch.service.js.map +1 -0
  64. package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts +130 -0
  65. package/dist/backend/backend/src/services/google/gmail-send-approval.service.d.ts.map +1 -0
  66. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js +216 -0
  67. package/dist/backend/backend/src/services/google/gmail-send-approval.service.js.map +1 -0
  68. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts +28 -13
  69. package/dist/backend/backend/src/services/google/gmail-send-gate.d.ts.map +1 -1
  70. package/dist/backend/backend/src/services/google/gmail-send-gate.js +82 -29
  71. package/dist/backend/backend/src/services/google/gmail-send-gate.js.map +1 -1
  72. package/dist/backend/backend/src/services/google/gmail.service.d.ts +90 -0
  73. package/dist/backend/backend/src/services/google/gmail.service.d.ts.map +1 -1
  74. package/dist/backend/backend/src/services/google/gmail.service.js +122 -0
  75. package/dist/backend/backend/src/services/google/gmail.service.js.map +1 -1
  76. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts +24 -14
  77. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
  78. package/dist/backend/backend/src/services/harness/claude-accounts.js +35 -21
  79. package/dist/backend/backend/src/services/harness/claude-accounts.js.map +1 -1
  80. package/dist/backend/backend/src/services/harness/claude-native-login.d.ts +106 -0
  81. package/dist/backend/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
  82. package/dist/backend/backend/src/services/harness/claude-native-login.js +174 -0
  83. package/dist/backend/backend/src/services/harness/claude-native-login.js.map +1 -0
  84. package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
  85. package/dist/backend/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
  86. package/dist/backend/backend/src/services/harness/claude-token-migration.service.js +283 -0
  87. package/dist/backend/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
  88. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
  89. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/harness/harness-credentials.store.js +96 -39
  91. package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  92. package/dist/backend/backend/src/services/harness/harness-registry.js +1 -1
  93. package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -1
  94. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
  95. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +2 -2
  96. package/dist/backend/backend/src/services/harness/harness.service.d.ts.map +1 -1
  97. package/dist/backend/backend/src/services/harness/harness.service.js +10 -1
  98. package/dist/backend/backend/src/services/harness/harness.service.js.map +1 -1
  99. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +24 -21
  100. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  101. package/dist/backend/backend/src/services/harness/login-broker.service.js +50 -64
  102. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
  103. package/dist/backend/backend/src/services/harness/login-rules.d.ts +17 -11
  104. package/dist/backend/backend/src/services/harness/login-rules.d.ts.map +1 -1
  105. package/dist/backend/backend/src/services/harness/login-rules.js +22 -25
  106. package/dist/backend/backend/src/services/harness/login-rules.js.map +1 -1
  107. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
  108. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  109. package/dist/backend/backend/src/services/open-items/open-item-extractor.js +70 -0
  110. package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  111. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +25 -0
  112. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/open-items/open-items.service.js +65 -5
  114. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
  116. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +30 -6
  118. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  119. package/dist/backend/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
  120. package/dist/backend/backend/src/services/project-tickets/ticket-file.js +6 -1
  121. package/dist/backend/backend/src/services/project-tickets/ticket-file.js.map +1 -1
  122. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts +64 -0
  123. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.d.ts.map +1 -0
  124. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js +93 -0
  125. package/dist/backend/backend/src/services/project-tickets/ticket-hold-registry.js.map +1 -0
  126. package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
  127. package/dist/backend/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
  128. package/dist/backend/backend/src/services/project-tickets/ticket-hold.js +301 -0
  129. package/dist/backend/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
  130. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +33 -3
  131. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  132. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +50 -4
  133. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  134. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +8 -1
  135. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  136. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +26 -0
  137. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  138. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +6 -1
  139. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  140. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +3 -2
  141. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  142. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  143. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +4 -1
  144. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  145. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +34 -0
  146. package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -1
  147. package/dist/backend/backend/src/services/stall/stall-watcher.service.js +70 -2
  148. package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -1
  149. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts +3 -0
  150. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts.map +1 -1
  151. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js +5 -2
  152. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js.map +1 -1
  153. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts +7 -2
  154. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.d.ts.map +1 -1
  155. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js +11 -2
  156. package/dist/backend/backend/src/services/worktree/worktree-unmerged-notice.js.map +1 -1
  157. package/dist/backend/backend/src/types/decision.types.d.ts +53 -1
  158. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  159. package/dist/backend/backend/src/types/event-bus.types.d.ts +4 -2
  160. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  161. package/dist/backend/backend/src/types/event-bus.types.js +8 -0
  162. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  163. package/dist/backend/backend/src/types/project-ticket.types.d.ts +7 -0
  164. package/dist/backend/backend/src/types/project-ticket.types.d.ts.map +1 -1
  165. package/dist/backend/backend/src/types/project-ticket.types.js +1 -0
  166. package/dist/backend/backend/src/types/project-ticket.types.js.map +1 -1
  167. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +8 -1
  168. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  169. package/dist/backend/build-info.json +2 -2
  170. package/dist/cli/backend/src/constants.d.ts +63 -2
  171. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  172. package/dist/cli/backend/src/constants.js +64 -3
  173. package/dist/cli/backend/src/constants.js.map +1 -1
  174. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  175. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -1
  176. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  177. package/dist/cli/backend/src/services/decisions/decision-card.d.ts +46 -13
  178. package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  179. package/dist/cli/backend/src/services/decisions/decision-card.js +100 -50
  180. package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -1
  181. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +23 -1
  182. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  183. package/dist/cli/backend/src/services/decisions/decision-contract.js +76 -4
  184. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
  185. package/dist/cli/backend/src/services/decisions/decision-wording.d.ts +167 -0
  186. package/dist/cli/backend/src/services/decisions/decision-wording.d.ts.map +1 -0
  187. package/dist/cli/backend/src/services/decisions/decision-wording.js +406 -0
  188. package/dist/cli/backend/src/services/decisions/decision-wording.js.map +1 -0
  189. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +30 -1
  190. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  191. package/dist/cli/backend/src/services/decisions/decision.service.js +44 -8
  192. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  193. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  194. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +1 -0
  195. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  196. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts +24 -14
  197. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts.map +1 -1
  198. package/dist/cli/backend/src/services/harness/claude-accounts.js +35 -21
  199. package/dist/cli/backend/src/services/harness/claude-accounts.js.map +1 -1
  200. package/dist/cli/backend/src/services/harness/claude-native-login.d.ts +106 -0
  201. package/dist/cli/backend/src/services/harness/claude-native-login.d.ts.map +1 -0
  202. package/dist/cli/backend/src/services/harness/claude-native-login.js +174 -0
  203. package/dist/cli/backend/src/services/harness/claude-native-login.js.map +1 -0
  204. package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts +158 -0
  205. package/dist/cli/backend/src/services/harness/claude-token-migration.service.d.ts.map +1 -0
  206. package/dist/cli/backend/src/services/harness/claude-token-migration.service.js +283 -0
  207. package/dist/cli/backend/src/services/harness/claude-token-migration.service.js.map +1 -0
  208. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +44 -24
  209. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  210. package/dist/cli/backend/src/services/harness/harness-credentials.store.js +96 -39
  211. package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  212. package/dist/cli/backend/src/services/harness/harness-registry.js +1 -1
  213. package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -1
  214. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +2 -2
  215. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +2 -2
  216. package/dist/cli/backend/src/services/harness/harness.service.d.ts.map +1 -1
  217. package/dist/cli/backend/src/services/harness/harness.service.js +10 -1
  218. package/dist/cli/backend/src/services/harness/harness.service.js.map +1 -1
  219. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +24 -21
  220. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  221. package/dist/cli/backend/src/services/harness/login-broker.service.js +50 -64
  222. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
  223. package/dist/cli/backend/src/services/harness/login-rules.d.ts +17 -11
  224. package/dist/cli/backend/src/services/harness/login-rules.d.ts.map +1 -1
  225. package/dist/cli/backend/src/services/harness/login-rules.js +22 -25
  226. package/dist/cli/backend/src/services/harness/login-rules.js.map +1 -1
  227. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +36 -0
  228. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
  229. package/dist/cli/backend/src/services/open-items/open-item-extractor.js +70 -0
  230. package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
  231. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +25 -0
  232. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  233. package/dist/cli/backend/src/services/open-items/open-items.service.js +65 -5
  234. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  235. package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts +86 -0
  236. package/dist/cli/backend/src/services/orc/owner-completion-report.text.d.ts.map +1 -0
  237. package/dist/cli/backend/src/services/orc/owner-completion-report.text.js +170 -0
  238. package/dist/cli/backend/src/services/orc/owner-completion-report.text.js.map +1 -0
  239. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +5 -0
  240. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  241. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +30 -6
  242. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  243. package/dist/cli/backend/src/services/project-tickets/ticket-file.d.ts.map +1 -1
  244. package/dist/cli/backend/src/services/project-tickets/ticket-file.js +6 -1
  245. package/dist/cli/backend/src/services/project-tickets/ticket-file.js.map +1 -1
  246. package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts +176 -0
  247. package/dist/cli/backend/src/services/project-tickets/ticket-hold.d.ts.map +1 -0
  248. package/dist/cli/backend/src/services/project-tickets/ticket-hold.js +301 -0
  249. package/dist/cli/backend/src/services/project-tickets/ticket-hold.js.map +1 -0
  250. package/dist/cli/backend/src/types/decision.types.d.ts +53 -1
  251. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  252. package/dist/cli/backend/src/types/event-bus.types.d.ts +4 -2
  253. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  254. package/dist/cli/backend/src/types/event-bus.types.js +8 -0
  255. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  256. package/dist/cli/backend/src/types/project-ticket.types.d.ts +7 -0
  257. package/dist/cli/backend/src/types/project-ticket.types.d.ts.map +1 -1
  258. package/dist/cli/backend/src/types/project-ticket.types.js +1 -0
  259. package/dist/cli/backend/src/types/project-ticket.types.js.map +1 -1
  260. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +8 -1
  261. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  262. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoFvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAwC1B"}
1
+ {"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IAuDvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoFvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAwC1B"}
@@ -76,7 +76,8 @@ export class SkillsReferenceModule {
76
76
  `- \`${p}/slides-read\` / \`slides-create\` — read a deck as text; build one from an outline`,
77
77
  `- \`${p}/gmail-search\` / \`gmail-read\` — search and read the owner's mail`,
78
78
  `- \`${p}/gmail-attachment\` — download an email attachment (\`gmail attachment --message <id> --attachment <id|filename>\`; PDFs also print their text). Read email attachments with gmail attachment …; never open Gmail in the browser for that.`,
79
- `- \`${p}/gmail-send\` — compose mail. It leaves a **draft**; only the owner sends it`,
79
+ `- \`${p}/gmail-send\` — compose mail. It leaves a **draft**; only the owner sends it (a Send card asks them)`,
80
+ `- \`${p}/gmail-watch-thread\` — wake when someone replies in a Gmail thread (with \`watch-for-event --event-type gmail:reply_received\`)`,
80
81
  `- \`${p}/calendar-list\` / \`calendar-create\` — upcoming events; create one`,
81
82
  '',
82
83
  '**For anything in Google, reach for these first.** `remote-browser` is the fallback,',
@@ -1 +1 @@
1
- {"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
@@ -5,16 +5,18 @@
5
5
  * @module services/decisions/decision-card
6
6
  */
7
7
  import type { SlackBlock } from '../../types/slack.types.js';
8
- import type { DecisionAnswerFile, DecisionButtonValue, DecisionChoice, DecisionOption, OwnerDecision } from '../../types/decision.types.js';
8
+ import type { DecisionAnswerFile, DecisionButtonValue, DecisionChoice, DecisionLanguage, DecisionOption, OwnerDecision } from '../../types/decision.types.js';
9
9
  import type { SlackFile } from '../../types/slack.types.js';
10
10
  /**
11
- * Short local time for the card: "14:05" today, "tomorrow 12:00", else "Thu Oct 2 12:00".
11
+ * Short local time for the card: "14:05" today, "tomorrow 12:00", else "Thu Oct 2 12:00"
12
+ * (Chinese for a Chinese owner: "明天 12:00").
12
13
  *
13
14
  * @param at - Moment
14
15
  * @param now - Clock
16
+ * @param lang - Owner language (absent = English)
15
17
  * @returns Text
16
18
  */
17
- export declare function formatWhen(at: Date, now?: Date): string;
19
+ export declare function formatWhen(at: Date, now?: Date, lang?: DecisionLanguage): string;
18
20
  /**
19
21
  * The label of the default, as the card says it ("wait" for none).
20
22
  *
@@ -31,12 +33,22 @@ export declare function defaultLabel(d: Pick<OwnerDecision, 'defaultKey' | 'opti
31
33
  */
32
34
  export declare function optionLabel(d: Pick<OwnerDecision, 'options'>, key: string | undefined): string;
33
35
  /**
34
- * The card header: ticket id + title, else the asker's topic.
36
+ * The card header: a system decision's own title, else the question itself
37
+ * (crewly#1367: the card leads with the question in plain words — never a
38
+ * ticket id or a ticket title the owner has to decode).
35
39
  *
36
40
  * @param d - Decision
37
41
  * @returns Header text (≤ 150 characters, Slack's header limit)
38
42
  */
39
- export declare function cardHeader(d: Pick<OwnerDecision, 'ticket' | 'id' | 'title' | 'browser'>): string;
43
+ export declare function cardHeader(d: Pick<OwnerDecision, 'id' | 'title' | 'browser' | 'question'>): string;
44
+ /**
45
+ * Whether the card shows the question again under the header: only when the
46
+ * header is something else (a system title) or had to be clipped.
47
+ *
48
+ * @param d - Decision
49
+ * @returns True when a question section is needed
50
+ */
51
+ export declare function showsQuestionSection(d: Pick<OwnerDecision, 'id' | 'title' | 'browser' | 'question'>): boolean;
40
52
  /**
41
53
  * The thread root for a ticket that has no thread yet.
42
54
  *
@@ -91,13 +103,15 @@ export declare function renderOpenCard(d: OwnerDecision, instanceId: string, now
91
103
  export declare function canRemind(d: Pick<OwnerDecision, 'kind' | 'system'>): boolean;
92
104
  /**
93
105
  * Whether the card offers "Skip": every card except sensitive asks, system
94
- * decisions and held browser actions — those already have a "No", which is
95
- * what skipping them means ({@link skipChoice}).
106
+ * decisions, held browser actions and merge cards with a "not now" — those
107
+ * already have a "No", which is what skipping them means ({@link skipChoice}).
108
+ * A merge card's way out is named by its outcome (先不合 / Not now), not
109
+ * "Skip" (crewly#1367).
96
110
  *
97
111
  * @param d - Decision
98
112
  * @returns True when the Skip button is shown
99
113
  */
100
- export declare function canSkip(d: Pick<OwnerDecision, 'kind' | 'system' | 'sensitive'>): boolean;
114
+ export declare function canSkip(d: Pick<OwnerDecision, 'kind' | 'system' | 'sensitive'> & Partial<Pick<OwnerDecision, 'merge' | 'options'>>): boolean;
101
115
  /**
102
116
  * What "skip" means for a card: a real skip where {@link canSkip}; else the
103
117
  * safe way out — its "no" option, else its default when that never lets
@@ -106,7 +120,7 @@ export declare function canSkip(d: Pick<OwnerDecision, 'kind' | 'system' | 'sens
106
120
  * @param d - Decision
107
121
  * @returns Choice
108
122
  */
109
- export declare function skipChoice(d: Pick<OwnerDecision, 'kind' | 'system' | 'sensitive' | 'options' | 'defaultKey'>): DecisionChoice;
123
+ export declare function skipChoice(d: Pick<OwnerDecision, 'kind' | 'system' | 'sensitive' | 'options' | 'defaultKey'> & Partial<Pick<OwnerDecision, 'merge'>>): DecisionChoice;
110
124
  /**
111
125
  * Whether the default never lets anything through (a held browser action's
112
126
  * "No", a declining system decision), so it is applied at the deadline even
@@ -149,15 +163,34 @@ export declare function settledLine(d: OwnerDecision, ownerName?: string, now?:
149
163
  */
150
164
  export declare function deadlineDefaultLine(d: OwnerDecision, now?: Date, askerName?: string, settled?: boolean): string;
151
165
  /**
152
- * The one reminder of the `wait` cards nobody answered in a thread: what is
153
- * asked and how to answer (specs/2026-10-02-decision-card-thread-answers.md §2).
154
- * Several cards in one thread share one reminder that lists them.
166
+ * The one reminder of the `wait` cards nobody answered in a thread: ONE
167
+ * short line pointing at the card above, never the card repeated
168
+ * (crewly#1367; specs/2026-10-02-decision-card-thread-answers.md §2). Several
169
+ * cards in one thread share one reminder that counts them.
155
170
  *
156
171
  * @param ds - The thread's due cards (one or more)
157
172
  * @param ownerUserId - The owner's Slack id (mentioned), when known
158
173
  * @returns mrkdwn text
159
174
  */
160
- export declare function waitReminderLine(ds: Pick<OwnerDecision, 'question'> | ReadonlyArray<Pick<OwnerDecision, 'question'>>, ownerUserId?: string | null): string;
175
+ export declare function waitReminderLine(ds: ReminderCard | ReadonlyArray<ReminderCard>, ownerUserId?: string | null): string;
176
+ /** What a reminder line needs of a card. */
177
+ export type ReminderCard = Pick<OwnerDecision, 'question'> & Partial<Pick<OwnerDecision, 'ownerLanguage'>>;
178
+ /**
179
+ * The "Remind me tomorrow" reminder: one short line pointing at the card.
180
+ *
181
+ * @param d - The card
182
+ * @param ownerUserId - Owner's Slack id (mentioned), when known
183
+ * @returns Text
184
+ */
185
+ export declare function remindNowLine(d: ReminderCard, ownerUserId?: string | null): string;
186
+ /**
187
+ * The one re-ask of a sensitive card: one short line pointing at the card.
188
+ *
189
+ * @param d - The card
190
+ * @param ownerUserId - Owner's Slack id (mentioned), when known
191
+ * @returns Text
192
+ */
193
+ export declare function sensitiveReaskLine(d: ReminderCard & Pick<OwnerDecision, 'sensitive'>, ownerUserId?: string | null): string;
161
194
  /**
162
195
  * How a withdrawn card names why it was closed ("ticket done",
163
196
  * "replaced by D-7", or the asker's own words, clipped).
@@ -1 +1 @@
1
- {"version":3,"file":"decision-card.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-card.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-card.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,21 @@
7
7
  import { DECISION_CONSTANTS } from '../../constants.js';
8
8
  import { isAudioOrVideo } from '../../utils/inbound-file-hint.utils.js';
9
9
  import { matchOption } from './decision-contract.js';
10
+ import { cardText, clipQuestion, contextSection, detailsLine, formatWhenZh } from './decision-wording.js';
10
11
  const DAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
11
12
  const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
12
13
  /**
13
- * Short local time for the card: "14:05" today, "tomorrow 12:00", else "Thu Oct 2 12:00".
14
+ * Short local time for the card: "14:05" today, "tomorrow 12:00", else "Thu Oct 2 12:00"
15
+ * (Chinese for a Chinese owner: "明天 12:00").
14
16
  *
15
17
  * @param at - Moment
16
18
  * @param now - Clock
19
+ * @param lang - Owner language (absent = English)
17
20
  * @returns Text
18
21
  */
19
- export function formatWhen(at, now = new Date()) {
22
+ export function formatWhen(at, now = new Date(), lang) {
23
+ if (lang === 'zh')
24
+ return formatWhenZh(at, now);
20
25
  const hm = `${String(at.getHours()).padStart(2, '0')}:${String(at.getMinutes()).padStart(2, '0')}`;
21
26
  const day = (d) => `${d.getFullYear()}-${d.getMonth()}-${d.getDate()}`;
22
27
  if (day(at) === day(now))
@@ -46,8 +51,12 @@ export function defaultLabel(d) {
46
51
  export function optionLabel(d, key) {
47
52
  return d.options.find((o) => o.key === key)?.label ?? String(key ?? '');
48
53
  }
54
+ /** Slack's header block limit (characters). */
55
+ const HEADER_MAX_CHARS = 150;
49
56
  /**
50
- * The card header: ticket id + title, else the asker's topic.
57
+ * The card header: a system decision's own title, else the question itself
58
+ * (crewly#1367: the card leads with the question in plain words — never a
59
+ * ticket id or a ticket title the owner has to decode).
51
60
  *
52
61
  * @param d - Decision
53
62
  * @returns Header text (≤ 150 characters, Slack's header limit)
@@ -55,12 +64,20 @@ export function optionLabel(d, key) {
55
64
  export function cardHeader(d) {
56
65
  const text = d.title
57
66
  ? d.title
58
- : d.ticket
59
- ? `${d.ticket.id} · ${d.ticket.title}`
60
- : d.browser
61
- ? `Browser · ${d.browser.agentName} is waiting for your OK`
62
- : `Decision ${d.id}`;
63
- return text.length > 150 ? `${text.slice(0, 149)}…` : text;
67
+ : d.browser
68
+ ? `Browser · ${d.browser.agentName} is waiting for your OK`
69
+ : d.question?.trim() || `Decision ${d.id}`;
70
+ return text.length > HEADER_MAX_CHARS ? `${text.slice(0, HEADER_MAX_CHARS - 1)}…` : text;
71
+ }
72
+ /**
73
+ * Whether the card shows the question again under the header: only when the
74
+ * header is something else (a system title) or had to be clipped.
75
+ *
76
+ * @param d - Decision
77
+ * @returns True when a question section is needed
78
+ */
79
+ export function showsQuestionSection(d) {
80
+ return cardHeader(d) !== d.question;
64
81
  }
65
82
  /**
66
83
  * The thread root for a ticket that has no thread yet.
@@ -110,26 +127,28 @@ export function parseButtonValue(raw) {
110
127
  * @returns mrkdwn text
111
128
  */
112
129
  export function pendingContextLine(d, now = new Date()) {
113
- const when = formatWhen(new Date(d.deadline), now);
130
+ const lang = d.ownerLanguage;
131
+ const t = cardText(lang);
132
+ const when = formatWhen(new Date(d.deadline), now, lang);
114
133
  const parts = [];
115
134
  if (d.remindAt && Date.parse(d.remindAt) > now.getTime()) {
116
- parts.push(`⏰ Reminding you ${formatWhen(new Date(d.remindAt), now)}.`);
135
+ parts.push(t.remindingAt(formatWhen(new Date(d.remindAt), now, lang)));
117
136
  }
118
137
  if (d.system?.defaultIsDecline) {
119
- parts.push(`Nothing is accepted until you answer. No answer by ${when}: ${defaultLabel(d)}.`);
138
+ parts.push(t.declineDefault(when, defaultLabel(d)));
120
139
  }
121
- else if (d.kind === 'browser_action') {
122
- parts.push(`Nothing happens without your OK. If no answer by ${when}, the answer is ${defaultLabel(d)}.`);
140
+ else if (d.kind === 'browser_action' || d.kind === 'gmail_send') {
141
+ parts.push(t.heldDefault(when, defaultLabel(d)));
123
142
  }
124
143
  else if (d.sensitive) {
125
- parts.push(`This needs your OK (${d.sensitive}); I won't go ahead without an answer.`);
144
+ parts.push(t.sensitive(d.sensitive));
126
145
  }
127
146
  else if (d.defaultKey === DECISION_CONSTANTS.WAIT_DEFAULT) {
128
147
  // Says what to do — not "wait for what?" (specs/2026-10-02-decision-card-thread-answers.md §2).
129
- parts.push(`Tap an answer or reply in this thread — I'll hold this until you do.`);
148
+ parts.push(t.waitHold);
130
149
  }
131
150
  else {
132
- parts.push(`If no answer by ${when}, I'll go with ${defaultLabel(d)}.`);
151
+ parts.push(t.goWithDefault(when, defaultLabel(d)));
133
152
  }
134
153
  parts.push(d.id);
135
154
  return parts.join(' · ');
@@ -154,13 +173,16 @@ function optionDetails(options) {
154
173
  * @returns Blocks
155
174
  */
156
175
  export function renderOpenCard(d, instanceId, now = new Date()) {
157
- const blocks = [
158
- { type: 'header', text: { type: 'plain_text', text: cardHeader(d), emoji: true } },
159
- { type: 'section', text: { type: 'mrkdwn', text: d.question } },
160
- ];
176
+ const t = cardText(d.ownerLanguage);
177
+ const blocks = [{ type: 'header', text: { type: 'plain_text', text: cardHeader(d), emoji: true } }];
178
+ if (showsQuestionSection(d))
179
+ blocks.push({ type: 'section', text: { type: 'mrkdwn', text: d.question } });
161
180
  for (const text of d.body ?? [])
162
181
  if (text.trim())
163
182
  blocks.push({ type: 'section', text: { type: 'mrkdwn', text } });
183
+ const context = contextSection(d.context, d.ownerLanguage, d.merge);
184
+ if (context)
185
+ blocks.push({ type: 'section', text: { type: 'mrkdwn', text: context } });
164
186
  const details = optionDetails(d.options);
165
187
  if (details)
166
188
  blocks.push({ type: 'section', text: { type: 'mrkdwn', text: details } });
@@ -182,7 +204,7 @@ export function renderOpenCard(d, instanceId, now = new Date()) {
182
204
  {
183
205
  type: 'button',
184
206
  action_id: DECISION_CONSTANTS.REMIND_ACTION_ID,
185
- text: { type: 'plain_text', text: 'Remind me tomorrow', emoji: true },
207
+ text: { type: 'plain_text', text: t.remindButton, emoji: true },
186
208
  value: buttonValue(d.id, 'remind', instanceId),
187
209
  },
188
210
  ]
@@ -194,13 +216,16 @@ export function renderOpenCard(d, instanceId, now = new Date()) {
194
216
  {
195
217
  type: 'button',
196
218
  action_id: DECISION_CONSTANTS.SKIP_ACTION_ID,
197
- text: { type: 'plain_text', text: 'Skip', emoji: true },
219
+ text: { type: 'plain_text', text: t.skipButton, emoji: true },
198
220
  value: buttonValue(d.id, DECISION_CONSTANTS.SKIP_OPTION, instanceId),
199
221
  },
200
222
  ]
201
223
  : []),
202
224
  ],
203
225
  });
226
+ const refs = detailsLine(d, d.ownerLanguage);
227
+ if (refs)
228
+ blocks.push({ type: 'context', elements: [{ type: 'mrkdwn', text: refs }] });
204
229
  blocks.push({ type: 'context', elements: [{ type: 'mrkdwn', text: pendingContextLine(d, now) }] });
205
230
  return blocks;
206
231
  }
@@ -213,18 +238,22 @@ export function renderOpenCard(d, instanceId, now = new Date()) {
213
238
  * @returns True when snoozing is allowed
214
239
  */
215
240
  export function canRemind(d) {
216
- return d.kind !== 'browser_action' && !d.system;
241
+ return d.kind !== 'browser_action' && d.kind !== 'gmail_send' && !d.system;
217
242
  }
218
243
  /**
219
244
  * Whether the card offers "Skip": every card except sensitive asks, system
220
- * decisions and held browser actions — those already have a "No", which is
221
- * what skipping them means ({@link skipChoice}).
245
+ * decisions, held browser actions and merge cards with a "not now" — those
246
+ * already have a "No", which is what skipping them means ({@link skipChoice}).
247
+ * A merge card's way out is named by its outcome (先不合 / Not now), not
248
+ * "Skip" (crewly#1367).
222
249
  *
223
250
  * @param d - Decision
224
251
  * @returns True when the Skip button is shown
225
252
  */
226
253
  export function canSkip(d) {
227
- return d.kind !== 'browser_action' && !d.system && !d.sensitive;
254
+ if (d.merge && d.options && noOption(d.options))
255
+ return false;
256
+ return d.kind !== 'browser_action' && d.kind !== 'gmail_send' && !d.system && !d.sensitive;
228
257
  }
229
258
  /**
230
259
  * What "skip" means for a card: a real skip where {@link canSkip}; else the
@@ -253,7 +282,7 @@ export function skipChoice(d) {
253
282
  * @returns True when the default is safe to apply unanswered
254
283
  */
255
284
  export function defaultIsSafe(d) {
256
- return d.kind === 'browser_action' || d.system?.defaultIsDecline === true;
285
+ return d.kind === 'browser_action' || d.kind === 'gmail_send' || d.system?.defaultIsDecline === true;
257
286
  }
258
287
  /**
259
288
  * Blocks of a settled card (no buttons).
@@ -266,7 +295,7 @@ export function defaultIsSafe(d) {
266
295
  export function renderSettledCard(d, ownerName, now = new Date(), askerName) {
267
296
  return [
268
297
  { type: 'header', text: { type: 'plain_text', text: cardHeader(d), emoji: true } },
269
- { type: 'section', text: { type: 'mrkdwn', text: d.question } },
298
+ ...(showsQuestionSection(d) ? [{ type: 'section', text: { type: 'mrkdwn', text: d.question } }] : []),
270
299
  { type: 'context', elements: [{ type: 'mrkdwn', text: settledLine(d, ownerName, now, askerName) }] },
271
300
  ];
272
301
  }
@@ -279,27 +308,26 @@ export function renderSettledCard(d, ownerName, now = new Date(), askerName) {
279
308
  * @returns Text
280
309
  */
281
310
  export function settledLine(d, ownerName, now = new Date(), askerName) {
282
- const at = formatWhen(new Date(d.resolvedAt ?? d.updatedAt), now);
283
- const who = ownerName || (d.answeredBy ? `<@${d.answeredBy}>` : 'The owner');
311
+ const t = cardText(d.ownerLanguage);
312
+ const at = formatWhen(new Date(d.resolvedAt ?? d.updatedAt), now, d.ownerLanguage);
313
+ const who = ownerName || (d.answeredBy ? `<@${d.answeredBy}>` : t.theOwner);
284
314
  switch (d.status) {
285
315
  case 'resolved':
286
316
  if (d.answeredVia === 'thread')
287
- return `✔ Answered in thread · ${at}`;
288
- return d.chosenKey
289
- ? `✔ ${who} chose *${optionLabel(d, d.chosenKey)}* · ${at}`
290
- : `✔ ${who} answered: “${(d.answerText ?? '').slice(0, 200)}” · ${at}`;
317
+ return t.answeredInThread(at);
318
+ return d.chosenKey ? t.chose(who, optionLabel(d, d.chosenKey), at) : t.answered(who, (d.answerText ?? '').slice(0, 200), at);
291
319
  case 'defaulted':
292
320
  return deadlineDefaultLine(d, now, askerName, true);
293
321
  case 'parked':
294
- return `⏸ Parked — no answer, so I'm not going ahead. Answer from "Waiting on you" to reopen it. · ${d.id}`;
322
+ return t.parked(d.id);
295
323
  case 'cancelled':
296
- return `✓ Closed — ${closedReasonLabel(d.closedReason)} · ${at}`;
324
+ return t.closed(closedReasonLabel(d.closedReason), at);
297
325
  case 'expired':
298
326
  return d.browser
299
327
  ? `Expired — ${d.browser.agentName} will ask again · ${at}`
300
- : `✓ Closed — ${DECISION_CONSTANTS.CLOSED_REASONS.STALE} · ${at}`;
328
+ : t.closed(DECISION_CONSTANTS.CLOSED_REASONS.STALE, at);
301
329
  case 'skipped':
302
- return `⤼ ${who} skipped this · ${at}`;
330
+ return t.skipped(who, at);
303
331
  default:
304
332
  return pendingContextLine(d, now);
305
333
  }
@@ -318,17 +346,17 @@ export function settledLine(d, ownerName, now = new Date(), askerName) {
318
346
  * @returns Text
319
347
  */
320
348
  export function deadlineDefaultLine(d, now = new Date(), askerName, settled = false) {
321
- const when = formatWhen(new Date(d.deadline), now);
349
+ const t = cardText(d.ownerLanguage);
350
+ const when = formatWhen(new Date(d.deadline), now, d.ownerLanguage);
322
351
  if (d.defaultKey === DECISION_CONSTANTS.WAIT_DEFAULT)
323
- return `No answer by ${when} — still open.`;
324
- const name = askerName?.trim() || 'I';
325
- const verb = settled ? `${name} went with` : name === 'I' ? "I'll go with" : `${name} will go with`;
326
- return `No answer by ${when}, so ${verb} "${defaultLabel(d)}".`;
352
+ return t.defaultNoAnswerOpen(when);
353
+ return t.defaultNoAnswer(when, t.defaultVerb(askerName?.trim() || null, settled), defaultLabel(d));
327
354
  }
328
355
  /**
329
- * The one reminder of the `wait` cards nobody answered in a thread: what is
330
- * asked and how to answer (specs/2026-10-02-decision-card-thread-answers.md §2).
331
- * Several cards in one thread share one reminder that lists them.
356
+ * The one reminder of the `wait` cards nobody answered in a thread: ONE
357
+ * short line pointing at the card above, never the card repeated
358
+ * (crewly#1367; specs/2026-10-02-decision-card-thread-answers.md §2). Several
359
+ * cards in one thread share one reminder that counts them.
332
360
  *
333
361
  * @param ds - The thread's due cards (one or more)
334
362
  * @param ownerUserId - The owner's Slack id (mentioned), when known
@@ -337,9 +365,30 @@ export function deadlineDefaultLine(d, now = new Date(), askerName, settled = fa
337
365
  export function waitReminderLine(ds, ownerUserId) {
338
366
  const list = Array.isArray(ds) ? ds : [ds];
339
367
  const at = ownerUserId ? `<@${ownerUserId}> ` : '';
368
+ const t = cardText(list[list.length - 1]?.ownerLanguage);
340
369
  if (list.length === 1)
341
- return `${at}Still waiting on you: ${list[0].question} — tap an answer on the card above, or reply here.`;
342
- return `${at}Still waiting on you for ${list.length} questions in this thread:\n${list.map((d) => `• ${d.question}`).join('\n')}\nTap an answer on each card above, or reply here.`;
370
+ return t.waitReminder(at, clipQuestion(list[0].question));
371
+ return t.waitReminderMany(at, list.length);
372
+ }
373
+ /**
374
+ * The "Remind me tomorrow" reminder: one short line pointing at the card.
375
+ *
376
+ * @param d - The card
377
+ * @param ownerUserId - Owner's Slack id (mentioned), when known
378
+ * @returns Text
379
+ */
380
+ export function remindNowLine(d, ownerUserId) {
381
+ return cardText(d.ownerLanguage).remindNow(ownerUserId ? `<@${ownerUserId}> ` : '', clipQuestion(d.question));
382
+ }
383
+ /**
384
+ * The one re-ask of a sensitive card: one short line pointing at the card.
385
+ *
386
+ * @param d - The card
387
+ * @param ownerUserId - Owner's Slack id (mentioned), when known
388
+ * @returns Text
389
+ */
390
+ export function sensitiveReaskLine(d, ownerUserId) {
391
+ return cardText(d.ownerLanguage).sensitiveReask(ownerUserId ? `<@${ownerUserId}> ` : '', clipQuestion(d.question), String(d.sensitive ?? ''));
343
392
  }
344
393
  /**
345
394
  * How a withdrawn card names why it was closed ("ticket done",
@@ -371,7 +420,8 @@ export function cardFallbackText(d) {
371
420
  // The id is always in the text: every machine reads a reply's thread from
372
421
  // Slack and must recognise the card in it (specs/2026-10-03-one-responder-per-message.md §1 c).
373
422
  const id = header.includes(d.id) ? '' : ` [${d.id}]`;
374
- return `${header}${id}: ${d.question} (${d.options.map((o) => o.label).join(' / ')})`;
423
+ const options = `(${d.options.map((o) => o.label).join(' / ')})`;
424
+ return showsQuestionSection(d) ? `${header}${id}: ${d.question} ${options}` : `${d.question}${id} ${options}`;
375
425
  }
376
426
  /**
377
427
  * The option that reads as "no", when one does.
@@ -1 +1 @@
1
- {"version":3,"file":"decision-card.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-card.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-card.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,23 @@
7
7
  *
8
8
  * @module services/decisions/decision-contract
9
9
  */
10
- import type { AskOwnerInput, DecisionOption, DecisionSensitiveKind, ValidatedAsk } from '../../types/decision.types.js';
10
+ import type { AskOwnerInput, DecisionLanguage, DecisionOption, DecisionSensitiveKind, ValidatedAsk } from '../../types/decision.types.js';
11
11
  /** A rejected ask. */
12
12
  export declare class DecisionContractError extends Error {
13
13
  constructor(message: string);
14
14
  }
15
15
  /** The example appended to every contract error. */
16
16
  export declare const ASK_OWNER_EXAMPLE = "Example: ask-owner --question \"Send the partner email on Monday?\" --option \"Send Monday \u2014 after the review call\" --option \"Hold \u2014 wait for legal\" [--option \"Third choice\"] --default \"Hold\" [--deadline 2026-10-02T12:00] [--ticket APP-12 --project P] [--sensitive email]";
17
+ /** The example appended to a merge card's contract errors. */
18
+ export declare const MERGE_ASK_EXAMPLE: string;
19
+ /**
20
+ * The fix-it message for a question with nothing left once internal
21
+ * references are stripped (crewly#1367).
22
+ *
23
+ * @param raw - The question as asked
24
+ * @returns Error text
25
+ */
26
+ export declare function rewriteInPlainWordsMessage(raw: string): string;
17
27
  /**
18
28
  * The next day at {@link DECISION_CONSTANTS.DEFAULT_DEADLINE_HOUR_LOCAL}:00 local.
19
29
  *
@@ -114,4 +124,16 @@ export declare function eitherOrMessage(earlierId: string): string;
114
124
  * @returns The question the card shows (never longer than the maximum)
115
125
  */
116
126
  export declare function withTicketContext(question: string, title: string | undefined): string;
127
+ /**
128
+ * Fit a validated ask to the owner's language (crewly#1367): a Chinese owner
129
+ * gets a Chinese question (else the ask is refused with what to fix) and
130
+ * generic English option labels in Chinese ("Not now" → 先不, on a merge
131
+ * card "Yes, merge" → 合并). An English or unknown owner gets the ask as is.
132
+ *
133
+ * @param ask - The validated ask
134
+ * @param lang - The owner's language, when known
135
+ * @returns The ask with localized options
136
+ * @throws DecisionContractError when the question or a button is not in the owner's language
137
+ */
138
+ export declare function fitAskToOwnerLanguage(ask: ValidatedAsk, lang: DecisionLanguage | null | undefined): ValidatedAsk;
117
139
  //# sourceMappingURL=decision-contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decision-contract.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAExH,sBAAsB;AACtB,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,qSACkP,CAAC;AAiBjR;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,EAAE,CA8C3D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAa9E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,GAAG,IAAI,CAa1F;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAO9E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,IAAiB,GAAG,YAAY,CA+B3F;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAErF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMrF"}
1
+ {"version":3,"file":"decision-contract.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAI1I,sBAAsB;AACtB,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,qSACkP,CAAC;AAEjR,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,QAG+G,CAAC;AAE9I;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9D;AAiBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,EAAE,CA8C3D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAa9E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,GAAG,IAAI,CAa1F;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAO9E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,IAAiB,GAAG,YAAY,CA0D3F;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAErF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMrF;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAgBhH"}