crewly 1.20.183 → 1.20.184
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.
- package/dist/backend/backend/src/constants.d.ts +44 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +44 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts +25 -0
- package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/request/open-items.controller.js +68 -0
- package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/request/request.routes.d.ts +2 -0
- package/dist/backend/backend/src/controllers/request/request.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/request/request.routes.js +6 -0
- package/dist/backend/backend/src/controllers/request/request.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +57 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/scripts/open-items-backfill.d.ts +16 -0
- package/dist/backend/backend/src/scripts/open-items-backfill.d.ts.map +1 -0
- package/dist/backend/backend/src/scripts/open-items-backfill.js +112 -0
- package/dist/backend/backend/src/scripts/open-items-backfill.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +4 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +11 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +20 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +8 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +12 -2
- package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-card.d.ts +66 -0
- package/dist/backend/backend/src/services/open-items/open-item-card.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-item-card.js +208 -0
- package/dist/backend/backend/src/services/open-items/open-item-card.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +114 -0
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js +394 -0
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts +70 -0
- package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items-backfill.js +147 -0
- package/dist/backend/backend/src/services/open-items/open-items-backfill.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +332 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.js +785 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts +44 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js +172 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +4 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.js +15 -1
- package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.js +5 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +15 -1
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/index.d.ts +2 -0
- package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/index.js +1 -0
- package/dist/backend/backend/src/types/v2/index.js.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts +73 -0
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/v2/open-item.types.js +14 -0
- package/dist/backend/backend/src/types/v2/open-item.types.js.map +1 -0
- package/dist/backend/backend/src/types/v2/request.types.d.ts +22 -1
- package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/request.types.js +10 -5
- package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +44 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +44 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +4 -2
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +11 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +20 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +8 -1
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision.service.js +12 -2
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-card.d.ts +66 -0
- package/dist/cli/backend/src/services/open-items/open-item-card.d.ts.map +1 -0
- package/dist/cli/backend/src/services/open-items/open-item-card.js +208 -0
- package/dist/cli/backend/src/services/open-items/open-item-card.js.map +1 -0
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +114 -0
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -0
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js +394 -0
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/request.service.js +15 -1
- package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.js +5 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +15 -1
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/index.d.ts +2 -0
- package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/index.js +1 -0
- package/dist/cli/backend/src/types/v2/index.js.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts +73 -0
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/v2/open-item.types.js +14 -0
- package/dist/cli/backend/src/types/v2/open-item.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts +22 -1
- package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/request.types.js +10 -5
- package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
- package/frontend/dist/assets/{index-9c91de50.js → index-a6cb8533.js} +265 -265
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find the commitments and questions an agent left open in a reply to the
|
|
3
|
+
* owner (specs/2026-10-01-reply-open-items.md §1). Pure, rules only.
|
|
4
|
+
*
|
|
5
|
+
* Tuned to miss rather than invent: a missed promise costs one follow-up the
|
|
6
|
+
* owner has to ask for himself; an invented question puts a pointless card in
|
|
7
|
+
* front of him. So a sentence only counts when it clearly says
|
|
8
|
+
*
|
|
9
|
+
* - **commitment**: a first-person future deliverable for the owner
|
|
10
|
+
* ("明天中午给我,我核过以后挑最有用的几条发你", "I'll send the draft tonight");
|
|
11
|
+
* - **question**: a direct question that asks the owner to decide or confirm
|
|
12
|
+
* ("这个读法,你同意吗?", "Should I keep the appendix?").
|
|
13
|
+
*
|
|
14
|
+
* Skipped on purpose: past tense ("已经发你了", "attached below"), conditional
|
|
15
|
+
* offers ("要的话我再…", "if you want, I'll…"), quoted text, headings,
|
|
16
|
+
* questions to a colleague (an @-mention or a teammate's name up front) and
|
|
17
|
+
* rhetorical questions that the agent answers itself.
|
|
18
|
+
*
|
|
19
|
+
* @module services/open-items/open-item-extractor
|
|
20
|
+
*/
|
|
21
|
+
import { OPEN_ITEMS_CONSTANTS } from '../../constants.js';
|
|
22
|
+
/**
|
|
23
|
+
* Lines that are not prose: headings, quotes, code.
|
|
24
|
+
*
|
|
25
|
+
* @param line - Trimmed line
|
|
26
|
+
* @returns True to skip the line
|
|
27
|
+
*/
|
|
28
|
+
function isNonProseLine(line) {
|
|
29
|
+
if (/^(#{1,6}\s|>|```|\|)/.test(line))
|
|
30
|
+
return true;
|
|
31
|
+
// A whole line in bold/italics is a heading ("*为什么是你?*").
|
|
32
|
+
if (/^[*_]{1,2}[^*_]+[*_]{1,2}[::]?$/.test(line))
|
|
33
|
+
return true;
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const OPEN_QUOTES = '「『“‘《((';
|
|
37
|
+
const CLOSE_QUOTES = '」』”’》))';
|
|
38
|
+
/**
|
|
39
|
+
* Split one line into sentences at 。!?!?;; (and ". " before a capital or
|
|
40
|
+
* CJK), never inside quotes or brackets, keeping each terminator.
|
|
41
|
+
*
|
|
42
|
+
* @param line - One line
|
|
43
|
+
* @returns Sentences
|
|
44
|
+
*/
|
|
45
|
+
function splitLine(line) {
|
|
46
|
+
const out = [];
|
|
47
|
+
let depth = 0;
|
|
48
|
+
let cur = '';
|
|
49
|
+
const chars = [...line];
|
|
50
|
+
for (let i = 0; i < chars.length; i++) {
|
|
51
|
+
const ch = chars[i];
|
|
52
|
+
cur += ch;
|
|
53
|
+
if (OPEN_QUOTES.includes(ch))
|
|
54
|
+
depth += 1;
|
|
55
|
+
else if (CLOSE_QUOTES.includes(ch))
|
|
56
|
+
depth = Math.max(0, depth - 1);
|
|
57
|
+
if (depth > 0)
|
|
58
|
+
continue;
|
|
59
|
+
const next = chars[i + 1];
|
|
60
|
+
const cut = '。!?!?;;'.includes(ch) || (ch === '.' && next === ' ' && /[A-Z\u4e00-\u9fff]/u.test(chars[i + 2] ?? ''));
|
|
61
|
+
// Keep closing punctuation right after the terminator ("?)", "。」").
|
|
62
|
+
if (cut && !(next && CLOSE_QUOTES.includes(next))) {
|
|
63
|
+
if (cur.trim())
|
|
64
|
+
out.push(cur.trim());
|
|
65
|
+
cur = '';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (cur.trim())
|
|
69
|
+
out.push(cur.trim());
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Split a reply into sentences, line by line.
|
|
74
|
+
*
|
|
75
|
+
* @param text - Reply text
|
|
76
|
+
* @returns Sentences
|
|
77
|
+
*/
|
|
78
|
+
export function splitSentences(text) {
|
|
79
|
+
const out = [];
|
|
80
|
+
const noCode = text.replace(/```[\s\S]*?```/g, ' ');
|
|
81
|
+
for (const raw of noCode.split(/\n+/)) {
|
|
82
|
+
const line = raw.replace(/^\s*(?:[-*•·]|\d+[.)、])\s+/, '').trim();
|
|
83
|
+
if (!line || isNonProseLine(line))
|
|
84
|
+
continue;
|
|
85
|
+
const parts = splitLine(line);
|
|
86
|
+
parts.forEach((p, i) => out.push({ text: p, index: i, line: parts }));
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Whether the sentence's question mark sits inside quotes (a quoted question,
|
|
92
|
+
* e.g. 早报里问你一句「你怎么看?」).
|
|
93
|
+
*
|
|
94
|
+
* @param s - Sentence
|
|
95
|
+
* @returns True when every ?/? is inside quotes
|
|
96
|
+
*/
|
|
97
|
+
function questionIsQuoted(s) {
|
|
98
|
+
let depth = 0;
|
|
99
|
+
let unquoted = false;
|
|
100
|
+
for (const ch of s) {
|
|
101
|
+
if ('「『“‘《'.includes(ch))
|
|
102
|
+
depth += 1;
|
|
103
|
+
else if ('」』”’》'.includes(ch))
|
|
104
|
+
depth = Math.max(0, depth - 1);
|
|
105
|
+
else if ((ch === '?' || ch === '?') && depth === 0)
|
|
106
|
+
unquoted = true;
|
|
107
|
+
}
|
|
108
|
+
return !unquoted;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Clip to one line of at most `max` characters.
|
|
112
|
+
*
|
|
113
|
+
* @param s - Text
|
|
114
|
+
* @param max - Max characters
|
|
115
|
+
* @returns Clipped text
|
|
116
|
+
*/
|
|
117
|
+
function clip(s, max) {
|
|
118
|
+
const flat = s.replace(/\s+/g, ' ').replace(/^[*_]+|[*_]+$/g, '').trim();
|
|
119
|
+
return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Whether a sentence is addressed to someone other than the owner: an
|
|
123
|
+
* @-mention of another user, or a colleague's name opening it ("Kai,你…").
|
|
124
|
+
*
|
|
125
|
+
* @param s - Sentence
|
|
126
|
+
* @param opts - Colleague names, owner id
|
|
127
|
+
* @returns True when it is for a colleague
|
|
128
|
+
*/
|
|
129
|
+
function addressedToColleague(s, opts) {
|
|
130
|
+
for (const m of s.matchAll(/<@([A-Z0-9]+)>/g)) {
|
|
131
|
+
if (!opts.ownerSlackUserId || m[1] !== opts.ownerSlackUserId)
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
if (/(^|\s)@[A-Za-z一-鿿][\w一-鿿-]*/u.test(s.replace(/<@[A-Z0-9]+>/g, '')))
|
|
135
|
+
return true;
|
|
136
|
+
for (const name of opts.colleagueNames ?? []) {
|
|
137
|
+
const n = name.trim();
|
|
138
|
+
if (n.length < 2)
|
|
139
|
+
continue;
|
|
140
|
+
const esc = n.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
141
|
+
if (new RegExp(`^${esc}\\s*[,,::]`, 'i').test(s))
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// Commitments
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
/** A deliverable for the owner (Chinese): 发你 / 给你 / 告诉你 / 发在这里 … */
|
|
150
|
+
const ZH_DELIVER = /(?:发|给|交|传|带|拿|报|汇报|同步|告诉|通知|回复|回|贴|放|整理|写|做|出|补|帮)(?:一下|一份|一版|一个|几条|上来)?(?:给)?(?:你|您)(?![们的])|(?:发|贴|放|交)(?:在|到)(?:这里|这儿|这个线程|群里|频道)|(?:发|贴|交)上来|给你看|拿给你|报给你/u;
|
|
151
|
+
/** Future markers (Chinese). */
|
|
152
|
+
const ZH_FUTURE = /明天|明早|明晚|今晚|今天|后天|下周|周[一二三四五六日天]|星期[一二三四五六日天]|礼拜[一二三四五六日天]|稍后|待会|一会儿|回头|晚点|之后|以后|再|会|先|小时|分钟|中午|下午|晚上|早上|上午|[好完](?:以后|之后|后)|出来[后以]|核过|过一遍|一起/u;
|
|
153
|
+
/** Past / already-done markers (Chinese). */
|
|
154
|
+
const ZH_PAST = /已经|已(?:发|放|附|写|改|存|同步|上传)|刚才|刚刚|附在|附上了|见下|如下|下面附|现在(?:先)?给(?:你|您)|这是|下面是|(?:你|您)了[,。!,.!]?$|(?:你|您)了[,,]/u;
|
|
155
|
+
/** Standing habits, not one deliverable: "以后每章都给你发 PDF", "from now on". */
|
|
156
|
+
const HABITUAL = /每(?:次|章|天|周|个|篇|期|回|晚|早)|以后都|今后|往后|所有|一律|都先|都按|照常|from now on|every (?:time|day|week|chapter)|each time/iu;
|
|
157
|
+
/** Conditional offers (Chinese): "要的话我再…", "如果你想…". */
|
|
158
|
+
const ZH_CONDITIONAL = /如果|要是|假如|的话|需要的话|想要的话/u;
|
|
159
|
+
/** First-person future deliverable (English). */
|
|
160
|
+
const EN_COMMIT = /\b(?:i'?ll|i will|i'm going to|i am going to|we'?ll|we will|i'?m gonna|i can have)\b[^.?!]{0,80}?\b(?:send|share|post|deliver|get back|circle back|follow up|report back|update you|let you know|bring|hand over|draft|write up|put together|wrap up|finish|have (?:it|this|that|them|the \w+)|get (?:it|this|that|them) to you)\b/i;
|
|
161
|
+
/** Conditional / past (English). */
|
|
162
|
+
const EN_SKIP = /\b(?:if|unless|otherwise|whenever|in case|already|attached|below|above|have sent|sent you|i'?d)\b/i;
|
|
163
|
+
/** Someone other than the agent's side does the delivering ("别人第二天白天回你"). */
|
|
164
|
+
const ZH_THIRD_PARTY = /^(?:别人|他们|她们|他|她|它|对方|大家|有人|读者|用户|客户|网友|粉丝|对面)/u;
|
|
165
|
+
/**
|
|
166
|
+
* Whether the clause holding the deliverable has a third party as subject.
|
|
167
|
+
*
|
|
168
|
+
* @param t - Sentence (quotes removed)
|
|
169
|
+
* @returns True when someone outside the team delivers
|
|
170
|
+
*/
|
|
171
|
+
function thirdPartyDelivers(t) {
|
|
172
|
+
const clause = t.split(/[,,;;::]/).find((c) => ZH_DELIVER.test(c));
|
|
173
|
+
return !!clause && ZH_THIRD_PARTY.test(clause.trim());
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Whether a sentence is a commitment to the owner.
|
|
177
|
+
*
|
|
178
|
+
* @param s - Sentence
|
|
179
|
+
* @returns True for a first-person future deliverable
|
|
180
|
+
*/
|
|
181
|
+
export function isCommitment(s) {
|
|
182
|
+
// Quoted words are someone else's ("…原话:「10 分钟就给你做出…」").
|
|
183
|
+
// So are bracketed asides ("(…Gemini 带你玩夏威夷…)").
|
|
184
|
+
const t = s.replace(/「[^」]*」|『[^』]*』|“[^”]*”|"[^"]*"|([^)]*)|\([^)]*\)/g, ' ').trim();
|
|
185
|
+
if (/[??]\s*$/.test(t))
|
|
186
|
+
return false;
|
|
187
|
+
if (thirdPartyDelivers(t))
|
|
188
|
+
return false;
|
|
189
|
+
if (HABITUAL.test(t))
|
|
190
|
+
return false;
|
|
191
|
+
if (/[一-鿿]/.test(t) && ZH_DELIVER.test(t)) {
|
|
192
|
+
if (ZH_PAST.test(t) || ZH_CONDITIONAL.test(t))
|
|
193
|
+
return false;
|
|
194
|
+
return ZH_FUTURE.test(t);
|
|
195
|
+
}
|
|
196
|
+
if (EN_COMMIT.test(t))
|
|
197
|
+
return !EN_SKIP.test(t);
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
// ---------------------------------------------------------------------------
|
|
201
|
+
// Due times
|
|
202
|
+
// ---------------------------------------------------------------------------
|
|
203
|
+
const WEEKDAY_ZH = { 日: 0, 天: 0, 一: 1, 二: 2, 三: 3, 四: 4, 五: 5, 六: 6 };
|
|
204
|
+
const WEEKDAY_EN = { sunday: 0, monday: 1, tuesday: 2, wednesday: 3, thursday: 4, friday: 5, saturday: 6 };
|
|
205
|
+
/**
|
|
206
|
+
* A local date `days` after `now` at `hour`:00.
|
|
207
|
+
*
|
|
208
|
+
* @param now - Clock
|
|
209
|
+
* @param days - Days ahead
|
|
210
|
+
* @param hour - Local hour
|
|
211
|
+
* @returns Date
|
|
212
|
+
*/
|
|
213
|
+
function dayAt(now, days, hour) {
|
|
214
|
+
const d = new Date(now.getTime());
|
|
215
|
+
d.setDate(d.getDate() + days);
|
|
216
|
+
d.setHours(hour, 0, 0, 0);
|
|
217
|
+
return d;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* The hour a part-of-day word names, or null.
|
|
221
|
+
*
|
|
222
|
+
* @param t - Lower-cased text
|
|
223
|
+
* @returns Local hour
|
|
224
|
+
*/
|
|
225
|
+
function partOfDayHour(t) {
|
|
226
|
+
if (/中午|\bnoon\b|\blunch/.test(t))
|
|
227
|
+
return 12;
|
|
228
|
+
if (/傍晚|下班|end of (?:the )?day|\beod\b/.test(t))
|
|
229
|
+
return 18;
|
|
230
|
+
if (/下午|afternoon/.test(t))
|
|
231
|
+
return 15;
|
|
232
|
+
if (/晚上|晚|evening|night|tonight/.test(t))
|
|
233
|
+
return 21;
|
|
234
|
+
if (/早上|上午|早|morning/.test(t))
|
|
235
|
+
return 10;
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* When a commitment is due.
|
|
240
|
+
*
|
|
241
|
+
* Rules (local time): an explicit day/part of day wins ("明天中午" → tomorrow
|
|
242
|
+
* 12:00, "tonight" → today 21:00, "by Friday" → Friday 12:00); "tomorrow"
|
|
243
|
+
* alone → tomorrow {@link OPEN_ITEMS_CONSTANTS.DEFAULT_DUE_HOUR_LOCAL}:00;
|
|
244
|
+
* "in 2 hours" → +2 h; nothing → +{@link OPEN_ITEMS_CONSTANTS.DEFAULT_DUE_MS}.
|
|
245
|
+
*
|
|
246
|
+
* @param s - Sentence
|
|
247
|
+
* @param now - When it was said
|
|
248
|
+
* @returns Due time and whether the text named it
|
|
249
|
+
*/
|
|
250
|
+
export function parseDue(s, now) {
|
|
251
|
+
const t = s.toLowerCase();
|
|
252
|
+
const defaultHour = OPEN_ITEMS_CONSTANTS.DEFAULT_DUE_HOUR_LOCAL;
|
|
253
|
+
const text = (due) => ({ due, source: 'text' });
|
|
254
|
+
const rel = /(\d+(?:\.\d+)?)\s*(?:个)?\s*(小时|hours?|hrs?|分钟|minutes?|mins?)/.exec(t);
|
|
255
|
+
if (rel) {
|
|
256
|
+
const n = Number(rel[1]);
|
|
257
|
+
const ms = /小时|hour|hr/.test(rel[2]) ? n * 3600_000 : n * 60_000;
|
|
258
|
+
if (ms > 0)
|
|
259
|
+
return text(new Date(now.getTime() + ms));
|
|
260
|
+
}
|
|
261
|
+
if (/半小时|half an hour/.test(t))
|
|
262
|
+
return text(new Date(now.getTime() + 1800_000));
|
|
263
|
+
// "晚点" / "早点" mean later / sooner, not evening / morning.
|
|
264
|
+
const part = partOfDayHour(t.replace(/晚点|早点|晚些|早些/g, ''));
|
|
265
|
+
if (/后天|day after tomorrow/.test(t))
|
|
266
|
+
return text(dayAt(now, 2, part ?? defaultHour));
|
|
267
|
+
if (/明早/.test(t))
|
|
268
|
+
return text(dayAt(now, 1, 10));
|
|
269
|
+
if (/明晚/.test(t))
|
|
270
|
+
return text(dayAt(now, 1, 21));
|
|
271
|
+
if (/明天|tomorrow/.test(t))
|
|
272
|
+
return text(dayAt(now, 1, part ?? defaultHour));
|
|
273
|
+
if (/今晚|tonight/.test(t)) {
|
|
274
|
+
const d = dayAt(now, 0, 21);
|
|
275
|
+
return text(d.getTime() > now.getTime() ? d : new Date(now.getTime() + 2 * 3600_000));
|
|
276
|
+
}
|
|
277
|
+
const zhDay = /(下)?(?:周|星期|礼拜)([一二三四五六日天])/.exec(s);
|
|
278
|
+
const enDay = /\b(next\s+)?(sunday|monday|tuesday|wednesday|thursday|friday|saturday)\b/.exec(t);
|
|
279
|
+
if (zhDay || enDay) {
|
|
280
|
+
const target = zhDay ? WEEKDAY_ZH[zhDay[2]] : WEEKDAY_EN[enDay[2]];
|
|
281
|
+
const nextWeek = !!(zhDay ? zhDay[1] : enDay[1]);
|
|
282
|
+
let days = (target - now.getDay() + 7) % 7 || 7;
|
|
283
|
+
if (nextWeek) {
|
|
284
|
+
// "下周三" / "next Wednesday": the one in the coming (Monday-start) week.
|
|
285
|
+
const toNextMonday = (1 - now.getDay() + 7) % 7 || 7;
|
|
286
|
+
days = toNextMonday + ((target + 6) % 7);
|
|
287
|
+
}
|
|
288
|
+
return text(dayAt(now, days, part ?? defaultHour));
|
|
289
|
+
}
|
|
290
|
+
if (/下周|next week/.test(t)) {
|
|
291
|
+
const days = ((1 - now.getDay() + 7) % 7) || 7;
|
|
292
|
+
return text(dayAt(now, days, defaultHour));
|
|
293
|
+
}
|
|
294
|
+
if (/今天|today|later today|end of (?:the )?day|eod|下班前/.test(t) || (part !== null && !/明|tomorrow/.test(t))) {
|
|
295
|
+
const d = dayAt(now, 0, part ?? 18);
|
|
296
|
+
if (d.getTime() > now.getTime())
|
|
297
|
+
return text(d);
|
|
298
|
+
return text(new Date(now.getTime() + 3 * 3600_000));
|
|
299
|
+
}
|
|
300
|
+
if (/稍后|待会|一会儿|晚点|马上|soon|shortly|in a bit|later/.test(t)) {
|
|
301
|
+
return text(new Date(now.getTime() + 2 * 3600_000));
|
|
302
|
+
}
|
|
303
|
+
return { due: new Date(now.getTime() + OPEN_ITEMS_CONSTANTS.DEFAULT_DUE_MS), source: 'default' };
|
|
304
|
+
}
|
|
305
|
+
// ---------------------------------------------------------------------------
|
|
306
|
+
// Questions
|
|
307
|
+
// ---------------------------------------------------------------------------
|
|
308
|
+
/**
|
|
309
|
+
* Asks the owner to decide or confirm (Chinese): a yes/no or either/or shape.
|
|
310
|
+
* Open information questions ("你们每周花多少小时?") are left alone — a card
|
|
311
|
+
* cannot answer them, and the agent sees the owner's reply anyway.
|
|
312
|
+
*/
|
|
313
|
+
const ZH_ASK = /吗|要不要|是不是|是否|可不可以|能不能|行不行|好不好|同意|确认|批准|拍板|还是|对吧|对不对|OK|ok|定一下/u;
|
|
314
|
+
/** Asks the owner to decide or confirm (English): yes/no or either/or. */
|
|
315
|
+
const EN_ASK = /^(?:so,?\s+)?(?:should|shall|do|does|can|could|would|will|is|are|may|want|ok|okay|any objection|happy|good)\b|\bwant me to\b|\bok(?:ay)?\s*\?$|\bright\s*\?$|\bor\b[^?]*\?$/i;
|
|
316
|
+
/** Rhetorical openers: the agent is not asking. */
|
|
317
|
+
const RHETORICAL_OPEN = /^(?:难道|凭什么|谁说|岂不是|何必|你可能会问|你也许会问|有人会问|为什么(?!你)|what if\b|who says\b|isn'?t it\b|why would\b|you might ask\b|you may ask\b|why\b(?! did you| do you| would you))/iu;
|
|
318
|
+
/** A sentence that answers the question before it. */
|
|
319
|
+
const SELF_ANSWER = /^(?:因为|答案|原因是|原因在于|其实|简单说|because\b|the answer\b|that'?s because\b|simple[::])/iu;
|
|
320
|
+
/**
|
|
321
|
+
* Whether a sentence (with its neighbours) is a question for the owner.
|
|
322
|
+
*
|
|
323
|
+
* @param s - The sentence
|
|
324
|
+
* @param next - The sentence after it on the same line, if any
|
|
325
|
+
* @param opts - Extraction options
|
|
326
|
+
* @returns True for a decision/confirmation question to the owner
|
|
327
|
+
*/
|
|
328
|
+
export function isOwnerQuestion(s, next, opts) {
|
|
329
|
+
const t = s.trim();
|
|
330
|
+
if (!/[??]\s*[))]?$/.test(t))
|
|
331
|
+
return false;
|
|
332
|
+
if (questionIsQuoted(t))
|
|
333
|
+
return false;
|
|
334
|
+
if (RHETORICAL_OPEN.test(t))
|
|
335
|
+
return false;
|
|
336
|
+
if (next && SELF_ANSWER.test(next.trim()))
|
|
337
|
+
return false;
|
|
338
|
+
if (addressedToColleague(t, opts))
|
|
339
|
+
return false;
|
|
340
|
+
const core = t.replace(/[??\s]+$/u, '');
|
|
341
|
+
if (core.replace(/[\s*_]/g, '').length < 4)
|
|
342
|
+
return false;
|
|
343
|
+
return /[一-鿿]/.test(t) ? ZH_ASK.test(t) : EN_ASK.test(t);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* A fallback sentence: what the agent does without an answer ("不同意的话我就删掉").
|
|
347
|
+
*
|
|
348
|
+
* @param s - Sentence after the question
|
|
349
|
+
* @returns True when it states a fallback
|
|
350
|
+
*/
|
|
351
|
+
function isFallback(s) {
|
|
352
|
+
if (!s)
|
|
353
|
+
return false;
|
|
354
|
+
return /的话|否则|不然|if not\b|otherwise\b|if you don'?t\b|if you disagree\b|unless you\b|if i don'?t hear\b|if there'?s no objection\b|if no objection\b/iu.test(s);
|
|
355
|
+
}
|
|
356
|
+
// ---------------------------------------------------------------------------
|
|
357
|
+
// Entry point
|
|
358
|
+
// ---------------------------------------------------------------------------
|
|
359
|
+
/**
|
|
360
|
+
* Find open items in an agent's reply to the owner.
|
|
361
|
+
*
|
|
362
|
+
* @param text - The reply
|
|
363
|
+
* @param opts - Clock, colleague names, owner id
|
|
364
|
+
* @returns Commitments and questions (each at most
|
|
365
|
+
* {@link OPEN_ITEMS_CONSTANTS.MAX_ITEMS_PER_REPLY})
|
|
366
|
+
*
|
|
367
|
+
* @example
|
|
368
|
+
* extractOpenItems('明天中午给我,我核过以后挑最有用的几条发你。', { now })
|
|
369
|
+
* // → { commitments: [{ text: '明天中午给我,我核过以后挑最有用的几条发你。', due: <tomorrow 12:00>, … }], questions: [] }
|
|
370
|
+
*/
|
|
371
|
+
export function extractOpenItems(text, opts) {
|
|
372
|
+
const out = { commitments: [], questions: [] };
|
|
373
|
+
if (!text || !text.trim())
|
|
374
|
+
return out;
|
|
375
|
+
const max = OPEN_ITEMS_CONSTANTS.MAX_ITEMS_PER_REPLY;
|
|
376
|
+
for (const sentence of splitSentences(text)) {
|
|
377
|
+
const s = sentence.text;
|
|
378
|
+
const next = sentence.line[sentence.index + 1];
|
|
379
|
+
if (out.questions.length < max && isOwnerQuestion(s, next, opts)) {
|
|
380
|
+
out.questions.push({
|
|
381
|
+
type: 'question',
|
|
382
|
+
text: clip(s, OPEN_ITEMS_CONSTANTS.QUESTION_MAX_CHARS),
|
|
383
|
+
...(isFallback(next) ? { fallback: clip(next, OPEN_ITEMS_CONSTANTS.QUESTION_MAX_CHARS) } : {}),
|
|
384
|
+
});
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
if (out.commitments.length < max && !addressedToColleague(s, opts) && isCommitment(s)) {
|
|
388
|
+
const { due, source } = parseDue(s, opts.now);
|
|
389
|
+
out.commitments.push({ type: 'commitment', text: clip(s, OPEN_ITEMS_CONSTANTS.TEXT_MAX_CHARS), due, dueSource: source });
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return out;
|
|
393
|
+
}
|
|
394
|
+
//# sourceMappingURL=open-item-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-item-extractor.js","sourceRoot":"","sources":["../../../../../../backend/src/services/open-items/open-item-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAMxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { isRequest, isValidRequestTransition, validateCreateRequestInput, create
|
|
|
14
14
|
import { TERMINAL_WORK_ITEM_STATUSES, } from '../../types/v2/work-item.types.js';
|
|
15
15
|
import { classifyIntent, planTasksFromObjective } from './v3-data.service.js';
|
|
16
16
|
import { ticketNeedsReview } from '../../types/v2/ticket.types.js';
|
|
17
|
+
import { ACTIVE_OPEN_ITEM_STATUSES } from '../../types/v2/open-item.types.js';
|
|
17
18
|
import { TICKET_CONSTANTS } from '../../constants.js';
|
|
18
19
|
import { resolveProjectDataDir } from '../core/crewly-home.utils.js';
|
|
19
20
|
/** Directory name under .crewly for request storage. */
|
|
@@ -368,6 +369,15 @@ export class RequestService {
|
|
|
368
369
|
updates = { ...updates, status: 'waiting_confirmation' };
|
|
369
370
|
submitted = request.status !== 'waiting_confirmation';
|
|
370
371
|
}
|
|
372
|
+
// Open items (specs/2026-10-01-reply-open-items.md): the agent promised
|
|
373
|
+
// the owner something or asked a question in its reply. Every close path
|
|
374
|
+
// lands in `awaiting_followup` until each one is delivered or answered.
|
|
375
|
+
const openItemsAfter = updates.openItems ?? request.openItems ?? [];
|
|
376
|
+
if (updates.status === 'done' && openItemsAfter.some((i) => ACTIVE_OPEN_ITEM_STATUSES.has(i.status))) {
|
|
377
|
+
updates = { ...updates, status: 'awaiting_followup' };
|
|
378
|
+
}
|
|
379
|
+
// The way back out of `done`: an open item left in a closed ticket's thread.
|
|
380
|
+
const reopeningForFollowup = updates.reopenForFollowup === true && updates.status === 'awaiting_followup' && request.status === 'done';
|
|
371
381
|
// A stale-closed ticket whose agent answered after all (ticket loop,
|
|
372
382
|
// 2026-09-28): the one way out of `cancelled`, and only for stale ones.
|
|
373
383
|
const reopeningStale = updates.reopenStale === true &&
|
|
@@ -376,7 +386,7 @@ export class RequestService {
|
|
|
376
386
|
request.tags.includes(TICKET_CONSTANTS.STALE.TAG);
|
|
377
387
|
// Validate status transition if status is being updated
|
|
378
388
|
if (updates.status && updates.status !== request.status) {
|
|
379
|
-
if (!reopeningStale && !isValidRequestTransition(request.status, updates.status)) {
|
|
389
|
+
if (!reopeningStale && !reopeningForFollowup && !isValidRequestTransition(request.status, updates.status)) {
|
|
380
390
|
throw new Error(`Invalid status transition: ${request.status} -> ${updates.status}`);
|
|
381
391
|
}
|
|
382
392
|
// P1 Bug C (Pool umbrella WI 72ca743a) — child WorkItem terminal-state
|
|
@@ -402,6 +412,8 @@ export class RequestService {
|
|
|
402
412
|
if (updates.status === 'done' || updates.status === 'cancelled') {
|
|
403
413
|
request.completedAt = new Date().toISOString();
|
|
404
414
|
}
|
|
415
|
+
if (reopeningForFollowup)
|
|
416
|
+
request.completedAt = undefined;
|
|
405
417
|
if (reopeningStale) {
|
|
406
418
|
request.completedAt = undefined;
|
|
407
419
|
request.tags = request.tags.filter((t) => t !== TICKET_CONSTANTS.STALE.TAG);
|
|
@@ -469,6 +481,8 @@ export class RequestService {
|
|
|
469
481
|
request.lastNudgeAt = updates.lastNudgeAt;
|
|
470
482
|
if (updates.acceptedBy !== undefined)
|
|
471
483
|
request.acceptedBy = updates.acceptedBy;
|
|
484
|
+
if (updates.openItems !== undefined)
|
|
485
|
+
request.openItems = updates.openItems;
|
|
472
486
|
request.updatedAt = new Date().toISOString();
|
|
473
487
|
await this.save(request);
|
|
474
488
|
this.logger.debug('Request updated', { id, status: request.status });
|
|
@@ -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-review.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-review.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,eAAe,EAIrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAMhB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ticket-review.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-review.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAKH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,eAAe,EAIrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAMhB,MAAM,gCAAgC,CAAC;AAQxC,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,sBAAsB,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvH;AAED,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9D,0CAA0C;IAC1C,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAErI,4BAA4B;AAC5B,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3C,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AASD;;GAEG;AACH,qBAAa,mBAAmB;IAOlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,KAAK,CAAuC;IAEpD;;OAEG;gBAC0B,IAAI,EAAE,uBAAuB;IAI1D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAUd;;;;;;OAMG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtH;;;;;;;OAOG;IACG,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA4CxE;;;;;OAKG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI1D;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAgDxF;;;;;;;;OAQG;YACW,UAAU;IAYxB;;;;;OAKG;YACW,cAAc;IAwC5B;;;;;;;OAOG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQtD;;;;;;OAMG;YACW,MAAM;IAsBpB;;;;;;;;;OASG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8BtF;;;;;;;OAOG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAQjE;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,qBAAqB,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwBpI;;;;;;;;OAQG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAepH;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBzE;;;;;OAKG;YACW,OAAO;IAUrB;;;;OAIG;YACW,WAAW;IAOzB;;;;OAIG;IACH,OAAO,CAAC,GAAG;CAGZ;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAYzD;AA4BD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE"}
|
|
@@ -41,6 +41,7 @@ import { isInterim } from '../slack/slack-typing-placeholder.service.js';
|
|
|
41
41
|
import { REQUEST_PRIORITIES, TERMINAL_REQUEST_STATUSES, isValidRequestTransition, } from '../../types/v2/request.types.js';
|
|
42
42
|
import { TICKET_KINDS, activeAcceptance, formatTicketNumber, parseTicketNumber, ticketNeedsReview, } from '../../types/v2/ticket.types.js';
|
|
43
43
|
import { answerNeedsOwner, isStaleTicket, staleCloseUpdate } from './ticket-hygiene.js';
|
|
44
|
+
import { ACTIVE_OPEN_ITEM_STATUSES } from '../../types/v2/open-item.types.js';
|
|
44
45
|
/** Statuses in which an agent answer can submit a ticket. */
|
|
45
46
|
const SUBMITTABLE = new Set(['open', 'ready', 'running']);
|
|
46
47
|
// ---------------------------------------------------------------------------
|
|
@@ -181,10 +182,13 @@ export class TicketReviewService {
|
|
|
181
182
|
this.logger.debug('Auto-accept refused', { id: t.id, reason: r.reason });
|
|
182
183
|
continue;
|
|
183
184
|
}
|
|
184
|
-
// Before that, the agent asks the owner itself (up to MAX_NUDGES times)
|
|
185
|
+
// Before that, the agent asks the owner itself (up to MAX_NUDGES times) —
|
|
186
|
+
// unless its question is already on a decision card (reply-open-items).
|
|
185
187
|
const agent = t.reply?.by ?? t.assignee;
|
|
186
188
|
if (!this.deps.nudgeAgent || !agent)
|
|
187
189
|
continue;
|
|
190
|
+
if ((t.openItems ?? []).some((i) => i.type === 'question' && !!i.decisionId && ACTIVE_OPEN_ITEM_STATUSES.has(i.status)))
|
|
191
|
+
continue;
|
|
188
192
|
if ((t.nudgeCount ?? 0) >= TICKET_CONSTANTS.REVIEW.MAX_NUDGES)
|
|
189
193
|
continue;
|
|
190
194
|
if (now - Date.parse(t.lastNudgeAt ?? t.submittedAt) < TICKET_CONSTANTS.REVIEW.NUDGE_AFTER_MS)
|