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
@@ -42,6 +42,15 @@ export class SlackTypingPlaceholderService {
42
42
  expired = new Map();
43
43
  /** Placeholders being posted right now (two copies of one message must not post two). */
44
44
  inFlight = new Map();
45
+ /**
46
+ * One operation at a time per thread. An interim note (take the
47
+ * placeholder down, put a fresh one back) racing the final answer let the
48
+ * answer find nothing to replace and then the fresh placeholder appear
49
+ * under it, where it stayed (2026-09-28).
50
+ */
51
+ locks = new Map();
52
+ /** Agents with a turn-end second look already scheduled. */
53
+ recheckScheduled = new Set();
45
54
  /**
46
55
  * @param deps - Slack slice plus optional timer overrides for tests
47
56
  */
@@ -74,10 +83,39 @@ export class SlackTypingPlaceholderService {
74
83
  const running = this.inFlight.get(k);
75
84
  if (running)
76
85
  return running;
77
- const task = this.post(k, key, identity, phase, sourceTs).finally(() => this.inFlight.delete(k));
86
+ // Behind any answer being posted in this thread right now: the answer
87
+ // takes down what is there, then this placeholder goes up — never the
88
+ // other way round.
89
+ const task = this.withLock(k, async () => {
90
+ const now = this.pending.get(k);
91
+ if (now) {
92
+ if (sourceTs)
93
+ now.placeholder.sourceTs = sourceTs;
94
+ return now.placeholder;
95
+ }
96
+ return this.post(k, key, identity, phase, sourceTs);
97
+ }).finally(() => this.inFlight.delete(k));
78
98
  this.inFlight.set(k, task);
79
99
  return task;
80
100
  }
101
+ /**
102
+ * Run `fn` after every earlier operation on the same thread has finished.
103
+ *
104
+ * @param k - Thread key
105
+ * @param fn - The operation
106
+ * @returns Its result
107
+ */
108
+ withLock(k, fn) {
109
+ const previous = this.locks.get(k) ?? Promise.resolve();
110
+ const run = previous.catch(() => undefined).then(fn);
111
+ const tail = run.catch(() => undefined);
112
+ this.locks.set(k, tail);
113
+ void tail.then(() => {
114
+ if (this.locks.get(k) === tail)
115
+ this.locks.delete(k);
116
+ });
117
+ return run;
118
+ }
81
119
  /**
82
120
  * Move a pending placeholder to another phase (e.g. the agent finished
83
121
  * waking and now holds the message → "is working on it…"). No-op when nothing
@@ -108,10 +146,12 @@ export class SlackTypingPlaceholderService {
108
146
  async fail(key) {
109
147
  const k = keyOf(key);
110
148
  await this.inFlight.get(k);
111
- const placeholder = this.take(key);
149
+ const [placeholder, ...others] = this.takeAll(key);
112
150
  if (!placeholder)
113
151
  return;
114
152
  await this.edit(placeholder, SLACK_TYPING_CONSTANTS.FAILED_TEXT.replace('{name}', placeholder.displayName));
153
+ for (const other of others)
154
+ await this.remove(other);
115
155
  }
116
156
  textFor(phase, name) {
117
157
  return (phase === 'waking' ? SLACK_TYPING_CONSTANTS.WAKING_TEXT : SLACK_TYPING_CONSTANTS.TYPING_TEXT).replace('{name}', name);
@@ -141,6 +181,7 @@ export class SlackTypingPlaceholderService {
141
181
  displayName: identity.displayName,
142
182
  phase,
143
183
  ...(sourceTs ? { sourceTs } : {}),
184
+ postedAt: Date.now(),
144
185
  };
145
186
  const setTimer = this.deps.setTimer ?? ((fn, ms) => setTimeout(fn, ms));
146
187
  const unref = (t) => {
@@ -199,64 +240,166 @@ export class SlackTypingPlaceholderService {
199
240
  return entry.placeholder;
200
241
  }
201
242
  /**
202
- * Post the reply as a new message and remove the placeholder.
243
+ * Every placeholder outstanding in one thread (pending and timed out),
244
+ * oldest first, no longer tracked. Timers are cancelled.
245
+ *
246
+ * @param key - Agent + conversation (+ thread)
247
+ * @returns The placeholders, oldest first
248
+ */
249
+ takeAll(key) {
250
+ const k = keyOf(key);
251
+ const out = [];
252
+ // A timed-out placeholder is always the older one: a pending one is only
253
+ // posted for a key once the previous one has left `pending`.
254
+ const late = this.expired.get(k);
255
+ if (late) {
256
+ this.expired.delete(k);
257
+ out.push(late.placeholder);
258
+ }
259
+ const entry = this.pending.get(k);
260
+ if (entry) {
261
+ (this.deps.clearTimer ?? clearTimeout)(entry.timer);
262
+ if (entry.slowTimer)
263
+ (this.deps.clearTimer ?? clearTimeout)(entry.slowTimer);
264
+ this.pending.delete(k);
265
+ out.push(entry.placeholder);
266
+ }
267
+ if (out.length > 0)
268
+ this.persist();
269
+ return out;
270
+ }
271
+ /**
272
+ * Take one placeholder off Slack: deleted, or — where this bot cannot
273
+ * delete — edited to the settled note so it no longer reads as pending.
274
+ *
275
+ * @param placeholder - The placeholder
276
+ */
277
+ async remove(placeholder) {
278
+ try {
279
+ if (this.deps.slack.deleteMessage) {
280
+ await this.deps.slack.deleteMessage(placeholder.slackChannelId, placeholder.ts, placeholder.botToken);
281
+ }
282
+ else {
283
+ await this.deps.slack.updateMessage(placeholder.slackChannelId, placeholder.ts, SLACK_TYPING_CONSTANTS.SETTLED_TEXT.replace('{name}', placeholder.displayName), undefined, placeholder.botToken);
284
+ }
285
+ }
286
+ catch (err) {
287
+ // Already gone (message_not_found) is the common case and harmless.
288
+ this.logger.debug('Could not take a typing placeholder down', { error: err instanceof Error ? err.message : String(err) });
289
+ }
290
+ }
291
+ /**
292
+ * The answer for a thread arrived: it takes the place of the thread's
293
+ * placeholder, and no other placeholder is left in that thread.
203
294
  *
204
- * The reply used to be edited into the placeholder. Slack does not notify
205
- * anyone of an edit — no unread mark, no badge, no push — so once
206
- * "working on it…" placeholders became common the owner could no longer
207
- * tell that an answer had arrived (2026-09-23). A new message notifies
208
- * like any other. The placeholder is deleted after the reply is up, so
209
- * the thread never goes without either.
295
+ * With REPLACE_BY_EDIT (default) the OLDEST placeholder in the thread is
296
+ * edited into the answer and every other one there is deleted — one
297
+ * answer covering two messages sent back to back leaves nothing behind
298
+ * (2026-09-28). Otherwise (the 2026-09-23 behaviour: an edit raises no
299
+ * notification) the answer is posted as a new message and the
300
+ * placeholders are deleted after it, so the thread never goes without
301
+ * either. A failed edit falls back to posting.
210
302
  *
211
- * Without a way to delete (older wiring), the placeholder is edited into
212
- * the reply as before.
303
+ * Waits for a placeholder still being posted in that thread, and for any
304
+ * other operation there, so a placeholder can never go up after the
305
+ * answer that should have replaced it.
213
306
  *
214
307
  * @param key - Agent + conversation (+ thread)
215
308
  * @param text - The reply
216
309
  * @param identity - The agent's bot token
217
- * @returns 'replaced' when a placeholder gave way to a new message, 'edited' when it was edited in place, 'posted' when there was none
310
+ * @param opts - `reopen`: the reply is an interim note — put a fresh placeholder back under it, in the same step
311
+ * @returns 'edited' when a placeholder became the reply, 'replaced' when the reply was posted and a placeholder removed, 'posted' when there was none
218
312
  */
219
- async resolve(key, text, identity) {
220
- const placeholder = this.take(key);
221
- if (placeholder && !this.deps.slack.deleteMessage) {
222
- try {
223
- await this.deps.slack.updateMessage(placeholder.slackChannelId, placeholder.ts, text, undefined, placeholder.botToken);
224
- return 'edited';
313
+ async resolve(key, text, identity, opts = {}) {
314
+ const k = keyOf(key);
315
+ await this.inFlight.get(k);
316
+ return this.withLock(k, async () => {
317
+ const [oldest, ...others] = this.takeAll(key);
318
+ let outcome = null;
319
+ const byEdit = this.deps.replaceByEdit ?? SLACK_TYPING_CONSTANTS.REPLACE_BY_EDIT;
320
+ if (oldest && (byEdit || !this.deps.slack.deleteMessage)) {
321
+ try {
322
+ await this.deps.slack.updateMessage(oldest.slackChannelId, oldest.ts, text, undefined, oldest.botToken);
323
+ outcome = 'edited';
324
+ }
325
+ catch (err) {
326
+ this.logger.warn('Could not edit the typing placeholder into the reply — posting it instead', {
327
+ key: k,
328
+ error: err instanceof Error ? err.message : String(err),
329
+ });
330
+ }
225
331
  }
226
- catch (err) {
227
- this.logger.warn('Could not edit the typing placeholder into the reply — posting it instead', {
228
- key: keyOf(key),
229
- error: err instanceof Error ? err.message : String(err),
332
+ if (!outcome) {
333
+ await this.deps.slack.sendMessage({
334
+ channelId: key.slackChannelId,
335
+ text,
336
+ ...(key.threadTs ? { threadTs: key.threadTs } : {}),
337
+ ...principalOf(identity),
338
+ skipChatV2Mirror: true,
230
339
  });
340
+ if (oldest && this.deps.slack.deleteMessage) {
341
+ try {
342
+ await this.deps.slack.deleteMessage(oldest.slackChannelId, oldest.ts, oldest.botToken);
343
+ }
344
+ catch (err) {
345
+ // The reply is up; a leftover "working on it…" is untidy, not wrong.
346
+ this.logger.warn('Could not remove the typing placeholder after posting the reply', {
347
+ key: k,
348
+ error: err instanceof Error ? err.message : String(err),
349
+ });
350
+ }
351
+ outcome = 'replaced';
352
+ }
353
+ else {
354
+ outcome = 'posted';
355
+ }
231
356
  }
232
- }
233
- await this.deps.slack.sendMessage({
234
- channelId: key.slackChannelId,
235
- text,
236
- ...(key.threadTs ? { threadTs: key.threadTs } : {}),
237
- ...principalOf(identity),
238
- skipChatV2Mirror: true,
239
- });
240
- if (placeholder && this.deps.slack.deleteMessage) {
241
- try {
242
- await this.deps.slack.deleteMessage(placeholder.slackChannelId, placeholder.ts, placeholder.botToken);
243
- }
244
- catch (err) {
245
- // The reply is up; a leftover "working on it…" is untidy, not wrong.
246
- this.logger.warn('Could not remove the typing placeholder after posting the reply', {
247
- key: keyOf(key),
248
- error: err instanceof Error ? err.message : String(err),
249
- });
357
+ // One answer covered several messages in this thread: their
358
+ // placeholders go too.
359
+ for (const other of others)
360
+ await this.remove(other);
361
+ if (others.length > 0) {
362
+ this.logger.info('Answer covered several placeholders in one thread — extra ones taken down', { key: k, count: others.length });
250
363
  }
251
- return 'replaced';
252
- }
253
- return 'posted';
364
+ if (opts.reopen)
365
+ await this.post(k, key, identity, opts.reopen);
366
+ return outcome;
367
+ });
368
+ }
369
+ /**
370
+ * The agent answered in this thread some other way (a file, a post with
371
+ * its own thread): take every placeholder in the thread down.
372
+ *
373
+ * @param key - Agent + conversation (+ thread)
374
+ * @returns How many were taken down
375
+ */
376
+ async dropThread(key) {
377
+ const k = keyOf(key);
378
+ await this.inFlight.get(k);
379
+ return this.withLock(k, async () => {
380
+ const all = this.takeAll(key);
381
+ for (const p of all)
382
+ await this.remove(p);
383
+ return all.length;
384
+ });
385
+ }
386
+ /**
387
+ * Whether a placeholder (pending or timed out) is outstanding in this thread.
388
+ *
389
+ * @param key - Agent + conversation (+ thread)
390
+ * @returns True when the agent owes an answer there
391
+ */
392
+ owes(key) {
393
+ const k = keyOf(key);
394
+ return this.pending.has(k) || this.expired.has(k) || this.inFlight.has(k);
254
395
  }
255
396
  /**
256
397
  * The conversation an agent still owes an answer in, on one Slack channel
257
- * or DM: its pending (or timed-out) placeholder, newest first. An agent that
398
+ * or DM: its pending (or timed-out) placeholder, OLDEST first. An agent that
258
399
  * answers with the `slack-post` skill instead of its reply skill names no
259
- * thread; this is where that answer belongs.
400
+ * thread; this is where that answer belongs. Oldest, because answers come
401
+ * in the order questions were asked: newest-first put the answer owed in
402
+ * an earlier thread under the latest question (2026-09-28).
260
403
  *
261
404
  * @param agentSession - The agent
262
405
  * @param slackChannelId - Channel or DM it is posting to
@@ -265,17 +408,17 @@ export class SlackTypingPlaceholderService {
265
408
  findOwed(agentSession, slackChannelId) {
266
409
  this.pruneExpired();
267
410
  const candidates = [];
268
- for (const [k, { placeholder }] of this.pending) {
411
+ for (const [k, { placeholder, startedAt }] of this.pending) {
269
412
  if (placeholder.slackChannelId === slackChannelId && k.startsWith(`${agentSession}:`)) {
270
- candidates.push({ key: { agentSession, slackChannelId, ...(placeholder.threadTs ? { threadTs: placeholder.threadTs } : {}) }, at: Number.MAX_SAFE_INTEGER });
413
+ candidates.push({ key: { agentSession, slackChannelId, ...(placeholder.threadTs ? { threadTs: placeholder.threadTs } : {}) }, at: placeholder.postedAt ?? startedAt });
271
414
  }
272
415
  }
273
416
  for (const [k, { placeholder, at }] of this.expired) {
274
417
  if (placeholder.slackChannelId === slackChannelId && k.startsWith(`${agentSession}:`)) {
275
- candidates.push({ key: { agentSession, slackChannelId, ...(placeholder.threadTs ? { threadTs: placeholder.threadTs } : {}) }, at });
418
+ candidates.push({ key: { agentSession, slackChannelId, ...(placeholder.threadTs ? { threadTs: placeholder.threadTs } : {}) }, at: placeholder.postedAt ?? at });
276
419
  }
277
420
  }
278
- candidates.sort((a, b) => b.at - a.at);
421
+ candidates.sort((a, b) => a.at - b.at);
279
422
  return candidates[0]?.key ?? null;
280
423
  }
281
424
  /**
@@ -294,9 +437,14 @@ export class SlackTypingPlaceholderService {
294
437
  async settleTurnWithoutReply(agentSession, now = Date.now()) {
295
438
  const minAge = SLACK_TYPING_CONSTANTS.SETTLE_MIN_AGE_MS;
296
439
  const victims = [];
440
+ let youngest = null;
297
441
  for (const [k, entry] of [...this.pending]) {
298
- if (!k.startsWith(`${agentSession}:`) || now - entry.startedAt < minAge)
442
+ if (!k.startsWith(`${agentSession}:`))
299
443
  continue;
444
+ if (now - entry.startedAt < minAge) {
445
+ youngest = Math.max(youngest ?? 0, entry.startedAt);
446
+ continue;
447
+ }
300
448
  if (this.inFlight.has(k))
301
449
  continue;
302
450
  const clear = this.deps.clearTimer ?? ((t) => clearTimeout(t));
@@ -341,8 +489,34 @@ export class SlackTypingPlaceholderService {
341
489
  if (victims.length > 0) {
342
490
  this.logger.info('Agent finished its turn without replying — placeholders taken down', { agentSession, count: victims.length });
343
491
  }
492
+ if (youngest !== null)
493
+ this.scheduleSettleRecheck(agentSession, youngest + minAge + SLACK_TYPING_CONSTANTS.SETTLE_RECHECK_MARGIN_MS);
344
494
  return victims.length;
345
495
  }
496
+ /**
497
+ * A placeholder too young to take down when the turn ended (it may belong
498
+ * to a message delivered just before the idle signal) gets a second look
499
+ * once it is old enough: gone then unless the agent is mid-turn — in which
500
+ * case that turn's own end settles it. Without this it waited for the
501
+ * agent's next turn, which might be hours away (2026-09-28).
502
+ *
503
+ * @param agentSession - Agent whose turn ended
504
+ * @param at - When (epoch ms) the youngest skipped placeholder is old enough, margin included
505
+ */
506
+ scheduleSettleRecheck(agentSession, at) {
507
+ if (this.recheckScheduled.has(agentSession))
508
+ return;
509
+ this.recheckScheduled.add(agentSession);
510
+ const setTimer = this.deps.setTimer ?? ((fn, ms) => setTimeout(fn, ms));
511
+ const t = setTimer(() => {
512
+ this.recheckScheduled.delete(agentSession);
513
+ if (this.deps.isAgentMidTurn?.(agentSession))
514
+ return;
515
+ void this.settleTurnWithoutReply(agentSession, Math.max(Date.now(), at)).catch(() => undefined);
516
+ }, Math.max(0, at - Date.now()));
517
+ if (typeof t.unref === 'function')
518
+ t.unref();
519
+ }
346
520
  /** Save outstanding placeholders (pending + timed out) so a restart can still take them down. */
347
521
  persist() {
348
522
  if (!this.deps.storePath)
@@ -1 +1 @@
1
- {"version":3,"file":"slack-typing-placeholder.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAA+C;IACvE,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC;AAClF,CAAC;AAuED;;GAEG;AACH,MAAM,OAAO,6BAA6B;IAeX;IAdZ,MAAM,CAAkB;IACxB,OAAO,GAAG,IAAI,GAAG,EAAkJ,CAAC;IACrL;;;;OAIG;IACc,OAAO,GAAG,IAAI,GAAG,EAA0D,CAAC;IAC7F,yFAAyF;IACxE,QAAQ,GAAG,IAAI,GAAG,EAA6C,CAAC;IAEjF;;OAEG;IACH,YAA6B,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;QAC3D,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CACT,GAAmB,EACnB,QAAwB,EACxB,QAAqB,QAAQ,EAC7B,QAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,sEAAsE;YACtE,oDAAoD;YACpD,IAAI,QAAQ;gBAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvD,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC9B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAmB,EAAE,KAAkB;QACpD,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QACxD,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxD,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,GAAmB;QAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEO,OAAO,CAAC,KAAkB,EAAE,IAAY;QAC9C,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChI,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,WAA8B,EAAE,IAAY;QAC7D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,CAAS,EACT,GAAmB,EACnB,QAAwB,EACxB,KAAkB,EAClB,QAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC3C,SAAS,EAAE,GAAG,CAAC,cAAc;gBAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACxB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,MAAM,WAAW,GAAsB;gBACrC,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,EAAE;gBACF,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,KAAK;gBACL,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,CAAC,CAAgC,EAAQ,EAAE;gBACvD,IAAI,OAAQ,CAA4B,CAAC,KAAK,KAAK,UAAU;oBAAG,CAA2B,CAAC,KAAK,EAAE,CAAC;YACtG,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAC5G,KAAK,CAAC,KAAK,CAAC,CAAC;YACb,MAAM,KAAK,GAA2I,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACpM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,kFAAkF;gBAClF,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE;oBAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACxD,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC/G,CAAC;gBACH,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;gBAC1C,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,mEAAmE;YACnE,+CAA+C;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;gBAC/E,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAmB;QACtB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QACD,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,SAAS;YAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,CAAC,GAAmB,EAAE,IAAY,EAAE,QAAwB;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACvH,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,EAAE;oBAC5F,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;oBACf,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAChC,SAAS,EAAE,GAAG,CAAC,cAAc;YAC7B,IAAI;YACJ,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,WAAW,CAAC,QAAQ,CAAC;YACxB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YACxG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qEAAqE;gBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,EAAE;oBAClF,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;oBACf,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAoB,EAAE,cAAsB;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,UAAU,GAA+C,EAAE,CAAC;QAClE,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,WAAW,CAAC,cAAc,KAAK,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtF,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/J,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpD,IAAI,WAAW,CAAC,cAAc,KAAK,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtF,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACtI,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,sBAAsB,CAAC,YAAoB,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;QACzE,MAAM,MAAM,GAAG,sBAAsB,CAAC,iBAAiB,CAAC;QACxD,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM;gBAAE,SAAS;YAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAgC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,SAAS;gBAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC;gBAAE,SAAS;YAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAClC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACxG,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CACjC,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,EAAE,EACd,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAC9E,SAAS,EACT,WAAW,CAAC,QAAQ,CACrB,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9H,CAAC;YACD,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,sBAAsB,CAAC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACrJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oEAAoE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClI,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,iGAAiG;IACzF,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9F,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACxF,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO;QACrE,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAEvE,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,eAAe,CAAC;YACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM;oBAAE,SAAS;gBAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACjG,IAAI,OAAQ,CAA4B,CAAC,KAAK,KAAK,UAAU;gBAAG,CAA2B,CAAC,KAAK,EAAE,CAAC;QACtG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,IAAc;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAClC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC1H,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gEAAgE;IACxD,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC,eAAe,CAAC;QACnE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,8EAA8E;IAC9E,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,CAAS;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CACjC,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,EAAE,EACd,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAC9E,SAAS,EACT,WAAW,CAAC,QAAQ,CACrB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;CACF;AAED,mGAAmG;AACnG,SAAS,WAAW,CAAC,QAAwB;IAC3C,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW;QACnD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,GAAmB;IAChC,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,IAAI,QAAQ,GAAyC,IAAI,CAAC;AAE1D,gEAAgE;AAChE,MAAM,UAAU,gCAAgC;IAC9C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gCAAgC,CAAC,OAA6C;IAC5F,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"slack-typing-placeholder.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-typing-placeholder.service.ts"],"names":[],"mappings":"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"}
@@ -243,6 +243,8 @@ export declare class RequestService {
243
243
  * complete.
244
244
  *
245
245
  * @param request - The Request whose children to verify
246
+ * @param ignoreDead - The ticket was accepted: children in a dead status
247
+ * ({@link TICKET_CONSTANTS.DEAD_WORK_ITEM_STATUSES}) do not block
246
248
  * @throws {@link RequestStillHasOpenChildrenError} when any child is
247
249
  * non-terminal.
248
250
  */
@@ -1 +1 @@
1
- {"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
@@ -368,9 +368,15 @@ export class RequestService {
368
368
  updates = { ...updates, status: 'waiting_confirmation' };
369
369
  submitted = request.status !== 'waiting_confirmation';
370
370
  }
371
+ // A stale-closed ticket whose agent answered after all (ticket loop,
372
+ // 2026-09-28): the one way out of `cancelled`, and only for stale ones.
373
+ const reopeningStale = updates.reopenStale === true &&
374
+ updates.status === 'running' &&
375
+ request.status === 'cancelled' &&
376
+ request.tags.includes(TICKET_CONSTANTS.STALE.TAG);
371
377
  // Validate status transition if status is being updated
372
378
  if (updates.status && updates.status !== request.status) {
373
- if (!isValidRequestTransition(request.status, updates.status)) {
379
+ if (!reopeningStale && !isValidRequestTransition(request.status, updates.status)) {
374
380
  throw new Error(`Invalid status transition: ${request.status} -> ${updates.status}`);
375
381
  }
376
382
  // P1 Bug C (Pool umbrella WI 72ca743a) — child WorkItem terminal-state
@@ -390,12 +396,16 @@ export class RequestService {
390
396
  // with the original (pre-fix) behavior. Production wiring runs before
391
397
  // any user-facing close path.
392
398
  if (updates.status === 'done' && request.workItemIds.length > 0) {
393
- await this.assertAllChildrenTerminal(request);
399
+ await this.assertAllChildrenTerminal(request, updates.accepted === true && updates.ignoreDeadChildren === true);
394
400
  }
395
401
  request.status = updates.status;
396
402
  if (updates.status === 'done' || updates.status === 'cancelled') {
397
403
  request.completedAt = new Date().toISOString();
398
404
  }
405
+ if (reopeningStale) {
406
+ request.completedAt = undefined;
407
+ request.tags = request.tags.filter((t) => t !== TICKET_CONSTANTS.STALE.TAG);
408
+ }
399
409
  if (updates.status === 'waiting_confirmation' && typeof request.ticketNumber === 'number')
400
410
  submitted = true;
401
411
  }
@@ -484,10 +494,12 @@ export class RequestService {
484
494
  * complete.
485
495
  *
486
496
  * @param request - The Request whose children to verify
497
+ * @param ignoreDead - The ticket was accepted: children in a dead status
498
+ * ({@link TICKET_CONSTANTS.DEAD_WORK_ITEM_STATUSES}) do not block
487
499
  * @throws {@link RequestStillHasOpenChildrenError} when any child is
488
500
  * non-terminal.
489
501
  */
490
- async assertAllChildrenTerminal(request) {
502
+ async assertAllChildrenTerminal(request, ignoreDead = false) {
491
503
  if (!this.taskPoolService) {
492
504
  // Graceful degrade — preserve pre-fix behavior when the gate hasn't
493
505
  // been wired yet (test scaffold, unusual boot order). Production
@@ -500,7 +512,7 @@ export class RequestService {
500
512
  const openChildIds = [];
501
513
  for (let i = 0; i < children.length; i++) {
502
514
  const wi = children[i];
503
- if (wi !== null && !TERMINAL_WORK_ITEM_STATUSES.has(wi.status)) {
515
+ if (wi !== null && !TERMINAL_WORK_ITEM_STATUSES.has(wi.status) && !(ignoreDead && TICKET_CONSTANTS.DEAD_WORK_ITEM_STATUSES.includes(wi.status))) {
504
516
  openChildIds.push(wi.id);
505
517
  }
506
518
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ticket-ask-classifier.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-ask-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1E,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAqFxF"}
1
+ {"version":3,"file":"ticket-ask-classifier.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-ask-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1E,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAsFxF"}
@@ -119,6 +119,8 @@ export function classifyOwnerMessage(rawText, ctx) {
119
119
  bump('retry_continue', 3);
120
120
  if (P.SUGGEST_TAIL.test(body))
121
121
  bump('suggest_tail', 3);
122
+ if (P.DISPOSITION.test(body))
123
+ bump('disposition', 3);
122
124
  }
123
125
  // --- ask signals: they add up ---
124
126
  let ask = 0;