crewly 1.20.230 → 1.20.232

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 (75) hide show
  1. package/config/hooks/agent-status/report.sh +7 -2
  2. package/config/skills/agent/core/send-message/SKILL.md +6 -2
  3. package/config/skills/agent/core/send-message/execute.sh +4 -3
  4. package/config/skills/agent/core/send-message/execute.test.sh +1 -1
  5. package/config/skills/orchestrator/send-message/SKILL.md +21 -7
  6. package/config/skills/orchestrator/send-message/execute.sh +20 -3
  7. package/config/skills/orchestrator/send-message/execute.test.sh +11 -1
  8. package/dist/backend/backend/src/constants.d.ts +38 -0
  9. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  10. package/dist/backend/backend/src/constants.js +38 -0
  11. package/dist/backend/backend/src/constants.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +4 -1
  13. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +21 -5
  15. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +1 -1
  17. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  18. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +52 -3
  19. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  20. package/dist/backend/backend/src/index.d.ts.map +1 -1
  21. package/dist/backend/backend/src/index.js +10 -5
  22. package/dist/backend/backend/src/index.js.map +1 -1
  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 -1
  25. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  26. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +34 -0
  27. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/agent/agent-registration.service.js +52 -0
  29. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  30. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +8 -0
  31. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +15 -2
  33. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  34. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts +17 -1
  35. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
  36. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js +39 -2
  37. package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
  38. package/dist/backend/backend/src/services/messaging/owner-hook-message.d.ts +49 -0
  39. package/dist/backend/backend/src/services/messaging/owner-hook-message.d.ts.map +1 -0
  40. package/dist/backend/backend/src/services/messaging/owner-hook-message.js +82 -0
  41. package/dist/backend/backend/src/services/messaging/owner-hook-message.js.map +1 -0
  42. package/dist/backend/backend/src/services/messaging/queue-priority.d.ts +24 -0
  43. package/dist/backend/backend/src/services/messaging/queue-priority.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/messaging/queue-priority.js +39 -0
  45. package/dist/backend/backend/src/services/messaging/queue-priority.js.map +1 -1
  46. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +65 -1
  47. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +118 -2
  49. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  50. package/dist/backend/build-info.json +2 -2
  51. package/dist/cli/backend/src/constants.d.ts +38 -0
  52. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  53. package/dist/cli/backend/src/constants.js +38 -0
  54. package/dist/cli/backend/src/constants.js.map +1 -1
  55. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +34 -0
  56. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  57. package/dist/cli/backend/src/services/agent/agent-registration.service.js +52 -0
  58. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  59. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts +8 -0
  60. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  61. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +15 -2
  62. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  63. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts +17 -1
  64. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
  65. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js +39 -2
  66. package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
  67. package/dist/cli/backend/src/services/messaging/queue-priority.d.ts +24 -0
  68. package/dist/cli/backend/src/services/messaging/queue-priority.d.ts.map +1 -1
  69. package/dist/cli/backend/src/services/messaging/queue-priority.js +39 -0
  70. package/dist/cli/backend/src/services/messaging/queue-priority.js.map +1 -1
  71. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +65 -1
  72. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  73. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +118 -2
  74. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  75. package/package.json +1 -1
@@ -5,6 +5,14 @@ import { PromptModule, ModuleConfig } from './prompt-module.interface.js';
5
5
  * the newest question's answer).
6
6
  */
7
7
  export declare const SLACK_THREAD_RULE_SECTION: string;
8
+ /**
9
+ * How a Claude Code agent receives an owner message mid-turn (the
10
+ * agent-status PostToolUse hook's note). Without it the model may take the
11
+ * note for a prompt injection in the tool output and ignore it (scratch
12
+ * tests 2026-10-05, Haiku: 1 of 3 answered without this section; with it
13
+ * 6 of 6 for a plain question — see specs/2026-10-05-owner-message-via-hook.md).
14
+ */
15
+ export declare const OWNER_MESSAGE_MID_TURN_SECTION: string;
8
16
  /**
9
17
  * Communication module — defines how agents communicate across channels.
10
18
  *
@@ -1 +1 @@
1
- {"version":3,"file":"communication.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/communication.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAG5F;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAiE,CAAC;AAExG;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACvD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAQ;IAEnB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlD;;;;;OAKG;YACW,gBAAgB;IA2B9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAgFlC;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA6BxB"}
1
+ {"version":3,"file":"communication.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/communication.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAG5F;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,QAAiE,CAAC;AAExG;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,QAID,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACvD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAQ;IAEnB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;OAOG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlD;;;;;OAKG;YACW,gBAAgB;IA2B9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAgFlC;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA6BxB"}
@@ -1,12 +1,23 @@
1
1
  import * as path from 'path';
2
2
  import { loadRoleFragment } from './prompt-module.interface.js';
3
- import { SLACK_THREAD_KEY_CONSTANTS } from '../../../constants.js';
3
+ import { OWNER_HOOK_MESSAGE_CONSTANTS, SLACK_THREAD_KEY_CONSTANTS } from '../../../constants.js';
4
4
  /**
5
5
  * The one-thread-per-answer rule every role gets (2026-09-28: an agent
6
6
  * answered an earlier thread's request inside the newest thread, bundled with
7
7
  * the newest question's answer).
8
8
  */
9
9
  export const SLACK_THREAD_RULE_SECTION = `### Slack Threads\n${SLACK_THREAD_KEY_CONSTANTS.PROMPT_RULE}`;
10
+ /**
11
+ * How a Claude Code agent receives an owner message mid-turn (the
12
+ * agent-status PostToolUse hook's note). Without it the model may take the
13
+ * note for a prompt injection in the tool output and ignore it (scratch
14
+ * tests 2026-10-05, Haiku: 1 of 3 answered without this section; with it
15
+ * 6 of 6 for a plain question — see specs/2026-10-05-owner-message-via-hook.md).
16
+ */
17
+ export const OWNER_MESSAGE_MID_TURN_SECTION = '### Owner Messages During a Turn\n' +
18
+ `When the owner writes to you while you are in the middle of a task, Crewly hands you the message right after one of your tool calls, as a note that starts with ${OWNER_HOOK_MESSAGE_CONSTANTS.TAG}. ` +
19
+ "It comes from Crewly's hook, not from the tool's output, and it is a real message from the owner: answer it right away, in the conversation it names, then carry on with your task. " +
20
+ 'Do not wait until the task is finished.';
10
21
  /**
11
22
  * Communication module — defines how agents communicate across channels.
12
23
  *
@@ -39,7 +50,9 @@ export class CommunicationModule {
39
50
  * @returns Formatted markdown communication section
40
51
  */
41
52
  async build(config) {
42
- return `${await this.buildRoleSection(config)}\n\n${SLACK_THREAD_RULE_SECTION}`;
53
+ // First, so a budget trim (which cuts from the end) keeps it.
54
+ const ownerMidTurn = !config.runtimeType || config.runtimeType === 'claude-code' ? `${OWNER_MESSAGE_MID_TURN_SECTION}\n\n` : '';
55
+ return `${ownerMidTurn}${await this.buildRoleSection(config)}\n\n${SLACK_THREAD_RULE_SECTION}`;
43
56
  }
44
57
  /**
45
58
  * The role-specific part of the section.
@@ -1 +1 @@
1
- {"version":3,"file":"communication.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/communication.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/communication.module.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,11 @@
14
14
  * - after a few minutes or a few refusals, tells the owner/orchestrator once
15
15
  * per blocked episode what kind of content blocks it (never the text: a
16
16
  * box can hold a password or a code);
17
- * - clears its state when a delivery to the agent succeeds.
17
+ * - clears its state when a delivery to the agent succeeds;
18
+ * - sends at most one alert per agent per NOTIFY_COOLDOWN_MS (30 min). The
19
+ * one exception: an alert the owner must act on (box unreadable or holding
20
+ * someone's text) still goes out once after an informational "busy in a
21
+ * long turn" alert in the same window — the FYI must not hide a real block.
18
22
  *
19
23
  * @module services/messaging/input-blocked-retry.service
20
24
  */
@@ -68,6 +72,8 @@ export declare class InputBlockedRetryService {
68
72
  private readonly busyHoldNotified;
69
73
  /** Agents whose blocked input was already reported via the circuit breaker (until a delivery) */
70
74
  private readonly circuitNotified;
75
+ /** Last alert sent per agent, for the per-agent cooldown (survives deliveries) */
76
+ private readonly lastAlert;
71
77
  private readonly logger;
72
78
  private readonly now;
73
79
  /**
@@ -167,6 +173,16 @@ export declare class InputBlockedRetryService {
167
173
  * @param ep - Its episode
168
174
  */
169
175
  private retry;
176
+ /**
177
+ * Whether an alert about this agent may go out now, and if so record it.
178
+ * One alert per agent per NOTIFY_COOLDOWN_MS; an actionable alert may
179
+ * still follow an informational one (a long-turn notice) in that window.
180
+ *
181
+ * @param sessionName - The agent
182
+ * @param actionable - The owner has to do something (vs. busy in a long turn)
183
+ * @returns True when the alert may be sent
184
+ */
185
+ private claimAlert;
170
186
  /**
171
187
  * Tell someone once per episode, after long enough or often enough.
172
188
  *
@@ -1 +1 @@
1
- {"version":3,"file":"input-blocked-retry.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/input-blocked-retry.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC5B,gHAAgH;IAChH,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACrC,0CAA0C;IAC1C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,iCAAiC;IACjC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,8CAA8C;IAC9C,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,yCAAyC;IACzC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAaD;;GAEG;AACH,qBAAa,wBAAwB;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyC;IAChE,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC;;OAEG;gBACS,GAAG,GAAE,MAAM,MAAiB;IAKxC;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAK9C;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI;IAKlE;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAI1C;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAiB7D;;;;;;;;;OASG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAS3E;;;;;;;;OAQG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO7E;;;;;;;;;OASG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAuBhI;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUxC;;;;;OAKG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAYhB;;;;;OAKG;YACW,KAAK;IAqBnB;;;;;OAKG;YACW,WAAW;CAwBzB"}
1
+ {"version":3,"file":"input-blocked-retry.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/input-blocked-retry.service.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,11 @@
14
14
  * - after a few minutes or a few refusals, tells the owner/orchestrator once
15
15
  * per blocked episode what kind of content blocks it (never the text: a
16
16
  * box can hold a password or a code);
17
- * - clears its state when a delivery to the agent succeeds.
17
+ * - clears its state when a delivery to the agent succeeds;
18
+ * - sends at most one alert per agent per NOTIFY_COOLDOWN_MS (30 min). The
19
+ * one exception: an alert the owner must act on (box unreadable or holding
20
+ * someone's text) still goes out once after an informational "busy in a
21
+ * long turn" alert in the same window — the FYI must not hide a real block.
18
22
  *
19
23
  * @module services/messaging/input-blocked-retry.service
20
24
  */
@@ -31,6 +35,8 @@ export class InputBlockedRetryService {
31
35
  busyHoldNotified = new Set();
32
36
  /** Agents whose blocked input was already reported via the circuit breaker (until a delivery) */
33
37
  circuitNotified = new Set();
38
+ /** Last alert sent per agent, for the per-agent cooldown (survives deliveries) */
39
+ lastAlert = new Map();
34
40
  logger;
35
41
  now;
36
42
  /**
@@ -103,6 +109,8 @@ export class InputBlockedRetryService {
103
109
  if (heldForMs < TUI_INPUT_GUARD.BUSY_HOLD_NOTIFY_MS || this.busyHoldNotified.has(sessionName) || !this.deps)
104
110
  return;
105
111
  this.busyHoldNotified.add(sessionName);
112
+ if (!this.claimAlert(sessionName, false))
113
+ return;
106
114
  this.logger.warn('Messages held for a long time: the agent has looked mid-turn throughout', { sessionName, heldForMs });
107
115
  void this.deps
108
116
  .notify({ sessionName, state: 'busy', inputLength: 0, refusals: 0, blockedForMs: heldForMs, message })
@@ -120,6 +128,8 @@ export class InputBlockedRetryService {
120
128
  noteStuckInput(sessionName, inputLength, forMs) {
121
129
  if (!this.deps)
122
130
  return;
131
+ if (!this.claimAlert(sessionName, true))
132
+ return;
123
133
  void this.deps
124
134
  .notify({ sessionName, state: 'stuck', inputLength, refusals: 0, blockedForMs: forMs, message: '' })
125
135
  .catch(() => undefined);
@@ -143,9 +153,11 @@ export class InputBlockedRetryService {
143
153
  if (ep)
144
154
  ep.notified = true;
145
155
  this.circuitNotified.add(sessionName);
146
- this.logger.error('Agent input blocked — automatic redelivery slowed, telling the owner', { sessionName, ...info });
147
156
  if (!this.deps)
148
157
  return;
158
+ if (!this.claimAlert(sessionName, true))
159
+ return;
160
+ this.logger.error('Agent input blocked — automatic redelivery slowed, telling the owner', { sessionName, ...info });
149
161
  void this.deps
150
162
  .notify({
151
163
  sessionName,
@@ -238,6 +250,29 @@ export class InputBlockedRetryService {
238
250
  this.schedule(sessionName, ep);
239
251
  }
240
252
  }
253
+ /**
254
+ * Whether an alert about this agent may go out now, and if so record it.
255
+ * One alert per agent per NOTIFY_COOLDOWN_MS; an actionable alert may
256
+ * still follow an informational one (a long-turn notice) in that window.
257
+ *
258
+ * @param sessionName - The agent
259
+ * @param actionable - The owner has to do something (vs. busy in a long turn)
260
+ * @returns True when the alert may be sent
261
+ */
262
+ claimAlert(sessionName, actionable) {
263
+ const now = this.now();
264
+ const last = this.lastAlert.get(sessionName);
265
+ if (last && now - last.at < INPUT_BLOCKED_RETRY_CONSTANTS.NOTIFY_COOLDOWN_MS && (last.actionable || !actionable)) {
266
+ this.logger.info('Input-blocked alert not sent: one already went out for this agent recently', {
267
+ sessionName,
268
+ actionable,
269
+ sinceLastMs: now - last.at,
270
+ });
271
+ return false;
272
+ }
273
+ this.lastAlert.set(sessionName, { at: now, actionable });
274
+ return true;
275
+ }
241
276
  /**
242
277
  * Tell someone once per episode, after long enough or often enough.
243
278
  *
@@ -255,6 +290,8 @@ export class InputBlockedRetryService {
255
290
  if (blockedForMs < INPUT_BLOCKED_RETRY_CONSTANTS.NOTIFY_AFTER_MS && ep.refusals < INPUT_BLOCKED_RETRY_CONSTANTS.NOTIFY_AFTER_REFUSALS)
256
291
  return;
257
292
  ep.notified = true;
293
+ if (!this.claimAlert(sessionName, true))
294
+ return;
258
295
  const notice = {
259
296
  sessionName,
260
297
  state: ep.last.state,
@@ -1 +1 @@
1
- {"version":3,"file":"input-blocked-retry.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/input-blocked-retry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-blocked-retry.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/input-blocked-retry.service.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,31 @@ export declare class AgentPostLog {
99
99
  * @returns True when the agent spoke there after `since`
100
100
  */
101
101
  postedSince(session: string, where: QueueConversation, since: number): boolean;
102
+ /**
103
+ * Whether the agent answered in a conversation after it was explicitly
104
+ * shown a message from there (an owner message surfaced at a tool
105
+ * boundary). Unlike {@link postedSince}, a top-level DM counts: the agent
106
+ * was told to answer that message first, so its next top-level post there
107
+ * is taken as the answer (see {@link answersConversation}).
108
+ *
109
+ * @param session - The agent
110
+ * @param where - The message's conversation
111
+ * @param since - When the agent was shown it
112
+ * @returns True when the agent posted there after `since`
113
+ */
114
+ answeredSince(session: string, where: QueueConversation, since: number): boolean;
102
115
  }
116
+ /**
117
+ * Whether a post answers a message the agent was explicitly shown: the same
118
+ * thread when the message sits in a thread; otherwise a top-level post in the
119
+ * same chat channel (or Slack channel). A post in some other thread of the
120
+ * channel does not count.
121
+ *
122
+ * @param post - Where the agent posted
123
+ * @param message - Where the message's answer belongs
124
+ * @returns True on a match
125
+ */
126
+ export declare function answersConversation(post: QueueConversation, message: QueueConversation): boolean;
103
127
  /**
104
128
  * Whether a post landed in the conversation (and thread) a queued message belongs to.
105
129
  *
@@ -1 +1 @@
1
- {"version":3,"file":"queue-priority.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-priority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IACjC,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAChC,mGAAmG;IACnG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0IAA0I;IAC1I,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAG5F;AAiBD;;;GAGG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD,oCAAoC;IACpC,MAAM,CAAC,WAAW,IAAI,YAAY;IAKlC,qBAAqB;IACrB,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI;IAS9E;;;;;;;;;OASG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAK9E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAW5F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAClJ,GAAG,GAAE,YAAyC,GAC5C,IAAI,CAWN"}
1
+ {"version":3,"file":"queue-priority.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-priority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IACjC,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAChC,mGAAmG;IACnG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0IAA0I;IAC1I,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAG5F;AAiBD;;;GAGG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IAExD,oCAAoC;IACpC,MAAM,CAAC,WAAW,IAAI,YAAY;IAKlC,qBAAqB;IACrB,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAAmB,GAAG,IAAI;IAS9E;;;;;;;;;OASG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAM9E;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAKhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAMhG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAW5F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAClJ,GAAG,GAAE,YAAyC,GAC5C,IAAI,CAWN"}
@@ -101,6 +101,45 @@ export class AgentPostLog {
101
101
  return false;
102
102
  return list.some((p) => p.at > since && sameConversation(p.where, where));
103
103
  }
104
+ /**
105
+ * Whether the agent answered in a conversation after it was explicitly
106
+ * shown a message from there (an owner message surfaced at a tool
107
+ * boundary). Unlike {@link postedSince}, a top-level DM counts: the agent
108
+ * was told to answer that message first, so its next top-level post there
109
+ * is taken as the answer (see {@link answersConversation}).
110
+ *
111
+ * @param session - The agent
112
+ * @param where - The message's conversation
113
+ * @param since - When the agent was shown it
114
+ * @returns True when the agent posted there after `since`
115
+ */
116
+ answeredSince(session, where, since) {
117
+ const list = this.posts.get(session);
118
+ if (!list)
119
+ return false;
120
+ return list.some((p) => p.at > since && answersConversation(p.where, where));
121
+ }
122
+ }
123
+ /**
124
+ * Whether a post answers a message the agent was explicitly shown: the same
125
+ * thread when the message sits in a thread; otherwise a top-level post in the
126
+ * same chat channel (or Slack channel). A post in some other thread of the
127
+ * channel does not count.
128
+ *
129
+ * @param post - Where the agent posted
130
+ * @param message - Where the message's answer belongs
131
+ * @returns True on a match
132
+ */
133
+ export function answersConversation(post, message) {
134
+ if (sameConversation(post, message))
135
+ return true;
136
+ if (message.chatThreadId || message.threadTs)
137
+ return false;
138
+ if (message.chatChannelId && post.chatChannelId === message.chatChannelId && !post.chatThreadId)
139
+ return true;
140
+ if (message.slackChannelId && post.slackChannelId === message.slackChannelId && !post.threadTs)
141
+ return true;
142
+ return false;
104
143
  }
105
144
  /**
106
145
  * Whether a post landed in the conversation (and thread) a queued message belongs to.
@@ -1 +1 @@
1
- {"version":3,"file":"queue-priority.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-priority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-priority.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-priority.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,23 @@ export interface QueuedAgentMessage {
46
46
  * by a newer one is dropped at flush time.
47
47
  */
48
48
  meta?: QueueMessageMeta;
49
+ /**
50
+ * When the owner message was last handed to the busy agent at a tool
51
+ * boundary ({@link SubAgentMessageQueue.takeOwnerMessageForHook}). It
52
+ * stays queued until the agent posts in its conversation after this.
53
+ */
54
+ surfacedAt?: number;
55
+ /** How many times it was handed over at a tool boundary */
56
+ surfaceCount?: number;
57
+ }
58
+ /** An owner message handed to a busy agent at a tool boundary. */
59
+ export interface SurfacedOwnerMessage {
60
+ /** The queued text (it already carries where and how to reply) */
61
+ data: string;
62
+ /** When it was queued */
63
+ queuedAt: number;
64
+ /** 1 the first time, 2 for the reminder */
65
+ surfaceCount: number;
49
66
  }
50
67
  /**
51
68
  * Owner messages first, each group in its existing order (stable).
@@ -54,8 +71,17 @@ export interface QueuedAgentMessage {
54
71
  * @returns The queue in delivery order
55
72
  */
56
73
  export declare function ownerFirst(list: QueuedAgentMessage[]): QueuedAgentMessage[];
74
+ /**
75
+ * The text an idle delivery writes: an owner message the agent was already
76
+ * shown at a tool boundary (and has not answered in its conversation) gets
77
+ * a one-line notice, so an agent that did answer elsewhere does not answer twice.
78
+ *
79
+ * @param m - Queued message
80
+ * @returns Text to deliver
81
+ */
82
+ export declare function withSurfacedNotice(m: QueuedAgentMessage): string;
57
83
  /** Why a queued message was dropped before delivery as no longer needed. */
58
- export type QueuePruneReason = 'answered-in-thread' | 'duplicate-owner-message' | 'superseded';
84
+ export type QueuePruneReason = 'answered-in-thread' | 'answered-after-surfacing' | 'duplicate-owner-message' | 'superseded';
59
85
  /** A hand-over prepared for a queued WorkItem brief (see {@link SubAgentMessageQueue.setHandOverPreparer}). */
60
86
  export interface QueuedHandOver {
61
87
  /** Text to write */
@@ -171,6 +197,16 @@ export declare class SubAgentMessageQueue {
171
197
  * @param check - The stale check, or null to deliver everything
172
198
  */
173
199
  setStaleMessageCheck(check: StaleMessageCheck | null): void;
200
+ /**
201
+ * Where a queued message stands in its session's queue: 1 is next.
202
+ * Owner messages go ahead of the rest, so this is the delivery order,
203
+ * not the order of arrival.
204
+ *
205
+ * @param sessionName - The agent session
206
+ * @param data - The queued message
207
+ * @returns 1-based position of its last copy, or null when it is not queued
208
+ */
209
+ positionOf(sessionName: string, data: string): number | null;
174
210
  /**
175
211
  * The messages waiting for a session, oldest first (read only).
176
212
  *
@@ -293,6 +329,34 @@ export declare class SubAgentMessageQueue {
293
329
  * @returns The messages still to deliver, in order
294
330
  */
295
331
  private pruneNoLongerNeeded;
332
+ /**
333
+ * Hand the next owner message waiting for a busy agent to its PostToolUse
334
+ * hook, so it reaches the agent at the next tool boundary instead of at
335
+ * the end of the turn. At most one per call.
336
+ *
337
+ * The message is NOT removed: it is marked surfaced (time and count) and
338
+ * stays queued until the agent posts in its conversation after that time
339
+ * (then it is dropped here or at the flush). Unanswered after
340
+ * {@link OWNER_HOOK_MESSAGE_CONSTANTS.RESURFACE_AFTER_MS} it is shown once
341
+ * more; after {@link OWNER_HOOK_MESSAGE_CONSTANTS.MAX_SURFACES} only the
342
+ * normal idle delivery remains. Nothing is lost; at worst it arrives twice.
343
+ *
344
+ * Only the owner's own messages (and the owner's decision answers) that
345
+ * name a conversation — not harness reminders, not other traffic.
346
+ *
347
+ * @param sessionName - The agent whose hook is asking
348
+ * @param now - Clock
349
+ * @returns The message to show, or null
350
+ */
351
+ takeOwnerMessageForHook(sessionName: string, now?: number): SurfacedOwnerMessage | null;
352
+ /**
353
+ * Whether a surfaced owner message was answered: the agent posted in its
354
+ * conversation after it was shown it.
355
+ *
356
+ * @param m - Queued message
357
+ * @returns True when it was answered
358
+ */
359
+ private answeredAfterSurfacing;
296
360
  /**
297
361
  * Whether the agent has already posted in the thread a queued message
298
362
  * belongs to, after it was queued — it was answered (the agent read the
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-agent-message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"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"}