crewly 1.20.108 → 1.20.109

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 (103) hide show
  1. package/config/skills/agent/core/ticket-check/SKILL.md +62 -0
  2. package/config/skills/agent/core/ticket-check/execute.sh +71 -0
  3. package/config/skills/agent/core/ticket-check/execute.test.sh +69 -0
  4. package/dist/backend/backend/src/constants.d.ts +30 -0
  5. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  6. package/dist/backend/backend/src/constants.js +30 -0
  7. package/dist/backend/backend/src/constants.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +42 -0
  9. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  10. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +185 -0
  11. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +7 -0
  13. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +16 -1
  15. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  16. package/dist/backend/backend/src/index.d.ts.map +1 -1
  17. package/dist/backend/backend/src/index.js +52 -1
  18. package/dist/backend/backend/src/index.js.map +1 -1
  19. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +1 -1
  20. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  21. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  22. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +6 -0
  23. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  24. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +2 -2
  25. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  26. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +2 -2
  27. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  28. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +8 -0
  29. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +40 -0
  31. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -1
  32. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +9 -0
  34. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  35. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/v3/request.service.js +28 -0
  37. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts +17 -0
  39. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +52 -5
  41. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  42. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +63 -1
  43. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +67 -1
  45. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  46. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +242 -0
  47. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -0
  48. package/dist/backend/backend/src/services/v3/ticket-review.service.js +456 -0
  49. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -0
  50. package/dist/backend/backend/src/types/v2/index.d.ts +1 -1
  51. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  52. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  53. package/dist/backend/backend/src/types/v2/request.types.d.ts +21 -1
  54. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  55. package/dist/backend/backend/src/types/v2/request.types.js +3 -2
  56. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  57. package/dist/backend/backend/src/types/v2/ticket.types.d.ts +71 -1
  58. package/dist/backend/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  59. package/dist/backend/backend/src/types/v2/ticket.types.js +40 -0
  60. package/dist/backend/backend/src/types/v2/ticket.types.js.map +1 -1
  61. package/dist/backend/build-info.json +2 -2
  62. package/dist/cli/backend/src/constants.d.ts +30 -0
  63. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  64. package/dist/cli/backend/src/constants.js +30 -0
  65. package/dist/cli/backend/src/constants.js.map +1 -1
  66. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +2 -2
  67. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  68. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +2 -2
  69. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  70. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  71. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +9 -0
  72. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  73. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  74. package/dist/cli/backend/src/services/v3/request.service.js +28 -0
  75. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  76. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts +17 -0
  77. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  78. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +52 -5
  79. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  80. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +63 -1
  81. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  82. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +67 -1
  83. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  84. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +242 -0
  85. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -0
  86. package/dist/cli/backend/src/services/v3/ticket-review.service.js +456 -0
  87. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -0
  88. package/dist/cli/backend/src/types/v2/index.d.ts +1 -1
  89. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  90. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  91. package/dist/cli/backend/src/types/v2/request.types.d.ts +21 -1
  92. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  93. package/dist/cli/backend/src/types/v2/request.types.js +3 -2
  94. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  95. package/dist/cli/backend/src/types/v2/ticket.types.d.ts +71 -1
  96. package/dist/cli/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  97. package/dist/cli/backend/src/types/v2/ticket.types.js +40 -0
  98. package/dist/cli/backend/src/types/v2/ticket.types.js.map +1 -1
  99. package/frontend/dist/assets/{index-f7b99e81.js → index-07e338a9.js} +284 -284
  100. package/frontend/dist/assets/index-8327e63e.css +42 -0
  101. package/frontend/dist/index.html +2 -2
  102. package/package.json +1 -1
  103. package/frontend/dist/assets/index-413c5813.css +0 -42
@@ -0,0 +1,456 @@
1
+ /**
2
+ * TicketReviewService — the back half of the ticket loop
3
+ * (specs/ticket-loop.md, Phase 2).
4
+ *
5
+ * Phase 1 files a ticket for every "please do X". This service decides when
6
+ * a ticket is answered and what the owner does about it:
7
+ *
8
+ * - **Answered.** An agent message in the ticket's own conversation (matched
9
+ * through the chat-v2 turn that opened it, {@link TicketReviewService.noteChatTurn})
10
+ * is recorded as the ticket's `reply`. Once that agent is idle again (or the
11
+ * reply has settled for {@link TICKET_CONSTANTS.REVIEW.SUBMIT_SETTLE_MS}) and
12
+ * no WorkItem of the ticket is still open, the ticket is submitted: it goes
13
+ * to 待验收 (`waiting_confirmation`), or straight to done for origins that
14
+ * need no review. This replaces the old blind "close any open Request 3–10
15
+ * minutes old" sweep, which closed tickets that nobody had answered.
16
+ * - **验过了** → done. **打回 + reason** → back to work; the reason becomes an
17
+ * acceptance criterion (#763: criteria grow from real review) and, when the
18
+ * owner sent it back from the board rather than the thread, a rework
19
+ * WorkItem is queued for whoever answered.
20
+ * - **Silence accepts.** 待验收 for {@link TICKET_CONSTANTS.REVIEW.AUTO_ACCEPT_MS}
21
+ * with no word → done, tagged `auto_accepted`. The owner is never pinged.
22
+ *
23
+ * The `done` gate itself lives in {@link RequestService.update}: without
24
+ * `accepted`, a ticket that needs review cannot become done by any path.
25
+ *
26
+ * @module services/v3/ticket-review.service
27
+ */
28
+ import { LoggerService } from '../core/logger.service.js';
29
+ import { TICKET_CONSTANTS } from '../../constants.js';
30
+ import { REQUEST_PRIORITIES, TERMINAL_REQUEST_STATUSES, isValidRequestTransition, } from '../../types/v2/request.types.js';
31
+ import { TICKET_KINDS, activeAcceptance, formatTicketNumber, parseTicketNumber, ticketNeedsReview, } from '../../types/v2/ticket.types.js';
32
+ /** Statuses in which an agent answer can submit a ticket. */
33
+ const SUBMITTABLE = new Set(['open', 'ready', 'running']);
34
+ // ---------------------------------------------------------------------------
35
+ // Service
36
+ // ---------------------------------------------------------------------------
37
+ /**
38
+ * Review lifecycle of tickets. See module docs.
39
+ */
40
+ export class TicketReviewService {
41
+ deps;
42
+ logger;
43
+ chain = Promise.resolve();
44
+ /**
45
+ * @param deps - Store and optional pool / receipt hooks
46
+ */
47
+ constructor(deps) {
48
+ this.deps = deps;
49
+ this.logger = LoggerService.getInstance().createComponentLogger('TicketReview');
50
+ }
51
+ /**
52
+ * Run one state change at a time, so an idle event and the sweep cannot
53
+ * submit the same ticket twice.
54
+ *
55
+ * @param fn - The change
56
+ * @returns Its result
57
+ */
58
+ serial(fn) {
59
+ const run = this.chain.then(fn);
60
+ this.chain = run.catch(() => undefined);
61
+ return run;
62
+ }
63
+ // -------------------------------------------------------------------------
64
+ // Answer detection
65
+ // -------------------------------------------------------------------------
66
+ /**
67
+ * Remember the chat-v2 turn that opened a ticket, so agent answers in the
68
+ * same thread can be matched to it. Only the first turn counts.
69
+ *
70
+ * @param ticketId - The ticket
71
+ * @param message - The owner's persisted message
72
+ */
73
+ async noteChatTurn(ticketId, message) {
74
+ await this.serial(async () => {
75
+ const ticket = await this.deps.requests.getById(ticketId);
76
+ if (!ticket || ticket.chatRef)
77
+ return;
78
+ await this.deps.requests.update(ticketId, {
79
+ chatRef: { channelId: message.channelId, messageId: message.id, threadRootId: message.threadId ?? message.id },
80
+ });
81
+ });
82
+ }
83
+ /**
84
+ * An agent posted in chat-v2: record it as the answer of the ticket whose
85
+ * thread it is in. Top-level agent messages (no thread) count for the newest
86
+ * open ticket in that channel that the agent could be answering.
87
+ *
88
+ * @param message - The chat-v2 message
89
+ * @returns The ticket it was recorded on, or null
90
+ */
91
+ async onChatMessage(message) {
92
+ if (message.senderType !== 'agent')
93
+ return null;
94
+ return this.serial(async () => {
95
+ const all = await this.deps.requests.listAll();
96
+ const inChannel = all.filter((r) => typeof r.ticketNumber === 'number' &&
97
+ r.chatRef?.channelId === message.channelId &&
98
+ !TERMINAL_REQUEST_STATUSES.has(r.status) &&
99
+ (!r.assignee || r.assignee === message.senderId || message.threadId !== undefined));
100
+ if (inChannel.length === 0)
101
+ return null;
102
+ const ticket = message.threadId
103
+ ? inChannel.find((r) => r.chatRef?.threadRootId === message.threadId || r.chatRef?.messageId === message.threadId) ?? null
104
+ : inChannel[0]; // listAll is newest-first
105
+ if (!ticket)
106
+ return null;
107
+ const excerpt = message.content.trim().slice(0, TICKET_CONSTANTS.REVIEW.REPLY_EXCERPT_MAX);
108
+ const updated = await this.deps.requests.update(ticket.id, {
109
+ reply: { at: this.now().toISOString(), by: message.senderId, messageId: message.id, excerpt },
110
+ // Somebody is on it.
111
+ ...(ticket.status === 'open' || ticket.status === 'ready' ? { status: 'running' } : {}),
112
+ });
113
+ return updated;
114
+ });
115
+ }
116
+ /**
117
+ * An agent finished its turn: submit the tickets it answered.
118
+ *
119
+ * @param sessionName - The agent
120
+ * @returns Tickets submitted
121
+ */
122
+ async onAgentIdle(sessionName) {
123
+ return this.serial(() => this.submitAnswered((t) => t.reply?.by === sessionName));
124
+ }
125
+ /**
126
+ * Periodic pass: submit answers that have settled (in case no idle event
127
+ * came), and auto-accept 待验收 tickets nobody objected to.
128
+ *
129
+ * @returns What changed
130
+ */
131
+ async sweep() {
132
+ return this.serial(async () => {
133
+ const settleBefore = this.now().getTime() - TICKET_CONSTANTS.REVIEW.SUBMIT_SETTLE_MS;
134
+ const submitted = await this.submitAnswered((t) => !!t.reply && Date.parse(t.reply.at) <= settleBefore);
135
+ const acceptBefore = this.now().getTime() - TICKET_CONSTANTS.REVIEW.AUTO_ACCEPT_MS;
136
+ let autoAccepted = 0;
137
+ for (const t of await this.deps.requests.listAll()) {
138
+ if (t.status !== 'waiting_confirmation' || !ticketNeedsReview(t))
139
+ continue;
140
+ if (!t.submittedAt || Date.parse(t.submittedAt) > acceptBefore)
141
+ continue;
142
+ const tags = [...new Set([...t.tags, TICKET_CONSTANTS.REVIEW.AUTO_ACCEPTED_TAG])];
143
+ const r = await this.accept(t, tags);
144
+ if (r.ok)
145
+ autoAccepted += 1;
146
+ }
147
+ if (submitted.length > 0 || autoAccepted > 0) {
148
+ this.logger.info('Ticket review sweep', { submitted: submitted.length, autoAccepted });
149
+ }
150
+ return { submitted: submitted.length, autoAccepted };
151
+ });
152
+ }
153
+ /**
154
+ * Submit every answered ticket that matches and has no open work.
155
+ *
156
+ * @param match - Which answered tickets to look at
157
+ * @returns Tickets submitted
158
+ */
159
+ async submitAnswered(match) {
160
+ const out = [];
161
+ for (const t of await this.deps.requests.listAll()) {
162
+ if (typeof t.ticketNumber !== 'number' || !SUBMITTABLE.has(t.status) || !t.reply)
163
+ continue;
164
+ // Answered since the last submit only.
165
+ if (t.submittedAt && Date.parse(t.reply.at) <= Date.parse(t.submittedAt))
166
+ continue;
167
+ if (!match(t))
168
+ continue;
169
+ if (this.deps.openWorkItemCount && (await this.deps.openWorkItemCount(t.id)) > 0)
170
+ continue;
171
+ try {
172
+ // `done` without `accepted`: the RequestService gate turns it into
173
+ // 待验收 when the ticket needs review.
174
+ const base = t.status === 'ready' ? await this.deps.requests.update(t.id, { status: 'running' }) : t;
175
+ const updated = await this.deps.requests.update(base.id, { status: 'done', result: t.reply.excerpt });
176
+ out.push(updated);
177
+ this.logger.info('Ticket answered', { tkt: tkt(updated), status: updated.status, by: t.reply.by });
178
+ if (updated.status === 'done')
179
+ await this.receiptDone(updated);
180
+ }
181
+ catch (err) {
182
+ this.logger.debug('Ticket could not be submitted', { id: t.id, error: errText(err) });
183
+ }
184
+ }
185
+ return out;
186
+ }
187
+ // -------------------------------------------------------------------------
188
+ // Owner actions
189
+ // -------------------------------------------------------------------------
190
+ /**
191
+ * 验过了 — the owner accepts. Works from any open status (the owner may
192
+ * accept before the agent says it is finished), but not while WorkItems
193
+ * are still running.
194
+ *
195
+ * @param ref - `TKT-123`, `123` or id
196
+ * @returns The accepted ticket, or why not
197
+ */
198
+ async verify(ref) {
199
+ return this.serial(async () => {
200
+ const ticket = await this.resolve(ref);
201
+ if (!ticket)
202
+ return { ok: false, reason: 'not_found' };
203
+ return this.accept(ticket, ticket.tags);
204
+ });
205
+ }
206
+ /**
207
+ * Move a ticket to done with the owner's (or the auto-accept's) blessing.
208
+ *
209
+ * @param ticket - The ticket
210
+ * @param tags - Tags to store
211
+ * @returns Result
212
+ */
213
+ async accept(ticket, tags) {
214
+ if (ticket.status === 'done')
215
+ return { ok: false, reason: 'already_done', ticket };
216
+ if (ticket.status === 'cancelled')
217
+ return { ok: false, reason: 'cancelled', ticket };
218
+ try {
219
+ let current = ticket;
220
+ if (!isValidRequestTransition(current.status, 'done') && isValidRequestTransition(current.status, 'running')) {
221
+ current = await this.deps.requests.update(current.id, { status: 'running' });
222
+ }
223
+ const updated = await this.deps.requests.update(current.id, { status: 'done', accepted: true, tags });
224
+ this.logger.info('Ticket accepted', { tkt: tkt(updated), auto: tags.includes(TICKET_CONSTANTS.REVIEW.AUTO_ACCEPTED_TAG) });
225
+ await this.receiptDone(updated);
226
+ return { ok: true, ticket: updated };
227
+ }
228
+ catch (err) {
229
+ if (err instanceof Error && err.name === 'RequestStillHasOpenChildrenError') {
230
+ return { ok: false, reason: 'open_work', ticket };
231
+ }
232
+ throw err;
233
+ }
234
+ }
235
+ /**
236
+ * 打回 — the owner sends it back. The reason becomes an acceptance
237
+ * criterion; from the board (not the thread, where the agent already sees
238
+ * the owner's words) a rework WorkItem is queued for whoever answered.
239
+ *
240
+ * @param ref - `TKT-123`, `123` or id
241
+ * @param reason - Why (required; the thread path fills a placeholder)
242
+ * @param via - `thread` or `board`
243
+ * @returns The reopened ticket, or why not
244
+ */
245
+ async reject(ref, reason, via) {
246
+ const why = reason.trim();
247
+ if (!why)
248
+ return { ok: false, reason: 'invalid' };
249
+ return this.serial(async () => {
250
+ const ticket = await this.resolve(ref);
251
+ if (!ticket)
252
+ return { ok: false, reason: 'not_found' };
253
+ if (ticket.status !== 'waiting_confirmation')
254
+ return { ok: false, reason: 'not_in_review', ticket };
255
+ const at = this.now().toISOString();
256
+ const acceptance = [
257
+ ...(ticket.acceptance ?? []),
258
+ { text: why, source: 'reject', check: 'judgment', addedAt: at },
259
+ ];
260
+ const discussion = [...(ticket.discussion ?? []), { at, author: 'owner', text: `打回:${why}`, ref: `reject-${at}` }];
261
+ const updated = await this.deps.requests.update(ticket.id, {
262
+ status: 'running',
263
+ rejectCount: (ticket.rejectCount ?? 0) + 1,
264
+ acceptance,
265
+ discussion,
266
+ });
267
+ this.logger.info('Ticket sent back', { tkt: tkt(updated), via, rejectCount: updated.rejectCount });
268
+ if (via === 'board' && this.deps.createRework) {
269
+ const target = ticket.reply?.by ?? ticket.assignee ?? ticket.ownerAgent ?? this.deps.fallbackAgent;
270
+ await this.deps.createRework({ ticket: updated, reason: why, target }).catch((err) => {
271
+ this.logger.warn('Rework could not be queued', { id: ticket.id, error: errText(err) });
272
+ });
273
+ }
274
+ return { ok: true, ticket: updated };
275
+ });
276
+ }
277
+ /**
278
+ * A follow-up from the owner in a 待验收 ticket's thread that is neither
279
+ * 验过了 nor 打回: the agent is working again, so the ticket leaves 待验收
280
+ * (no reject counted).
281
+ *
282
+ * @param ticketId - The ticket
283
+ * @returns The ticket after the change
284
+ */
285
+ async reopenOnFollowUp(ticketId) {
286
+ return this.serial(async () => {
287
+ const ticket = await this.deps.requests.getById(ticketId);
288
+ if (!ticket || ticket.status !== 'waiting_confirmation')
289
+ return ticket;
290
+ return this.deps.requests.update(ticketId, { status: 'running' });
291
+ });
292
+ }
293
+ /**
294
+ * Replace the live acceptance list. Criteria not in `items` are marked
295
+ * removed (kept for history); new texts are added as the owner's.
296
+ *
297
+ * @param ref - Ticket reference
298
+ * @param items - The list the owner wants, in order
299
+ * @returns The ticket
300
+ */
301
+ async setAcceptance(ref, items) {
302
+ return this.serial(async () => {
303
+ const ticket = await this.resolve(ref);
304
+ if (!ticket)
305
+ return { ok: false, reason: 'not_found' };
306
+ const at = this.now().toISOString();
307
+ const wanted = items.map((i) => ({ text: i.text.trim(), check: i.check })).filter((i) => i.text.length > 0);
308
+ const wantedTexts = new Set(wanted.map((w) => w.text));
309
+ const existing = ticket.acceptance ?? [];
310
+ const kept = existing.map((a) => (!a.removedAt && !wantedTexts.has(a.text) ? { ...a, removedAt: at } : a));
311
+ const liveTexts = new Set(activeAcceptance(kept).map((a) => a.text));
312
+ const updatedList = kept.map((a) => {
313
+ const w = wanted.find((x) => x.text === a.text);
314
+ return !a.removedAt && w?.check ? { ...a, check: w.check } : a;
315
+ });
316
+ for (const w of wanted) {
317
+ if (liveTexts.has(w.text))
318
+ continue;
319
+ updatedList.push({ text: w.text, source: 'owner', check: w.check ?? 'judgment', addedAt: at });
320
+ liveTexts.add(w.text);
321
+ }
322
+ const updated = await this.deps.requests.update(ticket.id, { acceptance: updatedList });
323
+ return { ok: true, ticket: updated };
324
+ });
325
+ }
326
+ /**
327
+ * An agent's self-check against one live criterion.
328
+ *
329
+ * @param ref - Ticket reference
330
+ * @param index - Position in the live list (0-based)
331
+ * @param result - pass / fail
332
+ * @param evidence - What it looked at
333
+ * @returns The ticket
334
+ */
335
+ async selfCheck(ref, index, result, evidence) {
336
+ return this.serial(async () => {
337
+ const ticket = await this.resolve(ref);
338
+ if (!ticket)
339
+ return { ok: false, reason: 'not_found' };
340
+ const live = activeAcceptance(ticket.acceptance);
341
+ const target = live[index];
342
+ if (!target)
343
+ return { ok: false, reason: 'invalid', ticket };
344
+ const acceptance = (ticket.acceptance ?? []).map((a) => a === target ? { ...a, selfCheck: result, ...(evidence ? { evidence } : {}) } : a);
345
+ const updated = await this.deps.requests.update(ticket.id, { acceptance });
346
+ return { ok: true, ticket: updated };
347
+ });
348
+ }
349
+ /**
350
+ * Board edits: title, priority, kind, assignee.
351
+ *
352
+ * @param ref - Ticket reference
353
+ * @param patch - Changes
354
+ * @returns The ticket
355
+ */
356
+ async patch(ref, patch) {
357
+ if (patch.priority !== undefined && !REQUEST_PRIORITIES.includes(patch.priority))
358
+ return { ok: false, reason: 'invalid' };
359
+ if (patch.kind !== undefined && !TICKET_KINDS.includes(patch.kind))
360
+ return { ok: false, reason: 'invalid' };
361
+ if (patch.title !== undefined && patch.title.trim().length === 0)
362
+ return { ok: false, reason: 'invalid' };
363
+ return this.serial(async () => {
364
+ const ticket = await this.resolve(ref);
365
+ if (!ticket)
366
+ return { ok: false, reason: 'not_found' };
367
+ const updated = await this.deps.requests.update(ticket.id, {
368
+ ...(patch.title !== undefined ? { title: patch.title.trim() } : {}),
369
+ ...(patch.priority !== undefined ? { priority: patch.priority } : {}),
370
+ ...(patch.kind !== undefined ? { kind: patch.kind } : {}),
371
+ ...(patch.assignee !== undefined ? { assignee: patch.assignee ?? '' } : {}),
372
+ });
373
+ return { ok: true, ticket: updated };
374
+ });
375
+ }
376
+ // -------------------------------------------------------------------------
377
+ // Helpers
378
+ // -------------------------------------------------------------------------
379
+ /**
380
+ * Find a ticket by `TKT-123`, `123` or id.
381
+ *
382
+ * @param ref - Reference
383
+ * @returns The ticket, or null
384
+ */
385
+ async resolve(ref) {
386
+ const trimmed = (ref ?? '').trim();
387
+ if (!trimmed)
388
+ return null;
389
+ const byId = await this.deps.requests.getById(trimmed);
390
+ if (byId)
391
+ return byId;
392
+ const n = parseTicketNumber(trimmed);
393
+ if (n === null)
394
+ return null;
395
+ return (await this.deps.requests.listAll()).find((r) => r.ticketNumber === n) ?? null;
396
+ }
397
+ /**
398
+ * Best-effort receipt swap.
399
+ *
400
+ * @param ticket - The done ticket
401
+ */
402
+ async receiptDone(ticket) {
403
+ if (!this.deps.markReceiptDone || !ticket.receipt)
404
+ return;
405
+ await this.deps.markReceiptDone(ticket).catch((err) => {
406
+ this.logger.debug('Receipt could not be marked done', { id: ticket.id, error: errText(err) });
407
+ });
408
+ }
409
+ /**
410
+ * Current time (injectable for tests).
411
+ *
412
+ * @returns Now
413
+ */
414
+ now() {
415
+ return this.deps.now ? this.deps.now() : new Date();
416
+ }
417
+ }
418
+ /**
419
+ * Display number of a ticket.
420
+ *
421
+ * @param t - Ticket
422
+ * @returns `TKT-123` or null
423
+ */
424
+ function tkt(t) {
425
+ return typeof t.ticketNumber === 'number' ? formatTicketNumber(t.ticketNumber) : null;
426
+ }
427
+ /**
428
+ * Error message of anything thrown.
429
+ *
430
+ * @param err - Thrown value
431
+ * @returns Message
432
+ */
433
+ function errText(err) {
434
+ return err instanceof Error ? err.message : String(err);
435
+ }
436
+ // ---------------------------------------------------------------------------
437
+ // Singleton
438
+ // ---------------------------------------------------------------------------
439
+ let instance = null;
440
+ /**
441
+ * Install the process-wide review service (composition root).
442
+ *
443
+ * @param service - The service, or null to clear (tests)
444
+ */
445
+ export function setTicketReviewService(service) {
446
+ instance = service;
447
+ }
448
+ /**
449
+ * The process-wide review service, or null before boot wired it.
450
+ *
451
+ * @returns The service or null
452
+ */
453
+ export function getTicketReviewService() {
454
+ return instance;
455
+ }
456
+ //# sourceMappingURL=ticket-review.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-review.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-review.service.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * @module types/v2
13
13
  */
14
14
  export type { Request, RequestStatus, IntentCategory, IntentLevel, CreateRequestInput, UpdateRequestInput, RequestPriority, } from './request.types.js';
15
- export type { TicketKind, TicketOrigin, TicketOriginChannel, TicketAcceptance, TicketReceipt, TicketDiscussionEntry, TicketBoardColumn, TicketPriorityLabel, TicketMarkerRef, } from './ticket.types.js';
15
+ export type { TicketKind, TicketOrigin, TicketOriginChannel, TicketAcceptance, TicketReceipt, TicketDiscussionEntry, TicketBoardColumn, TicketPriorityLabel, TicketMarkerRef, TicketAcceptanceSource, TicketAcceptanceCheck, TicketChatRef, TicketReply, ReviewReply, } from './ticket.types.js';
16
16
  export { REQUEST_STATUSES, REQUEST_PRIORITIES, TERMINAL_REQUEST_STATUSES, INTENT_CATEGORIES, REQUEST_TRANSITIONS, isValidRequestStatus, isValidIntentCategory, isValidRequestTransition, isRequest, validateCreateRequestInput, createRequest, } from './request.types.js';
17
17
  export type { WorkItem, WorkItemType, WorkItemOwner, WorkItemStatus, CreateWorkItemInput, UpdateWorkItemInput, } from './work-item.types.js';
18
18
  export { WORK_ITEM_TYPES, WORK_ITEM_OWNERS, WORK_ITEM_STATUSES, TERMINAL_WORK_ITEM_STATUSES, WORK_ITEM_TRANSITIONS, DEFAULT_MAX_RETRIES, isValidWorkItemType, isValidWorkItemStatus, isValidWorkItemOwner, isValidWorkItemTransition, isWorkItem, validateCreateWorkItemInput, createWorkItem, LAST_REQUEUED_AT_METADATA_KEY, getTtlAnchorAt, } from './work-item.types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA0BH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,SAAS,EACT,0BAA0B,EAC1B,aAAa,GACd,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,6BAA6B,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,GAEd,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAyB1B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAmB5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,WAAW,EACX,4BAA4B,EAC5B,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,4BAA4B,EAC5B,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,SAAS,EACT,0BAA0B,EAC1B,aAAa,GACd,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,6BAA6B,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,GAEd,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAyB1B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAmB5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,WAAW,EACX,4BAA4B,EAC5B,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,4BAA4B,EAC5B,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC"}
@@ -7,12 +7,14 @@
7
7
  *
8
8
  * @module types/v2/request.types
9
9
  */
10
- import type { TicketKind, TicketOrigin, TicketAcceptance, TicketReceipt, TicketDiscussionEntry } from './ticket.types.js';
10
+ import type { TicketKind, TicketOrigin, TicketAcceptance, TicketReceipt, TicketDiscussionEntry, TicketChatRef, TicketReply } from './ticket.types.js';
11
11
  /**
12
12
  * Lifecycle statuses for a Request.
13
13
  *
14
14
  * State machine:
15
15
  * open → ready (planner created WorkItems)
16
+ * open/ready → running (ticket being worked on directly)
17
+ * open/ready → waiting_confirmation (ticket answered directly, owner to accept)
16
18
  * open → cancelled (user cancelled before planning)
17
19
  * ready → running (first WorkItem started)
18
20
  * running → blocked (all active WorkItems blocked/failed)
@@ -118,6 +120,12 @@ export interface Request {
118
120
  receipt?: TicketReceipt;
119
121
  /** Follow-ups in the ticket's thread */
120
122
  discussion?: TicketDiscussionEntry[];
123
+ /** The chat-v2 turn that opened it (Phase 2: matches agent answers) */
124
+ chatRef?: TicketChatRef;
125
+ /** Latest agent answer in its thread (Phase 2) */
126
+ reply?: TicketReply;
127
+ /** When it last went to 待验收 (ISO-8601) */
128
+ submittedAt?: string;
121
129
  }
122
130
  /**
123
131
  * Input for creating a new Request.
@@ -166,6 +174,18 @@ export interface UpdateRequestInput {
166
174
  assignee?: string;
167
175
  receipt?: TicketReceipt;
168
176
  discussion?: TicketDiscussionEntry[];
177
+ acceptance?: TicketAcceptance[];
178
+ rejectCount?: number;
179
+ submitCount?: number;
180
+ submittedAt?: string;
181
+ chatRef?: TicketChatRef;
182
+ reply?: TicketReply;
183
+ /**
184
+ * The owner accepted it (or it was auto-accepted). Without this a ticket
185
+ * that needs review cannot become `done`: the update is turned into
186
+ * `waiting_confirmation` instead. Not stored.
187
+ */
188
+ accepted?: boolean;
169
189
  }
170
190
  /**
171
191
  * Map of valid status transitions.
@@ -1 +1 @@
1
- {"version":3,"file":"request.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/request.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/request.types.ts"],"names":[],"mappings":"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"}
@@ -46,8 +46,9 @@ export const INTENT_CATEGORIES = [
46
46
  * Key = current status, Value = set of allowed next statuses.
47
47
  */
48
48
  export const REQUEST_TRANSITIONS = {
49
- open: new Set(['ready', 'done', 'cancelled']),
50
- ready: new Set(['running', 'cancelled']),
49
+ // → waiting_confirmation: a ticket answered directly, now with the owner.
50
+ open: new Set(['ready', 'running', 'waiting_confirmation', 'done', 'cancelled']),
51
+ ready: new Set(['running', 'waiting_confirmation', 'cancelled']),
51
52
  running: new Set(['blocked', 'waiting_confirmation', 'done', 'cancelled']),
52
53
  blocked: new Set(['running', 'cancelled']),
53
54
  waiting_confirmation: new Set(['done', 'running', 'cancelled']),
@@ -1 +1 @@
1
- {"version":3,"file":"request.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/request.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/request.types.ts"],"names":[],"mappings":"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"}