crewly 1.20.109 → 1.20.111

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 (107) 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/reply-channel/SKILL.md +12 -0
  5. package/config/skills/agent/core/reply-channel/execute.sh +14 -1
  6. package/config/skills/agent/core/reply-channel/execute.test.sh +19 -0
  7. package/config/skills/agent/core/reply-chat/SKILL.md +12 -0
  8. package/config/skills/agent/core/reply-chat/execute.sh +5 -1
  9. package/dist/backend/backend/src/constants.d.ts +20 -0
  10. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  11. package/dist/backend/backend/src/constants.js +22 -0
  12. package/dist/backend/backend/src/constants.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/chat/chat.controller.js +4 -4
  15. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +1 -0
  18. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  19. package/dist/backend/backend/src/index.d.ts.map +1 -1
  20. package/dist/backend/backend/src/index.js +32 -2
  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/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +10 -1
  27. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  28. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
  29. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +4 -2
  31. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts +24 -0
  33. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +83 -3
  35. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +6 -1
  38. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +10 -2
  41. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  42. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +10 -0
  43. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +10 -0
  45. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  46. package/dist/backend/backend/src/services/system/version-check.service.d.ts +7 -1
  47. package/dist/backend/backend/src/services/system/version-check.service.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/system/version-check.service.js +10 -3
  49. package/dist/backend/backend/src/services/system/version-check.service.js.map +1 -1
  50. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +35 -0
  51. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +88 -6
  53. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  54. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts +92 -0
  55. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -0
  56. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js +168 -0
  57. package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -0
  58. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  59. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +24 -12
  60. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  61. package/dist/backend/backend/src/services/v3/request.service.d.ts +10 -0
  62. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  63. package/dist/backend/backend/src/services/v3/request.service.js +23 -0
  64. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  65. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +1 -0
  66. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/v3/ticket-review.service.js +4 -0
  68. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  69. package/dist/backend/build-info.json +2 -2
  70. package/dist/cli/backend/src/constants.d.ts +20 -0
  71. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  72. package/dist/cli/backend/src/constants.js +22 -0
  73. package/dist/cli/backend/src/constants.js.map +1 -1
  74. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +10 -1
  76. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  77. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
  78. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  79. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +4 -2
  80. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  81. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  82. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +6 -1
  83. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  84. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  85. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +10 -2
  86. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  87. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +10 -0
  88. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  89. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +10 -0
  90. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  91. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +35 -0
  92. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  93. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +88 -6
  94. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  95. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts +92 -0
  96. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -0
  97. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js +168 -0
  98. package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -0
  99. package/dist/cli/backend/src/services/v3/request.service.d.ts +10 -0
  100. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  101. package/dist/cli/backend/src/services/v3/request.service.js +23 -0
  102. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  103. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +1 -0
  104. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  105. package/dist/cli/backend/src/services/v3/ticket-review.service.js +4 -0
  106. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  107. package/package.json +1 -1
@@ -15,6 +15,7 @@ import { formatError } from '../../utils/format-error.js';
15
15
  import { TeamBudgetExceededError, } from '../budget/team-budget-gate.service.js';
16
16
  import { isWorkItem, isValidWorkItemTransition, isTransitionPermitted, LAST_REQUEUED_AT_METADATA_KEY, DISPOSITION_METADATA_KEY, DISPOSITION_REQUIRED_STATUSES, getWorkItemDisposition, } from '../../types/v2/work-item.types.js';
17
17
  import { createTaskClaim, } from '../../types/v2/claim.types.js';
18
+ import { orderForAgent } from './ticket-claim-policy.js';
18
19
  /**
19
20
  * Structured error thrown by {@link TaskPoolService.removeFromPool}
20
21
  * when an active claim exists and `force: true` was not passed.
@@ -108,6 +109,8 @@ export class TaskPoolService {
108
109
  * `null` disables the fallback.
109
110
  */
110
111
  ticketResolver = null;
112
+ /** Ticket claim order + lock (ticket loop Phase 3); null = plain FIFO */
113
+ ticketClaimPolicy = null;
111
114
  /**
112
115
  * Serializes claim operations to prevent the race where two concurrent
113
116
  * claimFromPool / claimSpecificItem calls both select the same queued
@@ -180,6 +183,57 @@ export class TaskPoolService {
180
183
  setTicketResolver(resolver) {
181
184
  this.ticketResolver = resolver;
182
185
  }
186
+ /**
187
+ * Wire the ticket claim policy (specs/ticket-loop.md Phase 3): claim order
188
+ * (own rejected → own unblocked → queue rejected → P0..P3) and the
189
+ * one-ticket-per-agent lock, for every claim path.
190
+ *
191
+ * @param policy - Ticket snapshot + self-claim hook, or null for FIFO
192
+ */
193
+ setTicketClaimPolicy(policy) {
194
+ this.ticketClaimPolicy = policy;
195
+ }
196
+ /**
197
+ * Order claim candidates for an agent under the ticket policy (FIFO
198
+ * without one). Used by claimFromPool and by AutoClaim.
199
+ *
200
+ * @param agentId - The claiming agent
201
+ * @param candidates - Queued, unclaimed, target-respecting items
202
+ * @returns Candidates in claim order, lock applied
203
+ */
204
+ async orderClaimCandidates(agentId, candidates) {
205
+ const fifo = [...candidates].sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
206
+ if (!this.ticketClaimPolicy)
207
+ return fifo;
208
+ try {
209
+ const tickets = await this.ticketClaimPolicy.snapshot();
210
+ return orderForAgent(fifo, agentId, await this.storage.getWorkItems(), tickets);
211
+ }
212
+ catch (err) {
213
+ this.logger.warn('Ticket claim policy failed — falling back to FIFO', {
214
+ agentId,
215
+ error: err instanceof Error ? err.message : String(err),
216
+ });
217
+ return fifo;
218
+ }
219
+ }
220
+ /**
221
+ * After a broadcast claim: an untargeted ticket item makes its claimer the
222
+ * ticket's assignee when it has none (the lock). Best-effort.
223
+ *
224
+ * @param item - The claimed item
225
+ * @param agentId - The claimer
226
+ */
227
+ async noteTicketSelfClaim(item, agentId) {
228
+ if (!this.ticketClaimPolicy?.onSelfClaimed || !item.requestId || item.targetSource !== 'claim')
229
+ return;
230
+ await this.ticketClaimPolicy.onSelfClaimed(item.requestId, agentId).catch((err) => {
231
+ this.logger.debug('Ticket self-claim hook failed (non-fatal)', {
232
+ workItemId: item.id,
233
+ error: err instanceof Error ? err.message : String(err),
234
+ });
235
+ });
236
+ }
183
237
  /**
184
238
  * Chains the given critical section after any in-flight claim operation.
185
239
  * Guarantees FIFO ordering even under concurrent invocation.
@@ -709,10 +763,8 @@ export class TaskPoolService {
709
763
  const targetRespectingCandidates = workItems
710
764
  .filter((wi) => wi.status === 'queued' && !claimedIds.has(wi.id))
711
765
  .filter((wi) => !wi.target || wi.target === agentId);
712
- // Find first matching unclaimed queued item (FIFO by createdAt)
713
- const candidates = targetRespectingCandidates
714
- .filter((wi) => matchesFilters(wi, filters))
715
- .sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
766
+ // Claim order: FIFO, or the ticket policy's order + lock when wired.
767
+ const candidates = await this.orderClaimCandidates(agentId, targetRespectingCandidates.filter((wi) => matchesFilters(wi, filters)));
716
768
  if (candidates.length === 0) {
717
769
  return null;
718
770
  }
@@ -757,6 +809,7 @@ export class TaskPoolService {
757
809
  claimId: claim.id,
758
810
  title: selected.title,
759
811
  });
812
+ await this.noteTicketSelfClaim(claimedItem, agentId);
760
813
  return {
761
814
  workItem: claimedItem,
762
815
  claim,
@@ -812,6 +865,14 @@ export class TaskPoolService {
812
865
  const claims = await this.storage.getClaims();
813
866
  if (claims.some((c) => c.workItemId === workItemId && c.status === 'active'))
814
867
  return null;
868
+ // Ticket lock (Phase 3): same rule as claimFromPool's ordering.
869
+ if (!workItem.target && this.ticketClaimPolicy) {
870
+ const allowed = await this.orderClaimCandidates(agentId, [workItem]);
871
+ if (allowed.length === 0) {
872
+ this.logger.debug('claimSpecificItem refused — ticket lock', { workItemId, agentId });
873
+ return null;
874
+ }
875
+ }
815
876
  // TRANS-2: route the queued → running flip through transitionStatus
816
877
  // (mirrors claimFromPool — same V3 + state-machine gates).
817
878
  // Hygiene #3 defensive: only assign target when it's currently
@@ -831,6 +892,7 @@ export class TaskPoolService {
831
892
  await this.storage.addClaim(claim);
832
893
  await this.storage.flush();
833
894
  this.logger.info('WorkItem claimed (specific)', { workItemId, agentId, claimId: claim.id });
895
+ await this.noteTicketSelfClaim(claimedItem, agentId);
834
896
  return { workItem: claimedItem, claim };
835
897
  });
836
898
  }
@@ -1094,11 +1156,21 @@ export class TaskPoolService {
1094
1156
  try {
1095
1157
  const source = await this.storage.findWorkItem(verifyOf);
1096
1158
  if (source && source.status === 'done_by_worker') {
1097
- await this.verifyItem(verifyOf, 'system', 'verified');
1159
+ // Ticket loop Phase 3: a reviewer can send work back by completing
1160
+ // the review with `verdict: 'rejected'` (+ feedback). Before this,
1161
+ // completing a review always meant "verified" and the bridge's
1162
+ // retry path was unreachable from a reviewer.
1163
+ const rejected = result?.verdict === 'rejected';
1164
+ const feedback = typeof result?.feedback === 'string' && result.feedback.trim()
1165
+ ? result.feedback.trim()
1166
+ : typeof result?.summary === 'string'
1167
+ ? result.summary
1168
+ : undefined;
1169
+ await this.verifyItem(verifyOf, 'system', rejected ? 'rejected' : 'verified', rejected ? feedback : undefined);
1098
1170
  this.logger.info('Verify WI complete → propagated to source', {
1099
1171
  verifyWorkItemId: workItemId,
1100
1172
  sourceWorkItemId: verifyOf,
1101
- verdict: 'verified',
1173
+ verdict: rejected ? 'rejected' : 'verified',
1102
1174
  });
1103
1175
  }
1104
1176
  }
@@ -2016,6 +2088,11 @@ export class TaskPoolService {
2016
2088
  if (newStatus === 'blocked' && typeof reason === 'string' && reason.length > 0) {
2017
2089
  wi.blockedReason = reason;
2018
2090
  }
2091
+ // Ticket loop Phase 3: an agent picks its own unblocked work back up
2092
+ // before new work, so remember that this item was blocked.
2093
+ if (fromStatus === 'blocked' && newStatus === 'queued') {
2094
+ wi.metadata = { ...(wi.metadata ?? {}), unblockedAt: new Date().toISOString() };
2095
+ }
2019
2096
  });
2020
2097
  this.logger.info('Work item status updated', {
2021
2098
  workItemId,
@@ -2171,6 +2248,11 @@ export class TaskPoolService {
2171
2248
  if (newStatus === 'blocked' && typeof cancelReason === 'string' && cancelReason.length > 0) {
2172
2249
  wi.blockedReason = cancelReason;
2173
2250
  }
2251
+ // Ticket loop Phase 3: an agent picks its own unblocked work back up
2252
+ // before new work, so remember that this item was blocked.
2253
+ if (fromStatus === 'blocked' && newStatus === 'queued') {
2254
+ wi.metadata = { ...(wi.metadata ?? {}), unblockedAt: new Date().toISOString() };
2255
+ }
2174
2256
  if (mutator)
2175
2257
  mutator(wi);
2176
2258
  });
@@ -1 +1 @@
1
- {"version":3,"file":"task-pool.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-pool.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/task-pool.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Ticket claim policy — which queued WorkItem an agent takes next
3
+ * (specs/ticket-loop.md, Phase 3).
4
+ *
5
+ * Pure functions over the pool and a snapshot of tickets, used by every
6
+ * claim path (`claimFromPool`, `claimSpecificItem`, AutoClaim) so the order
7
+ * and the lock are the same everywhere.
8
+ *
9
+ * **Order** (first tier wins, then oldest first):
10
+ * 1. own rejected — rework / retry of this agent's work that was sent back
11
+ * 2. own unblocked — this agent's work that was blocked and is free again
12
+ * 3. queue rejected — rework / retry nobody owns yet
13
+ * 4. everything else by priority: P0, P1, P2, P3 (ticket priority when the
14
+ * item belongs to a ticket, else the item's own `metadata.priority`)
15
+ *
16
+ * **Lock — one ticket per agent.**
17
+ * - An untargeted item of a ticket that already has an assignee is only for
18
+ * that assignee (an explicit `target` still wins: a lead may hand one piece
19
+ * of a ticket to someone else).
20
+ * - An agent that still has open work on one ticket does not self-claim an
21
+ * untargeted item of another ticket. Items targeted at it are never held
22
+ * back — someone deliberately gave it that work.
23
+ *
24
+ * @module services/task-pool/ticket-claim-policy
25
+ */
26
+ import type { WorkItem } from '../../types/v2/work-item.types.js';
27
+ import type { RequestPriority } from '../../types/v2/request.types.js';
28
+ /** What the policy needs to know about a ticket. */
29
+ export interface ClaimTicketView {
30
+ id: string;
31
+ priority: RequestPriority;
32
+ /** Agent that owns the ticket, when any */
33
+ assignee?: string;
34
+ }
35
+ /** Tickets by Request id (non-ticket Requests are simply absent). */
36
+ export type ClaimTicketLookup = ReadonlyMap<string, ClaimTicketView>;
37
+ /** Claim tiers, lowest first. */
38
+ export declare const CLAIM_TIER: {
39
+ readonly OWN_REJECTED: 0;
40
+ readonly OWN_UNBLOCKED: 1;
41
+ readonly QUEUE_REJECTED: 2;
42
+ /** P0 … P3 follow: PRIORITY_BASE + 0..3 */
43
+ readonly PRIORITY_BASE: 3;
44
+ };
45
+ /**
46
+ * Whether an item is a do-over of work that was sent back: a ticket rework
47
+ * (打回 from the board) or a reviewer's retry.
48
+ *
49
+ * @param wi - WorkItem
50
+ * @returns True for rework / retry items
51
+ */
52
+ export declare function isReworkItem(wi: Pick<WorkItem, 'id' | 'metadata'>): boolean;
53
+ /**
54
+ * The tier of an item for one agent (see module docs).
55
+ *
56
+ * @param wi - Candidate WorkItem
57
+ * @param agentId - The claiming agent
58
+ * @param tickets - Ticket snapshot
59
+ * @returns Tier number (lower is taken first)
60
+ */
61
+ export declare function claimTier(wi: WorkItem, agentId: string, tickets: ClaimTicketLookup): number;
62
+ /**
63
+ * Tickets an agent is still working on: any ticket with an open (queued,
64
+ * running, blocked, rejected) item targeted at the agent.
65
+ *
66
+ * @param pool - Every WorkItem
67
+ * @param agentId - The agent
68
+ * @param tickets - Ticket snapshot
69
+ * @returns Ticket ids
70
+ */
71
+ export declare function openTicketsOf(pool: readonly WorkItem[], agentId: string, tickets: ClaimTicketLookup): Set<string>;
72
+ /**
73
+ * Why an agent may not self-claim an item, or null when it may.
74
+ *
75
+ * @param wi - Candidate WorkItem
76
+ * @param agentId - The claiming agent
77
+ * @param tickets - Ticket snapshot
78
+ * @param agentOpenTickets - {@link openTicketsOf} for this agent
79
+ * @returns `'ticket_owned_by_other'`, `'agent_on_other_ticket'`, or null
80
+ */
81
+ export declare function ticketLockReason(wi: WorkItem, agentId: string, tickets: ClaimTicketLookup, agentOpenTickets: ReadonlySet<string>): 'ticket_owned_by_other' | 'agent_on_other_ticket' | null;
82
+ /**
83
+ * Candidates in the order an agent should take them, lock applied.
84
+ *
85
+ * @param candidates - Queued, unclaimed items the agent may take (target already respected)
86
+ * @param agentId - The claiming agent
87
+ * @param pool - Every WorkItem (for the lock)
88
+ * @param tickets - Ticket snapshot
89
+ * @returns Ordered, lock-filtered candidates
90
+ */
91
+ export declare function orderForAgent(candidates: readonly WorkItem[], agentId: string, pool: readonly WorkItem[], tickets: ClaimTicketLookup): WorkItem[];
92
+ //# sourceMappingURL=ticket-claim-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-claim-policy.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/ticket-claim-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAErE,iCAAiC;AACjC,eAAO,MAAM,UAAU;;;;IAIrB,2CAA2C;;CAEnC,CAAC;AAgDX;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAS3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,CAOjH;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,uBAAuB,GAAG,uBAAuB,GAAG,IAAI,CAU1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,SAAS,QAAQ,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,EAAE,iBAAiB,GACzB,QAAQ,EAAE,CAOZ"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Ticket claim policy — which queued WorkItem an agent takes next
3
+ * (specs/ticket-loop.md, Phase 3).
4
+ *
5
+ * Pure functions over the pool and a snapshot of tickets, used by every
6
+ * claim path (`claimFromPool`, `claimSpecificItem`, AutoClaim) so the order
7
+ * and the lock are the same everywhere.
8
+ *
9
+ * **Order** (first tier wins, then oldest first):
10
+ * 1. own rejected — rework / retry of this agent's work that was sent back
11
+ * 2. own unblocked — this agent's work that was blocked and is free again
12
+ * 3. queue rejected — rework / retry nobody owns yet
13
+ * 4. everything else by priority: P0, P1, P2, P3 (ticket priority when the
14
+ * item belongs to a ticket, else the item's own `metadata.priority`)
15
+ *
16
+ * **Lock — one ticket per agent.**
17
+ * - An untargeted item of a ticket that already has an assignee is only for
18
+ * that assignee (an explicit `target` still wins: a lead may hand one piece
19
+ * of a ticket to someone else).
20
+ * - An agent that still has open work on one ticket does not self-claim an
21
+ * untargeted item of another ticket. Items targeted at it are never held
22
+ * back — someone deliberately gave it that work.
23
+ *
24
+ * @module services/task-pool/ticket-claim-policy
25
+ */
26
+ /** Claim tiers, lowest first. */
27
+ export const CLAIM_TIER = {
28
+ OWN_REJECTED: 0,
29
+ OWN_UNBLOCKED: 1,
30
+ QUEUE_REJECTED: 2,
31
+ /** P0 … P3 follow: PRIORITY_BASE + 0..3 */
32
+ PRIORITY_BASE: 3,
33
+ };
34
+ /** WorkItem statuses that still hold an agent to a ticket. */
35
+ const OPEN_FOR_LOCK = new Set(['queued', 'running', 'blocked', 'rejected']);
36
+ /**
37
+ * P-rank (0 = P0) of a ticket priority.
38
+ *
39
+ * @param p - Ticket priority
40
+ * @returns 0..3
41
+ */
42
+ function ticketRank(p) {
43
+ switch (p) {
44
+ case 'urgent':
45
+ return 0;
46
+ case 'high':
47
+ return 1;
48
+ case 'low':
49
+ return 3;
50
+ default:
51
+ return 2;
52
+ }
53
+ }
54
+ /**
55
+ * P-rank of a WorkItem's own `metadata.priority` (delegate-task writes
56
+ * critical / high / medium / low; decomposition writes the plan's value).
57
+ *
58
+ * @param value - Raw metadata value
59
+ * @returns 0..3 (unknown → 2)
60
+ */
61
+ function metadataRank(value) {
62
+ switch (typeof value === 'string' ? value.toLowerCase() : '') {
63
+ case 'critical':
64
+ case 'urgent':
65
+ case 'p0':
66
+ return 0;
67
+ case 'high':
68
+ case 'p1':
69
+ return 1;
70
+ case 'low':
71
+ case 'p3':
72
+ return 3;
73
+ default:
74
+ return 2;
75
+ }
76
+ }
77
+ /**
78
+ * Whether an item is a do-over of work that was sent back: a ticket rework
79
+ * (打回 from the board) or a reviewer's retry.
80
+ *
81
+ * @param wi - WorkItem
82
+ * @returns True for rework / retry items
83
+ */
84
+ export function isReworkItem(wi) {
85
+ return wi.metadata?.ticketRework === true || typeof wi.metadata?.retryAttempt === 'number' || wi.id.includes(':retry:');
86
+ }
87
+ /**
88
+ * The tier of an item for one agent (see module docs).
89
+ *
90
+ * @param wi - Candidate WorkItem
91
+ * @param agentId - The claiming agent
92
+ * @param tickets - Ticket snapshot
93
+ * @returns Tier number (lower is taken first)
94
+ */
95
+ export function claimTier(wi, agentId, tickets) {
96
+ const mine = wi.target === agentId;
97
+ const rework = isReworkItem(wi);
98
+ if (rework && mine)
99
+ return CLAIM_TIER.OWN_REJECTED;
100
+ if (mine && typeof wi.metadata?.unblockedAt === 'string')
101
+ return CLAIM_TIER.OWN_UNBLOCKED;
102
+ if (rework && !wi.target)
103
+ return CLAIM_TIER.QUEUE_REJECTED;
104
+ const ticket = wi.requestId ? tickets.get(wi.requestId) : undefined;
105
+ const rank = ticket ? ticketRank(ticket.priority) : metadataRank(wi.metadata?.priority);
106
+ return CLAIM_TIER.PRIORITY_BASE + rank;
107
+ }
108
+ /**
109
+ * Tickets an agent is still working on: any ticket with an open (queued,
110
+ * running, blocked, rejected) item targeted at the agent.
111
+ *
112
+ * @param pool - Every WorkItem
113
+ * @param agentId - The agent
114
+ * @param tickets - Ticket snapshot
115
+ * @returns Ticket ids
116
+ */
117
+ export function openTicketsOf(pool, agentId, tickets) {
118
+ const out = new Set();
119
+ for (const wi of pool) {
120
+ if (wi.target !== agentId || !wi.requestId || !tickets.has(wi.requestId))
121
+ continue;
122
+ if (OPEN_FOR_LOCK.has(wi.status))
123
+ out.add(wi.requestId);
124
+ }
125
+ return out;
126
+ }
127
+ /**
128
+ * Why an agent may not self-claim an item, or null when it may.
129
+ *
130
+ * @param wi - Candidate WorkItem
131
+ * @param agentId - The claiming agent
132
+ * @param tickets - Ticket snapshot
133
+ * @param agentOpenTickets - {@link openTicketsOf} for this agent
134
+ * @returns `'ticket_owned_by_other'`, `'agent_on_other_ticket'`, or null
135
+ */
136
+ export function ticketLockReason(wi, agentId, tickets, agentOpenTickets) {
137
+ // Deliberately assigned work is never held back.
138
+ if (wi.target)
139
+ return null;
140
+ const ticket = wi.requestId ? tickets.get(wi.requestId) : undefined;
141
+ if (!ticket)
142
+ return null;
143
+ if (ticket.assignee && ticket.assignee !== agentId)
144
+ return 'ticket_owned_by_other';
145
+ for (const other of agentOpenTickets) {
146
+ if (other !== ticket.id)
147
+ return 'agent_on_other_ticket';
148
+ }
149
+ return null;
150
+ }
151
+ /**
152
+ * Candidates in the order an agent should take them, lock applied.
153
+ *
154
+ * @param candidates - Queued, unclaimed items the agent may take (target already respected)
155
+ * @param agentId - The claiming agent
156
+ * @param pool - Every WorkItem (for the lock)
157
+ * @param tickets - Ticket snapshot
158
+ * @returns Ordered, lock-filtered candidates
159
+ */
160
+ export function orderForAgent(candidates, agentId, pool, tickets) {
161
+ const open = openTicketsOf(pool, agentId, tickets);
162
+ return candidates
163
+ .filter((wi) => ticketLockReason(wi, agentId, tickets, open) === null)
164
+ .map((wi) => ({ wi, tier: claimTier(wi, agentId, tickets), at: Date.parse(wi.createdAt) || 0 }))
165
+ .sort((a, b) => a.tier - b.tier || a.at - b.at)
166
+ .map((x) => x.wi);
167
+ }
168
+ //# sourceMappingURL=ticket-claim-policy.js.map