crewly 1.20.345 → 1.20.346

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 (98) hide show
  1. package/dist/backend/backend/src/constants.d.ts +53 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +53 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  6. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +14 -0
  7. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  8. package/dist/backend/backend/src/index.d.ts.map +1 -1
  9. package/dist/backend/backend/src/index.js +13 -0
  10. package/dist/backend/backend/src/index.js.map +1 -1
  11. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts +17 -0
  12. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts.map +1 -0
  13. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js +54 -0
  14. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js.map +1 -0
  15. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  16. package/dist/backend/backend/src/routes/modules/terminal.routes.js +3 -2
  17. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  18. package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts.map +1 -1
  19. package/dist/backend/backend/src/services/agent/follow-through.wiring.js +27 -7
  20. package/dist/backend/backend/src/services/agent/follow-through.wiring.js.map +1 -1
  21. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +10 -0
  22. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  23. package/dist/backend/backend/src/services/decisions/decision-contract.js +17 -0
  24. package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
  25. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +9 -0
  26. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/decisions/decision.service.js +25 -1
  28. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +12 -0
  30. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/open-items/open-items.service.js +36 -2
  32. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/open-items/open-items.wiring.js +5 -0
  35. package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
  36. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts +60 -0
  37. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  38. package/dist/backend/backend/src/services/orc/harness-reminder.js +88 -0
  39. package/dist/backend/backend/src/services/orc/harness-reminder.js.map +1 -0
  40. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +3 -1
  41. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +14 -2
  43. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  46. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +23 -0
  48. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +44 -0
  50. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +2 -0
  53. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  54. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +2 -0
  55. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  56. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  57. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  58. package/dist/backend/backend/src/utils/duplicate-creation.utils.js +121 -0
  59. package/dist/backend/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  60. package/dist/backend/backend/src/utils/team.utils.d.ts +9 -0
  61. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  62. package/dist/backend/backend/src/utils/team.utils.js +18 -0
  63. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  64. package/dist/backend/build-info.json +2 -2
  65. package/dist/cli/backend/src/constants.d.ts +53 -0
  66. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  67. package/dist/cli/backend/src/constants.js +53 -0
  68. package/dist/cli/backend/src/constants.js.map +1 -1
  69. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +10 -0
  70. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  71. package/dist/cli/backend/src/services/decisions/decision-contract.js +17 -0
  72. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
  73. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +9 -0
  74. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/decisions/decision.service.js +25 -1
  76. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  77. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +12 -0
  78. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  79. package/dist/cli/backend/src/services/open-items/open-items.service.js +36 -2
  80. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  81. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts +60 -0
  82. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  83. package/dist/cli/backend/src/services/orc/harness-reminder.js +88 -0
  84. package/dist/cli/backend/src/services/orc/harness-reminder.js.map +1 -0
  85. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  86. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  87. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  88. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +2 -0
  89. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  90. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  91. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  92. package/dist/cli/backend/src/utils/duplicate-creation.utils.js +121 -0
  93. package/dist/cli/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  94. package/dist/cli/backend/src/utils/team.utils.d.ts +9 -0
  95. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -1
  96. package/dist/cli/backend/src/utils/team.utils.js +18 -0
  97. package/dist/cli/backend/src/utils/team.utils.js.map +1 -1
  98. package/package.json +1 -1
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Shared wording and limits for harness reminders (follow-up, owner report
3
+ * due, follow-through). A reminder tells the agent which attempt it is, how old
4
+ * the original request is, and that an agent which already answered posts
5
+ * nothing to the owner (audit 2026-10-14: reminders re-posted the same Google
6
+ * Doc link; 77 of 317 were sent more than 24h after the request).
7
+ *
8
+ * @module services/orc/harness-reminder
9
+ */
10
+ import { HARNESS_REMINDER_CONSTANTS } from '../../constants.js';
11
+ /**
12
+ * Human age of a request ("5 min", "3 h", "2 days").
13
+ *
14
+ * @param ms - Age in milliseconds
15
+ * @returns Short English age
16
+ */
17
+ export function formatReminderAge(ms) {
18
+ const min = Math.max(0, Math.round(ms / 60_000));
19
+ if (min < 60)
20
+ return `${min} min`;
21
+ const hours = Math.round(min / 60);
22
+ if (hours < 48)
23
+ return `${hours} h`;
24
+ return `${Math.round(hours / 24)} days`;
25
+ }
26
+ /**
27
+ * Milliseconds since an ISO timestamp / epoch ms.
28
+ *
29
+ * @param since - When the original request happened
30
+ * @param now - Epoch ms
31
+ * @returns Age, or null when unknown
32
+ */
33
+ export function reminderAgeMs(since, now) {
34
+ const at = typeof since === 'number' ? since : since ? Date.parse(since) : NaN;
35
+ return Number.isFinite(at) ? Math.max(0, now - at) : null;
36
+ }
37
+ /**
38
+ * Whether the original request is too old to be reminded about.
39
+ *
40
+ * @param since - When the original request happened
41
+ * @param now - Epoch ms
42
+ * @returns True when older than {@link HARNESS_REMINDER_CONSTANTS.CUTOFF_MS}
43
+ */
44
+ export function isPastReminderCutoff(since, now) {
45
+ const age = reminderAgeMs(since, now);
46
+ return age !== null && age >= HARNESS_REMINDER_CONSTANTS.CUTOFF_MS;
47
+ }
48
+ /**
49
+ * Whether one more reminder would pass the per-item cap.
50
+ *
51
+ * @param sent - Reminders (including the first prompt) already sent for the item
52
+ * @returns True when another may be sent
53
+ */
54
+ export function mayRemindAgain(sent) {
55
+ return sent < HARNESS_REMINDER_CONSTANTS.MAX_REMINDERS_PER_ITEM;
56
+ }
57
+ /**
58
+ * The lines every reminder carries: attempt number, request age, and the
59
+ * never-re-post rule.
60
+ *
61
+ * @param attempt - 1-based attempt number
62
+ * @param since - When the original request happened
63
+ * @param now - Epoch ms
64
+ * @returns Text starting with a newline, ready to append to a reminder
65
+ */
66
+ export function reminderFooter(attempt, since, now) {
67
+ const age = reminderAgeMs(since, now);
68
+ const ageText = age === null ? 'age unknown' : `${formatReminderAge(age)} ago`;
69
+ return (`\n(Automatic reminder ${attempt} of ${HARNESS_REMINDER_CONSTANTS.MAX_REMINDERS_PER_ITEM}; the original request was ${ageText}.) ` +
70
+ 'If you already delivered or answered this, send NOTHING to the owner: just close the item with the usual command. ' +
71
+ 'Never re-post content the owner already has (links, files, summaries).');
72
+ }
73
+ /**
74
+ * The note for the team lead when a request is too old to remind the agent.
75
+ *
76
+ * @param what - What the request / promise was
77
+ * @param agent - The agent it belongs to
78
+ * @param since - When the original request happened
79
+ * @param now - Epoch ms
80
+ * @returns English harness text
81
+ */
82
+ export function leadStaleNotice(what, agent, since, now) {
83
+ const age = reminderAgeMs(since, now);
84
+ return (`[STALE ITEM] ${agent} still has an item from ${age === null ? 'a while' : `${formatReminderAge(age)}`} ago open: "${what.slice(0, 200)}". ` +
85
+ 'Crewly stopped reminding the agent (too old). Decide whether it is still needed: close it or re-assign it. ' +
86
+ 'Do not message the owner about it unless it is still wanted and nobody has told them.');
87
+ }
88
+ //# sourceMappingURL=harness-reminder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness-reminder.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/harness-reminder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,MAAM,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkC,EAAE,GAAW;IAC3E,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkC,EAAE,GAAW;IAClF,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,0BAA0B,CAAC,SAAS,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,GAAG,0BAA0B,CAAC,sBAAsB,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,KAAkC,EAAE,GAAW;IAC7F,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;IAC/E,OAAO,CACL,yBAAyB,OAAO,OAAO,0BAA0B,CAAC,sBAAsB,8BAA8B,OAAO,KAAK;QAClI,oHAAoH;QACpH,wEAAwE,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,KAAkC,EAAE,GAAW;IAC1G,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,OAAO,CACL,gBAAgB,KAAK,2BAA2B,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;QAC5I,6GAA6G;QAC7G,uFAAuF,CACxF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-ticket.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/project-ticket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-ticket.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/project-ticket.service.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,8 @@
20
20
  */
21
21
  import * as fs from 'fs/promises';
22
22
  import * as path from 'path';
23
- import { PROJECT_TICKET_CONSTANTS } from '../../constants.js';
23
+ import { DUPLICATE_CREATION_CONSTANTS, PROJECT_TICKET_CONSTANTS } from '../../constants.js';
24
+ import { normalizeForDedupe } from '../../utils/duplicate-creation.utils.js';
24
25
  import { LoggerService } from '../core/logger.service.js';
25
26
  import { resolveProjectDataDir } from '../core/crewly-home.utils.js';
26
27
  import { atomicWriteFile } from '../../utils/file-io.utils.js';
@@ -208,6 +209,21 @@ export class ProjectTicketService {
208
209
  const dir = this.ticketsDir(root);
209
210
  const now = this.now();
210
211
  const created = await withTicketFolderLock(dir, async () => {
212
+ // The same creator making the same ticket again within minutes gets the first one back (CE-169..176
213
+ // were created as four pairs within 90s). Checked under the folder lock so concurrent calls cannot
214
+ // both miss. Imports and back-dated tickets are never merged.
215
+ if (input.source && !input.createdAt && !input.migratedFrom) {
216
+ const nowMs = Date.parse(now);
217
+ const key = normalizeForDedupe(title);
218
+ const twin = (await this.list(root)).tickets.find((t) => t.source === input.source &&
219
+ t.status !== 'done' &&
220
+ t.status !== 'cancelled' &&
221
+ normalizeForDedupe(t.title) === key &&
222
+ nowMs - Date.parse(t.createdAt) >= 0 &&
223
+ nowMs - Date.parse(t.createdAt) <= DUPLICATE_CREATION_CONSTANTS.TICKET_WINDOW_MS);
224
+ if (twin)
225
+ return { twin, fileName: '', filePath: '', content: '' };
226
+ }
211
227
  const id = await allocateTicketId(dir, projectName);
212
228
  const fields = {
213
229
  id,
@@ -234,8 +250,12 @@ export class ProjectTicketService {
234
250
  logLines: [formatLogLine(actor, `created (${status})`, now)],
235
251
  });
236
252
  await atomicWriteFile(filePath, content);
237
- return { fileName, filePath, content };
253
+ return { twin: undefined, fileName, filePath, content };
238
254
  });
255
+ if (created.twin) {
256
+ this.logger.info('Duplicate project ticket not created; existing one returned', { projectPath: root, id: created.twin.id, actor });
257
+ return created.twin;
258
+ }
239
259
  await this.checkTracking(root);
240
260
  const parsed = parseTicketFile(created.content);
241
261
  if (!parsed.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"project-ticket.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/project-ticket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-ticket.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/project-ticket.service.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,8 @@ export interface RequestOpenItem {
64
64
  wokeAt?: string;
65
65
  /** Commitment: when the agent was nudged after the due time (ISO) */
66
66
  nudgedAt?: string;
67
+ /** The team lead was told this item is too old to remind the agent about (once) */
68
+ leadNotifiedAt?: string;
67
69
  /** Commitment: made in an interim note; the agent's next substantive reply in the thread delivers it */
68
70
  fromInterim?: boolean;
69
71
  /** Commitment: when a restart reminder was sent for it (ISO); sent at most once, and it counts as the nudge */
@@ -1 +1 @@
1
- {"version":3,"file":"open-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/open-item.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,eAAe,GACf,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAE7I,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gHAAgH;IAChH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"open-item.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/types/v2/open-item.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,eAAe,GACf,OAAO,GACP,SAAS,GACT,WAAW,GACX,UAAU,GACV,YAAY,GACZ,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAE7I,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wGAAwG;IACxG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gHAAgH;IAChH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Creation-time duplicate checks: the same creator making the same thing
3
+ * (ticket, WorkItem, message) again within a short window gets the existing
4
+ * one instead of a second copy.
5
+ *
6
+ * @module utils/duplicate-creation
7
+ */
8
+ import { type WorkItem } from '../types/v2/work-item.types.js';
9
+ /**
10
+ * Title / text key: lower-cased, punctuation and whitespace collapsed.
11
+ *
12
+ * @param text - Title or message
13
+ * @returns Comparison key
14
+ */
15
+ export declare function normalizeForDedupe(text: string): string;
16
+ /** Why a WorkItem may be returned instead of creating another. */
17
+ export interface WorkItemDuplicateQuery {
18
+ /** Who creates it (agent session; undefined = owner / unknown, never deduped) */
19
+ creator: string | undefined;
20
+ /** Target session */
21
+ target: string | undefined;
22
+ /** New title */
23
+ title: string;
24
+ /** Clock (epoch ms) */
25
+ now: number;
26
+ }
27
+ /**
28
+ * An open WorkItem the same creator already made for the same target with the
29
+ * same title inside {@link D.WORK_ITEM_WINDOW_MS}.
30
+ *
31
+ * @param query - The would-be new item
32
+ * @param items - Pool items
33
+ * @returns The existing item, or null
34
+ */
35
+ export declare function findDuplicateWorkItem(query: WorkItemDuplicateQuery, items: readonly WorkItem[]): WorkItem | null;
36
+ /**
37
+ * The harness's own "Follow through" WorkItem for the same target and title,
38
+ * whatever its status, inside {@link D.FOLLOW_THROUGH_WINDOW_MS}: a promise is
39
+ * parked once, not after every stop or restart.
40
+ *
41
+ * @param items - Pool items
42
+ * @param target - Agent session
43
+ * @param title - Title of the would-be item
44
+ * @param harnessCreated - The harness origin tag (`stated-intent`, `owner-promise`)
45
+ * @param now - Clock (epoch ms)
46
+ * @returns The existing item, or null
47
+ */
48
+ export declare function findExistingFollowThrough(items: readonly WorkItem[], target: string, title: string, harnessCreated: string, now: number): WorkItem | null;
49
+ /** Forget every tracked message (tests). */
50
+ export declare function resetAgentMessageDedupeForTesting(): void;
51
+ /**
52
+ * Forget a recorded message, so a resend is not taken for a duplicate. Used
53
+ * when the first send did not go through.
54
+ *
55
+ * @param sender - Sending agent session
56
+ * @param target - Receiving session
57
+ * @param text - Message text, as passed to {@link agentMessageRepeatOf}
58
+ */
59
+ export declare function forgetAgentMessage(sender: string, target: string, text: string): void;
60
+ /**
61
+ * Whether an agent already sent this exact message to this target inside the
62
+ * window. Records it otherwise. Short messages and exempt senders never match.
63
+ *
64
+ * @param sender - Sending agent session
65
+ * @param target - Receiving session
66
+ * @param text - Message text (trace markers should be stripped by the caller)
67
+ * @param now - Clock (epoch ms)
68
+ * @returns Seconds since the identical earlier message, or null when it is new
69
+ */
70
+ export declare function agentMessageRepeatOf(sender: string, target: string, text: string, now?: number): number | null;
71
+ //# sourceMappingURL=duplicate-creation.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-creation.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/duplicate-creation.utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,qBAAqB;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,GAAG,IAAI,CAgBhH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAWzJ;AAKD,4CAA4C;AAC5C,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAc1H"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Creation-time duplicate checks: the same creator making the same thing
3
+ * (ticket, WorkItem, message) again within a short window gets the existing
4
+ * one instead of a second copy.
5
+ *
6
+ * @module utils/duplicate-creation
7
+ */
8
+ import { DUPLICATE_CREATION_CONSTANTS as D } from '../constants.js';
9
+ import { TERMINAL_WORK_ITEM_STATUSES } from '../types/v2/work-item.types.js';
10
+ /**
11
+ * Title / text key: lower-cased, punctuation and whitespace collapsed.
12
+ *
13
+ * @param text - Title or message
14
+ * @returns Comparison key
15
+ */
16
+ export function normalizeForDedupe(text) {
17
+ return text
18
+ .toLowerCase()
19
+ .replace(/[\s\p{P}\p{S}]+/gu, ' ')
20
+ .trim();
21
+ }
22
+ /**
23
+ * An open WorkItem the same creator already made for the same target with the
24
+ * same title inside {@link D.WORK_ITEM_WINDOW_MS}.
25
+ *
26
+ * @param query - The would-be new item
27
+ * @param items - Pool items
28
+ * @returns The existing item, or null
29
+ */
30
+ export function findDuplicateWorkItem(query, items) {
31
+ if (!query.creator)
32
+ return null;
33
+ const key = normalizeForDedupe(query.title);
34
+ if (!key)
35
+ return null;
36
+ return (items.find((wi) => {
37
+ if (TERMINAL_WORK_ITEM_STATUSES.has(wi.status))
38
+ return false;
39
+ if ((wi.target ?? '') !== (query.target ?? ''))
40
+ return false;
41
+ if (normalizeForDedupe(wi.title ?? '') !== key)
42
+ return false;
43
+ const meta = (wi.metadata ?? {});
44
+ const madeBy = typeof meta['delegatedBy'] === 'string' ? meta['delegatedBy'] : wi.owner;
45
+ if (madeBy !== query.creator)
46
+ return false;
47
+ const age = query.now - Date.parse(wi.createdAt);
48
+ return Number.isFinite(age) && age >= 0 && age <= D.WORK_ITEM_WINDOW_MS;
49
+ }) ?? null);
50
+ }
51
+ /**
52
+ * The harness's own "Follow through" WorkItem for the same target and title,
53
+ * whatever its status, inside {@link D.FOLLOW_THROUGH_WINDOW_MS}: a promise is
54
+ * parked once, not after every stop or restart.
55
+ *
56
+ * @param items - Pool items
57
+ * @param target - Agent session
58
+ * @param title - Title of the would-be item
59
+ * @param harnessCreated - The harness origin tag (`stated-intent`, `owner-promise`)
60
+ * @param now - Clock (epoch ms)
61
+ * @returns The existing item, or null
62
+ */
63
+ export function findExistingFollowThrough(items, target, title, harnessCreated, now) {
64
+ const key = normalizeForDedupe(title);
65
+ return (items.find((wi) => {
66
+ const meta = (wi.metadata ?? {});
67
+ if (meta['harnessCreated'] !== harnessCreated || wi.target !== target)
68
+ return false;
69
+ if (normalizeForDedupe(wi.title ?? '') !== key)
70
+ return false;
71
+ const age = now - Date.parse(wi.createdAt);
72
+ return Number.isFinite(age) && age <= D.FOLLOW_THROUGH_WINDOW_MS;
73
+ }) ?? null);
74
+ }
75
+ /** Recent agent messages: fingerprint -> when it was sent (epoch ms). */
76
+ const recentMessages = new Map();
77
+ /** Forget every tracked message (tests). */
78
+ export function resetAgentMessageDedupeForTesting() {
79
+ recentMessages.clear();
80
+ }
81
+ /**
82
+ * Forget a recorded message, so a resend is not taken for a duplicate. Used
83
+ * when the first send did not go through.
84
+ *
85
+ * @param sender - Sending agent session
86
+ * @param target - Receiving session
87
+ * @param text - Message text, as passed to {@link agentMessageRepeatOf}
88
+ */
89
+ export function forgetAgentMessage(sender, target, text) {
90
+ recentMessages.delete(`${sender}\u0000${target}\u0000${normalizeForDedupe(text)}`);
91
+ }
92
+ /**
93
+ * Whether an agent already sent this exact message to this target inside the
94
+ * window. Records it otherwise. Short messages and exempt senders never match.
95
+ *
96
+ * @param sender - Sending agent session
97
+ * @param target - Receiving session
98
+ * @param text - Message text (trace markers should be stripped by the caller)
99
+ * @param now - Clock (epoch ms)
100
+ * @returns Seconds since the identical earlier message, or null when it is new
101
+ */
102
+ export function agentMessageRepeatOf(sender, target, text, now = Date.now()) {
103
+ if (!sender || D.AGENT_MESSAGE_EXEMPT_SENDERS.includes(sender))
104
+ return null;
105
+ const key = normalizeForDedupe(text);
106
+ if (key.length < D.AGENT_MESSAGE_MIN_CHARS)
107
+ return null;
108
+ const fingerprint = `${sender}\u0000${target}\u0000${key}`;
109
+ const last = recentMessages.get(fingerprint);
110
+ if (last !== undefined && now - last < D.AGENT_MESSAGE_WINDOW_MS)
111
+ return Math.round((now - last) / 1000);
112
+ recentMessages.set(fingerprint, now);
113
+ if (recentMessages.size > D.AGENT_MESSAGE_MAX_TRACKED) {
114
+ for (const [k, at] of recentMessages) {
115
+ if (now - at >= D.AGENT_MESSAGE_WINDOW_MS)
116
+ recentMessages.delete(k);
117
+ }
118
+ }
119
+ return null;
120
+ }
121
+ //# sourceMappingURL=duplicate-creation.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-creation.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/duplicate-creation.utils.ts"],"names":[],"mappings":"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"}
@@ -148,4 +148,13 @@ export declare function setTeamLead(team: Team, memberId: string, mode?: SetTeam
148
148
  after: string[];
149
149
  changed: boolean;
150
150
  };
151
+ /**
152
+ * The session of the lead who answers for a member: the first lead (with a
153
+ * session) of the first team the member belongs to, other than the member.
154
+ *
155
+ * @param teams - All teams
156
+ * @param session - The member's session name
157
+ * @returns The lead's session name, or null when none is found
158
+ */
159
+ export declare function findLeadSessionFor(teams: readonly Team[], session: string): string | null;
151
160
  //# sourceMappingURL=team.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkB1D,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEnE;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,aAAa,CAAC,GAAG,OAAO,CAE/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAkBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAwB1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAqBnJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,eAAuB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkChJ"}
1
+ {"version":3,"file":"team.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkB1D,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEnE;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,aAAa,CAAC,GAAG,OAAO,CAE/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAkBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAwB1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAqBnJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,eAAuB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkChJ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzF"}
@@ -275,4 +275,22 @@ export function setTeamLead(team, memberId, mode = 'set') {
275
275
  const changed = before.length !== after.length || before.some((id, i) => after[i] !== id);
276
276
  return { before, after, changed };
277
277
  }
278
+ /**
279
+ * The session of the lead who answers for a member: the first lead (with a
280
+ * session) of the first team the member belongs to, other than the member.
281
+ *
282
+ * @param teams - All teams
283
+ * @param session - The member's session name
284
+ * @returns The lead's session name, or null when none is found
285
+ */
286
+ export function findLeadSessionFor(teams, session) {
287
+ for (const team of teams) {
288
+ if (!(team.members ?? []).some((m) => m.sessionName === session))
289
+ continue;
290
+ const lead = getTeamLeads(team).find((m) => m.sessionName && m.sessionName !== session);
291
+ if (lead?.sessionName)
292
+ return lead.sessionName;
293
+ }
294
+ return null;
295
+ }
278
296
  //# sourceMappingURL=team.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"team.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE;;;;;;GAMG;AACH,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAA+B;IACxD,OAAQ,mBAAmB,CAAC,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAoB;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAoB,EAAE,MAA8B;IAC7E,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAoB,EAAE,MAA8C;IACpG,OAAO,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,MAAkB;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS;QAC/B,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;QAChC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;QAClB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,CAAC,CAAC,IAAI,KAAK,cAAc;QACzB,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;IAC1F,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;IACjE,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,yEAAyE;IACzE,+CAA+C;IAC/C,UAAU,EAAE,EAAE,IAAI,CAAC,2FAA2F,EAAE;QAC9G,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7B,WAAW,EAAE,OAAO,CAAC,MAAM;QAC3B,MAAM,EAAE,oDAAoD;KAC7D,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAmG;IACxI,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACnI,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,QAAgB,EAAE,OAAwB,KAAK;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,mBAAmB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,KAAK;QAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAEpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAS;QAChC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5D,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc;QAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAE7E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"team.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crewly",
3
- "version": "1.20.345",
3
+ "version": "1.20.346",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
6
6
  "workspaces": [