@rudderhq/server 0.2.1 → 0.2.2-canary.0

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 (190) hide show
  1. package/dist/bundled-plugins/plugin-linear/dist/worker.js +46 -1
  2. package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +2 -2
  3. package/dist/routes/agents.d.ts.map +1 -1
  4. package/dist/routes/agents.js +6 -0
  5. package/dist/routes/agents.js.map +1 -1
  6. package/dist/routes/chats.d.ts.map +1 -1
  7. package/dist/routes/chats.js +10 -1
  8. package/dist/routes/chats.js.map +1 -1
  9. package/dist/services/calendar.d.ts +2 -2
  10. package/dist/services/chat-assistant.d.ts +3 -2
  11. package/dist/services/chat-assistant.d.ts.map +1 -1
  12. package/dist/services/chat-assistant.js +227 -84
  13. package/dist/services/chat-assistant.js.map +1 -1
  14. package/dist/services/chats.d.ts +2 -2
  15. package/dist/services/chats.d.ts.map +1 -1
  16. package/dist/services/chats.js +5 -5
  17. package/dist/services/chats.js.map +1 -1
  18. package/dist/services/costs.d.ts +5 -1
  19. package/dist/services/costs.d.ts.map +1 -1
  20. package/dist/services/costs.js +40 -24
  21. package/dist/services/costs.js.map +1 -1
  22. package/dist/services/finance.d.ts +2 -2
  23. package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
  24. package/dist/services/knowledge-portability/organization-skills.js +0 -5
  25. package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
  26. package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
  27. package/dist/services/runtime-kernel/heartbeat.js +11 -5
  28. package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
  29. package/dist/services/workspace-runtime.d.ts +1 -1
  30. package/package.json +14 -14
  31. package/resources/bundled-skills/conversation-to-skill/LICENSE.txt +202 -0
  32. package/resources/bundled-skills/conversation-to-skill/SKILL.md +428 -0
  33. package/resources/bundled-skills/conversation-to-skill/agents/analyzer.md +274 -0
  34. package/resources/bundled-skills/conversation-to-skill/agents/comparator.md +202 -0
  35. package/resources/bundled-skills/conversation-to-skill/agents/grader.md +223 -0
  36. package/resources/bundled-skills/conversation-to-skill/assets/eval_review.html +146 -0
  37. package/resources/bundled-skills/conversation-to-skill/eval-viewer/generate_review.py +471 -0
  38. package/resources/bundled-skills/conversation-to-skill/eval-viewer/viewer.html +1325 -0
  39. package/resources/bundled-skills/conversation-to-skill/references/compatibility.md +36 -0
  40. package/resources/bundled-skills/conversation-to-skill/references/description-optimization.md +113 -0
  41. package/resources/bundled-skills/conversation-to-skill/references/evaluation-suite.md +410 -0
  42. package/resources/bundled-skills/conversation-to-skill/references/schemas.md +431 -0
  43. package/resources/bundled-skills/conversation-to-skill/scripts/__init__.py +0 -0
  44. package/resources/bundled-skills/conversation-to-skill/scripts/aggregate_benchmark.py +401 -0
  45. package/resources/bundled-skills/conversation-to-skill/scripts/generate_report.py +335 -0
  46. package/resources/bundled-skills/conversation-to-skill/scripts/improve_description.py +197 -0
  47. package/resources/bundled-skills/conversation-to-skill/scripts/model_backends.py +115 -0
  48. package/resources/bundled-skills/conversation-to-skill/scripts/package_skill.py +136 -0
  49. package/resources/bundled-skills/conversation-to-skill/scripts/quick_validate.py +103 -0
  50. package/resources/bundled-skills/conversation-to-skill/scripts/run_eval.py +363 -0
  51. package/resources/bundled-skills/conversation-to-skill/scripts/run_loop.py +319 -0
  52. package/resources/bundled-skills/conversation-to-skill/scripts/utils.py +223 -0
  53. package/resources/bundled-skills/rudder/references/organization-skills.md +1 -1
  54. package/resources/bundled-skills/skill-optimizer/CHANGELOG.md +29 -0
  55. package/resources/bundled-skills/skill-optimizer/SKILL.md +205 -0
  56. package/resources/bundled-skills/skill-optimizer/references/adapters/creative-brand-content.md +30 -0
  57. package/resources/bundled-skills/skill-optimizer/references/adapters/customer-support-sales.md +30 -0
  58. package/resources/bundled-skills/skill-optimizer/references/adapters/document-data-processing.md +31 -0
  59. package/resources/bundled-skills/skill-optimizer/references/adapters/education-training.md +31 -0
  60. package/resources/bundled-skills/skill-optimizer/references/adapters/finance-accounting.md +31 -0
  61. package/resources/bundled-skills/skill-optimizer/references/adapters/healthcare-operations.md +30 -0
  62. package/resources/bundled-skills/skill-optimizer/references/adapters/hr-people-ops.md +31 -0
  63. package/resources/bundled-skills/skill-optimizer/references/adapters/legal-compliance.md +31 -0
  64. package/resources/bundled-skills/skill-optimizer/references/adapters/operations-supply-chain.md +31 -0
  65. package/resources/bundled-skills/skill-optimizer/references/adapters/personal-productivity.md +29 -0
  66. package/resources/bundled-skills/skill-optimizer/references/adapters/research-knowledge.md +31 -0
  67. package/resources/bundled-skills/skill-optimizer/references/adapters/software-ai.md +31 -0
  68. package/resources/bundled-skills/skill-optimizer/references/domain-adapter-patterns.md +66 -0
  69. package/resources/bundled-skills/skill-optimizer/references/eval-method.md +17 -0
  70. package/resources/bundled-skills/skill-optimizer/references/universal-optimization-lens.md +73 -0
  71. package/skills/conversation-to-skill/LICENSE.txt +202 -0
  72. package/skills/conversation-to-skill/SKILL.md +428 -0
  73. package/skills/conversation-to-skill/agents/analyzer.md +274 -0
  74. package/skills/conversation-to-skill/agents/comparator.md +202 -0
  75. package/skills/conversation-to-skill/agents/grader.md +223 -0
  76. package/skills/conversation-to-skill/assets/eval_review.html +146 -0
  77. package/skills/conversation-to-skill/eval-viewer/generate_review.py +471 -0
  78. package/skills/conversation-to-skill/eval-viewer/viewer.html +1325 -0
  79. package/skills/conversation-to-skill/references/compatibility.md +36 -0
  80. package/skills/conversation-to-skill/references/description-optimization.md +113 -0
  81. package/skills/conversation-to-skill/references/evaluation-suite.md +410 -0
  82. package/skills/conversation-to-skill/references/schemas.md +431 -0
  83. package/skills/conversation-to-skill/scripts/__init__.py +0 -0
  84. package/skills/conversation-to-skill/scripts/aggregate_benchmark.py +401 -0
  85. package/skills/conversation-to-skill/scripts/generate_report.py +335 -0
  86. package/skills/conversation-to-skill/scripts/improve_description.py +197 -0
  87. package/skills/conversation-to-skill/scripts/model_backends.py +115 -0
  88. package/skills/conversation-to-skill/scripts/package_skill.py +136 -0
  89. package/skills/conversation-to-skill/scripts/quick_validate.py +103 -0
  90. package/skills/conversation-to-skill/scripts/run_eval.py +363 -0
  91. package/skills/conversation-to-skill/scripts/run_loop.py +319 -0
  92. package/skills/conversation-to-skill/scripts/utils.py +223 -0
  93. package/skills/rudder/references/organization-skills.md +1 -1
  94. package/skills/skill-creator/SKILL.md +9 -0
  95. package/skills/skill-optimizer/CHANGELOG.md +29 -0
  96. package/skills/skill-optimizer/SKILL.md +205 -0
  97. package/skills/skill-optimizer/references/adapters/creative-brand-content.md +30 -0
  98. package/skills/skill-optimizer/references/adapters/customer-support-sales.md +30 -0
  99. package/skills/skill-optimizer/references/adapters/document-data-processing.md +31 -0
  100. package/skills/skill-optimizer/references/adapters/education-training.md +31 -0
  101. package/skills/skill-optimizer/references/adapters/finance-accounting.md +31 -0
  102. package/skills/skill-optimizer/references/adapters/healthcare-operations.md +30 -0
  103. package/skills/skill-optimizer/references/adapters/hr-people-ops.md +31 -0
  104. package/skills/skill-optimizer/references/adapters/legal-compliance.md +31 -0
  105. package/skills/skill-optimizer/references/adapters/operations-supply-chain.md +31 -0
  106. package/skills/skill-optimizer/references/adapters/personal-productivity.md +29 -0
  107. package/skills/skill-optimizer/references/adapters/research-knowledge.md +31 -0
  108. package/skills/skill-optimizer/references/adapters/software-ai.md +31 -0
  109. package/skills/skill-optimizer/references/domain-adapter-patterns.md +66 -0
  110. package/skills/skill-optimizer/references/eval-method.md +17 -0
  111. package/skills/skill-optimizer/references/universal-optimization-lens.md +73 -0
  112. package/ui-dist/assets/{_basePickBy-EvWeCTRb.js → _basePickBy-KagyiHzG.js} +1 -1
  113. package/ui-dist/assets/{_baseUniq-C_DXAETg.js → _baseUniq-BPYfDTiR.js} +1 -1
  114. package/ui-dist/assets/{arc-BWTkVM-u.js → arc-CcjiOEQt.js} +1 -1
  115. package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-yyX54Dgl.js → architectureDiagram-2XIMDMQ5-DOaccv4u.js} +1 -1
  116. package/ui-dist/assets/{blockDiagram-WCTKOSBZ-DleWvS8P.js → blockDiagram-WCTKOSBZ-DvXSGndm.js} +1 -1
  117. package/ui-dist/assets/{c4Diagram-IC4MRINW-CltWqWC_.js → c4Diagram-IC4MRINW-2B2GXk_A.js} +1 -1
  118. package/ui-dist/assets/channel-CVCjQDZl.js +1 -0
  119. package/ui-dist/assets/{chunk-4BX2VUAB-CA6RvGN7.js → chunk-4BX2VUAB-DWTjna8A.js} +1 -1
  120. package/ui-dist/assets/{chunk-55IACEB6-D_EpF39w.js → chunk-55IACEB6-xVyA-7YX.js} +1 -1
  121. package/ui-dist/assets/{chunk-FMBD7UC4-CYMkBnLy.js → chunk-FMBD7UC4-CiD1KFdC.js} +1 -1
  122. package/ui-dist/assets/{chunk-JSJVCQXG-CIY2Cb1T.js → chunk-JSJVCQXG-DYqmoF1C.js} +1 -1
  123. package/ui-dist/assets/{chunk-KX2RTZJC-BUyGoIKj.js → chunk-KX2RTZJC-CNid5Dj6.js} +1 -1
  124. package/ui-dist/assets/{chunk-NQ4KR5QH-DkntSLtY.js → chunk-NQ4KR5QH-Kd82Ay9G.js} +1 -1
  125. package/ui-dist/assets/{chunk-QZHKN3VN-DeEs3yL0.js → chunk-QZHKN3VN-BbO9AFIk.js} +1 -1
  126. package/ui-dist/assets/{chunk-WL4C6EOR-Va8TkdTb.js → chunk-WL4C6EOR-Dr1Dd1io.js} +1 -1
  127. package/ui-dist/assets/classDiagram-VBA2DB6C-BQquhz2X.js +1 -0
  128. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-BQquhz2X.js +1 -0
  129. package/ui-dist/assets/clone-BywvE93h.js +1 -0
  130. package/ui-dist/assets/{cose-bilkent-S5V4N54A-Bb6NLaVm.js → cose-bilkent-S5V4N54A-bLbN_sRD.js} +1 -1
  131. package/ui-dist/assets/{dagre-KLK3FWXG-DpqLnZ3A.js → dagre-KLK3FWXG-CI5PwDky.js} +1 -1
  132. package/ui-dist/assets/{diagram-E7M64L7V-D7J8NbEW.js → diagram-E7M64L7V-Dl6VGzTx.js} +1 -1
  133. package/ui-dist/assets/{diagram-IFDJBPK2-Ds2u81Zi.js → diagram-IFDJBPK2-3nDx4XyJ.js} +1 -1
  134. package/ui-dist/assets/{diagram-P4PSJMXO-BwBplO7L.js → diagram-P4PSJMXO-CEZXRzWl.js} +1 -1
  135. package/ui-dist/assets/{erDiagram-INFDFZHY-Ba-Ynr8U.js → erDiagram-INFDFZHY-BaAxeQz2.js} +1 -1
  136. package/ui-dist/assets/{flowDiagram-PKNHOUZH-FnOXpXb_.js → flowDiagram-PKNHOUZH-B7sA3Z0f.js} +1 -1
  137. package/ui-dist/assets/{ganttDiagram-A5KZAMGK-B8-MpUjy.js → ganttDiagram-A5KZAMGK-4tyiiGOl.js} +1 -1
  138. package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-DvyBGQTF.js → gitGraphDiagram-K3NZZRJ6-9g8uW00q.js} +1 -1
  139. package/ui-dist/assets/{graph-BdpIVR-I.js → graph-D-8vmEB5.js} +1 -1
  140. package/ui-dist/assets/{index-CkEo4bIl.js → index-6ZyZFzji.js} +1 -1
  141. package/ui-dist/assets/{index-BO-P9C91.js → index-B-5Jo4iX.js} +1 -1
  142. package/ui-dist/assets/{index-CvzsgQH3.js → index-BEf8MUMT.js} +1 -1
  143. package/ui-dist/assets/{index-B5Lq7qho.js → index-BHB5PVBI.js} +1 -1
  144. package/ui-dist/assets/{index-Bp3rYm9R.js → index-BNEuVu_E.js} +1 -1
  145. package/ui-dist/assets/{index-Dys_qAzR.js → index-BSmqhPYy.js} +1 -1
  146. package/ui-dist/assets/{index-BKWZYXO6.js → index-Bnsobn_r.js} +1 -1
  147. package/ui-dist/assets/{index-Bd_GitJ7.js → index-BtXjCYE7.js} +1 -1
  148. package/ui-dist/assets/{index-DF0X3XZi.js → index-C2f-e4Eo.js} +1 -1
  149. package/ui-dist/assets/{index-DNFqhIup.js → index-CU9vqcq_.js} +1 -1
  150. package/ui-dist/assets/{index-DzKALBsQ.js → index-CWQI5WeL.js} +1 -1
  151. package/ui-dist/assets/{index-baeevrWz.js → index-CjVbUQzD.js} +1 -1
  152. package/ui-dist/assets/{index-bs5pLhnN.js → index-DO6mvPTk.js} +1 -1
  153. package/ui-dist/assets/{index-ChyWxMPa.js → index-Dj1YVZbo.js} +1 -1
  154. package/ui-dist/assets/{index-3CPMGfu4.js → index-Dl0NHY96.js} +1 -1
  155. package/ui-dist/assets/{index-CBAKsDOH.js → index-DqWohSgJ.js} +1 -1
  156. package/ui-dist/assets/{index-Ce0xbQ5p.js → index-DwRTgeXv.js} +1 -1
  157. package/ui-dist/assets/index-F9VXJ2Ff.css +1 -0
  158. package/ui-dist/assets/{index-CWPEuLky.js → index-IHk0aS9y.js} +1 -1
  159. package/ui-dist/assets/{index-B4seykMn.js → index-OLvn0_nm.js} +1 -1
  160. package/ui-dist/assets/{index-BeyQP4jc.js → index-QX72-u7l.js} +1 -1
  161. package/ui-dist/assets/{index-BO9KiNr0.js → index-ZkbGu3Do.js} +1 -1
  162. package/ui-dist/assets/{index-Dfi8PbGx.js → index-e8o1Rkk2.js} +348 -347
  163. package/ui-dist/assets/{index-Qe9bMaYk.js → index-h0u686hf.js} +1 -1
  164. package/ui-dist/assets/{infoDiagram-LFFYTUFH-51Iz4iFI.js → infoDiagram-LFFYTUFH-07zrNyQS.js} +1 -1
  165. package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-XMkPw0tW.js → ishikawaDiagram-PHBUUO56-BcAJYcEE.js} +1 -1
  166. package/ui-dist/assets/{journeyDiagram-4ABVD52K-DAX0bTCG.js → journeyDiagram-4ABVD52K-By7zZIrl.js} +1 -1
  167. package/ui-dist/assets/{kanban-definition-K7BYSVSG-DndcgBkd.js → kanban-definition-K7BYSVSG-oEsIWPFe.js} +1 -1
  168. package/ui-dist/assets/{layout-DE8DhR5g.js → layout-nQfjTWrM.js} +1 -1
  169. package/ui-dist/assets/{linear-B6lAW9Wb.js → linear-DpTr8d60.js} +1 -1
  170. package/ui-dist/assets/{mermaid.core-BG--kYhA.js → mermaid.core-Chb9K9iN.js} +4 -4
  171. package/ui-dist/assets/{mindmap-definition-YRQLILUH-DkjV0oE3.js → mindmap-definition-YRQLILUH-DlSuA6tR.js} +1 -1
  172. package/ui-dist/assets/{pieDiagram-SKSYHLDU-D03TjqYu.js → pieDiagram-SKSYHLDU-2tFA6U4b.js} +1 -1
  173. package/ui-dist/assets/{quadrantDiagram-337W2JSQ-C0oqv-xU.js → quadrantDiagram-337W2JSQ-Dik9kcs-.js} +1 -1
  174. package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-okIS8feM.js → requirementDiagram-Z7DCOOCP-Bd6A3-fD.js} +1 -1
  175. package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-WOnxUdkO.js → sankeyDiagram-WA2Y5GQK-Bcp2uMWq.js} +1 -1
  176. package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-RVCXfMRR.js → sequenceDiagram-2WXFIKYE-SFcVcp8f.js} +1 -1
  177. package/ui-dist/assets/{stateDiagram-RAJIS63D-CZFHvVtT.js → stateDiagram-RAJIS63D-Bs8RHdZ6.js} +1 -1
  178. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-HWYeVIq2.js +1 -0
  179. package/ui-dist/assets/{timeline-definition-YZTLITO2-S0uy5mlJ.js → timeline-definition-YZTLITO2-D4266Sl9.js} +1 -1
  180. package/ui-dist/assets/{treemap-KZPCXAKY-Bhyg_yHs.js → treemap-KZPCXAKY-DQVyV-bv.js} +1 -1
  181. package/ui-dist/assets/{vennDiagram-LZ73GAT5-EnVupOQz.js → vennDiagram-LZ73GAT5-CVnW32Z3.js} +1 -1
  182. package/ui-dist/assets/{xychartDiagram-JWTSCODW-BYpdJxGK.js → xychartDiagram-JWTSCODW-DIxRD4bq.js} +1 -1
  183. package/ui-dist/index.html +2 -2
  184. package/ui-dist/assets/channel-Gdzxe2a1.js +0 -1
  185. package/ui-dist/assets/classDiagram-VBA2DB6C-BN6WyuN3.js +0 -1
  186. package/ui-dist/assets/classDiagram-v2-RAHNMMFH-BN6WyuN3.js +0 -1
  187. package/ui-dist/assets/clone-DL9OCUyP.js +0 -1
  188. package/ui-dist/assets/index-44A3IjSd.css +0 -1
  189. package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-DgYYudAJ.js +0 -1
  190. /package/resources/{community-skills → bundled-skills}/skill-creator/SKILL.md +0 -0
@@ -1,4 +1,10 @@
1
+ import { createWriteStream } from "node:fs";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
1
5
  import { randomUUID } from "node:crypto";
6
+ import { pipeline } from "node:stream/promises";
7
+ import { chatAskUserRequestFromStructuredPayload, sanitizeChatStructuredPayload } from "@rudderhq/shared";
2
8
  import { findServerAdapter } from "../agent-runtimes/index.js";
3
9
  import { agentRunContextService } from "./agent-run-context.js";
4
10
  import { agentService } from "./agents.js";
@@ -53,7 +59,7 @@ function unavailableAgentDescriptor(input) {
53
59
  error: input.error,
54
60
  };
55
61
  }
56
- function buildPrompt(input) {
62
+ function buildPrompt(input, attachmentReferences = new Map()) {
57
63
  const contextSummary = input.contextLinks.map((link) => ({
58
64
  entityType: link.entityType,
59
65
  entityId: link.entityId,
@@ -68,16 +74,19 @@ function buildPrompt(input) {
68
74
  kind: message.kind,
69
75
  status: message.status,
70
76
  body: message.body,
71
- attachments: message.attachments.map((attachment) => ({
72
- id: attachment.id,
73
- assetId: attachment.assetId,
74
- name: attachment.originalFilename ?? attachment.assetId,
75
- contentType: attachment.contentType,
76
- byteSize: attachment.byteSize,
77
- contentPath: attachment.contentPath,
78
- fetchUrl: `$RUDDER_API_URL${attachment.contentPath}`,
79
- downloadCommand: `curl -L -H "Authorization: Bearer $RUDDER_API_KEY" "$RUDDER_API_URL${attachment.contentPath}" -o ${attachment.originalFilename ?? attachment.assetId}`,
80
- })),
77
+ attachments: message.attachments.map((attachment) => {
78
+ const reference = attachmentReferences.get(attachment.id);
79
+ return {
80
+ id: attachment.id,
81
+ assetId: attachment.assetId,
82
+ name: attachment.originalFilename ?? attachment.assetId,
83
+ contentType: attachment.contentType,
84
+ byteSize: attachment.byteSize,
85
+ contentPath: attachment.contentPath,
86
+ ...(reference?.localPath ? { localPath: reference.localPath } : {}),
87
+ ...(reference?.localPathError ? { localPathError: reference.localPathError } : {}),
88
+ };
89
+ }),
81
90
  structuredPayload: message.structuredPayload,
82
91
  }));
83
92
  return JSON.stringify({
@@ -96,20 +105,32 @@ function buildPrompt(input) {
96
105
  recentMessages: history,
97
106
  }, null, 2);
98
107
  }
99
- function buildCurrentUserAttachmentPromptSection(messages) {
108
+ function buildCurrentUserAttachmentPromptSection(messages, attachmentReferences = new Map()) {
100
109
  for (let index = messages.length - 1; index >= 0; index -= 1) {
101
110
  const message = messages[index];
102
111
  if (message.role !== "user" || message.attachments.length === 0)
103
112
  continue;
104
113
  const lines = [
105
114
  "Current user message attachments:",
106
- `- The latest user message includes ${message.attachments.length} attachment(s). Inspect them before answering.`,
115
+ `- The latest user message includes ${message.attachments.length} attachment(s). Inspect any listed localPath directly before answering.`,
107
116
  `- User message body: ${JSON.stringify(summarizeBody(message.body))}`,
108
117
  ...message.attachments.map((attachment, attachmentIndex) => {
109
118
  const name = attachment.originalFilename ?? attachment.assetId;
110
- const fetchUrl = `$RUDDER_API_URL${attachment.contentPath}`;
111
- const downloadCommand = `curl -L -H "Authorization: Bearer $RUDDER_API_KEY" "${fetchUrl}" -o ${name}`;
112
- return `- [${attachmentIndex + 1}] name=${name}; contentType=${attachment.contentType}; byteSize=${attachment.byteSize}; contentPath=${attachment.contentPath}; fetchUrl=${fetchUrl}; downloadCommand=${downloadCommand}`;
119
+ const reference = attachmentReferences.get(attachment.id);
120
+ const parts = [
121
+ `name=${name}`,
122
+ `contentType=${attachment.contentType}`,
123
+ `byteSize=${attachment.byteSize}`,
124
+ `contentPath=${attachment.contentPath}`,
125
+ ];
126
+ if (reference?.localPath) {
127
+ parts.push(`localPath=${reference.localPath}`);
128
+ parts.push("runtimeReference=local_image_file");
129
+ }
130
+ else if (reference?.localPathError) {
131
+ parts.push(`localPathError=${reference.localPathError}`);
132
+ }
133
+ return `- [${attachmentIndex + 1}] ${parts.join("; ")}`;
113
134
  }),
114
135
  ];
115
136
  return lines.join("\n");
@@ -202,9 +223,10 @@ function buildBaseSystemPromptSections(runtimeSource, resultSentinel) {
202
223
  "This is the dedicated chat scene. Do not use heartbeat issue bootstrap framing.",
203
224
  "Always reply in the same language as the user's most recent substantive message unless they explicitly ask for a different language.",
204
225
  "Always prefer clarification before proposing issue creation when requirements are incomplete.",
205
- "Treat message attachments as part of the user's message. If an image attachment is present, fetch or inspect it before claiming you cannot see the image.",
206
- "Attachment URLs in the conversation input are relative to $RUDDER_API_URL and require Authorization: Bearer $RUDDER_API_KEY when fetched from tools.",
226
+ "Treat message attachments as part of the user's message. If an image attachment includes localPath metadata, inspect that local file before claiming you cannot see the image.",
227
+ "Do not expose internal attachment retrieval commands or auth-bearing asset fetch instructions to the user.",
207
228
  "Use result kind 'message' for clarification, summaries, and small requests that can stay in chat.",
229
+ "Use result kind 'ask_user' only when one to three short structured questions are blocked on the user's decision before the conversation can continue safely.",
208
230
  "Use result kind 'issue_proposal' for larger work that should become an issue.",
209
231
  "Reply in two phases.",
210
232
  "Phase 1: while you work, write concise progress updates in Markdown with no JSON fences. These are process transcript entries, not the final answer.",
@@ -252,6 +274,39 @@ function buildResponseSchemaPromptSection(planMode) {
252
274
  agentId: "optional uuid",
253
275
  reason: "short explanation",
254
276
  },
277
+ requestUserInput: {
278
+ questions: [
279
+ {
280
+ id: "stable_question_id",
281
+ header: "optional short header",
282
+ question: "required short question",
283
+ options: [
284
+ {
285
+ id: "stable_option_id",
286
+ label: "required short option label",
287
+ description: "optional short tradeoff",
288
+ recommended: false,
289
+ },
290
+ ],
291
+ allowFreeform: true,
292
+ },
293
+ ],
294
+ },
295
+ richReferences: [
296
+ {
297
+ type: "issue",
298
+ issueId: "optional issue uuid",
299
+ identifier: "optional issue identifier such as ZST-153",
300
+ display: "card|inline",
301
+ },
302
+ {
303
+ type: "issue_comment",
304
+ issueId: "optional issue uuid",
305
+ identifier: "optional issue identifier such as ZST-153",
306
+ commentId: "required comment uuid",
307
+ display: "card|inline",
308
+ },
309
+ ],
255
310
  },
256
311
  }, null, 2),
257
312
  ].join("\n");
@@ -369,30 +424,100 @@ function extractGeneratedAttachments(result) {
369
424
  }
370
425
  return attachments;
371
426
  }
427
+ function isImageAttachment(attachment) {
428
+ return attachment.contentType.toLowerCase().startsWith("image/");
429
+ }
430
+ function extensionForContentType(contentType) {
431
+ switch (contentType.toLowerCase()) {
432
+ case "image/png":
433
+ return ".png";
434
+ case "image/jpeg":
435
+ case "image/jpg":
436
+ return ".jpg";
437
+ case "image/webp":
438
+ return ".webp";
439
+ case "image/gif":
440
+ return ".gif";
441
+ case "image/svg+xml":
442
+ return ".svg";
443
+ default:
444
+ return "";
445
+ }
446
+ }
447
+ function safeAttachmentFilename(attachment, index) {
448
+ const fallbackExt = extensionForContentType(attachment.contentType);
449
+ const sourceName = attachment.originalFilename ?? `${attachment.assetId}${fallbackExt}`;
450
+ const base = path.basename(sourceName).trim();
451
+ const cleaned = base
452
+ .replace(/[^a-zA-Z0-9._-]+/g, "_")
453
+ .replace(/_{2,}/g, "_")
454
+ .replace(/^_+|_+$/g, "");
455
+ const filename = cleaned || `attachment-${index + 1}${fallbackExt}`;
456
+ const hasExt = path.extname(filename).length > 0;
457
+ const withExt = hasExt || !fallbackExt ? filename : `${filename}${fallbackExt}`;
458
+ return `${String(index + 1).padStart(2, "0")}-${attachment.id.replace(/[^a-zA-Z0-9._-]+/g, "_")}-${withExt}`.slice(0, 180);
459
+ }
460
+ async function prepareChatAttachmentReferences(input) {
461
+ const references = new Map();
462
+ if (input.runtimeType !== "codex_local" || !input.storage) {
463
+ return { references, cleanup: async () => { } };
464
+ }
465
+ const attachments = input.messages
466
+ .slice(-12)
467
+ .flatMap((message) => message.attachments)
468
+ .filter(isImageAttachment);
469
+ if (attachments.length === 0) {
470
+ return { references, cleanup: async () => { } };
471
+ }
472
+ const safeRunId = input.runId.replace(/[^a-zA-Z0-9._-]+/g, "_");
473
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), `rudder-chat-attachments-${safeRunId}-`));
474
+ await Promise.all(attachments.map(async (attachment, index) => {
475
+ const targetPath = path.join(dir, safeAttachmentFilename(attachment, index));
476
+ try {
477
+ const object = await input.storage.getObject(attachment.orgId, attachment.objectKey);
478
+ await pipeline(object.stream, createWriteStream(targetPath, { mode: 0o600 }));
479
+ references.set(attachment.id, { localPath: targetPath });
480
+ }
481
+ catch (error) {
482
+ references.set(attachment.id, {
483
+ localPathError: error instanceof Error ? error.message : "Failed to prepare image attachment",
484
+ });
485
+ }
486
+ }));
487
+ return {
488
+ references,
489
+ cleanup: async () => {
490
+ await fs.rm(dir, { recursive: true, force: true });
491
+ },
492
+ };
493
+ }
372
494
  function validateAssistantResult(payload, options = {}) {
373
495
  const kind = typeof payload.kind === "string" ? payload.kind : "message";
374
496
  const payloadBody = typeof payload.body === "string" ? payload.body.trim() : "";
375
497
  const body = options.bodyOverride?.trim() || payloadBody || options.bodyFallback?.trim() || "";
376
498
  const structuredPayload = payload.structuredPayload && typeof payload.structuredPayload === "object" && !Array.isArray(payload.structuredPayload)
377
- ? payload.structuredPayload
499
+ ? sanitizeChatStructuredPayload(payload.structuredPayload)
378
500
  : null;
379
501
  if (!body) {
380
502
  throw new Error("Assistant response body was empty");
381
503
  }
382
- if (kind !== "message" && kind !== "issue_proposal" && kind !== "operation_proposal") {
504
+ if (kind !== "message" && kind !== "ask_user" && kind !== "issue_proposal" && kind !== "operation_proposal") {
383
505
  throw new Error(`Unsupported assistant result kind: ${kind}`);
384
506
  }
507
+ if (kind === "ask_user" && !chatAskUserRequestFromStructuredPayload(structuredPayload)) {
508
+ throw new Error("ask_user assistant responses require structuredPayload.requestUserInput with 1-3 valid questions");
509
+ }
385
510
  return {
386
511
  kind,
387
512
  body,
388
513
  structuredPayload,
389
514
  };
390
515
  }
391
- function buildConversationPrompt(input, runtimeSource, resultSentinel, orgResourcesPrompt) {
516
+ function buildConversationPrompt(input, runtimeSource, resultSentinel, orgResourcesPrompt, attachmentReferences = new Map()) {
392
517
  const operatorProfileSection = buildOperatorProfilePromptSection(input.operatorProfile);
393
518
  const selectedProjectSection = buildSelectedProjectPromptSection(input.contextLinks);
394
519
  const selectedIssueSection = buildSelectedIssuePromptSection(input.conversation, input.contextLinks);
395
- const currentUserAttachmentSection = buildCurrentUserAttachmentPromptSection(input.messages.slice(-12));
520
+ const currentUserAttachmentSection = buildCurrentUserAttachmentPromptSection(input.messages.slice(-12), attachmentReferences);
396
521
  /**
397
522
  * Chat prompt assembly stays compositional on purpose.
398
523
  *
@@ -413,7 +538,7 @@ function buildConversationPrompt(input, runtimeSource, resultSentinel, orgResour
413
538
  ...(operatorProfileSection ? [operatorProfileSection] : []),
414
539
  ...(currentUserAttachmentSection ? [currentUserAttachmentSection] : []),
415
540
  "Conversation input:",
416
- buildPrompt(input),
541
+ buildPrompt(input, attachmentReferences),
417
542
  ].join("\n\n");
418
543
  }
419
544
  function resultText(result) {
@@ -709,7 +834,7 @@ function shouldSuppressChatTranscriptEntry(entry, resultSentinel) {
709
834
  }
710
835
  return false;
711
836
  }
712
- export function chatAssistantService(db) {
837
+ export function chatAssistantService(db, storage) {
713
838
  const agentsSvc = agentService(db);
714
839
  const runContextSvc = agentRunContextService(db);
715
840
  async function resolveChatInvocation(input) {
@@ -898,7 +1023,13 @@ export function chatAssistantService(db) {
898
1023
  let parser = adapter.parseStdoutLine;
899
1024
  let stdoutLineBuffer = "";
900
1025
  const { rudderWorkspace, rudderWorkspaces, rudderRuntimeServiceIntents, rudderScene } = sceneContext;
901
- const prompt = buildConversationPrompt(input, runtimeSource, resultSentinel, typeof rudderWorkspace.orgResourcesPrompt === "string" ? rudderWorkspace.orgResourcesPrompt : "");
1026
+ const preparedAttachments = await prepareChatAttachmentReferences({
1027
+ runtimeType: runtimeAgentType,
1028
+ messages: input.messages,
1029
+ storage,
1030
+ runId,
1031
+ });
1032
+ const prompt = buildConversationPrompt(input, runtimeSource, resultSentinel, typeof rudderWorkspace.orgResourcesPrompt === "string" ? rudderWorkspace.orgResourcesPrompt : "", preparedAttachments.references);
902
1033
  const processTranscriptEntries = async (entries) => {
903
1034
  for (const entry of entries) {
904
1035
  if (entry.kind === "assistant") {
@@ -952,66 +1083,78 @@ export function chatAssistantService(db) {
952
1083
  }
953
1084
  };
954
1085
  await maybeEmitAssistantState(input.onAssistantState, "streaming");
955
- const result = await executeAdapterWithModelFallbacks(adapter, {
956
- runId,
957
- agent: stubAgent({
958
- orgId: input.conversation.orgId,
959
- agentRuntimeType: runtimeAgentType,
960
- agentRuntimeConfig: config,
961
- sourceLabel: runtimeSource.descriptor.sourceLabel,
962
- sourceId: runtimeAgentId,
963
- }),
964
- runtime: {
965
- sessionId: null,
966
- sessionParams: null,
967
- sessionDisplayId: null,
968
- taskKey: null,
969
- },
970
- config,
971
- context: {
972
- chatPrompt: prompt,
973
- chatConversationId: input.conversation.id,
974
- chatMode: true,
975
- rudderScene,
976
- rudderWorkspace,
977
- rudderWorkspaces,
978
- ...(rudderRuntimeServiceIntents ? { rudderRuntimeServiceIntents } : {}),
979
- ...(linkedProjectId ? { projectId: linkedProjectId } : {}),
980
- ...(linkedIssueIds[0] ? { issueId: linkedIssueIds[0] } : {}),
981
- ...(linkedIssueIds.length > 0 ? { issueIds: linkedIssueIds } : {}),
982
- },
983
- onMeta: async (meta) => {
984
- await input.onInvocationMeta?.({
985
- ...meta,
986
- loadedSkills: runtimeSource.runtimeSkills,
1086
+ const chatAttachments = Array.from(preparedAttachments.references.entries()).map(([attachmentId, reference]) => ({
1087
+ attachmentId,
1088
+ ...reference,
1089
+ }));
1090
+ const result = await (async () => {
1091
+ try {
1092
+ return await executeAdapterWithModelFallbacks(adapter, {
1093
+ runId,
1094
+ agent: stubAgent({
1095
+ orgId: input.conversation.orgId,
1096
+ agentRuntimeType: runtimeAgentType,
1097
+ agentRuntimeConfig: config,
1098
+ sourceLabel: runtimeSource.descriptor.sourceLabel,
1099
+ sourceId: runtimeAgentId,
1100
+ }),
1101
+ runtime: {
1102
+ sessionId: null,
1103
+ sessionParams: null,
1104
+ sessionDisplayId: null,
1105
+ taskKey: null,
1106
+ },
1107
+ config,
1108
+ context: {
1109
+ chatPrompt: prompt,
1110
+ chatConversationId: input.conversation.id,
1111
+ chatMode: true,
1112
+ rudderScene,
1113
+ rudderWorkspace,
1114
+ rudderWorkspaces,
1115
+ ...(chatAttachments.length > 0 ? { chatAttachments } : {}),
1116
+ ...(rudderRuntimeServiceIntents ? { rudderRuntimeServiceIntents } : {}),
1117
+ ...(linkedProjectId ? { projectId: linkedProjectId } : {}),
1118
+ ...(linkedIssueIds[0] ? { issueId: linkedIssueIds[0] } : {}),
1119
+ ...(linkedIssueIds.length > 0 ? { issueIds: linkedIssueIds } : {}),
1120
+ },
1121
+ onMeta: async (meta) => {
1122
+ await input.onInvocationMeta?.({
1123
+ ...meta,
1124
+ loadedSkills: runtimeSource.runtimeSkills,
1125
+ });
1126
+ },
1127
+ authToken: adapter.supportsLocalAgentJwt
1128
+ ? createLocalAgentJwt(runtimeAgentId, input.conversation.orgId, runtimeAgentType, runId) ?? undefined
1129
+ : undefined,
1130
+ abortSignal: input.abortSignal,
1131
+ onLog: async (stream, chunk) => {
1132
+ if (stream === "stdout") {
1133
+ if (chunk.startsWith("[rudder]")) {
1134
+ const entry = {
1135
+ kind: "stdout",
1136
+ ts: new Date().toISOString(),
1137
+ text: chunk,
1138
+ };
1139
+ await maybeEmitObservedTranscriptEntry(input.onObservedTranscriptEntry, entry);
1140
+ await maybeEmitTranscriptEntry(input.onTranscriptEntry, entry);
1141
+ return;
1142
+ }
1143
+ await flushStdoutChunk(chunk);
1144
+ }
1145
+ },
1146
+ }, {
1147
+ resolveAdapter: findServerAdapter,
1148
+ createAuthToken: (agentRuntimeType) => createLocalAgentJwt(runtimeAgentId, input.conversation.orgId, agentRuntimeType, runId) ?? undefined,
1149
+ onAttemptStart: (_attempt, attemptAdapter) => {
1150
+ parser = attemptAdapter.parseStdoutLine;
1151
+ },
987
1152
  });
988
- },
989
- authToken: adapter.supportsLocalAgentJwt
990
- ? createLocalAgentJwt(runtimeAgentId, input.conversation.orgId, runtimeAgentType, runId) ?? undefined
991
- : undefined,
992
- abortSignal: input.abortSignal,
993
- onLog: async (stream, chunk) => {
994
- if (stream === "stdout") {
995
- if (chunk.startsWith("[rudder]")) {
996
- const entry = {
997
- kind: "stdout",
998
- ts: new Date().toISOString(),
999
- text: chunk,
1000
- };
1001
- await maybeEmitObservedTranscriptEntry(input.onObservedTranscriptEntry, entry);
1002
- await maybeEmitTranscriptEntry(input.onTranscriptEntry, entry);
1003
- return;
1004
- }
1005
- await flushStdoutChunk(chunk);
1006
- }
1007
- },
1008
- }, {
1009
- resolveAdapter: findServerAdapter,
1010
- createAuthToken: (agentRuntimeType) => createLocalAgentJwt(runtimeAgentId, input.conversation.orgId, agentRuntimeType, runId) ?? undefined,
1011
- onAttemptStart: (_attempt, attemptAdapter) => {
1012
- parser = attemptAdapter.parseStdoutLine;
1013
- },
1014
- });
1153
+ }
1154
+ finally {
1155
+ await preparedAttachments.cleanup();
1156
+ }
1157
+ })();
1015
1158
  await flushStdoutChunk("", true);
1016
1159
  await maybeEmitAssistantDelta(input.onAssistantDelta, sentinelStream.finish());
1017
1160
  const partialBody = partialBodyFromRawAssistantText(assistantTextAccumulator.fullText || resultText(result), resultSentinel) ||
@@ -1 +1 @@
1
- {"version":3,"file":"chat-assistant.js","sourceRoot":"","sources":["../../src/services/chat-assistant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-assistant.js","sourceRoot":"","sources":["../../src/services/chat-assistant.ts"],"names":[],"mappings":"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"}
@@ -339,7 +339,7 @@ export declare function chatService(db: Db): {
339
339
  addMessage: (conversationId: string, input: {
340
340
  orgId: string;
341
341
  role: "user" | "assistant" | "system";
342
- kind: "message" | "issue_proposal" | "operation_proposal" | "system_event";
342
+ kind: "message" | "ask_user" | "issue_proposal" | "operation_proposal" | "system_event";
343
343
  status?: "streaming" | "completed" | "stopped" | "failed" | "interrupted";
344
344
  body: string;
345
345
  structuredPayload?: Record<string, unknown> | null;
@@ -382,7 +382,7 @@ export declare function chatService(db: Db): {
382
382
  supersededAt: Date | null;
383
383
  }>;
384
384
  updateMessage: (conversationId: string, messageId: string, input: {
385
- kind?: "message" | "issue_proposal" | "operation_proposal" | "system_event";
385
+ kind?: "message" | "ask_user" | "issue_proposal" | "operation_proposal" | "system_event";
386
386
  status?: "streaming" | "completed" | "stopped" | "failed" | "interrupted";
387
387
  body?: string;
388
388
  structuredPayload?: Record<string, unknown> | null;