@rudderhq/server 0.2.0-canary.2 → 0.2.0-canary.21

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 (179) hide show
  1. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +1 -1
  2. package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +2 -2
  3. package/dist/bundled-plugins/plugin-linear/dist/worker.js +152 -120
  4. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
  5. package/dist/langfuse-transcript.d.ts.map +1 -1
  6. package/dist/langfuse-transcript.js +22 -0
  7. package/dist/langfuse-transcript.js.map +1 -1
  8. package/dist/onboarding-assets/ceo/HEARTBEAT.md +8 -4
  9. package/dist/onboarding-assets/default/HEARTBEAT.md +7 -4
  10. package/dist/routes/agents.d.ts.map +1 -1
  11. package/dist/routes/agents.js +25 -6
  12. package/dist/routes/agents.js.map +1 -1
  13. package/dist/routes/chats.d.ts.map +1 -1
  14. package/dist/routes/chats.js +163 -43
  15. package/dist/routes/chats.js.map +1 -1
  16. package/dist/routes/costs.d.ts.map +1 -1
  17. package/dist/routes/costs.js +20 -0
  18. package/dist/routes/costs.js.map +1 -1
  19. package/dist/routes/instance-settings.d.ts.map +1 -1
  20. package/dist/routes/instance-settings.js +68 -1
  21. package/dist/routes/instance-settings.js.map +1 -1
  22. package/dist/routes/issues.d.ts.map +1 -1
  23. package/dist/routes/issues.js +238 -6
  24. package/dist/routes/issues.js.map +1 -1
  25. package/dist/routes/orgs.d.ts.map +1 -1
  26. package/dist/routes/orgs.js +22 -0
  27. package/dist/routes/orgs.js.map +1 -1
  28. package/dist/services/activity-log.d.ts.map +1 -1
  29. package/dist/services/activity-log.js +45 -16
  30. package/dist/services/activity-log.js.map +1 -1
  31. package/dist/services/activity.d.ts.map +1 -1
  32. package/dist/services/activity.js +32 -1
  33. package/dist/services/activity.js.map +1 -1
  34. package/dist/services/agent-instructions.d.ts.map +1 -1
  35. package/dist/services/agent-instructions.js +9 -0
  36. package/dist/services/agent-instructions.js.map +1 -1
  37. package/dist/services/agent-run-context.d.ts +0 -32
  38. package/dist/services/agent-run-context.d.ts.map +1 -1
  39. package/dist/services/agent-run-context.js +25 -128
  40. package/dist/services/agent-run-context.js.map +1 -1
  41. package/dist/services/agents.d.ts +13 -13
  42. package/dist/services/agents.d.ts.map +1 -1
  43. package/dist/services/agents.js +1 -42
  44. package/dist/services/agents.js.map +1 -1
  45. package/dist/services/assets.d.ts +2 -2
  46. package/dist/services/chat-assistant.d.ts +2 -2
  47. package/dist/services/chat-assistant.d.ts.map +1 -1
  48. package/dist/services/chat-assistant.js +24 -96
  49. package/dist/services/chat-assistant.js.map +1 -1
  50. package/dist/services/chats.d.ts +80 -4
  51. package/dist/services/chats.d.ts.map +1 -1
  52. package/dist/services/chats.js +92 -6
  53. package/dist/services/chats.js.map +1 -1
  54. package/dist/services/costs.d.ts +15 -0
  55. package/dist/services/costs.d.ts.map +1 -1
  56. package/dist/services/costs.js +62 -1
  57. package/dist/services/costs.js.map +1 -1
  58. package/dist/services/instance-settings.d.ts +8 -1
  59. package/dist/services/instance-settings.d.ts.map +1 -1
  60. package/dist/services/instance-settings.js +139 -16
  61. package/dist/services/instance-settings.js.map +1 -1
  62. package/dist/services/issue-assignment-wakeup.d.ts +1 -1
  63. package/dist/services/issue-assignment-wakeup.d.ts.map +1 -1
  64. package/dist/services/issue-review-wakeup.d.ts +171 -0
  65. package/dist/services/issue-review-wakeup.d.ts.map +1 -0
  66. package/dist/services/issue-review-wakeup.js +115 -0
  67. package/dist/services/issue-review-wakeup.js.map +1 -0
  68. package/dist/services/issues.d.ts +9 -0
  69. package/dist/services/issues.d.ts.map +1 -1
  70. package/dist/services/issues.js +63 -15
  71. package/dist/services/issues.js.map +1 -1
  72. package/dist/services/messenger.d.ts.map +1 -1
  73. package/dist/services/messenger.js +117 -18
  74. package/dist/services/messenger.js.map +1 -1
  75. package/dist/services/organization-workspace-browser.d.ts +6 -0
  76. package/dist/services/organization-workspace-browser.d.ts.map +1 -1
  77. package/dist/services/organization-workspace-browser.js +95 -1
  78. package/dist/services/organization-workspace-browser.js.map +1 -1
  79. package/dist/services/orgs.d.ts +0 -12
  80. package/dist/services/orgs.d.ts.map +1 -1
  81. package/dist/services/orgs.js +0 -2
  82. package/dist/services/orgs.js.map +1 -1
  83. package/dist/services/runtime-kernel/heartbeat.d.ts +2 -2
  84. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  85. package/dist/services/runtime-kernel/heartbeat.js +302 -4
  86. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  87. package/dist/services/workspace-backups.d.ts.map +1 -1
  88. package/dist/services/workspace-backups.js +6 -0
  89. package/dist/services/workspace-backups.js.map +1 -1
  90. package/dist/services/workspace-runtime.d.ts +2 -0
  91. package/dist/services/workspace-runtime.d.ts.map +1 -1
  92. package/dist/services/workspace-runtime.js +4 -0
  93. package/dist/services/workspace-runtime.js.map +1 -1
  94. package/package.json +13 -13
  95. package/resources/bundled-skills/rudder/SKILL.md +55 -6
  96. package/resources/bundled-skills/rudder/references/api-reference.md +1 -1
  97. package/resources/bundled-skills/rudder/references/cli-reference.md +28 -8
  98. package/skills/rudder/SKILL.md +55 -6
  99. package/skills/rudder/references/api-reference.md +1 -1
  100. package/skills/rudder/references/cli-reference.md +28 -8
  101. package/ui-dist/assets/{_basePickBy-Ctak-fUU.js → _basePickBy-C45AEYYu.js} +1 -1
  102. package/ui-dist/assets/{_baseUniq-CCvXAX9A.js → _baseUniq-BJpCpwRa.js} +1 -1
  103. package/ui-dist/assets/{arc-vI0zh8NU.js → arc-D3Nqvz2N.js} +1 -1
  104. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-DHItsHGd.js → architectureDiagram-2XIMDMQ5-Do23wIQ4.js} +1 -1
  105. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-xaygTz7_.js → blockDiagram-WCTKOSBZ-C2ngwYU8.js} +1 -1
  106. package/ui-dist/assets/{c4Diagram-IC4MRINW-CKTtSmuE.js → c4Diagram-IC4MRINW-BYIobdwJ.js} +1 -1
  107. package/ui-dist/assets/channel-Dv2zwH0L.js +1 -0
  108. package/ui-dist/assets/{chunk-4BX2VUAB-BoT4r2rl.js → chunk-4BX2VUAB-C44gRPzE.js} +1 -1
  109. package/ui-dist/assets/{chunk-55IACEB6-C-c9AIXb.js → chunk-55IACEB6-B-6fN77J.js} +1 -1
  110. package/ui-dist/assets/{chunk-FMBD7UC4-wcigJMMB.js → chunk-FMBD7UC4-DTY1cUtM.js} +1 -1
  111. package/ui-dist/assets/{chunk-JSJVCQXG-JCWyBco7.js → chunk-JSJVCQXG-D_6UsK-t.js} +1 -1
  112. package/ui-dist/assets/{chunk-KX2RTZJC-C2UBWWKq.js → chunk-KX2RTZJC-Yb0NUpEi.js} +1 -1
  113. package/ui-dist/assets/{chunk-NQ4KR5QH-mQSE9CCE.js → chunk-NQ4KR5QH-DlCH22us.js} +1 -1
  114. package/ui-dist/assets/{chunk-QZHKN3VN-B7a54nLe.js → chunk-QZHKN3VN-Bh-_IRDv.js} +1 -1
  115. package/ui-dist/assets/{chunk-WL4C6EOR-C8Blz2oN.js → chunk-WL4C6EOR-C785VNuy.js} +1 -1
  116. package/ui-dist/assets/classDiagram-VBA2DB6C-BBRYwJo_.js +1 -0
  117. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-BBRYwJo_.js +1 -0
  118. package/ui-dist/assets/clone-D0Qr-ZBI.js +1 -0
  119. package/ui-dist/assets/{cose-bilkent-S5V4N54A-CfUhPdn7.js → cose-bilkent-S5V4N54A-Bo3jHr7N.js} +1 -1
  120. package/ui-dist/assets/{dagre-KLK3FWXG-Dg0aQpyu.js → dagre-KLK3FWXG-YYooZOSE.js} +1 -1
  121. package/ui-dist/assets/{diagram-E7M64L7V-BtBYVASY.js → diagram-E7M64L7V-DTEesXx5.js} +1 -1
  122. package/ui-dist/assets/{diagram-IFDJBPK2-DwXju-7B.js → diagram-IFDJBPK2-BXnhNPS7.js} +1 -1
  123. package/ui-dist/assets/{diagram-P4PSJMXO-DzgHBlqt.js → diagram-P4PSJMXO-CWzB3Cgn.js} +1 -1
  124. package/ui-dist/assets/{erDiagram-INFDFZHY-DpKFVcGE.js → erDiagram-INFDFZHY-C4XOm35N.js} +1 -1
  125. package/ui-dist/assets/{flowDiagram-PKNHOUZH-Pmj1xdBU.js → flowDiagram-PKNHOUZH-CFCXtb2O.js} +1 -1
  126. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-BAlqKhiF.js → ganttDiagram-A5KZAMGK-8w-5QNh7.js} +1 -1
  127. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-CSIo7uOS.js → gitGraphDiagram-K3NZZRJ6-qbWDXQfA.js} +1 -1
  128. package/ui-dist/assets/{graph-CaxUGo1Z.js → graph-qUSZM8PJ.js} +1 -1
  129. package/ui-dist/assets/index-B267ejd6.js +1444 -0
  130. package/ui-dist/assets/{index-BjA9l6q6.js → index-BQqyX69f.js} +1 -1
  131. package/ui-dist/assets/{index-DkPMGB5j.js → index-BZCnBfim.js} +1 -1
  132. package/ui-dist/assets/{index-2dfbKwBh.js → index-BcUKDwkj.js} +1 -1
  133. package/ui-dist/assets/{index-rkDtXEnh.js → index-BebFet7E.js} +1 -1
  134. package/ui-dist/assets/{index-m_qDjM4c.js → index-Bgr9D6Ra.js} +1 -1
  135. package/ui-dist/assets/{index-PEiOiR26.js → index-BnxD8kOC.js} +1 -1
  136. package/ui-dist/assets/{index-CmdbZP3U.js → index-Bu89fEqp.js} +1 -1
  137. package/ui-dist/assets/{index-DLpkN5Nh.js → index-Bukq8O5h.js} +1 -1
  138. package/ui-dist/assets/index-Bxh03544.css +1 -0
  139. package/ui-dist/assets/{index-BElh23_d.js → index-C6xe1iRe.js} +1 -1
  140. package/ui-dist/assets/{index-73iORMFN.js → index-COE6bbkv.js} +1 -1
  141. package/ui-dist/assets/{index-CslGlNBo.js → index-Cb8FAw75.js} +1 -1
  142. package/ui-dist/assets/{index-UKCuYuh7.js → index-CnkyHiZz.js} +1 -1
  143. package/ui-dist/assets/{index-BAPnYsam.js → index-CxlDyxOU.js} +1 -1
  144. package/ui-dist/assets/{index-C57isBdA.js → index-D5hyFscs.js} +1 -1
  145. package/ui-dist/assets/{index-BuJtCaiX.js → index-DGEmNL-F.js} +1 -1
  146. package/ui-dist/assets/{index-DIcQ0aEs.js → index-D_pLgR1n.js} +1 -1
  147. package/ui-dist/assets/{index-BF_aD77W.js → index-DzeNxu5i.js} +1 -1
  148. package/ui-dist/assets/{index-DX640Doq.js → index-GjLZxTWd.js} +1 -1
  149. package/ui-dist/assets/{index-D_R7kXn2.js → index-L9e7v8cx.js} +1 -1
  150. package/ui-dist/assets/{index-BKYmQ7tf.js → index-UyuvF9uZ.js} +1 -1
  151. package/ui-dist/assets/{index-B8heUkj2.js → index-Z090t1c3.js} +1 -1
  152. package/ui-dist/assets/{index--XPsQZ8d.js → index-p9EItORI.js} +1 -1
  153. package/ui-dist/assets/{infoDiagram-LFFYTUFH-DsdK7PXv.js → infoDiagram-LFFYTUFH-or6GdoQj.js} +1 -1
  154. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-DeUKczqO.js → ishikawaDiagram-PHBUUO56-CiJce1C4.js} +1 -1
  155. package/ui-dist/assets/{journeyDiagram-4ABVD52K-DnOs-DRX.js → journeyDiagram-4ABVD52K-BSgSZtvu.js} +1 -1
  156. package/ui-dist/assets/{kanban-definition-K7BYSVSG-DCyJACf3.js → kanban-definition-K7BYSVSG-Dz-9iEDp.js} +1 -1
  157. package/ui-dist/assets/{layout-TatwQjxb.js → layout-BX7Dy_7p.js} +1 -1
  158. package/ui-dist/assets/{linear-bFbc0OUH.js → linear-S43utJWr.js} +1 -1
  159. package/ui-dist/assets/{mermaid.core-BdugKJmA.js → mermaid.core-BbRXh3sM.js} +4 -4
  160. package/ui-dist/assets/{mindmap-definition-YRQLILUH-d5r4CAWm.js → mindmap-definition-YRQLILUH-BuzgDaXx.js} +1 -1
  161. package/ui-dist/assets/{pieDiagram-SKSYHLDU-O6r1VFCs.js → pieDiagram-SKSYHLDU-CDfbASTn.js} +1 -1
  162. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-D0yzROUH.js → quadrantDiagram-337W2JSQ-nz3dRx2X.js} +1 -1
  163. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-GH6gqsQi.js → requirementDiagram-Z7DCOOCP-BYawIpQl.js} +1 -1
  164. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-DRovE2y6.js → sankeyDiagram-WA2Y5GQK-DeTjkIc7.js} +1 -1
  165. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-CKcQVuy2.js → sequenceDiagram-2WXFIKYE-30zXKF2p.js} +1 -1
  166. package/ui-dist/assets/{stateDiagram-RAJIS63D-C_FCbTJ2.js → stateDiagram-RAJIS63D-BRYhvfgF.js} +1 -1
  167. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-BTX-x4pr.js +1 -0
  168. package/ui-dist/assets/{timeline-definition-YZTLITO2-DRStubdA.js → timeline-definition-YZTLITO2-CqeKIDK2.js} +1 -1
  169. package/ui-dist/assets/{treemap-KZPCXAKY-Cdg9C7l2.js → treemap-KZPCXAKY-D7WLACiN.js} +1 -1
  170. package/ui-dist/assets/{vennDiagram-LZ73GAT5-fy5_7c9z.js → vennDiagram-LZ73GAT5-4TiMQaNo.js} +1 -1
  171. package/ui-dist/assets/{xychartDiagram-JWTSCODW-BnlMSV0P.js → xychartDiagram-JWTSCODW-BVKw66VX.js} +1 -1
  172. package/ui-dist/index.html +2 -2
  173. package/ui-dist/assets/channel-CySTnYot.js +0 -1
  174. package/ui-dist/assets/classDiagram-VBA2DB6C-COm96Uxw.js +0 -1
  175. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-COm96Uxw.js +0 -1
  176. package/ui-dist/assets/clone-1uUrCt2n.js +0 -1
  177. package/ui-dist/assets/index-DO_7LT0g.css +0 -1
  178. package/ui-dist/assets/index-PCdQGLiX.js +0 -1424
  179. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DvubldWn.js +0 -1
@@ -9,7 +9,7 @@ import { emitExecutionTranscriptTree } from "../langfuse-transcript.js";
9
9
  import { validate } from "../middleware/validate.js";
10
10
  import { logger } from "../middleware/logger.js";
11
11
  import { ChatAssistantStreamError, chatAssistantService, } from "../services/chat-assistant.js";
12
- import { cancelActiveChatGeneration, claimChatGeneration } from "../services/chat-generation-locks.js";
12
+ import { cancelActiveChatGeneration, claimChatGeneration, hasActiveChatGeneration } from "../services/chat-generation-locks.js";
13
13
  import { agentService, chatService, operatorProfileService, organizationService, goalService, issueService, logActivity, projectService, } from "../services/index.js";
14
14
  import { summarizeRuntimeSkillsForTrace } from "../services/runtime-trace-metadata.js";
15
15
  import { assertBoard, assertCompanyAccess, getActorInfo } from "./authz.js";
@@ -313,22 +313,98 @@ export function chatRoutes(db, storage) {
313
313
  function chatReplyingAgentId(conversation) {
314
314
  return conversation?.chatRuntime?.runtimeAgentId ?? conversation?.preferredAgentId ?? null;
315
315
  }
316
- async function persistAssistantReply(conversation, actor, assistantReply, turnContext, transcript = [], replyingAgentId = assistantReply.replyingAgentId ?? chatReplyingAgentId(conversation)) {
316
+ async function defaultIssueAssigneeAgentId(conversation) {
317
+ const candidateAgentIds = [conversation?.preferredAgentId, conversation?.routedAgentId]
318
+ .filter((id) => typeof id === "string" && id.trim().length > 0);
319
+ if (!conversation)
320
+ return null;
321
+ for (const candidateAgentId of candidateAgentIds) {
322
+ const agent = await agentsSvc.getById(candidateAgentId);
323
+ if (!agent || agent.orgId !== conversation.orgId)
324
+ continue;
325
+ if (agent.status === "pending_approval" || agent.status === "terminated")
326
+ continue;
327
+ return agent.id;
328
+ }
329
+ return null;
330
+ }
331
+ function hasIssueProposalAssignee(proposal) {
332
+ return Boolean((typeof proposal.assigneeAgentId === "string" && proposal.assigneeAgentId.trim().length > 0)
333
+ || (typeof proposal.assigneeUserId === "string" && proposal.assigneeUserId.trim().length > 0));
334
+ }
335
+ function withDefaultIssueProposalAssignee(structuredPayload, assigneeAgentId) {
336
+ if (!structuredPayload || !assigneeAgentId)
337
+ return structuredPayload ?? null;
338
+ const nestedProposal = structuredPayload.issueProposal
339
+ && typeof structuredPayload.issueProposal === "object"
340
+ && !Array.isArray(structuredPayload.issueProposal)
341
+ ? structuredPayload.issueProposal
342
+ : null;
343
+ const proposal = nestedProposal ?? structuredPayload;
344
+ if (hasIssueProposalAssignee(proposal))
345
+ return structuredPayload;
346
+ if (nestedProposal) {
347
+ return {
348
+ ...structuredPayload,
349
+ issueProposal: {
350
+ ...nestedProposal,
351
+ assigneeAgentId,
352
+ },
353
+ };
354
+ }
355
+ return {
356
+ ...structuredPayload,
357
+ assigneeAgentId,
358
+ };
359
+ }
360
+ function proposedIssuePayload(structuredPayload) {
361
+ if (!structuredPayload)
362
+ return structuredPayload ?? null;
363
+ return structuredPayload.issueProposal
364
+ && typeof structuredPayload.issueProposal === "object"
365
+ && !Array.isArray(structuredPayload.issueProposal)
366
+ && structuredPayload.issueProposal !== null
367
+ ? structuredPayload.issueProposal
368
+ : structuredPayload;
369
+ }
370
+ async function persistAssistantReply(conversation, actor, assistantReply, turnContext, transcript = [], replyingAgentId = assistantReply.replyingAgentId ?? chatReplyingAgentId(conversation), existingMessageId) {
317
371
  const createdMessages = [];
318
372
  const { chatTurnId, turnVariant } = turnContext;
373
+ const saveAssistantMessage = async (input) => {
374
+ if (existingMessageId) {
375
+ const updated = await svc.updateMessage(conversation.id, existingMessageId, {
376
+ kind: input.kind,
377
+ status: "completed",
378
+ body: input.body,
379
+ structuredPayload: input.structuredPayload ?? null,
380
+ transcript,
381
+ approvalId: input.approvalId ?? null,
382
+ replyingAgentId,
383
+ });
384
+ if (updated)
385
+ return updated;
386
+ }
387
+ return svc.addMessage(conversation.id, {
388
+ orgId: conversation.orgId,
389
+ role: "assistant",
390
+ kind: input.kind,
391
+ body: input.body,
392
+ structuredPayload: input.structuredPayload ?? null,
393
+ transcript,
394
+ approvalId: input.approvalId ?? null,
395
+ replyingAgentId,
396
+ chatTurnId,
397
+ turnVariant,
398
+ });
399
+ };
319
400
  if (assistantReply.kind === "issue_proposal") {
401
+ const issueProposalStructuredPayload = withDefaultIssueProposalAssignee(assistantReply.structuredPayload, await defaultIssueAssigneeAgentId(conversation));
320
402
  const shouldAutoCreateIssue = conversation.planMode || conversation.issueCreationMode === "auto_create";
321
403
  if (shouldAutoCreateIssue) {
322
- const proposalMessage = await svc.addMessage(conversation.id, {
323
- orgId: conversation.orgId,
324
- role: "assistant",
404
+ const proposalMessage = await saveAssistantMessage({
325
405
  kind: "issue_proposal",
326
406
  body: assistantReply.body,
327
- structuredPayload: assistantReply.structuredPayload,
328
- transcript,
329
- replyingAgentId,
330
- chatTurnId,
331
- turnVariant,
407
+ structuredPayload: issueProposalStructuredPayload,
332
408
  });
333
409
  createdMessages.push(proposalMessage);
334
410
  const issue = await svc.convertToIssue(conversation.id, {
@@ -369,24 +445,14 @@ export function chatRoutes(db, storage) {
369
445
  requestedByUserId: actor.actorType === "user" ? actor.actorId : null,
370
446
  payload: {
371
447
  chatConversationId: conversation.id,
372
- proposedIssue: assistantReply.structuredPayload &&
373
- typeof assistantReply.structuredPayload.issueProposal === "object" &&
374
- assistantReply.structuredPayload.issueProposal !== null
375
- ? assistantReply.structuredPayload.issueProposal
376
- : assistantReply.structuredPayload,
448
+ proposedIssue: proposedIssuePayload(issueProposalStructuredPayload),
377
449
  },
378
450
  });
379
- const proposalMessage = await svc.addMessage(conversation.id, {
380
- orgId: conversation.orgId,
381
- role: "assistant",
451
+ const proposalMessage = await saveAssistantMessage({
382
452
  kind: "issue_proposal",
383
453
  body: assistantReply.body,
384
- structuredPayload: assistantReply.structuredPayload,
385
- transcript,
454
+ structuredPayload: issueProposalStructuredPayload,
386
455
  approvalId: approval.id,
387
- replyingAgentId,
388
- chatTurnId,
389
- turnVariant,
390
456
  });
391
457
  createdMessages.push(proposalMessage);
392
458
  return createdMessages;
@@ -404,9 +470,7 @@ export function chatRoutes(db, storage) {
404
470
  : assistantReply.structuredPayload,
405
471
  },
406
472
  });
407
- const proposalMessage = await svc.addMessage(conversation.id, {
408
- orgId: conversation.orgId,
409
- role: "assistant",
473
+ const proposalMessage = await saveAssistantMessage({
410
474
  kind: "operation_proposal",
411
475
  body: assistantReply.body,
412
476
  structuredPayload: {
@@ -418,41 +482,46 @@ export function chatRoutes(db, storage) {
418
482
  decidedAt: null,
419
483
  },
420
484
  },
421
- transcript,
422
485
  approvalId: approval.id,
423
- replyingAgentId,
424
- chatTurnId,
425
- turnVariant,
426
486
  });
427
487
  createdMessages.push(proposalMessage);
428
488
  return createdMessages;
429
489
  }
430
- const assistantMessage = await svc.addMessage(conversation.id, {
431
- orgId: conversation.orgId,
432
- role: "assistant",
490
+ const assistantMessage = await saveAssistantMessage({
433
491
  kind: assistantReply.kind === "routing_suggestion" ? "routing_suggestion" : "message",
434
492
  body: assistantReply.body,
435
493
  structuredPayload: assistantReply.structuredPayload,
436
- transcript,
437
- replyingAgentId,
438
- chatTurnId,
439
- turnVariant,
440
494
  });
441
495
  createdMessages.push(assistantMessage);
442
496
  return createdMessages;
443
497
  }
444
- async function persistPartialAssistantMessage(conversation, body, status, turnContext, transcript = [], replyingAgentId = chatReplyingAgentId(conversation)) {
498
+ async function persistPartialAssistantMessage(conversation, body, status, turnContext, transcript = [], replyingAgentId = chatReplyingAgentId(conversation), existingMessageId) {
445
499
  const trimmed = body.trim();
446
- if (!trimmed)
500
+ const fallbackBody = status === "stopped"
501
+ ? "Chat run stopped before a final reply. Continue the conversation to resume from the preserved context."
502
+ : "Chat run failed before a final reply. Continue the conversation to resume from the preserved context.";
503
+ const durableBody = trimmed || (transcript.length > 0 ? fallbackBody : "");
504
+ if (!durableBody)
447
505
  return null;
448
506
  const chatTurnId = turnContext?.chatTurnId ?? randomUUID();
449
507
  const turnVariant = turnContext?.turnVariant ?? 0;
508
+ if (existingMessageId) {
509
+ const updated = await svc.updateMessage(conversation.id, existingMessageId, {
510
+ kind: "message",
511
+ status,
512
+ body: durableBody,
513
+ transcript,
514
+ replyingAgentId,
515
+ });
516
+ if (updated)
517
+ return updated;
518
+ }
450
519
  const message = await svc.addMessage(conversation.id, {
451
520
  orgId: conversation.orgId,
452
521
  role: "assistant",
453
522
  kind: "message",
454
523
  status,
455
- body: trimmed,
524
+ body: durableBody,
456
525
  transcript,
457
526
  replyingAgentId,
458
527
  chatTurnId,
@@ -487,6 +556,13 @@ export function chatRoutes(db, storage) {
487
556
  }
488
557
  const contextLinks = req.body.contextLinks ?? [];
489
558
  await assertContextLinksBelongToCompany(orgId, contextLinks);
559
+ if (req.body.preferredAgentId) {
560
+ const agent = await agentsSvc.getById(req.body.preferredAgentId);
561
+ if (!agent || agent.orgId !== orgId) {
562
+ res.status(422).json({ error: "Preferred agent must belong to the same organization" });
563
+ return;
564
+ }
565
+ }
490
566
  const actor = getActorInfo(req);
491
567
  const conversation = await svc.create(orgId, {
492
568
  title: req.body.title,
@@ -578,6 +654,9 @@ export function chatRoutes(db, storage) {
578
654
  res.status(404).json({ error: "Chat conversation not found" });
579
655
  return;
580
656
  }
657
+ if (!hasActiveChatGeneration(conversation.id)) {
658
+ await svc.markInterruptedStreamingMessages(conversation.id);
659
+ }
581
660
  const messages = await svc.listMessages(conversation.id);
582
661
  res.json(messages);
583
662
  });
@@ -786,6 +865,41 @@ export function chatRoutes(db, storage) {
786
865
  let chatObservation = null;
787
866
  const transcript = [];
788
867
  const observedTranscript = [];
868
+ let assistantProgressMessage = null;
869
+ let assistantProgressMessageId = null;
870
+ let assistantDraftBody = "";
871
+ const persistStreamProgress = async (progressConversation, replyingAgentId = chatReplyingAgentId(progressConversation)) => {
872
+ if (!turnContextForPartial)
873
+ return null;
874
+ const input = {
875
+ kind: "message",
876
+ status: "streaming",
877
+ body: assistantDraftBody,
878
+ transcript,
879
+ replyingAgentId,
880
+ };
881
+ if (assistantProgressMessage) {
882
+ const updated = await svc.updateMessage(progressConversation.id, assistantProgressMessage.id, input);
883
+ if (updated) {
884
+ assistantProgressMessage = updated;
885
+ assistantProgressMessageId = assistantProgressMessage.id;
886
+ return assistantProgressMessage;
887
+ }
888
+ }
889
+ assistantProgressMessage = await svc.addMessage(progressConversation.id, {
890
+ orgId: progressConversation.orgId,
891
+ role: "assistant",
892
+ kind: "message",
893
+ status: "streaming",
894
+ body: assistantDraftBody,
895
+ transcript,
896
+ replyingAgentId,
897
+ chatTurnId: turnContextForPartial.chatTurnId,
898
+ turnVariant: turnContextForPartial.turnVariant,
899
+ });
900
+ assistantProgressMessageId = assistantProgressMessage.id;
901
+ return assistantProgressMessage;
902
+ };
789
903
  let clientClosed = false;
790
904
  const handleClosed = () => {
791
905
  if (clientClosed || res.writableEnded)
@@ -851,12 +965,17 @@ export function chatRoutes(db, storage) {
851
965
  updateExecutionTraceIO(observation, { input: currentChatTraceInput });
852
966
  },
853
967
  onAssistantDelta: async (delta) => {
968
+ assistantDraftBody = `${assistantDraftBody}${delta}`;
969
+ await persistStreamProgress(assistantInput.conversation);
970
+ if (clientClosed)
971
+ return;
854
972
  writeStreamEvent(res, {
855
973
  type: "assistant_delta",
856
974
  delta,
857
975
  });
858
976
  },
859
977
  onAssistantState: async (state) => {
978
+ await persistStreamProgress(assistantInput.conversation);
860
979
  if (clientClosed)
861
980
  return;
862
981
  writeStreamEvent(res, {
@@ -866,6 +985,7 @@ export function chatRoutes(db, storage) {
866
985
  },
867
986
  onTranscriptEntry: async (entry) => {
868
987
  transcript.push(entry);
988
+ await persistStreamProgress(assistantInput.conversation);
869
989
  if (clientClosed)
870
990
  return;
871
991
  writeStreamEvent(res, {
@@ -880,7 +1000,7 @@ export function chatRoutes(db, storage) {
880
1000
  if (streamed.outcome === "stopped") {
881
1001
  finalChatStatus = "stopped";
882
1002
  finalChatOutput = streamed.partialBody;
883
- const stoppedMessage = await persistPartialAssistantMessage(assistantInput.conversation, streamed.partialBody, "stopped", turnContextForPartial, transcript, streamed.replyingAgentId);
1003
+ const stoppedMessage = await persistPartialAssistantMessage(assistantInput.conversation, streamed.partialBody, "stopped", turnContextForPartial, transcript, streamed.replyingAgentId, assistantProgressMessageId);
884
1004
  if (stoppedMessage) {
885
1005
  await logChatMessagesAdded(assistantInput.conversation, [stoppedMessage], {
886
1006
  actorType: "system",
@@ -906,7 +1026,7 @@ export function chatRoutes(db, storage) {
906
1026
  }
907
1027
  return;
908
1028
  }
909
- const createdMessages = await persistAssistantReply(assistantInput.conversation, actor, streamed.reply, turnContextForPartial, transcript, streamed.replyingAgentId);
1029
+ const createdMessages = await persistAssistantReply(assistantInput.conversation, actor, streamed.reply, turnContextForPartial, transcript, streamed.replyingAgentId, assistantProgressMessageId);
910
1030
  finalChatOutput = streamed.reply.body;
911
1031
  await logChatMessagesAdded(assistantInput.conversation, createdMessages, {
912
1032
  actorType: "system",
@@ -970,7 +1090,7 @@ export function chatRoutes(db, storage) {
970
1090
  catch (err) {
971
1091
  const partialBody = err instanceof ChatAssistantStreamError ? err.partialBody : "";
972
1092
  const failedReplyingAgentId = chatReplyingAgentId(assistantConversationForPartial);
973
- const failedMessage = await persistPartialAssistantMessage(assistantConversationForPartial ?? conversation, partialBody, "failed", turnContextForPartial, transcript, failedReplyingAgentId).catch(() => null);
1093
+ const failedMessage = await persistPartialAssistantMessage(assistantConversationForPartial ?? conversation, partialBody, "failed", turnContextForPartial, transcript, failedReplyingAgentId, assistantProgressMessageId).catch(() => null);
974
1094
  if (failedMessage && assistantConversationForPartial) {
975
1095
  await logChatMessagesAdded(assistantConversationForPartial, [failedMessage], {
976
1096
  actorType: "system",
@@ -1 +1 @@
1
- {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/routes/chats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chats.js","sourceRoot":"","sources":["../../src/routes/chats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"costs.d.ts","sourceRoot":"","sources":["../../src/routes/costs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAsBvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,8CAsThC"}
1
+ {"version":3,"file":"costs.d.ts","sourceRoot":"","sources":["../../src/routes/costs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAsBvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,8CA4UhC"}
@@ -87,6 +87,18 @@ export function costRoutes(db) {
87
87
  }
88
88
  return limit;
89
89
  }
90
+ function firstQueryValue(value) {
91
+ const raw = Array.isArray(value) ? value[0] : value;
92
+ if (typeof raw !== "string")
93
+ return undefined;
94
+ const trimmed = raw.trim();
95
+ return trimmed.length > 0 ? trimmed : undefined;
96
+ }
97
+ function parseTrendFilter(query) {
98
+ const agentId = firstQueryValue(query.agentId);
99
+ const projectId = firstQueryValue(query.projectId);
100
+ return agentId || projectId ? { agentId, projectId } : undefined;
101
+ }
90
102
  router.get("/orgs/:orgId/costs/summary", async (req, res) => {
91
103
  const orgId = req.params.orgId;
92
104
  assertCompanyAccess(req, orgId);
@@ -101,6 +113,14 @@ export function costRoutes(db) {
101
113
  const rows = await costs.byAgent(orgId, range);
102
114
  res.json(rows);
103
115
  });
116
+ router.get("/orgs/:orgId/costs/trend", async (req, res) => {
117
+ const orgId = req.params.orgId;
118
+ assertCompanyAccess(req, orgId);
119
+ const range = parseDateRange(req.query);
120
+ const filter = parseTrendFilter(req.query);
121
+ const rows = await costs.trend(orgId, range, filter);
122
+ res.json(rows);
123
+ });
104
124
  router.get("/orgs/:orgId/costs/by-agent-model", async (req, res) => {
105
125
  const orgId = req.params.orgId;
106
126
  assertCompanyAccess(req, orgId);