crewly 1.20.345 → 1.20.347

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 (135) hide show
  1. package/dist/backend/backend/src/constants.d.ts +83 -0
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +83 -0
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  6. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +25 -1
  7. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +5 -2
  9. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  10. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +8 -1
  11. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +14 -0
  14. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  15. package/dist/backend/backend/src/index.d.ts.map +1 -1
  16. package/dist/backend/backend/src/index.js +13 -0
  17. package/dist/backend/backend/src/index.js.map +1 -1
  18. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts +17 -0
  19. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.d.ts.map +1 -0
  20. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js +54 -0
  21. package/dist/backend/backend/src/middleware/agent-message-dedupe.middleware.js.map +1 -0
  22. package/dist/backend/backend/src/routes/modules/terminal.routes.d.ts.map +1 -1
  23. package/dist/backend/backend/src/routes/modules/terminal.routes.js +3 -2
  24. package/dist/backend/backend/src/routes/modules/terminal.routes.js.map +1 -1
  25. package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/agent/follow-through.wiring.js +27 -7
  27. package/dist/backend/backend/src/services/agent/follow-through.wiring.js.map +1 -1
  28. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
  29. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +3 -2
  31. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts +10 -0
  33. package/dist/backend/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/decisions/decision-contract.js +17 -0
  35. package/dist/backend/backend/src/services/decisions/decision-contract.js.map +1 -1
  36. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +9 -0
  37. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/decisions/decision.service.js +25 -1
  39. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +12 -0
  41. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/open-items/open-items.service.js +36 -2
  43. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/open-items/open-items.wiring.js +5 -0
  46. package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
  47. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts +60 -0
  48. package/dist/backend/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  49. package/dist/backend/backend/src/services/orc/harness-reminder.js +88 -0
  50. package/dist/backend/backend/src/services/orc/harness-reminder.js.map +1 -0
  51. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +3 -1
  52. package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +14 -2
  54. package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts +49 -0
  56. package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts.map +1 -1
  57. package/dist/backend/backend/src/services/orc/reply-destination.wiring.js +107 -2
  58. package/dist/backend/backend/src/services/orc/reply-destination.wiring.js.map +1 -1
  59. package/dist/backend/backend/src/services/orc/triggered-by.d.ts +62 -0
  60. package/dist/backend/backend/src/services/orc/triggered-by.d.ts.map +1 -0
  61. package/dist/backend/backend/src/services/orc/triggered-by.js +141 -0
  62. package/dist/backend/backend/src/services/orc/triggered-by.js.map +1 -0
  63. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  65. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +23 -0
  67. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  68. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +44 -0
  69. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  70. package/dist/backend/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/trace/trace-context.service.js +20 -6
  72. package/dist/backend/backend/src/services/trace/trace-context.service.js.map +1 -1
  73. package/dist/backend/backend/src/services/trace/turn-trigger.d.ts +141 -0
  74. package/dist/backend/backend/src/services/trace/turn-trigger.d.ts.map +1 -0
  75. package/dist/backend/backend/src/services/trace/turn-trigger.js +258 -0
  76. package/dist/backend/backend/src/services/trace/turn-trigger.js.map +1 -0
  77. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  78. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +2 -0
  79. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  80. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +2 -0
  81. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  82. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  83. package/dist/backend/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  84. package/dist/backend/backend/src/utils/duplicate-creation.utils.js +121 -0
  85. package/dist/backend/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  86. package/dist/backend/backend/src/utils/team.utils.d.ts +9 -0
  87. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  88. package/dist/backend/backend/src/utils/team.utils.js +18 -0
  89. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  90. package/dist/backend/build-info.json +2 -2
  91. package/dist/cli/backend/src/constants.d.ts +83 -0
  92. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  93. package/dist/cli/backend/src/constants.js +83 -0
  94. package/dist/cli/backend/src/constants.js.map +1 -1
  95. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
  96. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  97. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +3 -2
  98. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  99. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +10 -0
  100. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -1
  101. package/dist/cli/backend/src/services/decisions/decision-contract.js +17 -0
  102. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -1
  103. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +9 -0
  104. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  105. package/dist/cli/backend/src/services/decisions/decision.service.js +25 -1
  106. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  107. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +12 -0
  108. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  109. package/dist/cli/backend/src/services/open-items/open-items.service.js +36 -2
  110. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  111. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts +60 -0
  112. package/dist/cli/backend/src/services/orc/harness-reminder.d.ts.map +1 -0
  113. package/dist/cli/backend/src/services/orc/harness-reminder.js +88 -0
  114. package/dist/cli/backend/src/services/orc/harness-reminder.js.map +1 -0
  115. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  116. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +22 -2
  117. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  118. package/dist/cli/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
  119. package/dist/cli/backend/src/services/trace/trace-context.service.js +20 -6
  120. package/dist/cli/backend/src/services/trace/trace-context.service.js.map +1 -1
  121. package/dist/cli/backend/src/services/trace/turn-trigger.d.ts +141 -0
  122. package/dist/cli/backend/src/services/trace/turn-trigger.d.ts.map +1 -0
  123. package/dist/cli/backend/src/services/trace/turn-trigger.js +258 -0
  124. package/dist/cli/backend/src/services/trace/turn-trigger.js.map +1 -0
  125. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +2 -0
  126. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  127. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts +71 -0
  128. package/dist/cli/backend/src/utils/duplicate-creation.utils.d.ts.map +1 -0
  129. package/dist/cli/backend/src/utils/duplicate-creation.utils.js +121 -0
  130. package/dist/cli/backend/src/utils/duplicate-creation.utils.js.map +1 -0
  131. package/dist/cli/backend/src/utils/team.utils.d.ts +9 -0
  132. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -1
  133. package/dist/cli/backend/src/utils/team.utils.js +18 -0
  134. package/dist/cli/backend/src/utils/team.utils.js.map +1 -1
  135. 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"}
@@ -154,6 +154,8 @@ export interface OwnerCompletionReportDeps {
154
154
  resolvePlace: (origin: OwnerOrigin) => Promise<ReportPlace | null>;
155
155
  /** Post the harness's own summary in that place, as the agent when possible; true when posted */
156
156
  postFallback: (place: ReportPlace, agentSession: string, text: string) => Promise<boolean>;
157
+ /** Tell the responsible agent's team lead something (finished work too old to ask a report for); false when it could not */
158
+ notifyLead?: (agentSession: string, text: string) => Promise<boolean>;
157
159
  /** Display name of an agent */
158
160
  displayNameOf?: (session: string) => string;
159
161
  /** The app-comments command agents run (`bash <skills>/core/app-comments/execute.sh`) */
@@ -238,7 +240,7 @@ export declare class OwnerCompletionReportService {
238
240
  * @param reminder - The second (last) ask
239
241
  * @returns English harness text
240
242
  */
241
- askText(record: ChainReportRecord, place: ReportPlace, reminder: boolean): string;
243
+ askText(record: ChainReportRecord, place: ReportPlace, reminder: boolean, now?: number): string;
242
244
  /**
243
245
  * The harness's own summary, posted when the agent never reported.
244
246
  *
@@ -1 +1 @@
1
- {"version":3,"file":"owner-completion-report.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/owner-completion-report.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-completion-report.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/owner-completion-report.service.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from '
39
39
  import * as path from 'path';
40
40
  import { ORCHESTRATOR_SESSION_NAME, OWNER_COMPLETION_REPORT_CONSTANTS as C } from '../../constants.js';
41
41
  import { LoggerService } from '../core/logger.service.js';
42
+ import { isPastReminderCutoff, leadStaleNotice, reminderFooter } from './harness-reminder.js';
42
43
  import { originOfWorkItem } from './work-item-destination.js';
43
44
  /** Statuses after which a work item is not going to do more. */
44
45
  const CLOSED = new Set(['done', 'verified', 'cancelled', 'failed']);
@@ -380,6 +381,16 @@ export class OwnerCompletionReportService {
380
381
  this.end(record, 'answered', now);
381
382
  return;
382
383
  }
384
+ // Finished too long ago to ask the agent now (a restart, a long outage): the lead decides, the
385
+ // owner is not told about old work as if it were new.
386
+ if ((record.stage === 'settling' || record.stage === 'asked') && isPastReminderCutoff(record.finishedAt, now)) {
387
+ const lead = await this.deps
388
+ .notifyLead?.(record.responsible, leadStaleNotice(`finished owner work without a report to the owner (${record.titles})`, record.responsible, record.finishedAt, now))
389
+ .catch(() => false);
390
+ this.log.info('Finished owner work is too old to ask for a report; team lead told instead', { key: record.key, agent: record.responsible, lead: lead ?? false });
391
+ this.end(record, 'skipped', now);
392
+ return;
393
+ }
383
394
  switch (record.stage) {
384
395
  case 'settling': {
385
396
  if (now - record.closedSince < C.SETTLE_MS)
@@ -439,7 +450,7 @@ export class OwnerCompletionReportService {
439
450
  * @param reminder - The second (last) ask
440
451
  * @returns English harness text
441
452
  */
442
- askText(record, place, reminder) {
453
+ askText(record, place, reminder, now = Date.now()) {
443
454
  const cmd = place.kind === 'app-comment'
444
455
  ? `${this.deps.appCommentsCmd ?? 'app-comments'} --app ${place.appId} --reply ${place.commentId} --text "<summary + where the files are>"`
445
456
  : `reply --work-item ${record.replyWorkItemId} "<summary + where the files are>"`;
@@ -447,7 +458,8 @@ export class OwnerCompletionReportService {
447
458
  const tail = reminder
448
459
  ? ` The owner has still not been told. If nothing is posted there within ${Math.round(C.REPORT_WAIT_MS / 60_000)} minutes, Crewly posts a short summary there for you.`
449
460
  : ' Write it for the owner: what was done, the result, and where the files are. One message; the owner only reads it.';
450
- return `${head} The work the owner asked for in ${place.label} is finished (${record.titles}). Report the result to the owner there now: ${cmd}.${tail}`;
461
+ return (`${head} The work the owner asked for in ${place.label} is finished (${record.titles}). Report the result to the owner there now: ${cmd}.${tail}` +
462
+ reminderFooter(reminder ? 2 : 1, record.finishedAt, now));
451
463
  }
452
464
  /**
453
465
  * The harness's own summary, posted when the agent never reported.
@@ -1 +1 @@
1
- {"version":3,"file":"owner-completion-report.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/owner-completion-report.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,IAAI,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvG,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AAWnF,gEAAgE;AAChE,MAAM,MAAM,GAAgC,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjH,6CAA6C;AAC7C,MAAM,SAAS,GAAgC,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS;QAAE,OAAO,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACpI,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,EAAE,CAAC;IAC3I,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,EAAE,CAAC;IACjJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,KAA0B;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IACzF,MAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7E,IAAI,EAAE;QAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,cAAc;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACpJ,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAoBD,MAAM,EAAE,GAAG,CAAC,GAAuB,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3E,MAAM,KAAK,GAAG,CAAC,EAAY,EAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACzG,MAAM,YAAY,GAAG,CAAC,EAAY,EAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B,EAAE,cAAgD;IAC7G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsD,CAAC;IAC7E,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,SAAS;QAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QACrE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,WAAW,GAAI,gBAAgB,CAAC,KAAK,CAAwB,IAAI,CAAC,CAAC,MAAM,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,WAAW,EAAE,WAAW,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YACzD,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;YACnC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9D,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2BAA2B;AAC3B,SAAS,IAAI,CAAC,IAAwB,EAAE,GAAW;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;YAAE,SAAS;QAC5D,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAA6B,CAAC;QACtF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAK,GAAG,CAAC,CAAC,CAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/E,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,kBAAkB;YAAE,MAAM;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA+DD,oFAAoF;AACpF,MAAM,OAAO,4BAA4B;IAQV;IAPZ,IAAI,CAAS;IACtB,KAAK,CAAa;IAClB,KAAK,GAA0C,IAAI,CAAC;IACpD,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IACZ,GAAG,CAAkB;IAEtC,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,4CAA4C;IAC5C,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,IAAI;QACF,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,GAAW,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,EAAE,IAAI,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7B,yDAAyD;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,cAAsB,EAAE,QAAiB;QACvD,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,QAAQ;YAAE,IAAI,CAAC,UAAU,CAAC,SAAS,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;;YAChE,IAAI,CAAC,UAAU,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,KAAa,EAAE,SAAiB;QACnD,IAAI,KAAK,IAAI,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,cAAsB,EAAE,YAAqB;QAC1D,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,cAAc,EAAE,CAAC,CAAC;QAC1C,IAAI,YAAY;YAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,cAAc,IAAI,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,UAAkB;QAClC,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,eAAe,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,SAAS;YAChG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7E,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBAC3F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,EAAU,EAAE,KAAiB,EAAE,GAAW;QACzD,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvI,OAAO;YACL,EAAE;YACF,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAyB,EAAE,KAAwB,EAAE,GAAW;QACpF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC3C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,kFAAkF;gBAClF,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBACrC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS;oBAAE,OAAO;gBACnD,IAAI,MAAM,CAAC,WAAW,KAAK,yBAAyB,EAAE,CAAC;oBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1G,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC9G,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;gBACvB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9H,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAChG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC7G,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC1B,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjI,OAAO;YACT,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnG,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5H,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sDAAsD,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD;gBACE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAyB,EAAE,KAAyB,EAAE,KAAa;QACvF,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9F,CAAC;IAEO,IAAI,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAyB,EAAE,KAAkB,EAAE,QAAiB;QACtE,MAAM,GAAG,GACP,KAAK,CAAC,IAAI,KAAK,aAAa;YAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,cAAc,UAAU,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,SAAS,2CAA2C;YAC1I,CAAC,CAAC,qBAAqB,MAAM,CAAC,eAAe,oCAAoC,CAAC;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC/E,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,yEAAyE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,uDAAuD;YACvK,CAAC,CAAC,oHAAoH,CAAC;QACzH,OAAO,GAAG,IAAI,oCAAoC,KAAK,CAAC,KAAK,iBAAiB,MAAM,CAAC,MAAM,gDAAgD,GAAG,IAAI,IAAI,EAAE,CAAC;IAC3J,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAyB,EAAE,KAA0B;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C,CAAC;QACzI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,OAAO,kDAAkD,CAAC;IAClI,CAAC;IAEO,GAAG,CAAC,MAAyB,EAAE,KAAiC,EAAE,GAAW;QACnF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,aAAqB;QACpD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,GAAW;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,IAAI;QACV,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACpH,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAwB,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gBAC9D,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBACtG,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAClE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAC3E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvI,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YAC9C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;CACF;AAED,IAAI,QAAQ,GAAwC,IAAI,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4C;IACnF,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"owner-completion-report.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/owner-completion-report.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,IAAI,CAAC,EAAE,MAAM,oBAAoB,CAAC;AAEvG,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AAWnF,gEAAgE;AAChE,MAAM,MAAM,GAAgC,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjH,6CAA6C;AAC7C,MAAM,SAAS,GAAgC,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS;QAAE,OAAO,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACpI,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,cAAc,EAAE,CAAC;IAC3I,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,EAAE,CAAC;IACjJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB,EAAE,KAA0B;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;IACzF,MAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7E,IAAI,EAAE;QAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,cAAc;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACpJ,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAoBD,MAAM,EAAE,GAAG,CAAC,GAAuB,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3E,MAAM,KAAK,GAAG,CAAC,EAAY,EAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AACzG,MAAM,YAAY,GAAG,CAAC,EAAY,EAAW,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0B,EAAE,cAAgD;IAC7G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsD,CAAC;IAC7E,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,SAAS;QAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QACrE,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,WAAW,GAAI,gBAAgB,CAAC,KAAK,CAAwB,IAAI,CAAC,CAAC,MAAM,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC;YACV,GAAG;YACH,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,WAAW,EAAE,WAAW,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YACzD,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;YACnC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9D,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2BAA2B;AAC3B,SAAS,IAAI,CAAC,IAAwB,EAAE,GAAW;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;YAAE,SAAS;QAC5D,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAA6B,CAAC;QACtF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAK,GAAG,CAAC,CAAC,CAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;gBAC7B,MAAM;YACR,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/E,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC1G,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,kBAAkB;YAAE,MAAM;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAiED,oFAAoF;AACpF,MAAM,OAAO,4BAA4B;IAQV;IAPZ,IAAI,CAAS;IACtB,KAAK,CAAa;IAClB,KAAK,GAA0C,IAAI,CAAC;IACpD,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,GAAG,KAAK,CAAC;IACZ,GAAG,CAAkB;IAEtC,YAA6B,IAA+B;QAA/B,SAAI,GAAJ,IAAI,CAA2B;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,GAAG;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,4CAA4C;IAC5C,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,8BAA8B;IAC9B,IAAI;QACF,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,GAAW,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,EAAE,IAAI,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC7B,yDAAyD;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,cAAsB,EAAE,QAAiB;QACvD,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,QAAQ;YAAE,IAAI,CAAC,UAAU,CAAC,SAAS,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;;YAChE,IAAI,CAAC,UAAU,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,KAAa,EAAE,SAAiB;QACnD,IAAI,KAAK,IAAI,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,cAAsB,EAAE,YAAqB;QAC1D,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,CAAC,QAAQ,cAAc,EAAE,CAAC,CAAC;QAC1C,IAAI,YAAY;YAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,cAAc,IAAI,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,UAAkB;QAClC,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,IAAI,MAAM,CAAC,eAAe,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,SAAS;YAChG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,YAAY;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC7E,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBAC3F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,EAAU,EAAE,KAAiB,EAAE,GAAW;QACzD,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvI,OAAO;YACL,EAAE;YACF,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,GAAG;SACjB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAyB,EAAE,KAAwB,EAAE,GAAW;QACpF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YAC3C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,kFAAkF;gBAClF,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBACrC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,+FAA+F;QAC/F,sDAAsD;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI;iBACzB,UAAU,EAAE,CACX,MAAM,CAAC,WAAW,EAClB,eAAe,CAAC,sDAAsD,MAAM,CAAC,MAAM,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CACpI;iBACA,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4EAA4E,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;YACjK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS;oBAAE,OAAO;gBACnD,IAAI,MAAM,CAAC,WAAW,KAAK,yBAAyB,EAAE,CAAC;oBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBACzG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qEAAqE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1G,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC9G,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;gBACvB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;gBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC9H,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK;oBAAE,OAAO;gBAChG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC7G,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;gBAC1B,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjI,OAAO;YACT,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnG,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC5H,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sDAAsD,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9H,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YACD;gBACE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAyB,EAAE,KAAyB,EAAE,KAAa;QACvF,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9F,CAAC;IAEO,IAAI,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAyB,EAAE,KAAkB,EAAE,QAAiB,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;QAChG,MAAM,GAAG,GACP,KAAK,CAAC,IAAI,KAAK,aAAa;YAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,cAAc,UAAU,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,SAAS,2CAA2C;YAC1I,CAAC,CAAC,qBAAqB,MAAM,CAAC,eAAe,oCAAoC,CAAC;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC/E,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,yEAAyE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,uDAAuD;YACvK,CAAC,CAAC,oHAAoH,CAAC;QACzH,OAAO,CACL,GAAG,IAAI,oCAAoC,KAAK,CAAC,KAAK,iBAAiB,MAAM,CAAC,MAAM,gDAAgD,GAAG,IAAI,IAAI,EAAE;YACjJ,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CACzD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAyB,EAAE,KAA0B;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C,CAAC;QACzI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,OAAO,kDAAkD,CAAC;IAClI,CAAC;IAEO,GAAG,CAAC,MAAyB,EAAE,KAAiC,EAAE,GAAW;QACnF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,aAAqB;QACpD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,GAAW;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,IAAI;QACV,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACpH,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAwB,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;gBAC9D,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBACtG,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACtE,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAClE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAC3E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvI,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YAC9C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;CACF;AAED,IAAI,QAAQ,GAAwC,IAAI,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4C;IACnF,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { type ReplyDestination, type ReplyHints, type ReplyReference, type ReplyResolverDeps } from './reply-destination-resolver.js';
10
10
  import { type WorkDestinationDeps } from './work-item-destination.wiring.js';
11
+ import { type TurnTrigger } from '../trace/turn-trigger.js';
11
12
  /** Forget recent deliveries (tests). */
12
13
  export declare function resetReplyDeliveryGuardForTesting(): void;
13
14
  /** Delivery into a chat-v2 conversation (chat.controller `deliverAgentReplyToConversation`). */
@@ -43,6 +44,17 @@ export interface ReplyDeliveryDeps {
43
44
  * with `reply --decision D-n`. Omitted: no card lookup.
44
45
  */
45
46
  decisionOfCardThread?: (slackChannelId: string, threadTs: string) => Promise<string | null>;
47
+ /**
48
+ * What started the agent's current turn (turn-trigger.ts), for the
49
+ * "Triggered by" line and the provenance stored on the row. Omitted: none.
50
+ */
51
+ turnTrigger?: (session: string) => TurnTrigger | null;
52
+ /** The owner wrote to the agent in this conversation recently (its post there is an answer). Omitted: no. */
53
+ ownerAskedRecently?: (session: string, conversationId: string) => boolean;
54
+ /** The session's current run trace id. Omitted: none. */
55
+ currentTrace?: (session: string) => string | null;
56
+ /** A conversation as the owner knows it (`#content-team`, `the DM with Ella`). Omitted: unnamed. */
57
+ conversationPlace?: (conversationId: string) => string | null;
46
58
  }
47
59
  /** What a delivery did. */
48
60
  export type ReplyDelivery = {
@@ -89,6 +101,25 @@ export interface DeliverReplyInput {
89
101
  * @returns Where it landed, or an English error
90
102
  */
91
103
  export declare function deliverReply(input: DeliverReplyInput, deps?: ReplyDeliveryDeps): Promise<ReplyDelivery>;
104
+ /**
105
+ * Provenance for a post an agent makes straight into a conversation
106
+ * (`reply-channel`, `POST /chat/channels/:id/messages`), outside
107
+ * {@link deliverReply}: the record to store and the text with the
108
+ * "Triggered by" line when one is shown. Never throws.
109
+ *
110
+ * @param input - Agent, conversation, text, interim flag
111
+ * @param deps - Collaborators (default: the real ones)
112
+ * @returns The text to store and the record, if any
113
+ */
114
+ export declare function provenanceForAgentPost(input: {
115
+ session: string;
116
+ conversationId: string;
117
+ content: string;
118
+ interim?: boolean;
119
+ }, deps?: Pick<ReplyDeliveryDeps, 'resolver' | 'turnTrigger' | 'ownerAskedRecently' | 'currentTrace' | 'conversationPlace'>): Promise<{
120
+ content: string;
121
+ triggeredBy?: Record<string, unknown>;
122
+ }>;
92
123
  /**
93
124
  * The Slack place (channel + thread) the resolver gives, without posting —
94
125
  * for files and the `[DONE]` notice. Ticket threads that do not exist yet
@@ -119,4 +150,22 @@ export declare function notDelivered(why: string, fix: string): string;
119
150
  * @returns Deps
120
151
  */
121
152
  export declare function defaultReplyDeliveryDeps(): Promise<ReplyDeliveryDeps>;
153
+ /** The chat-v2 lookups {@link chatConversationPlace} uses. */
154
+ interface ChatChannelLookup {
155
+ getChannelForBridge(id: string): {
156
+ name: string;
157
+ type?: string;
158
+ agentSession?: string;
159
+ } | null;
160
+ }
161
+ /**
162
+ * A chat conversation as the owner knows it: `#name` for a channel or room,
163
+ * `the DM with <agent>` for a direct conversation.
164
+ *
165
+ * @param chat - chat-v2 lookups, or null
166
+ * @param conversationId - chat-v2 channel id
167
+ * @returns The place, or null when unknown
168
+ */
169
+ export declare function chatConversationPlace(chat: ChatChannelLookup | null, conversationId: string): string | null;
170
+ export {};
122
171
  //# sourceMappingURL=reply-destination.wiring.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reply-destination.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/reply-destination.wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reply-destination.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orc/reply-destination.wiring.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { createHash } from 'node:crypto';
10
10
  import { SubAgentMessageQueue } from '../messaging/sub-agent-message-queue.service.js';
11
- import { REPLY_ROUTING_CONSTANTS } from '../../constants.js';
11
+ import { REPLY_ROUTING_CONSTANTS, TURN_TRIGGER_CONSTANTS } from '../../constants.js';
12
12
  import { parseSlackThreadKey } from '../slack/slack-thread-key.js';
13
13
  import { LoggerService } from '../core/logger.service.js';
14
14
  import { AgentPromptReferenceService } from './agent-prompt-reference.service.js';
@@ -18,6 +18,10 @@ import { currentWorkItemOf, shortTopic, withTopicLine } from './work-item-destin
18
18
  import { isSlackDm } from './orc-reply-route.service.js';
19
19
  import { traceOutboundReply } from '../trace/trace-recorder.js';
20
20
  import { stripTraceMarkers } from '../trace/trace-markers.js';
21
+ import { getTraceContext } from '../trace/trace-context.service.js';
22
+ import { getTurnTriggerTracker } from '../trace/turn-trigger.js';
23
+ import { triggeredByMetadata, triggeredByPhrase, withTriggeredByLine } from './triggered-by.js';
24
+ import { memberNameFromSession } from '../../utils/member-session-name.utils.js';
21
25
  /** How long an identical reply from one agent counts as a duplicate send. */
22
26
  const REPLY_DUPLICATE_WINDOW_MS = 120_000;
23
27
  /** Deliveries that landed recently, by agent + text hash. */
@@ -356,6 +360,63 @@ async function currentWorkFallback(session, failed, d) {
356
360
  const dm = await d.resolver.ownerDm(session).catch(() => null);
357
361
  return dm ? { kind: 'conversation', conversationId: dm, source: 'owner-dm', reason: 'the work destination did not take the reply — your DM with the owner' } : null;
358
362
  }
363
+ /**
364
+ * Why the agent is posting: the provenance record for the row and the text
365
+ * with the "Triggered by" line, when the post is not a direct answer to the
366
+ * owner's message in the same conversation. Interim notes get the record but
367
+ * no line (the final answer carries it). Never throws.
368
+ *
369
+ * @param input - Agent, text, interim flag
370
+ * @param postedConversationId - Conversation the post lands in (undefined: a Slack place outside chat)
371
+ * @param d - Collaborators
372
+ * @returns Metadata and the text to post, or null when no trigger is known
373
+ */
374
+ async function provenanceOf(input, postedConversationId, d) {
375
+ try {
376
+ const trigger = d.turnTrigger?.(input.session) ?? null;
377
+ if (!trigger)
378
+ return null;
379
+ const workItem = trigger.workItemId ? await d.resolver.workItem(trigger.workItemId).catch(() => null) : null;
380
+ const phrase = triggeredByPhrase(trigger, {
381
+ ...(postedConversationId ? { postedConversationId } : {}),
382
+ ownerAskedHere: !!postedConversationId && (d.ownerAskedRecently?.(input.session, postedConversationId) ?? false),
383
+ workItem,
384
+ ...(d.conversationPlace ? { conversationPlace: d.conversationPlace } : {}),
385
+ });
386
+ const shown = input.interim === true ? null : phrase;
387
+ return {
388
+ metadata: { [TURN_TRIGGER_CONSTANTS.METADATA_KEY]: triggeredByMetadata(trigger, shown, d.currentTrace?.(input.session)) },
389
+ ...(shown ? { content: withTriggeredByLine(input.content, shown) } : {}),
390
+ };
391
+ }
392
+ catch (err) {
393
+ logger.debug('Reply provenance not added', { session: input.session, error: err instanceof Error ? err.message : String(err) });
394
+ return null;
395
+ }
396
+ }
397
+ /**
398
+ * Provenance for a post an agent makes straight into a conversation
399
+ * (`reply-channel`, `POST /chat/channels/:id/messages`), outside
400
+ * {@link deliverReply}: the record to store and the text with the
401
+ * "Triggered by" line when one is shown. Never throws.
402
+ *
403
+ * @param input - Agent, conversation, text, interim flag
404
+ * @param deps - Collaborators (default: the real ones)
405
+ * @returns The text to store and the record, if any
406
+ */
407
+ export async function provenanceForAgentPost(input, deps) {
408
+ try {
409
+ const d = deps ?? (await defaultReplyDeliveryDeps());
410
+ const p = await provenanceOf({ session: input.session, content: input.content, interim: input.interim }, input.conversationId, d);
411
+ if (!p)
412
+ return { content: input.content };
413
+ const record = p.metadata[TURN_TRIGGER_CONSTANTS.METADATA_KEY];
414
+ return { content: p.content ?? input.content, ...(record ? { triggeredBy: record } : {}) };
415
+ }
416
+ catch {
417
+ return { content: input.content };
418
+ }
419
+ }
359
420
  /**
360
421
  * Deliver to one resolved destination.
361
422
  *
@@ -370,6 +431,10 @@ async function attempt(input, dest, prompt, d) {
370
431
  const ticket = dest.source === 'ticket' ? input.reference?.ticket : dest.source === 'prompt' ? prompt?.ticket : undefined;
371
432
  const deliversTicket = ticket ? { [REPLY_ROUTING_CONSTANTS.DELIVERS_TICKET_METADATA_KEY]: ticket } : undefined;
372
433
  const answeredReference = dest.source === 'prompt' || dest.source === 'ticket' || dest.source === 'decision' || dest.source === 'work-item' || dest.source === 'message';
434
+ const provenance = await provenanceOf(input, dest.kind === 'conversation' ? dest.conversationId : undefined, d);
435
+ const metadata = { ...(deliversTicket ?? {}), ...(provenance?.metadata ?? {}) };
436
+ if (provenance?.content !== undefined)
437
+ input = { ...input, content: provenance.content };
373
438
  if (dest.kind === 'conversation') {
374
439
  if (input.interim !== true && input.addsNew !== true && dest.thread && d.priorRoomAnswer) {
375
440
  const prior = await d.priorRoomAnswer({ conversationId: dest.conversationId, thread: dest.thread, agentSession: input.session }).catch(() => null);
@@ -389,7 +454,7 @@ async function attempt(input, dest, prompt, d) {
389
454
  agentSession: input.session,
390
455
  content: input.content,
391
456
  interim: input.interim === true,
392
- ...(deliversTicket ? { metadata: deliversTicket } : {}),
457
+ ...(Object.keys(metadata).length ? { metadata } : {}),
393
458
  });
394
459
  if (!messageId) {
395
460
  const member = await d.resolver.ownsConversation(input.session, dest.conversationId).catch(() => false);
@@ -641,6 +706,7 @@ export async function defaultReplyDeliveryDeps() {
641
706
  now: () => Date.now(),
642
707
  };
643
708
  const { deliverAgentReplyToConversation } = await import('../../controllers/chat/chat.controller.js');
709
+ const chatLookup = await loadChatChannelLookup();
644
710
  return {
645
711
  resolver,
646
712
  deliverToConversation: deliverAgentReplyToConversation,
@@ -654,6 +720,45 @@ export async function defaultReplyDeliveryDeps() {
654
720
  const hit = all.find((x) => x.card && x.card.slackChannelId === slackChannelId && (x.card.threadTs ?? x.card.messageTs) === threadTs);
655
721
  return hit?.id ?? null;
656
722
  },
723
+ turnTrigger: (session) => getTurnTriggerTracker().trigger(session),
724
+ ownerAskedRecently: (session, conversationId) => getTurnTriggerTracker().ownerAskedRecently(session, conversationId),
725
+ currentTrace: (session) => getTraceContext().currentTrace(session),
726
+ conversationPlace: (id) => chatConversationPlace(chatLookup, id),
657
727
  };
658
728
  }
729
+ /**
730
+ * The chat-v2 service, when it is up.
731
+ *
732
+ * @returns The service, or null
733
+ */
734
+ async function loadChatChannelLookup() {
735
+ try {
736
+ const { getChatV2Service } = await import('../chat-v2/chat-v2.singleton.js');
737
+ return getChatV2Service();
738
+ }
739
+ catch {
740
+ return null;
741
+ }
742
+ }
743
+ /**
744
+ * A chat conversation as the owner knows it: `#name` for a channel or room,
745
+ * `the DM with <agent>` for a direct conversation.
746
+ *
747
+ * @param chat - chat-v2 lookups, or null
748
+ * @param conversationId - chat-v2 channel id
749
+ * @returns The place, or null when unknown
750
+ */
751
+ export function chatConversationPlace(chat, conversationId) {
752
+ try {
753
+ const ch = chat?.getChannelForBridge(conversationId);
754
+ if (!ch)
755
+ return null;
756
+ if (ch.type === 'dm')
757
+ return `the DM with ${memberNameFromSession(ch.agentSession || ch.name)}`;
758
+ return ch.name ? `#${ch.name.replace(/^#/, '')}` : null;
759
+ }
760
+ catch {
761
+ return null;
762
+ }
763
+ }
659
764
  //# sourceMappingURL=reply-destination.wiring.js.map