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.
Files changed (128) hide show
  1. package/dist/backend/backend/src/constants.d.ts +44 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +44 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts +25 -0
  6. package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts.map +1 -0
  7. package/dist/backend/backend/src/controllers/request/open-items.controller.js +68 -0
  8. package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -0
  9. package/dist/backend/backend/src/controllers/request/request.routes.d.ts +2 -0
  10. package/dist/backend/backend/src/controllers/request/request.routes.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/request/request.routes.js +6 -0
  12. package/dist/backend/backend/src/controllers/request/request.routes.js.map +1 -1
  13. package/dist/backend/backend/src/index.d.ts.map +1 -1
  14. package/dist/backend/backend/src/index.js +57 -1
  15. package/dist/backend/backend/src/index.js.map +1 -1
  16. package/dist/backend/backend/src/scripts/open-items-backfill.d.ts +16 -0
  17. package/dist/backend/backend/src/scripts/open-items-backfill.d.ts.map +1 -0
  18. package/dist/backend/backend/src/scripts/open-items-backfill.js +112 -0
  19. package/dist/backend/backend/src/scripts/open-items-backfill.js.map +1 -0
  20. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/agent/agent-registration.service.js +4 -2
  22. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
  24. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +11 -0
  26. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  27. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  28. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +20 -0
  30. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  31. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +8 -1
  32. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/decisions/decision.service.js +12 -2
  34. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/open-items/open-item-card.d.ts +66 -0
  36. package/dist/backend/backend/src/services/open-items/open-item-card.d.ts.map +1 -0
  37. package/dist/backend/backend/src/services/open-items/open-item-card.js +208 -0
  38. package/dist/backend/backend/src/services/open-items/open-item-card.js.map +1 -0
  39. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +114 -0
  40. package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -0
  41. package/dist/backend/backend/src/services/open-items/open-item-extractor.js +394 -0
  42. package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -0
  43. package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts +70 -0
  44. package/dist/backend/backend/src/services/open-items/open-items-backfill.d.ts.map +1 -0
  45. package/dist/backend/backend/src/services/open-items/open-items-backfill.js +147 -0
  46. package/dist/backend/backend/src/services/open-items/open-items-backfill.js.map +1 -0
  47. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +332 -0
  48. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -0
  49. package/dist/backend/backend/src/services/open-items/open-items.service.js +785 -0
  50. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -0
  51. package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts +44 -0
  52. package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/open-items/open-items.wiring.js +172 -0
  54. package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -0
  55. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +4 -0
  57. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  58. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/v3/request.service.js +15 -1
  60. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  61. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/v3/ticket-review.service.js +5 -1
  63. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  64. package/dist/backend/backend/src/types/decision.types.d.ts +15 -1
  65. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  66. package/dist/backend/backend/src/types/v2/index.d.ts +2 -0
  67. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  68. package/dist/backend/backend/src/types/v2/index.js +1 -0
  69. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  70. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +73 -0
  71. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -0
  72. package/dist/backend/backend/src/types/v2/open-item.types.js +14 -0
  73. package/dist/backend/backend/src/types/v2/open-item.types.js.map +1 -0
  74. package/dist/backend/backend/src/types/v2/request.types.d.ts +22 -1
  75. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  76. package/dist/backend/backend/src/types/v2/request.types.js +10 -5
  77. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  78. package/dist/backend/build-info.json +2 -2
  79. package/dist/cli/backend/src/constants.d.ts +44 -0
  80. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  81. package/dist/cli/backend/src/constants.js +44 -0
  82. package/dist/cli/backend/src/constants.js.map +1 -1
  83. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  84. package/dist/cli/backend/src/services/agent/agent-registration.service.js +4 -2
  85. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  86. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -0
  87. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  88. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +11 -0
  89. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  90. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  91. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  92. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +20 -0
  93. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  94. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +8 -1
  95. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  96. package/dist/cli/backend/src/services/decisions/decision.service.js +12 -2
  97. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  98. package/dist/cli/backend/src/services/open-items/open-item-card.d.ts +66 -0
  99. package/dist/cli/backend/src/services/open-items/open-item-card.d.ts.map +1 -0
  100. package/dist/cli/backend/src/services/open-items/open-item-card.js +208 -0
  101. package/dist/cli/backend/src/services/open-items/open-item-card.js.map +1 -0
  102. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +114 -0
  103. package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -0
  104. package/dist/cli/backend/src/services/open-items/open-item-extractor.js +394 -0
  105. package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -0
  106. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  107. package/dist/cli/backend/src/services/v3/request.service.js +15 -1
  108. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  109. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  110. package/dist/cli/backend/src/services/v3/ticket-review.service.js +5 -1
  111. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  112. package/dist/cli/backend/src/types/decision.types.d.ts +15 -1
  113. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  114. package/dist/cli/backend/src/types/v2/index.d.ts +2 -0
  115. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  116. package/dist/cli/backend/src/types/v2/index.js +1 -0
  117. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  118. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +73 -0
  119. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -0
  120. package/dist/cli/backend/src/types/v2/open-item.types.js +14 -0
  121. package/dist/cli/backend/src/types/v2/open-item.types.js.map +1 -0
  122. package/dist/cli/backend/src/types/v2/request.types.d.ts +22 -1
  123. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  124. package/dist/cli/backend/src/types/v2/request.types.js +10 -5
  125. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  126. package/frontend/dist/assets/{index-9c91de50.js → index-a6cb8533.js} +265 -265
  127. package/frontend/dist/index.html +1 -1
  128. 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":"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"}
1
+ {"version":3,"file":"request.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/request.service.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"ticket-review.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/ticket-review.service.ts"],"names":[],"mappings":"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"}
@@ -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)