crewly 1.20.156 → 1.20.158

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 (213) hide show
  1. package/README.md +1 -0
  2. package/config/templates/growth-marketing-team.json +5 -5
  3. package/config/templates/personal-assistant-team.json +5 -5
  4. package/dist/backend/backend/src/constants.d.ts +161 -6
  5. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  6. package/dist/backend/backend/src/constants.js +188 -11
  7. package/dist/backend/backend/src/constants.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  9. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +5 -0
  10. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  11. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +18 -0
  12. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  13. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +42 -0
  14. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +1 -0
  16. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +3 -1
  18. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -1
  19. package/dist/backend/backend/src/index.d.ts.map +1 -1
  20. package/dist/backend/backend/src/index.js +8 -2
  21. package/dist/backend/backend/src/index.js.map +1 -1
  22. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  23. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/agent/agent-registration.service.js +34 -29
  25. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  26. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +4 -3
  27. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +48 -3
  29. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  30. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +9 -0
  31. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  32. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +18 -1
  33. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  34. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +5 -1
  36. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +14 -4
  39. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  40. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts +14 -2
  41. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/agent/tmux-command.service.js +24 -5
  43. package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/agent/tmux.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/agent/tmux.service.js +14 -9
  46. package/dist/backend/backend/src/services/agent/tmux.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts +8 -0
  48. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/backup/backup-archive.service.js +16 -8
  50. package/dist/backend/backend/src/services/backup/backup-archive.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/backup/backup.types.d.ts +19 -0
  52. package/dist/backend/backend/src/services/backup/backup.types.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/backup/backup.types.js +19 -0
  54. package/dist/backend/backend/src/services/backup/backup.types.js.map +1 -1
  55. package/dist/backend/backend/src/services/security/secret-scrub.service.d.ts +108 -0
  56. package/dist/backend/backend/src/services/security/secret-scrub.service.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/security/secret-scrub.service.js +200 -0
  58. package/dist/backend/backend/src/services/security/secret-scrub.service.js.map +1 -0
  59. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +13 -9
  60. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +30 -14
  62. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  63. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/session/pty/pty-session.js +6 -1
  65. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  66. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  67. package/dist/backend/backend/src/services/session/session-command-helper.js +3 -2
  68. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  69. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts +84 -0
  70. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js +301 -6
  72. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-data.js.map +1 -1
  73. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +8 -0
  74. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js +16 -0
  76. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -1
  77. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts +28 -10
  78. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js +46 -193
  80. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.renderer.js.map +1 -1
  81. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +15 -2
  82. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
  83. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +26 -4
  84. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
  85. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +35 -0
  86. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
  87. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
  88. package/dist/backend/backend/src/services/v3/request.service.d.ts +2 -0
  89. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/v3/request.service.js +16 -4
  91. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -1
  93. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js +2 -0
  94. package/dist/backend/backend/src/services/v3/ticket-ask-classifier.js.map +1 -1
  95. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  96. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +2 -1
  97. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  98. package/dist/backend/backend/src/services/v3/ticket-hygiene.d.ts +162 -0
  99. package/dist/backend/backend/src/services/v3/ticket-hygiene.d.ts.map +1 -0
  100. package/dist/backend/backend/src/services/v3/ticket-hygiene.js +221 -0
  101. package/dist/backend/backend/src/services/v3/ticket-hygiene.js.map +1 -0
  102. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +71 -6
  103. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +151 -25
  105. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +22 -3
  107. package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  108. package/dist/backend/backend/src/services/v3/ticket-review.service.js +99 -40
  109. package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
  110. package/dist/backend/backend/src/types/team-template.types.d.ts +1 -1
  111. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  112. package/dist/backend/backend/src/types/v2/request.types.d.ts +13 -0
  113. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  114. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  115. package/dist/backend/backend/src/utils/secret-redactor.d.ts +131 -0
  116. package/dist/backend/backend/src/utils/secret-redactor.d.ts.map +1 -0
  117. package/dist/backend/backend/src/utils/secret-redactor.js +233 -0
  118. package/dist/backend/backend/src/utils/secret-redactor.js.map +1 -0
  119. package/dist/backend/backend/src/utils/shell-history.d.ts +48 -0
  120. package/dist/backend/backend/src/utils/shell-history.d.ts.map +1 -0
  121. package/dist/backend/backend/src/utils/shell-history.js +65 -0
  122. package/dist/backend/backend/src/utils/shell-history.js.map +1 -0
  123. package/dist/backend/build-info.json +2 -2
  124. package/dist/cli/backend/src/constants.d.ts +161 -6
  125. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  126. package/dist/cli/backend/src/constants.js +188 -11
  127. package/dist/cli/backend/src/constants.js.map +1 -1
  128. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  129. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  130. package/dist/cli/backend/src/services/agent/agent-registration.service.js +34 -29
  131. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  132. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +4 -3
  133. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  134. package/dist/cli/backend/src/services/agent/codex-runtime.service.js +48 -3
  135. package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  136. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +9 -0
  137. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  138. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +18 -1
  139. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  140. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +5 -1
  142. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  143. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  144. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +14 -4
  145. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  146. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts +8 -0
  147. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  148. package/dist/cli/backend/src/services/backup/backup-archive.service.js +16 -8
  149. package/dist/cli/backend/src/services/backup/backup-archive.service.js.map +1 -1
  150. package/dist/cli/backend/src/services/backup/backup.types.d.ts +19 -0
  151. package/dist/cli/backend/src/services/backup/backup.types.d.ts.map +1 -1
  152. package/dist/cli/backend/src/services/backup/backup.types.js +19 -0
  153. package/dist/cli/backend/src/services/backup/backup.types.js.map +1 -1
  154. package/dist/cli/backend/src/services/security/secret-scrub.service.d.ts +108 -0
  155. package/dist/cli/backend/src/services/security/secret-scrub.service.d.ts.map +1 -0
  156. package/dist/cli/backend/src/services/security/secret-scrub.service.js +200 -0
  157. package/dist/cli/backend/src/services/security/secret-scrub.service.js.map +1 -0
  158. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +13 -9
  159. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  160. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +30 -14
  161. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  162. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  163. package/dist/cli/backend/src/services/session/pty/pty-session.js +6 -1
  164. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  165. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  166. package/dist/cli/backend/src/services/session/session-command-helper.js +3 -2
  167. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  168. package/dist/cli/backend/src/services/v3/request.service.d.ts +2 -0
  169. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  170. package/dist/cli/backend/src/services/v3/request.service.js +16 -4
  171. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  172. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.d.ts.map +1 -1
  173. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js +2 -0
  174. package/dist/cli/backend/src/services/v3/ticket-ask-classifier.js.map +1 -1
  175. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -1
  176. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +2 -1
  177. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
  178. package/dist/cli/backend/src/services/v3/ticket-hygiene.d.ts +162 -0
  179. package/dist/cli/backend/src/services/v3/ticket-hygiene.d.ts.map +1 -0
  180. package/dist/cli/backend/src/services/v3/ticket-hygiene.js +221 -0
  181. package/dist/cli/backend/src/services/v3/ticket-hygiene.js.map +1 -0
  182. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +71 -6
  183. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -1
  184. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +151 -25
  185. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -1
  186. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +22 -3
  187. package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
  188. package/dist/cli/backend/src/services/v3/ticket-review.service.js +99 -40
  189. package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
  190. package/dist/cli/backend/src/types/team-template.types.d.ts +1 -1
  191. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
  192. package/dist/cli/backend/src/types/v2/request.types.d.ts +13 -0
  193. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  194. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  195. package/dist/cli/backend/src/utils/secret-redactor.d.ts +131 -0
  196. package/dist/cli/backend/src/utils/secret-redactor.d.ts.map +1 -0
  197. package/dist/cli/backend/src/utils/secret-redactor.js +233 -0
  198. package/dist/cli/backend/src/utils/secret-redactor.js.map +1 -0
  199. package/dist/cli/backend/src/utils/shell-history.d.ts +48 -0
  200. package/dist/cli/backend/src/utils/shell-history.d.ts.map +1 -0
  201. package/dist/cli/backend/src/utils/shell-history.js +65 -0
  202. package/dist/cli/backend/src/utils/shell-history.js.map +1 -0
  203. package/dist/cli/cli/src/commands/security.d.ts +41 -0
  204. package/dist/cli/cli/src/commands/security.d.ts.map +1 -0
  205. package/dist/cli/cli/src/commands/security.js +81 -0
  206. package/dist/cli/cli/src/commands/security.js.map +1 -0
  207. package/dist/cli/cli/src/index.js +9 -0
  208. package/dist/cli/cli/src/index.js.map +1 -1
  209. package/frontend/dist/assets/index-edd6f262.css +42 -0
  210. package/frontend/dist/assets/{index-8d4b3ad2.js → index-f79676aa.js} +268 -268
  211. package/frontend/dist/index.html +2 -2
  212. package/package.json +1 -1
  213. package/frontend/dist/assets/index-b6aded4c.css +0 -42
@@ -14,10 +14,17 @@
14
14
  * - **Cost**: see {@link cumulativeMeterCost} — today's WorkItem `cost` is a
15
15
  * cumulative session meter (#812), so no per-day figure can be derived and
16
16
  * the receipt says so instead of printing a number.
17
+ * - **Highlights / decisions** (2026-09-28 redesign, what the Slack receipt
18
+ * shows): the few outcomes worth telling him, in the agent's words
19
+ * ({@link summarizeOutcome}), and the few things genuinely blocked on him,
20
+ * phrased as the question ({@link ownerQuestionOf}). A ticket is credited
21
+ * to the team that actually did it ({@link ticketTeamOf}); an answer that
22
+ * came from another team than the assignee's is treated as misrouted
23
+ * ({@link isMisrouted}) and left off both lists.
17
24
  *
18
25
  * @module services/v3/owner-receipt/owner-receipt-data
19
26
  */
20
- import { OWNER_RECEIPT_CONSTANTS, TICKET_CONSTANTS } from '../../../constants.js';
27
+ import { ORCHESTRATOR_SESSION_NAME, OWNER_RECEIPT_CONSTANTS, TICKET_CONSTANTS } from '../../../constants.js';
21
28
  import { formatTicketNumber, ticketNeedsReview } from '../../../types/v2/ticket.types.js';
22
29
  import { REVIEW_ESCALATED_TO_OWNER_KEY } from '../../../types/v2/work-item.types.js';
23
30
  import { redactSensitive } from '../../wiki/wiki-redaction.js';
@@ -318,8 +325,10 @@ export function buildReceiptData(input) {
318
325
  const from = Date.parse(input.window.from);
319
326
  const to = Date.parse(input.window.to);
320
327
  const cost = input.cost ?? cumulativeMeterCost;
321
- const teamName = (session) => (session ? input.teamOf(session) : null) ?? OWNER_RECEIPT_CONSTANTS.UNASSIGNED_TEAM;
328
+ const label = teamLabeller(input.teamOf);
329
+ const teamName = (session) => label(session) ?? OWNER_RECEIPT_CONSTANTS.UNASSIGNED_TEAM;
322
330
  const itemsOf = (t) => input.workItems.filter((w) => w.requestId === t.id || t.workItemIds.includes(w.id));
331
+ const ticketTeam = (t) => ticketTeamOf(t, itemsOf(t), label) ?? OWNER_RECEIPT_CONSTANTS.UNASSIGNED_TEAM;
323
332
  const inWindow = input.requests
324
333
  .filter((r) => typeof r.ticketNumber === 'number')
325
334
  .filter((r) => {
@@ -347,7 +356,7 @@ export function buildReceiptData(input) {
347
356
  blockedReason: outcome === 'blocked' ? (items.find((w) => w.blockedReason)?.blockedReason ?? null) : null,
348
357
  createdAt: t.createdAt,
349
358
  };
350
- const team = teamName(t.assignee);
359
+ const team = ticketTeam(t);
351
360
  const bucket = byTeam.get(team) ?? { asks: [], items: [] };
352
361
  bucket.asks.push(ask);
353
362
  bucket.items.push(...items);
@@ -370,12 +379,297 @@ export function buildReceiptData(input) {
370
379
  teams,
371
380
  outcomes,
372
381
  deliverables,
373
- waiting: collectWaiting(input.requests, input.workItems, teamName),
382
+ waiting: collectWaiting(input.requests, input.workItems, (t) => ticketTeam(t), teamName),
374
383
  askCount: inWindow.length,
375
384
  ...coverageOf(input.intakeLog, input.window),
385
+ highlights: collectHighlights(input, itemsOf, label),
386
+ ...collectDecisions(input, itemsOf, label),
376
387
  generatedAt: input.now.toISOString(),
377
388
  };
378
389
  }
390
+ /**
391
+ * Team names for sessions, with the orchestrator (in no team) named
392
+ * {@link OWNER_RECEIPT_CONSTANTS.ORCHESTRATOR_LABEL}.
393
+ *
394
+ * @param teamOf - Team of a session
395
+ * @returns The labeller
396
+ */
397
+ export function teamLabeller(teamOf) {
398
+ return (session) => {
399
+ if (!session)
400
+ return null;
401
+ return teamOf(session) ?? (session === ORCHESTRATOR_SESSION_NAME ? OWNER_RECEIPT_CONSTANTS.ORCHESTRATOR_LABEL : null);
402
+ };
403
+ }
404
+ /**
405
+ * The team that actually did a ticket: its assignee's, when the assignee is
406
+ * one of this machine's agents; else the team of the agent that answered it;
407
+ * else of whoever its WorkItems went to. A ticket addressed to an agent on
408
+ * another machine (a shared Slack room) but answered here is credited here.
409
+ *
410
+ * @param t - The ticket
411
+ * @param items - Its WorkItems
412
+ * @param label - Session → team
413
+ * @returns Team label, or null when nobody known did it
414
+ */
415
+ export function ticketTeamOf(t, items, label) {
416
+ return label(t.assignee) ?? label(t.reply?.by) ?? items.map((w) => label(w.target)).find((x) => !!x) ?? null;
417
+ }
418
+ /**
419
+ * Whether the answer recorded on a ticket came from somebody other than its
420
+ * assignee's team — another team's post in a shared thread (TKT-017: Ella's
421
+ * calendar question recorded as the answer to Atlas's ticket), or an agent on
422
+ * another machine. Such a ticket is not put in front of the owner. A ticket
423
+ * addressed to another machine's agent but answered here is not misrouted:
424
+ * it is ours ({@link ticketTeamOf}).
425
+ *
426
+ * @param t - The ticket
427
+ * @param label - Session → team
428
+ * @returns True when the recorded answer is not the assignee team's
429
+ */
430
+ export function isMisrouted(t, label) {
431
+ const by = t.reply?.by;
432
+ if (!by || !t.assignee || by === t.assignee)
433
+ return false;
434
+ const assigneeTeam = label(t.assignee);
435
+ const answerTeam = label(by);
436
+ return answerTeam === null || (assigneeTeam !== null && assigneeTeam !== answerTeam);
437
+ }
438
+ // ---------------------------------------------------------------------------
439
+ // Owner-facing wording helpers (no LLM)
440
+ // ---------------------------------------------------------------------------
441
+ /**
442
+ * Plain text of an agent's Slack-flavoured answer: no mentions, links keep
443
+ * their label, bare URLs and file paths go, markdown marks go.
444
+ *
445
+ * @param text - Raw text
446
+ * @returns Cleaned text (lines kept)
447
+ */
448
+ function plainAnswerText(text) {
449
+ return redactSensitive(text)
450
+ .replace(/<@[A-Z0-9]+(\|[^>]*)?>/g, '')
451
+ .replace(/<(https?:[^>|]+)\|([^>]+)>/g, '$2')
452
+ .replace(/<https?:[^>]+>/g, '')
453
+ .replace(/https?:\/\/\S+/g, '')
454
+ .replace(/(^|[\s((::])(~|\.{0,2}\/)?[\w.@-]*(\/[\w.@-]+)+\.(md|pdf|png|jpe?g|html|json|csv|docx|pptx|xlsx|ts|js)\b/g, '$1')
455
+ .replace(/(路径是|路径为|写在|写到|放在|放到|放进|存在|存到|存进|见|path:?)\s*(?=[。,,;;))]|$)/gim, '')
456
+ .replace(/[*_`#>]+/g, '')
457
+ .replace(/[ \t]+/g, ' ')
458
+ .replace(/ ([。,,;;!?])/g, '$1')
459
+ .replace(/[,,;;]([。!?])/g, '$1')
460
+ .replace(/[,,;;]+\s*$/gm, '')
461
+ .replace(/([::]) +/g, '$1');
462
+ }
463
+ /**
464
+ * Cut a line to `max` weighted characters, at a phrase boundary when there is
465
+ * one (。!?;,;!? — not `,`, which also sits inside numbers), else with 「…」.
466
+ *
467
+ * @param line - The line
468
+ * @param max - Weighted limit
469
+ * @returns The line, fitting
470
+ */
471
+ export function fitLine(line, max = OWNER_RECEIPT_CONSTANTS.MAX_LINE_WEIGHTED_LENGTH) {
472
+ const trimmed = line.trim();
473
+ if (weightedTextLength(trimmed) <= max)
474
+ return trimmed;
475
+ let out = '';
476
+ let lastBoundary = -1;
477
+ for (const ch of trimmed) {
478
+ if (weightedTextLength(out + ch) > max - 1)
479
+ break;
480
+ out += ch;
481
+ if (/[。!?;,;!?]/.test(ch))
482
+ lastBoundary = out.length;
483
+ }
484
+ if (lastBoundary >= out.length / 3)
485
+ return out.slice(0, lastBoundary).replace(/[,,;;]$/, '').trim();
486
+ return `${out.trimEnd()}…`;
487
+ }
488
+ /**
489
+ * One line saying what was done, taken from the agent's answer: the first
490
+ * line that says something (not a heading, not a lead-in ending in 「:」, not
491
+ * a greeting), cut to fit. Deterministic; empty when nothing usable.
492
+ *
493
+ * @param text - The agent's answer (ticket result / reply excerpt)
494
+ * @returns The outcome line, or ''
495
+ *
496
+ * @example
497
+ * ```typescript
498
+ * summarizeOutcome('*结论*\n• 每天早上 8 点问你一个问题,已经设好'); // '每天早上 8 点问你一个问题,已经设好'
499
+ * ```
500
+ */
501
+ export function summarizeOutcome(text) {
502
+ if (!text)
503
+ return '';
504
+ const min = OWNER_RECEIPT_CONSTANTS.MIN_SUMMARY_WEIGHTED_LENGTH;
505
+ const lines = plainAnswerText(text).split('\n');
506
+ // The owner reads Chinese: a Chinese line first, any line if there is none.
507
+ const cjk = /[一-鿿]/;
508
+ for (const raw of [...lines.filter((l) => cjk.test(l)), ...lines.filter((l) => !cjk.test(l))]) {
509
+ let line = raw
510
+ .replace(/^\s*([•·\-–—]|\d+[.、))])\s*/, '')
511
+ .replace(/^(Steve|老板|你好|好的|收到)[,,、::\s]+/i, '')
512
+ .trim();
513
+ // 「看了。」「一半是。」 opens the answer; the outcome is what follows.
514
+ const opener = /^[^。!?!?]{1,6}[。!?!?]\s*/.exec(line);
515
+ if (opener && weightedTextLength(line.slice(opener[0].length)) >= min)
516
+ line = line.slice(opener[0].length);
517
+ // A lead-in (「…可以直接复制发:」) keeps only its sentences before it.
518
+ if (/[::]\s*$/.test(line)) {
519
+ const end = Math.max(line.lastIndexOf('。'), line.lastIndexOf('!'), line.lastIndexOf('?'));
520
+ line = end >= 0 ? line.slice(0, end + 1) : '';
521
+ }
522
+ if (weightedTextLength(line) < min)
523
+ continue;
524
+ return fitLine(line);
525
+ }
526
+ return '';
527
+ }
528
+ /**
529
+ * The question an agent's answer asks the owner, as one line: the last
530
+ * sentence that ends in a question mark; a lead-in before 「:」 is dropped
531
+ * when the rest stands alone. Null when the answer asks nothing.
532
+ *
533
+ * @param text - The agent's answer
534
+ * @returns The question, or null
535
+ */
536
+ export function ownerQuestionOf(text) {
537
+ if (!text)
538
+ return null;
539
+ const sentences = plainAnswerText(text)
540
+ .split(/(?<=[。!?!?\n])/)
541
+ .map((x) => x.replace(/^\s*([•·\-–—]|\d+[.、))])\s*/, '').trim())
542
+ .filter(Boolean);
543
+ for (let i = sentences.length - 1; i >= 0; i -= 1) {
544
+ let q = sentences[i];
545
+ if (!/[??]\s*$/.test(q))
546
+ continue;
547
+ const colon = Math.max(q.lastIndexOf(':'), q.lastIndexOf(':'));
548
+ if (colon >= 0 && weightedTextLength(q.slice(colon + 1)) >= OWNER_RECEIPT_CONSTANTS.MIN_SUMMARY_WEIGHTED_LENGTH)
549
+ q = q.slice(colon + 1);
550
+ q = q.trim();
551
+ if (weightedTextLength(q) < 6)
552
+ continue;
553
+ return fitLine(q);
554
+ }
555
+ return null;
556
+ }
557
+ // ---------------------------------------------------------------------------
558
+ // Highlights and decisions
559
+ // ---------------------------------------------------------------------------
560
+ /**
561
+ * 「今天做完的」: tickets that became done in the window (not stale-closed, not
562
+ * dismissed, not misrouted), each as its outcome line. Ranked: with
563
+ * deliverables first, real work before plain questions, newest first; at
564
+ * most {@link OWNER_RECEIPT_CONSTANTS.MAX_HIGHLIGHTS}, no two alike.
565
+ *
566
+ * @param input - Receipt inputs
567
+ * @param itemsOf - WorkItems of a ticket
568
+ * @param label - Session → team
569
+ * @returns Highlights
570
+ */
571
+ function collectHighlights(input, itemsOf, label) {
572
+ const from = Date.parse(input.window.from);
573
+ const to = Date.parse(input.window.to);
574
+ const candidates = [];
575
+ for (const t of input.requests) {
576
+ if (typeof t.ticketNumber !== 'number' || t.status !== 'done')
577
+ continue;
578
+ if (t.tags.includes(TICKET_CONSTANTS.STALE.TAG) || t.tags.includes(TICKET_CONSTANTS.DISMISSED_TAG))
579
+ continue;
580
+ const at = Date.parse(t.completedAt ?? t.updatedAt);
581
+ if (!(at >= from && at < to) || isMisrouted(t, label))
582
+ continue;
583
+ const items = itemsOf(t);
584
+ const texts = outputTexts(t, items);
585
+ const summary = summarizeOutcome(typeof t.result === 'string' && t.result ? t.result : t.reply?.excerpt) || summarizeOutcome(texts.join('\n'));
586
+ if (!summary)
587
+ continue;
588
+ candidates.push({
589
+ ticketId: t.id,
590
+ team: ticketTeamOf(t, items, label),
591
+ summary,
592
+ // Links are what he sent; a file, a PR or an issue is what got made.
593
+ deliverableCount: extractDeliverables(texts).filter((d) => d.kind !== 'link').length,
594
+ completedAt: new Date(at).toISOString(),
595
+ question: t.kind === 'question',
596
+ });
597
+ }
598
+ candidates.sort((a, b) => Number(b.deliverableCount > 0) - Number(a.deliverableCount > 0) ||
599
+ Number(a.question) - Number(b.question) ||
600
+ b.completedAt.localeCompare(a.completedAt));
601
+ // One per team first (so one busy team does not fill the list), then the rest.
602
+ const seen = new Set();
603
+ const out = [];
604
+ const teams = new Set();
605
+ for (const pass of [0, 1]) {
606
+ for (const { question: _question, ...h } of candidates) {
607
+ if (out.length >= OWNER_RECEIPT_CONSTANTS.MAX_HIGHLIGHTS)
608
+ break;
609
+ if (seen.has(h.summary) || (pass === 0 && teams.has(h.team)))
610
+ continue;
611
+ seen.add(h.summary);
612
+ teams.add(h.team);
613
+ out.push(h);
614
+ }
615
+ }
616
+ return out.sort((a, b) => b.deliverableCount - a.deliverableCount || b.completedAt.localeCompare(a.completedAt));
617
+ }
618
+ /**
619
+ * 「需要你决定的」: what is genuinely blocked on the owner, oldest first — a
620
+ * 待验收 deliverable answered within {@link OWNER_RECEIPT_CONSTANTS.DECISION_MAX_AGE_MS}
621
+ * (not misrouted), and WorkItems escalated to him for review (#813) within the
622
+ * same age. Each phrased as the question he is asked.
623
+ *
624
+ * @param input - Receipt inputs
625
+ * @param itemsOf - WorkItems of a ticket
626
+ * @param label - Session → team
627
+ * @returns The first few decisions and how many there are in all
628
+ */
629
+ function collectDecisions(input, itemsOf, label) {
630
+ const cutoff = input.now.getTime() - OWNER_RECEIPT_CONSTANTS.DECISION_MAX_AGE_MS;
631
+ const nameOf = (session, fallback) => (session ? input.agentNameOf?.(session) : null) ?? fallback;
632
+ const all = [];
633
+ for (const t of input.requests) {
634
+ if (typeof t.ticketNumber !== 'number' || t.status !== 'waiting_confirmation' || !ticketNeedsReview(t))
635
+ continue;
636
+ const since = t.submittedAt ?? t.updatedAt;
637
+ if (Date.parse(since) < cutoff || isMisrouted(t, label))
638
+ continue;
639
+ const answer = t.reply?.excerpt ?? (typeof t.result === 'string' ? t.result : '');
640
+ const summary = summarizeOutcome(answer);
641
+ const question = ownerQuestionOf(answer) ?? (summary ? `${summary.replace(/[。.!!]$/, '')},这样可以吗?` : null);
642
+ if (!question)
643
+ continue;
644
+ all.push({
645
+ id: t.id,
646
+ source: 'ticket_review',
647
+ from: nameOf(t.reply?.by ?? t.assignee, ticketTeamOf(t, itemsOf(t), label)),
648
+ question,
649
+ since,
650
+ });
651
+ }
652
+ for (const w of input.workItems) {
653
+ const at = w.metadata?.[REVIEW_ESCALATED_TO_OWNER_KEY];
654
+ if (w.status !== 'done_by_worker' || typeof at !== 'string' || Date.parse(at) < cutoff)
655
+ continue;
656
+ const summary = typeof w.output?.summary === 'string' ? w.output.summary : '';
657
+ const question = ownerQuestionOf(summary) ?? `${fitLine(plainAnswerText(w.title).replace(/\s+/g, ' '))}——要你看一下`;
658
+ all.push({ id: w.id, source: 'owner_escalation', from: nameOf(w.target, label(w.target)), question, since: at });
659
+ }
660
+ all.sort((a, b) => Date.parse(a.since) - Date.parse(b.since) || a.id.localeCompare(b.id));
661
+ return { decisions: all.slice(0, OWNER_RECEIPT_CONSTANTS.MAX_DECISIONS), decisionsTotal: all.length };
662
+ }
663
+ /**
664
+ * Whether a receipt has nothing to tell the owner: nothing notable done and
665
+ * nothing waiting on him. Then no receipt is sent at all.
666
+ *
667
+ * @param data - Receipt data
668
+ * @returns True when it should be skipped
669
+ */
670
+ export function isReceiptEmpty(data) {
671
+ return data.highlights.length === 0 && data.decisionsTotal === 0;
672
+ }
379
673
  /**
380
674
  * Everything waiting on the owner, oldest first: tickets in 待验收 (any day)
381
675
  * and WorkItems escalated to the owner for review (#813) that are still
@@ -383,10 +677,11 @@ export function buildReceiptData(input) {
383
677
  *
384
678
  * @param requests - Every Request
385
679
  * @param workItems - Every WorkItem
680
+ * @param ticketTeam - Team that did a ticket
386
681
  * @param teamName - Team of a session
387
682
  * @returns The waiting list
388
683
  */
389
- function collectWaiting(requests, workItems, teamName) {
684
+ function collectWaiting(requests, workItems, ticketTeam, teamName) {
390
685
  const waiting = [];
391
686
  for (const r of requests) {
392
687
  if (typeof r.ticketNumber !== 'number' || r.status !== 'waiting_confirmation' || !ticketNeedsReview(r))
@@ -397,7 +692,7 @@ function collectWaiting(requests, workItems, teamName) {
397
692
  tkt: formatTicketNumber(r.ticketNumber),
398
693
  text: shortenAsk(r.description),
399
694
  question: r.reply?.excerpt ? shortenAsk(r.reply.excerpt, OWNER_RECEIPT_CONSTANTS.MAX_QUESTION_WEIGHTED_LENGTH) : null,
400
- team: teamName(r.assignee),
695
+ team: ticketTeam(r),
401
696
  since: r.submittedAt ?? r.updatedAt ?? null,
402
697
  });
403
698
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt-data.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-receipt-data.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt-data.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,14 @@ export declare function createSlackOwnerSender(getSlack: () => ReceiptSlackApi |
33
33
  * @returns Index
34
34
  */
35
35
  export declare function teamIndexOf(teams: readonly Team[]): Map<string, string>;
36
+ /**
37
+ * session → agent display name (「Atlas」), from the team list: a decision on
38
+ * the receipt names who is asking.
39
+ *
40
+ * @param teams - Every team
41
+ * @returns Index
42
+ */
43
+ export declare function agentNameIndexOf(teams: readonly Team[]): Map<string, string>;
36
44
  /**
37
45
  * team name → team lead's display name, from the team list (Ava's reference:
38
46
  * `CE(Owen)`). `leaderIds[0]` when set, else the deprecated `leaderId`; a
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.boot.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,cAAc,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,eAAe,GAAG,IAAI,GAAG,aAAa,CAoB5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACtC,IAAI,GAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,GACL,MAAM,IAAI,CAWZ"}
1
+ {"version":3,"file":"owner-receipt.boot.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,cAAc,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,eAAe,GAAG,IAAI,GAAG,aAAa,CAoB5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACtC,IAAI,GAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,GACL,MAAM,IAAI,CAWZ"}
@@ -54,6 +54,22 @@ export function teamIndexOf(teams) {
54
54
  }
55
55
  return index;
56
56
  }
57
+ /**
58
+ * session → agent display name (「Atlas」), from the team list: a decision on
59
+ * the receipt names who is asking.
60
+ *
61
+ * @param teams - Every team
62
+ * @returns Index
63
+ */
64
+ export function agentNameIndexOf(teams) {
65
+ const index = new Map();
66
+ for (const team of teams) {
67
+ for (const m of team.members ?? [])
68
+ if (m.sessionName && m.name)
69
+ index.set(m.sessionName, m.name);
70
+ }
71
+ return index;
72
+ }
57
73
  /**
58
74
  * team name → team lead's display name, from the team list (Ava's reference:
59
75
  * `CE(Owen)`). `leaderIds[0]` when set, else the deprecated `leaderId`; a
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.boot.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-receipt.boot.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,53 @@
1
1
  /**
2
2
  * Owner receipt (#828) — the renderer: {@link ReceiptData} → Slack mrkdwn.
3
3
  *
4
- * **All wording and layout lives in this file and nowhere else.** The owner
5
- * has not approved the format yet (Ava's manual receipt of 2026-09-26 is the
6
- * reference: `.crewly/research/2026-09-26-owner-receipt/receipt.slack.md`), so
7
- * changing a label, an emoji or the order of sections must never touch the
8
- * data layer. Pure: same data, same text.
4
+ * **All wording and layout lives in this file and nowhere else.** Pure: same
5
+ * data, same text.
6
+ *
7
+ * Redesigned 2026-09-28 after the owner found the first version overwhelming
8
+ * (14 asks + 17 「等你拍板」 with TKT numbers and his own words cut off
9
+ * mid-sentence). The receipt now says only two things, in Chinese, in at
10
+ * most ten lines:
11
+ *
12
+ * ```
13
+ * *Crewly 小票 · 9/28 周一*
14
+ * *今天做完的*
15
+ * • Think Tank:每天早上 8 点问你一个问题,已经设好
16
+ * • …(at most 3)
17
+ * *需要你决定的*
18
+ * • Atlas:每周一个 30 分钟的聊天,加上每月一场圆桌,哪个现实?
19
+ * • …(at most 3)
20
+ * 另有 N 件,在看板上
21
+ * ```
22
+ *
23
+ * Never: ticket numbers, the owner's own words, counts nobody asked for,
24
+ * lines for what is unknown (不详 / 没记). A section with nothing in it is
25
+ * left out; with nothing in either, the receipt is empty and not sent.
9
26
  *
10
27
  * Slack mrkdwn, not a code block: CJK text breaks monospace alignment on a
11
- * phone and links inside code are not clickable (Ava's format note §8).
28
+ * phone.
12
29
  *
13
30
  * @module services/v3/owner-receipt/owner-receipt.renderer
14
31
  */
15
32
  import type { ReceiptData } from './owner-receipt.types.js';
16
33
  /**
17
- * Escape the characters Slack reserves in message text. The owner's own
18
- * words go through this; links and emphasis are added after.
34
+ * Escape the characters Slack reserves in message text.
19
35
  *
20
36
  * @param text - Plain text
21
37
  * @returns Text safe inside a Slack message
22
38
  */
23
39
  export declare function escapeMrkdwn(text: string): string;
24
40
  /**
25
- * Render a receipt as a Slack message.
41
+ * Render a receipt as a Slack message, or '' when there is nothing to say
42
+ * (nothing notable done, nothing waiting on the owner) — then it is not sent.
26
43
  *
27
44
  * @param data - Receipt data from the data layer
28
- * @returns Slack mrkdwn text
45
+ * @returns Slack mrkdwn text (at most ten lines), or ''
29
46
  *
30
47
  * @example
31
48
  * ```typescript
32
49
  * const text = renderReceiptSlack(buildReceiptData(inputs));
50
+ * if (text) await send(text);
33
51
  * ```
34
52
  */
35
53
  export declare function renderReceiptSlack(data: ReceiptData): string;
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.renderer.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAA4C,WAAW,EAAsC,MAAM,0BAA0B,CAAC;AAsD1I;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAqFD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA0E5D"}
1
+ {"version":3,"file":"owner-receipt.renderer.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAyBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAY5D"}