crewly 1.20.108 → 1.20.110

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 (138) hide show
  1. package/config/skills/agent/core/complete-task/SKILL.md +11 -0
  2. package/config/skills/agent/core/complete-task/execute.sh +16 -1
  3. package/config/skills/agent/core/complete-task/execute.test.sh +19 -0
  4. package/config/skills/agent/core/ticket-check/SKILL.md +62 -0
  5. package/config/skills/agent/core/ticket-check/execute.sh +71 -0
  6. package/config/skills/agent/core/ticket-check/execute.test.sh +69 -0
  7. package/dist/backend/backend/src/constants.d.ts +36 -0
  8. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  9. package/dist/backend/backend/src/constants.js +36 -0
  10. package/dist/backend/backend/src/constants.js.map +1 -1
  11. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +42 -0
  12. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +185 -0
  14. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +7 -0
  16. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +16 -1
  18. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  19. package/dist/backend/backend/src/index.d.ts.map +1 -1
  20. package/dist/backend/backend/src/index.js +84 -3
  21. package/dist/backend/backend/src/index.js.map +1 -1
  22. package/dist/backend/backend/src/services/cache/redis-cache.service.d.ts.map +1 -1
  23. package/dist/backend/backend/src/services/cache/redis-cache.service.js +8 -1
  24. package/dist/backend/backend/src/services/cache/redis-cache.service.js.map +1 -1
  25. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +1 -1
  26. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  27. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +24 -0
  28. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +83 -3
  30. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  31. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +6 -0
  33. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  34. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +2 -2
  35. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +2 -2
  37. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/system/version-check.service.d.ts +7 -1
  39. package/dist/backend/backend/src/services/system/version-check.service.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/system/version-check.service.js +10 -3
  41. package/dist/backend/backend/src/services/system/version-check.service.js.map +1 -1
  42. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +35 -0
  43. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +88 -6
  45. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  46. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts +92 -0
  47. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -0
  48. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js +168 -0
  49. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -0
  50. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +24 -12
  52. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts +8 -0
  54. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +40 -0
  56. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -1
  57. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +9 -0
  59. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  60. package/dist/backend/backend/src/services/v3/request.service.d.ts +10 -0
  61. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/v3/request.service.js +51 -0
  63. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  64. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts +17 -0
  65. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +52 -5
  67. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  68. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +63 -1
  69. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  70. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +67 -1
  71. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +242 -0
  73. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -0
  74. package/dist/backend/backend/src/services/v3/ticket-review.service.js +456 -0
  75. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -0
  76. package/dist/backend/backend/src/types/v2/index.d.ts +1 -1
  77. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  78. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  79. package/dist/backend/backend/src/types/v2/request.types.d.ts +21 -1
  80. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  81. package/dist/backend/backend/src/types/v2/request.types.js +3 -2
  82. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  83. package/dist/backend/backend/src/types/v2/ticket.types.d.ts +71 -1
  84. package/dist/backend/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  85. package/dist/backend/backend/src/types/v2/ticket.types.js +40 -0
  86. package/dist/backend/backend/src/types/v2/ticket.types.js.map +1 -1
  87. package/dist/backend/build-info.json +2 -2
  88. package/dist/cli/backend/src/constants.d.ts +36 -0
  89. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  90. package/dist/cli/backend/src/constants.js +36 -0
  91. package/dist/cli/backend/src/constants.js.map +1 -1
  92. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +2 -2
  93. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  94. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +2 -2
  95. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  96. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +35 -0
  97. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  98. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +88 -6
  99. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  100. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts +92 -0
  101. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -0
  102. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js +168 -0
  103. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -0
  104. package/dist/cli/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  105. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js +9 -0
  106. package/dist/cli/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  107. package/dist/cli/backend/src/services/v3/request.service.d.ts +10 -0
  108. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  109. package/dist/cli/backend/src/services/v3/request.service.js +51 -0
  110. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  111. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts +17 -0
  112. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  113. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +52 -5
  114. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  115. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +63 -1
  116. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  117. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +67 -1
  118. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  119. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +242 -0
  120. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -0
  121. package/dist/cli/backend/src/services/v3/ticket-review.service.js +456 -0
  122. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -0
  123. package/dist/cli/backend/src/types/v2/index.d.ts +1 -1
  124. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  125. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  126. package/dist/cli/backend/src/types/v2/request.types.d.ts +21 -1
  127. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  128. package/dist/cli/backend/src/types/v2/request.types.js +3 -2
  129. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  130. package/dist/cli/backend/src/types/v2/ticket.types.d.ts +71 -1
  131. package/dist/cli/backend/src/types/v2/ticket.types.d.ts.map +1 -1
  132. package/dist/cli/backend/src/types/v2/ticket.types.js +40 -0
  133. package/dist/cli/backend/src/types/v2/ticket.types.js.map +1 -1
  134. package/frontend/dist/assets/{index-f7b99e81.js → index-07e338a9.js} +284 -284
  135. package/frontend/dist/assets/index-8327e63e.css +42 -0
  136. package/frontend/dist/index.html +2 -2
  137. package/package.json +1 -1
  138. 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":"AAAA;;;;;;;;;;;;GAYG;AAGH,YAAY,EACV,OAAO,EACP,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,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;AAG5B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,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;AAG9B,YAAY,EACV,OAAO,EACP,WAAW,EACX,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,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;AAG1B,YAAY,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,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;AAG5B,YAAY,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,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;AAG/B,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,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.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":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAM3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,sBAAsB,GACtB,MAAM,GACN,WAAW,CAAC;AAEhB,0DAA0D;AAC1D,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAQ3C,CAAC;AAEX,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,aAAa,CAG/D,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnE,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAiD,CAAC;AAE3G;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,aAAa,GACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,UAAU,GACV,eAAe,GACf,QAAQ,GACR,OAAO,CAAC;AAEZ,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAW7C,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAMpD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,wBAAwB,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,gDAAgD;IAChD,QAAQ,EAAE,eAAe,CAAC;IAC1B,6DAA6D;IAC7D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,sBAAsB;IACtB,cAAc,EAAE,cAAc,CAAC;IAC/B,yBAAyB;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,oCAAoC;IACpC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,wCAAwC;IACxC,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,uEAAuE;IACvE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kDAAkD;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CASjF,CAAC;AAMF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAE5E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAc1D;AAMD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAwB9E;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CA0BhE"}
@@ -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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAqCpC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,sBAAsB;IACtB,MAAM;IACN,WAAW;CACH,CAAC;AAEX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAA+B,IAAI,GAAG,CAAC;IAC3E,MAAM;IACN,WAAW;CACZ,CAAC,CAAC;AAQH,gDAAgD;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAiB3G,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,OAAO;IACP,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,eAAe;IACf,QAAQ;IACR,OAAO;CACC,CAAC;AA+IX,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsD;IACpF,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACxC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1E,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,oBAAoB,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,EAAE,IAAI,GAAG,EAAiB;IAC9B,SAAS,EAAE,IAAI,GAAG,EAAiB;CACpC,CAAC;AAEF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAQ,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAmB,EAAE,EAAiB;IAC7E,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,wBAAwB,KAAK,QAAQ;QAChD,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC;QAChC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAyB;IAClE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,wBAAwB,IAAI,OAAO,KAAK,CAAC,wBAAwB,KAAK,QAAQ,EAAE,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QAC1G,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,kCAAkC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,EAAE,EAAE,MAAM,EAAE;QACZ,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;QACxD,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ;QACpC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,KAAK;QACzD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,OAAO;QAC/C,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;QACpB,SAAS,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"request.types.js","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/request.types.ts"],"names":[],"mappings":"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"}