crewly 1.20.344 → 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 (122) hide show
  1. package/config/skills/orchestrator/reply-chat/SKILL.md +12 -0
  2. package/config/skills/orchestrator/reply-chat/execute.sh +18 -0
  3. package/dist/backend/backend/src/constants.d.ts +63 -0
  4. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  5. package/dist/backend/backend/src/constants.js +63 -0
  6. package/dist/backend/backend/src/constants.js.map +1 -1
  7. package/dist/backend/backend/src/controllers/chat/agent-reply.controller.d.ts.map +1 -1
  8. package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js +6 -1
  9. package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/chat/chat.controller.js +61 -1
  12. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +14 -0
  15. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  16. package/dist/backend/backend/src/index.d.ts.map +1 -1
  17. package/dist/backend/backend/src/index.js +13 -0
  18. package/dist/backend/backend/src/index.js.map +1 -1
  19. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts +17 -0
  20. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts.map +1 -0
  21. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js +54 -0
  22. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js.map +1 -0
  23. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  24. package/dist/backend/backend/src/routes/modules/terminal.routes.js +3 -2
  25. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  26. package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/agent/follow-through.wiring.js +27 -7
  28. package/dist/backend/backend/src/services/agent/follow-through.wiring.js.map +1 -1
  29. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +10 -0
  30. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/decisions/decision-contract.js +17 -0
  32. package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
  33. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +9 -0
  34. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/decisions/decision.service.js +25 -1
  36. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +12 -0
  38. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/open-items/open-items.service.js +36 -2
  40. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/open-items/open-items.wiring.js +5 -0
  43. package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
  44. package/dist/backend/backend/src/services/orc/agent-reply-target.d.ts +2 -0
  45. package/dist/backend/backend/src/services/orc/agent-reply-target.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/orc/agent-reply-target.js +7 -2
  47. package/dist/backend/backend/src/services/orc/agent-reply-target.js.map +1 -1
  48. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts +60 -0
  49. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  50. package/dist/backend/backend/src/services/orc/harness-reminder.js +88 -0
  51. package/dist/backend/backend/src/services/orc/harness-reminder.js.map +1 -0
  52. package/dist/backend/backend/src/services/orc/orc-post-placement.d.ts +72 -0
  53. package/dist/backend/backend/src/services/orc/orc-post-placement.d.ts.map +1 -0
  54. package/dist/backend/backend/src/services/orc/orc-post-placement.js +87 -0
  55. package/dist/backend/backend/src/services/orc/orc-post-placement.js.map +1 -0
  56. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +3 -1
  57. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +14 -2
  59. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
  60. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  62. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  63. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +23 -0
  64. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +44 -0
  66. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  67. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +12 -0
  68. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +61 -12
  70. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  72. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +2 -0
  73. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  74. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +2 -0
  75. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  76. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  77. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  78. package/dist/backend/backend/src/utils/duplicate-creation.utils.js +121 -0
  79. package/dist/backend/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  80. package/dist/backend/backend/src/utils/team.utils.d.ts +9 -0
  81. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  82. package/dist/backend/backend/src/utils/team.utils.js +18 -0
  83. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  84. package/dist/backend/build-info.json +2 -2
  85. package/dist/cli/backend/src/constants.d.ts +63 -0
  86. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  87. package/dist/cli/backend/src/constants.js +63 -0
  88. package/dist/cli/backend/src/constants.js.map +1 -1
  89. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +10 -0
  90. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  91. package/dist/cli/backend/src/services/decisions/decision-contract.js +17 -0
  92. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
  93. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +9 -0
  94. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  95. package/dist/cli/backend/src/services/decisions/decision.service.js +25 -1
  96. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  97. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +12 -0
  98. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  99. package/dist/cli/backend/src/services/open-items/open-items.service.js +36 -2
  100. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  101. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts +60 -0
  102. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  103. package/dist/cli/backend/src/services/orc/harness-reminder.js +88 -0
  104. package/dist/cli/backend/src/services/orc/harness-reminder.js.map +1 -0
  105. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  106. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  107. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  108. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +12 -0
  109. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  110. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +61 -12
  111. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  112. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +2 -0
  113. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  114. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  115. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  116. package/dist/cli/backend/src/utils/duplicate-creation.utils.js +121 -0
  117. package/dist/cli/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  118. package/dist/cli/backend/src/utils/team.utils.d.ts +9 -0
  119. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -1
  120. package/dist/cli/backend/src/utils/team.utils.js +18 -0
  121. package/dist/cli/backend/src/utils/team.utils.js.map +1 -1
  122. package/package.json +1 -1
@@ -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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,4BAA4B,IAAI,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAiB,MAAM,gCAAgC,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;SACjC,IAAI,EAAE,CAAC;AACZ,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA6B,EAAE,KAA0B;IAC7F,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAChB,IAAI,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,kBAAkB,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QAC5D,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,aAAa,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACpG,IAAI,MAAM,KAAK,KAAK,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,mBAAmB,CAAC;IAC1E,CAAC,CAAC,IAAI,IAAI,CACX,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA0B,EAAE,MAAc,EAAE,KAAa,EAAE,cAAsB,EAAE,GAAW;IACtI,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACpF,IAAI,kBAAkB,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAC7D,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,wBAAwB,CAAC;IACnE,CAAC,CAAC,IAAI,IAAI,CACX,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD,4CAA4C;AAC5C,MAAM,UAAU,iCAAiC;IAC/C,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY;IAC7E,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,SAAS,MAAM,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IACzG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,WAAW,GAAG,GAAG,MAAM,SAAS,MAAM,SAAS,GAAG,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACzG,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,yBAAyB,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,uBAAuB;gBAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -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":"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"}
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.344",
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": [