crewly 1.20.155 → 1.20.157

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 (197) hide show
  1. package/config/skills/agent/core/attach-file/SKILL.md +1 -1
  2. package/config/skills/agent/core/attach-file/execute.sh +1 -1
  3. package/config/skills/agent/core/reply-channel/SKILL.md +4 -1
  4. package/config/skills/agent/core/reply-chat/SKILL.md +17 -0
  5. package/config/skills/agent/core/reply-chat/execute.sh +6 -1
  6. package/config/skills/agent/core/slack-post/SKILL.md +1 -1
  7. package/dist/backend/backend/src/constants.d.ts +195 -4
  8. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  9. package/dist/backend/backend/src/constants.js +208 -6
  10. package/dist/backend/backend/src/constants.js.map +1 -1
  11. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +18 -0
  12. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/chat/chat.controller.js +42 -6
  14. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +5 -0
  17. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/slack/slack.controller.js +6 -1
  20. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +18 -0
  22. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  23. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +42 -0
  24. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  25. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +1 -0
  26. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  27. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +3 -1
  28. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  29. package/dist/backend/backend/src/index.d.ts.map +1 -1
  30. package/dist/backend/backend/src/index.js +15 -2
  31. package/dist/backend/backend/src/index.js.map +1 -1
  32. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +1 -0
  33. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/agent/agent-registration.service.js +18 -4
  35. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +13 -0
  37. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +16 -0
  39. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  40. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -1
  41. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +46 -3
  43. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +17 -4
  46. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +93 -6
  48. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +169 -15
  50. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +2 -2
  52. package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +15 -2
  54. package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/slack/slack-initializer.js +7 -1
  57. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  58. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +40 -0
  59. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +86 -9
  61. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  62. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +1 -1
  63. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +33 -4
  65. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts +227 -0
  67. package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -0
  68. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +455 -0
  69. package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -0
  70. package/dist/backend/backend/src/services/slack/slack-thread-key.d.ts +66 -0
  71. package/dist/backend/backend/src/services/slack/slack-thread-key.d.ts.map +1 -0
  72. package/dist/backend/backend/src/services/slack/slack-thread-key.js +109 -0
  73. package/dist/backend/backend/src/services/slack/slack-thread-key.js.map +1 -0
  74. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +89 -13
  75. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  76. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +224 -50
  77. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  78. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts +84 -0
  79. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts.map +1 -1
  80. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js +301 -6
  81. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js.map +1 -1
  82. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +8 -0
  83. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -1
  84. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js +16 -0
  85. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -1
  86. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts +28 -10
  87. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts.map +1 -1
  88. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js +46 -193
  89. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js.map +1 -1
  90. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +15 -2
  91. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
  92. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +26 -4
  93. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
  94. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +35 -0
  95. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
  96. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
  97. package/dist/backend/backend/src/services/v3/request.service.d.ts +2 -0
  98. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/v3/request.service.js +16 -4
  100. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  101. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js +2 -0
  103. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js.map +1 -1
  104. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  105. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +2 -1
  106. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  107. package/dist/backend/backend/src/services/v3/ticket-hygiene.d.ts +162 -0
  108. package/dist/backend/backend/src/services/v3/ticket-hygiene.d.ts.map +1 -0
  109. package/dist/backend/backend/src/services/v3/ticket-hygiene.js +221 -0
  110. package/dist/backend/backend/src/services/v3/ticket-hygiene.js.map +1 -0
  111. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +71 -6
  112. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  113. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +151 -25
  114. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  115. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +22 -3
  116. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  117. package/dist/backend/backend/src/services/v3/ticket-review.service.js +99 -40
  118. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  119. package/dist/backend/backend/src/types/slack.types.d.ts +43 -0
  120. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  121. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  122. package/dist/backend/backend/src/types/v2/request.types.d.ts +13 -0
  123. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  124. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  125. package/dist/backend/build-info.json +2 -2
  126. package/dist/cli/backend/src/constants.d.ts +195 -4
  127. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  128. package/dist/cli/backend/src/constants.js +208 -6
  129. package/dist/cli/backend/src/constants.js.map +1 -1
  130. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +1 -0
  131. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  132. package/dist/cli/backend/src/services/agent/agent-registration.service.js +18 -4
  133. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  134. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts +13 -0
  135. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  136. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +16 -0
  137. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  138. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -1
  139. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  140. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +46 -3
  141. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  142. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  143. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +17 -4
  144. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  145. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +93 -6
  146. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  147. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +169 -15
  148. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  149. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +40 -0
  150. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  151. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +86 -9
  152. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  153. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +1 -1
  154. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  155. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +33 -4
  156. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  157. package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts +227 -0
  158. package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -0
  159. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +455 -0
  160. package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -0
  161. package/dist/cli/backend/src/services/slack/slack-thread-key.d.ts +66 -0
  162. package/dist/cli/backend/src/services/slack/slack-thread-key.d.ts.map +1 -0
  163. package/dist/cli/backend/src/services/slack/slack-thread-key.js +109 -0
  164. package/dist/cli/backend/src/services/slack/slack-thread-key.js.map +1 -0
  165. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +89 -13
  166. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  167. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +224 -50
  168. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  169. package/dist/cli/backend/src/services/v3/request.service.d.ts +2 -0
  170. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  171. package/dist/cli/backend/src/services/v3/request.service.js +16 -4
  172. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  173. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -1
  174. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js +2 -0
  175. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js.map +1 -1
  176. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  177. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +2 -1
  178. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  179. package/dist/cli/backend/src/services/v3/ticket-hygiene.d.ts +162 -0
  180. package/dist/cli/backend/src/services/v3/ticket-hygiene.d.ts.map +1 -0
  181. package/dist/cli/backend/src/services/v3/ticket-hygiene.js +221 -0
  182. package/dist/cli/backend/src/services/v3/ticket-hygiene.js.map +1 -0
  183. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +71 -6
  184. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  185. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +151 -25
  186. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  187. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +22 -3
  188. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  189. package/dist/cli/backend/src/services/v3/ticket-review.service.js +99 -40
  190. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  191. package/dist/cli/backend/src/types/slack.types.d.ts +43 -0
  192. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  193. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  194. package/dist/cli/backend/src/types/v2/request.types.d.ts +13 -0
  195. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  196. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  197. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-ask-classifier.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-ask-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-ask-classifier.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-ask-classifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-channel-hooks.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-channel-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-channel-hooks.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-channel-hooks.ts"],"names":[],"mappings":"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"}
@@ -412,6 +412,7 @@ export function chatV2IntakeMessage(channel, message, originChannel) {
412
412
  ...(channel.type === 'dm' && channel.agentSession ? { targetAgent: channel.agentSession } : {}),
413
413
  ...(orcRouted && message.threadId ? { legacyThreadParentRef: buildChatV2SourceId(channel.id, message.threadId) } : {}),
414
414
  ...(orcRouted ? { tags: ['chat-v2'] } : {}),
415
+ ...(message.threadId ? { isThreadReply: true } : {}),
415
416
  receipt: { kind: 'chat-v2', chatChannelId: channel.id, threadId: root },
416
417
  };
417
418
  }
@@ -473,7 +474,7 @@ export function slackIntakeMessage(input, surface, options = {}) {
473
474
  ...(input.userName ? { authorName: input.userName } : {}),
474
475
  },
475
476
  conversationRef: slackConversationRef(input.slackChannelId),
476
- ...(isReply ? { legacyThreadParentRef: `${prefix}-${input.slackChannelId}-${root}` } : {}),
477
+ ...(isReply ? { legacyThreadParentRef: `${prefix}-${input.slackChannelId}-${root}`, isThreadReply: true } : {}),
477
478
  ...(input.hasFiles ? { attachments: [{}] } : {}),
478
479
  ...(options.targetAgent ? { targetAgent: options.targetAgent } : {}),
479
480
  // `slack` makes the SLA subscriber put a respond-to-user WorkItem on the
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-channel-hooks.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-channel-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticket-channel-hooks.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-channel-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Ticket hygiene (specs/ticket-calm.md) — the rules that keep the ticket pile
3
+ * from growing on the owner:
4
+ *
5
+ * - {@link answerNeedsOwner}: an answered ticket waits in 待验收 only when it
6
+ * has a deliverable someone must look at (a document, an email, a draft, a
7
+ * form, code, a deploy, money, anything sent out) or when the answer asks
8
+ * the owner something. A plain answer closes on the spot.
9
+ * - {@link isStaleTicket}: open / running with no activity for
10
+ * {@link TICKET_CONSTANTS.STALE.AFTER_MS} → closed as stale.
11
+ * - {@link planTicketCleanup} / {@link runTicketCleanup}: the one-time
12
+ * cleanup of the pile that built up before these rules (dry run by
13
+ * default, idempotent).
14
+ *
15
+ * Pure except for {@link runTicketCleanup}, which writes through the
16
+ * request store it is given. No LLM.
17
+ *
18
+ * @module services/v3/ticket-hygiene
19
+ */
20
+ import type { Request, UpdateRequestInput } from '../../types/v2/request.types.js';
21
+ /**
22
+ * Whether an answered ticket has to wait for the owner (待验收) or can close
23
+ * as soon as it is answered.
24
+ *
25
+ * Waits when the ask names a deliverable ({@link TICKET_CONSTANTS.REVIEW.DELIVERABLE_ASK}),
26
+ * the intent is a change ({@link TICKET_CONSTANTS.REVIEW.DELIVERABLE_CATEGORIES}),
27
+ * or the agent's answer asks the owner something
28
+ * ({@link TICKET_CONSTANTS.REVIEW.OWNER_QUESTION}). Everything else — "看看这个",
29
+ * "研究一下", "这个团队都有几个人" — is a conversation, and a conversation
30
+ * that got its answer is done.
31
+ *
32
+ * @param ticket - The ticket (its ask, intent and latest answer)
33
+ * @returns True when the owner has to look at the result
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * answerNeedsOwner({ description: '帮我写一封回信', reply: {...} }); // true
38
+ * answerNeedsOwner({ description: '看看这个 https://x.com/…', reply: {...} }); // false
39
+ * ```
40
+ */
41
+ export declare function answerNeedsOwner(ticket: Pick<Request, 'description' | 'intentCategory' | 'kind'> & {
42
+ reply?: Pick<NonNullable<Request['reply']>, 'excerpt'> | undefined;
43
+ }): boolean;
44
+ /**
45
+ * The last time anything happened on a ticket: created, updated, answered,
46
+ * submitted or discussed.
47
+ *
48
+ * @param ticket - The ticket
49
+ * @returns Epoch ms (NaN-safe: unparsable dates are skipped)
50
+ */
51
+ export declare function ticketLastActivity(ticket: Pick<Request, 'createdAt' | 'updatedAt' | 'submittedAt' | 'discussion'> & {
52
+ reply?: Pick<NonNullable<Request['reply']>, 'at'> | undefined;
53
+ }): number;
54
+ /**
55
+ * Whether a ticket has gone stale: open / ready / running and untouched for
56
+ * {@link TICKET_CONSTANTS.STALE.AFTER_MS}.
57
+ *
58
+ * @param ticket - The ticket
59
+ * @param now - Current time (ms)
60
+ * @returns True when it should be closed as stale
61
+ */
62
+ export declare function isStaleTicket(ticket: Request, now: number): boolean;
63
+ /**
64
+ * The update that closes a ticket as stale: cancelled, tagged, with a note in
65
+ * its discussion so whoever opens it sees why.
66
+ *
67
+ * @param ticket - The ticket
68
+ * @param nowIso - Current time
69
+ * @returns The update
70
+ */
71
+ export declare function staleCloseUpdate(ticket: Request, nowIso: string): UpdateRequestInput;
72
+ /** What the cleanup does to one ticket. */
73
+ export interface TicketCleanupAction {
74
+ id: string;
75
+ /** `TKT-042`, or null for a Request from before the ticket loop */
76
+ tkt: string | null;
77
+ title: string;
78
+ from: Request['status'];
79
+ /**
80
+ * `answered`: 待验收 with nothing for the owner to look at → done (as a plain
81
+ * answer now closes); `accept`: 待验收 answered over a day ago → done
82
+ * (silence); `stale`: open / running idle → cancelled + stale
83
+ */
84
+ action: 'answered' | 'accept' | 'stale';
85
+ }
86
+ /** Result of {@link planTicketCleanup} / {@link runTicketCleanup}. */
87
+ export interface TicketCleanupReport {
88
+ /** False = dry run: nothing was written */
89
+ applied: boolean;
90
+ /** Requests looked at */
91
+ scanned: number;
92
+ /** 待验收 whose answer needs nothing from the owner → done */
93
+ answered: number;
94
+ /** 待验收 older than AUTO_ACCEPT_MS → accepted */
95
+ accept: number;
96
+ /** open / running idle for STALE.AFTER_MS → closed as stale */
97
+ stale: number;
98
+ /** Actions that failed on apply (id + reason) */
99
+ failed: Array<{
100
+ id: string;
101
+ reason: string;
102
+ }>;
103
+ actions: TicketCleanupAction[];
104
+ }
105
+ /** Options for {@link planTicketCleanup}. */
106
+ export interface TicketCleanupOptions {
107
+ /** Current time (ms) */
108
+ now: number;
109
+ /**
110
+ * Also close Requests from before the ticket loop (no TKT number) that went
111
+ * stale. Default true: they are invisible on the board and only inflate
112
+ * counts (2026-09-28: 37 open test-leak Requests from August).
113
+ */
114
+ includeLegacy?: boolean;
115
+ }
116
+ /**
117
+ * Plan the one-time cleanup — the 2026-09-28 rules applied to the pile that
118
+ * built up before them:
119
+ *
120
+ * - a 待验收 ticket whose answer needs nothing from the owner
121
+ * ({@link answerNeedsOwner}) is closed as answered;
122
+ * - any other 待验收 ticket answered more than
123
+ * {@link TICKET_CONSTANTS.REVIEW.AUTO_ACCEPT_MS} ago is accepted (silence);
124
+ * - an open / running one idle for {@link TICKET_CONSTANTS.STALE.AFTER_MS} is
125
+ * closed as stale.
126
+ *
127
+ * Idempotent: a second plan over the result is empty.
128
+ *
129
+ * @param requests - Every Request in the store
130
+ * @param opts - Clock and scope
131
+ * @returns The report (not applied)
132
+ */
133
+ export declare function planTicketCleanup(requests: readonly Request[], opts: TicketCleanupOptions): TicketCleanupReport;
134
+ /** The request store surface the cleanup writes through. */
135
+ export interface TicketCleanupStore {
136
+ listAll(): Promise<Request[]>;
137
+ update(id: string, updates: UpdateRequestInput): Promise<Request>;
138
+ }
139
+ /**
140
+ * Run the cleanup. Dry run unless `apply`; the plan is made from the store's
141
+ * current contents, so running it twice changes nothing the second time.
142
+ *
143
+ * Accepting goes through the store's `done` gate with `accepted` (silence,
144
+ * tagged `auto_accepted`) and `ignoreDeadChildren`, so a ticket with a live
145
+ * WorkItem still stays open (reported under `failed`). A `waiting_confirmation`
146
+ * ticket that does not need review (a question, a cron ticket) is closed the
147
+ * same way without the tag.
148
+ *
149
+ * @param store - Request store
150
+ * @param opts - Clock, scope and `apply`
151
+ * @returns What was (or would be) done
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const dry = await runTicketCleanup(RequestService.getInstance(), { now: Date.now() });
156
+ * const done = await runTicketCleanup(RequestService.getInstance(), { now: Date.now(), apply: true });
157
+ * ```
158
+ */
159
+ export declare function runTicketCleanup(store: TicketCleanupStore, opts: TicketCleanupOptions & {
160
+ apply?: boolean;
161
+ }): Promise<TicketCleanupReport>;
162
+ //# sourceMappingURL=ticket-hygiene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-hygiene.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-hygiene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,MAAM,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,SAAS,CAAA;CAAE,GACxI,OAAO,CAQT;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;CAAE,GAClJ,MAAM,CAKR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAYpF;AAMD,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxB;;;;OAIG;IACH,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,GAAG,mBAAmB,CAuB/G;AAED,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,oBAAoB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/C,OAAO,CAAC,mBAAmB,CAAC,CA6C9B"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Ticket hygiene (specs/ticket-calm.md) — the rules that keep the ticket pile
3
+ * from growing on the owner:
4
+ *
5
+ * - {@link answerNeedsOwner}: an answered ticket waits in 待验收 only when it
6
+ * has a deliverable someone must look at (a document, an email, a draft, a
7
+ * form, code, a deploy, money, anything sent out) or when the answer asks
8
+ * the owner something. A plain answer closes on the spot.
9
+ * - {@link isStaleTicket}: open / running with no activity for
10
+ * {@link TICKET_CONSTANTS.STALE.AFTER_MS} → closed as stale.
11
+ * - {@link planTicketCleanup} / {@link runTicketCleanup}: the one-time
12
+ * cleanup of the pile that built up before these rules (dry run by
13
+ * default, idempotent).
14
+ *
15
+ * Pure except for {@link runTicketCleanup}, which writes through the
16
+ * request store it is given. No LLM.
17
+ *
18
+ * @module services/v3/ticket-hygiene
19
+ */
20
+ import { TICKET_CONSTANTS } from '../../constants.js';
21
+ import { formatTicketNumber, ticketNeedsReview } from '../../types/v2/ticket.types.js';
22
+ import { askText } from './ticket-ask-classifier.js';
23
+ // ---------------------------------------------------------------------------
24
+ // Rules
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Whether an answered ticket has to wait for the owner (待验收) or can close
28
+ * as soon as it is answered.
29
+ *
30
+ * Waits when the ask names a deliverable ({@link TICKET_CONSTANTS.REVIEW.DELIVERABLE_ASK}),
31
+ * the intent is a change ({@link TICKET_CONSTANTS.REVIEW.DELIVERABLE_CATEGORIES}),
32
+ * or the agent's answer asks the owner something
33
+ * ({@link TICKET_CONSTANTS.REVIEW.OWNER_QUESTION}). Everything else — "看看这个",
34
+ * "研究一下", "这个团队都有几个人" — is a conversation, and a conversation
35
+ * that got its answer is done.
36
+ *
37
+ * @param ticket - The ticket (its ask, intent and latest answer)
38
+ * @returns True when the owner has to look at the result
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * answerNeedsOwner({ description: '帮我写一封回信', reply: {...} }); // true
43
+ * answerNeedsOwner({ description: '看看这个 https://x.com/…', reply: {...} }); // false
44
+ * ```
45
+ */
46
+ export function answerNeedsOwner(ticket) {
47
+ if (ticket.kind === 'question')
48
+ return false;
49
+ const R = TICKET_CONSTANTS.REVIEW;
50
+ if (ticket.intentCategory && R.DELIVERABLE_CATEGORIES.includes(ticket.intentCategory))
51
+ return true;
52
+ if (R.DELIVERABLE_ASK.test(askText(ticket.description ?? '')))
53
+ return true;
54
+ const answer = (ticket.reply?.excerpt ?? '').trim();
55
+ // Ends on a question to him, or asks for an OK / a choice anywhere.
56
+ return /[??]$/.test(answer) || R.OWNER_QUESTION.test(answer);
57
+ }
58
+ /**
59
+ * The last time anything happened on a ticket: created, updated, answered,
60
+ * submitted or discussed.
61
+ *
62
+ * @param ticket - The ticket
63
+ * @returns Epoch ms (NaN-safe: unparsable dates are skipped)
64
+ */
65
+ export function ticketLastActivity(ticket) {
66
+ const times = [ticket.createdAt, ticket.updatedAt, ticket.submittedAt, ticket.reply?.at, ...(ticket.discussion ?? []).map((d) => d.at)]
67
+ .map((t) => (t ? Date.parse(t) : NaN))
68
+ .filter((n) => Number.isFinite(n));
69
+ return times.length > 0 ? Math.max(...times) : 0;
70
+ }
71
+ /**
72
+ * Whether a ticket has gone stale: open / ready / running and untouched for
73
+ * {@link TICKET_CONSTANTS.STALE.AFTER_MS}.
74
+ *
75
+ * @param ticket - The ticket
76
+ * @param now - Current time (ms)
77
+ * @returns True when it should be closed as stale
78
+ */
79
+ export function isStaleTicket(ticket, now) {
80
+ if (!TICKET_CONSTANTS.STALE.STATUSES.includes(ticket.status))
81
+ return false;
82
+ return now - ticketLastActivity(ticket) >= TICKET_CONSTANTS.STALE.AFTER_MS;
83
+ }
84
+ /**
85
+ * The update that closes a ticket as stale: cancelled, tagged, with a note in
86
+ * its discussion so whoever opens it sees why.
87
+ *
88
+ * @param ticket - The ticket
89
+ * @param nowIso - Current time
90
+ * @returns The update
91
+ */
92
+ export function staleCloseUpdate(ticket, nowIso) {
93
+ const note = {
94
+ at: nowIso,
95
+ author: TICKET_CONSTANTS.STALE.NOTE_AUTHOR,
96
+ text: TICKET_CONSTANTS.STALE.NOTE,
97
+ ref: `stale-${nowIso}`,
98
+ };
99
+ return {
100
+ status: 'cancelled',
101
+ tags: [...new Set([...ticket.tags, TICKET_CONSTANTS.STALE.TAG])],
102
+ discussion: [...(ticket.discussion ?? []), note],
103
+ };
104
+ }
105
+ /**
106
+ * Plan the one-time cleanup — the 2026-09-28 rules applied to the pile that
107
+ * built up before them:
108
+ *
109
+ * - a 待验收 ticket whose answer needs nothing from the owner
110
+ * ({@link answerNeedsOwner}) is closed as answered;
111
+ * - any other 待验收 ticket answered more than
112
+ * {@link TICKET_CONSTANTS.REVIEW.AUTO_ACCEPT_MS} ago is accepted (silence);
113
+ * - an open / running one idle for {@link TICKET_CONSTANTS.STALE.AFTER_MS} is
114
+ * closed as stale.
115
+ *
116
+ * Idempotent: a second plan over the result is empty.
117
+ *
118
+ * @param requests - Every Request in the store
119
+ * @param opts - Clock and scope
120
+ * @returns The report (not applied)
121
+ */
122
+ export function planTicketCleanup(requests, opts) {
123
+ const actions = [];
124
+ for (const r of requests) {
125
+ const numbered = typeof r.ticketNumber === 'number';
126
+ if (!numbered && opts.includeLegacy === false)
127
+ continue;
128
+ const base = { id: r.id, tkt: numbered ? formatTicketNumber(r.ticketNumber) : null, title: r.title, from: r.status };
129
+ if (r.status === 'waiting_confirmation') {
130
+ const since = Date.parse(r.submittedAt ?? r.updatedAt);
131
+ if (numbered && ticketNeedsReview(r) && r.reply && !answerNeedsOwner(r))
132
+ actions.push({ ...base, action: 'answered' });
133
+ else if (Number.isFinite(since) && opts.now - since >= TICKET_CONSTANTS.REVIEW.AUTO_ACCEPT_MS)
134
+ actions.push({ ...base, action: 'accept' });
135
+ }
136
+ else if (isStaleTicket(r, opts.now)) {
137
+ actions.push({ ...base, action: 'stale' });
138
+ }
139
+ }
140
+ return {
141
+ applied: false,
142
+ scanned: requests.length,
143
+ answered: actions.filter((a) => a.action === 'answered').length,
144
+ accept: actions.filter((a) => a.action === 'accept').length,
145
+ stale: actions.filter((a) => a.action === 'stale').length,
146
+ failed: [],
147
+ actions,
148
+ };
149
+ }
150
+ /**
151
+ * Run the cleanup. Dry run unless `apply`; the plan is made from the store's
152
+ * current contents, so running it twice changes nothing the second time.
153
+ *
154
+ * Accepting goes through the store's `done` gate with `accepted` (silence,
155
+ * tagged `auto_accepted`) and `ignoreDeadChildren`, so a ticket with a live
156
+ * WorkItem still stays open (reported under `failed`). A `waiting_confirmation`
157
+ * ticket that does not need review (a question, a cron ticket) is closed the
158
+ * same way without the tag.
159
+ *
160
+ * @param store - Request store
161
+ * @param opts - Clock, scope and `apply`
162
+ * @returns What was (or would be) done
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * const dry = await runTicketCleanup(RequestService.getInstance(), { now: Date.now() });
167
+ * const done = await runTicketCleanup(RequestService.getInstance(), { now: Date.now(), apply: true });
168
+ * ```
169
+ */
170
+ export async function runTicketCleanup(store, opts) {
171
+ const all = await store.listAll();
172
+ const plan = planTicketCleanup(all, opts);
173
+ if (!opts.apply)
174
+ return plan;
175
+ const byId = new Map(all.map((r) => [r.id, r]));
176
+ const nowIso = new Date(opts.now).toISOString();
177
+ const failed = [];
178
+ for (const a of plan.actions) {
179
+ const r = byId.get(a.id);
180
+ if (!r)
181
+ continue;
182
+ try {
183
+ if (a.action === 'answered') {
184
+ await store.update(r.id, {
185
+ status: 'done',
186
+ accepted: true,
187
+ ignoreDeadChildren: true,
188
+ tags: [...new Set([...r.tags, TICKET_CONSTANTS.REVIEW.ANSWERED_TAG])],
189
+ });
190
+ }
191
+ else if (a.action === 'accept') {
192
+ const silence = ticketNeedsReview(r);
193
+ await store.update(r.id, {
194
+ status: 'done',
195
+ accepted: true,
196
+ ignoreDeadChildren: true,
197
+ ...(silence
198
+ ? { acceptedBy: 'silence', tags: [...new Set([...r.tags, TICKET_CONSTANTS.REVIEW.AUTO_ACCEPTED_TAG])] }
199
+ : {}),
200
+ });
201
+ }
202
+ else {
203
+ await store.update(r.id, staleCloseUpdate(r, nowIso));
204
+ }
205
+ }
206
+ catch (err) {
207
+ failed.push({ id: r.id, reason: err instanceof Error ? err.message : String(err) });
208
+ }
209
+ }
210
+ const failedIds = new Set(failed.map((f) => f.id));
211
+ const ok = plan.actions.filter((a) => !failedIds.has(a.id));
212
+ return {
213
+ ...plan,
214
+ applied: true,
215
+ answered: ok.filter((a) => a.action === 'answered').length,
216
+ accept: ok.filter((a) => a.action === 'accept').length,
217
+ stale: ok.filter((a) => a.action === 'stale').length,
218
+ failed,
219
+ };
220
+ }
221
+ //# sourceMappingURL=ticket-hygiene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-hygiene.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-hygiene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAA8B,MAAM,gCAAgC,CAAC;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyI;IAEzI,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAClC,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACnG,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,oEAAoE;IACpE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAmJ;IAEnJ,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACpI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe,EAAE,GAAW;IACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,OAAO,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC7E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,MAAc;IAC9D,MAAM,IAAI,GAA0B;QAClC,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,WAAW;QAC1C,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI;QACjC,GAAG,EAAE,SAAS,MAAM,EAAE;KACvB,CAAC;IACF,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,UAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC;KACjD,CAAC;AACJ,CAAC;AAkDD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,IAA0B;IACxF,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK;YAAE,SAAS;QACxD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/H,IAAI,CAAC,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,QAAQ,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;iBAClH,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,cAAc;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7I,CAAC;aAAM,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM;QAC/D,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QAC3D,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM;QACzD,MAAM,EAAE,EAAE;QACV,OAAO;KACR,CAAC;AACJ,CAAC;AAQD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB,EACzB,IAAgD;IAEhD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvB,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,IAAI;oBACd,kBAAkB,EAAE,IAAI;oBACxB,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;iBACtE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvB,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,IAAI;oBACd,kBAAkB,EAAE,IAAI;oBACxB,GAAG,CAAC,OAAO;wBACT,CAAC,CAAC,EAAE,UAAU,EAAE,SAAkB,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;wBAChH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM;QAC1D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QACtD,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM;QACpD,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -10,9 +10,18 @@
10
10
  *
11
11
  * - opens a new ticket (a `Request` with a TKT number, `kind`, `origin`,
12
12
  * `assignee`) and posts ONE receipt where it was said;
13
- * - is a reply in a thread that already has a ticket: a follow-up on that
14
- * work is appended to its discussion; a NEW ask opens its own ticket in the
15
- * same thread, linked to the parent (#827, {@link classifyOwnerMessage});
13
+ * - is a reply in a thread that already has a ticket — open, waiting for the
14
+ * owner, or finished within {@link TICKET_CONSTANTS.FOLLOW_UP.RECENT_TICKET_MS}:
15
+ * a follow-up, an answer or a decision is appended to its discussion (and
16
+ * on a 待验收 ticket counts as the owner's OK); only a genuinely new ask
17
+ * opens its own ticket in the same thread, linked to the parent (#827,
18
+ * {@link isGenuinelyNewAsk});
19
+ * - is a DM reply soon after the conversation's latest ticket
20
+ * ({@link TICKET_CONSTANTS.FOLLOW_UP.DM_WINDOW_MS}): the same, for
21
+ * conversations where every message is top level;
22
+ * - is a reply in a thread an agent started (no ticket): an answer to the
23
+ * agent, ignored unless it is a genuinely new ask (2026-09-28: 「发了」
24
+ * 「A 论文那个 开个Issue吧」 had become tickets of their own);
16
25
  * - is "不用记" (don't track) and dismisses the ticket it answers;
17
26
  * - is noise (trivial ack, file only, a status ping, agent-authored) and is
18
27
  * ignored. Request-phrased questions ("可以去研究一下 X 吗") are asks, and a
@@ -23,7 +32,7 @@
23
32
  *
24
33
  * @module services/v3/ticket-intake.service
25
34
  */
26
- import { weightedTextLength } from './ticket-ask-classifier.js';
35
+ import { weightedTextLength, type AskClassification } from './ticket-ask-classifier.js';
27
36
  import type { IntakeOutcomeRecorder } from './ticket-intake-log.js';
28
37
  import { type Request, type RequestStatus, type TicketAcceptedBy } from '../../types/v2/request.types.js';
29
38
  import { type TicketOrigin, type TicketReceipt, type TicketKind, type TicketBoardColumn, type TicketPriorityLabel, type BoardWorkItemView, type TicketAcceptance, type TicketReply } from '../../types/v2/ticket.types.js';
@@ -60,6 +69,26 @@ export declare function titleText(text: string): string;
60
69
  * @returns True for "不用记" and its variants
61
70
  */
62
71
  export declare function isDismissText(text: string): boolean;
72
+ /**
73
+ * Whether a reply in an existing conversation (a ticket's thread, an agent's
74
+ * thread, a DM right after a ticket) is a genuinely new ask that deserves its
75
+ * own ticket (2026-09-28). Stricter than the classifier's `new_ask` alone:
76
+ *
77
+ * - a question stays in the conversation (the agent answers it there);
78
+ * - a short reply (≤ {@link TICKET_CONSTANTS.FOLLOW_UP.SHORT_REPLY_WEIGHTED_LENGTH}
79
+ * weighted) is an answer — 「可以改到10:30吗」 — unless it says 「帮我…」
80
+ * outright or opens a new topic.
81
+ *
82
+ * @param text - The owner's message
83
+ * @param ask - Its in-thread classification
84
+ * @returns True when it opens a ticket of its own
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * isGenuinelyNewAsk('A 论文那个 开个Issue吧 放到backlog', classifyOwnerMessage(t, { inThread: true })); // false
89
+ * ```
90
+ */
91
+ export declare function isGenuinelyNewAsk(text: string, ask: AskClassification): boolean;
63
92
  /** Where a receipt should be posted. */
64
93
  export type ReceiptTarget = {
65
94
  kind: 'slack';
@@ -109,6 +138,11 @@ export interface IntakeMessage {
109
138
  legacyThreadParentRef?: string;
110
139
  /** Extra tags (e.g. `slack` / `chat-v2` for the SLA subscriber) */
111
140
  tags?: readonly string[];
141
+ /**
142
+ * The message is a reply inside a thread (not the thread's root). A reply
143
+ * in a thread with no ticket answers whoever started it — an agent.
144
+ */
145
+ isThreadReply?: boolean;
112
146
  /** Where to post the receipt; omitted = no receipt */
113
147
  receipt?: ReceiptTarget;
114
148
  }
@@ -445,11 +479,42 @@ export declare class TicketIntakeService {
445
479
  * @returns True when it was
446
480
  */
447
481
  private conversationMatches;
482
+ /**
483
+ * Whether a finished ticket finished recently enough that its thread is
484
+ * still its conversation ({@link TICKET_CONSTANTS.FOLLOW_UP.RECENT_TICKET_MS}).
485
+ *
486
+ * @param ticket - A done or cancelled ticket
487
+ * @returns True when follow-ups in its thread still belong to it
488
+ */
489
+ private finishedRecently;
490
+ /**
491
+ * In a DM-like conversation (every message top level), the ticket a reply
492
+ * most likely follows up: the conversation's ticket with the latest
493
+ * activity, if that was within {@link TICKET_CONSTANTS.FOLLOW_UP.DM_WINDOW_MS}.
494
+ * Dismissed tickets never take follow-ups.
495
+ *
496
+ * @param all - Every Request
497
+ * @param message - The message
498
+ * @returns The ticket, or null
499
+ */
500
+ private recentConversationTicket;
501
+ /**
502
+ * An owner follow-up on a 待验收 ticket that is not 打回 (2026-09-28): it is
503
+ * his OK. The ticket is accepted and the message kept in its discussion;
504
+ * when it cannot be accepted yet (live work), the agent is back on it.
505
+ *
506
+ * @param ticket - The 待验收 ticket
507
+ * @param message - The follow-up
508
+ * @param text - Trimmed text
509
+ * @returns `verified`, or `appended` when it could not be accepted
510
+ */
511
+ private acceptOnFollowUp;
448
512
  /**
449
513
  * Append a follow-up to a ticket's discussion.
450
514
  *
451
- * Trivial follow-ups ("好的") are not written, but the message still belongs
452
- * to the ticket (so the delivered copy carries its marker).
515
+ * Pure acknowledgements ("好的", "thanks") are not written, but the message
516
+ * still belongs to the ticket (so the delivered copy carries its marker).
517
+ * Short answers are written: 「是绿卡」 is what the agent asked for.
453
518
  *
454
519
  * @param ticket - The open ticket
455
520
  * @param message - The follow-up