n8n 2.12.3 → 2.13.1

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 (134) hide show
  1. package/dist/abstract-server.d.ts +2 -0
  2. package/dist/abstract-server.js +5 -1
  3. package/dist/abstract-server.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/commands/start.js +3 -0
  6. package/dist/commands/start.js.map +1 -1
  7. package/dist/commands/webhook.js +1 -0
  8. package/dist/commands/webhook.js.map +1 -1
  9. package/dist/commands/worker.js +7 -5
  10. package/dist/commands/worker.js.map +1 -1
  11. package/dist/constants.d.ts +0 -1
  12. package/dist/constants.js +1 -2
  13. package/dist/constants.js.map +1 -1
  14. package/dist/controllers/project.controller.d.ts +2 -3
  15. package/dist/controllers/project.controller.js +8 -3
  16. package/dist/controllers/project.controller.js.map +1 -1
  17. package/dist/credentials/credentials.service.js +14 -8
  18. package/dist/credentials/credentials.service.js.map +1 -1
  19. package/dist/eventbus/event-message-classes/event-message-audit.d.ts +1 -0
  20. package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
  21. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  22. package/dist/eventbus/event-message-classes/index.js +1 -0
  23. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  24. package/dist/events/maps/relay.event-map.d.ts +9 -0
  25. package/dist/events/relays/log-streaming.event-relay.d.ts +1 -0
  26. package/dist/events/relays/log-streaming.event-relay.js +21 -0
  27. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  28. package/dist/execution-lifecycle/restore-binary-data-id.js +8 -2
  29. package/dist/execution-lifecycle/restore-binary-data-id.js.map +1 -1
  30. package/dist/load-nodes-and-credentials.js +3 -1
  31. package/dist/load-nodes-and-credentials.js.map +1 -1
  32. package/dist/metrics/prometheus-metrics.service.d.ts +2 -0
  33. package/dist/metrics/prometheus-metrics.service.js +29 -0
  34. package/dist/metrics/prometheus-metrics.service.js.map +1 -1
  35. package/dist/metrics/types.d.ts +1 -1
  36. package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +3 -1
  37. package/dist/modules/chat-hub/chat-hub-agent.service.js +31 -7
  38. package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
  39. package/dist/modules/chat-hub/chat-hub-event-relay.service.js +1 -1
  40. package/dist/modules/chat-hub/chat-hub-event-relay.service.js.map +1 -1
  41. package/dist/modules/chat-hub/chat-hub-execution.service.d.ts +1 -1
  42. package/dist/modules/chat-hub/chat-hub-execution.service.js +14 -10
  43. package/dist/modules/chat-hub/chat-hub-execution.service.js.map +1 -1
  44. package/dist/modules/chat-hub/chat-hub-extractor.d.ts +2 -2
  45. package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +3 -1
  46. package/dist/modules/chat-hub/chat-hub-session.entity.js +4 -0
  47. package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
  48. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +2 -2
  49. package/dist/modules/chat-hub/chat-hub-workflow.service.js +37 -18
  50. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  51. package/dist/modules/chat-hub/chat-hub.controller.d.ts +4 -1
  52. package/dist/modules/chat-hub/chat-hub.controller.js +81 -1
  53. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
  54. package/dist/modules/chat-hub/chat-hub.module.d.ts +1 -0
  55. package/dist/modules/chat-hub/chat-hub.module.js +1 -0
  56. package/dist/modules/chat-hub/chat-hub.module.js.map +1 -1
  57. package/dist/modules/chat-hub/chat-hub.service.d.ts +5 -1
  58. package/dist/modules/chat-hub/chat-hub.service.js +235 -29
  59. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  60. package/dist/modules/chat-hub/chat-session.repository.d.ts +1 -1
  61. package/dist/modules/chat-hub/chat-session.repository.js +4 -1
  62. package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
  63. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +3 -1
  64. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
  65. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.d.ts +16 -0
  66. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js +74 -0
  67. package/dist/modules/external-secrets.ee/external-secrets-settings.controller.ee.js.map +1 -0
  68. package/dist/modules/external-secrets.ee/external-secrets-settings.service.ee.d.ts +9 -0
  69. package/dist/modules/external-secrets.ee/external-secrets-settings.service.ee.js +52 -0
  70. package/dist/modules/external-secrets.ee/external-secrets-settings.service.ee.js.map +1 -0
  71. package/dist/modules/external-secrets.ee/external-secrets.config.js +1 -1
  72. package/dist/modules/external-secrets.ee/external-secrets.config.js.map +1 -1
  73. package/dist/modules/external-secrets.ee/external-secrets.module.d.ts +1 -0
  74. package/dist/modules/external-secrets.ee/external-secrets.module.js +6 -0
  75. package/dist/modules/external-secrets.ee/external-secrets.module.js.map +1 -1
  76. package/dist/modules/external-secrets.ee/redaction.service.ee.js +3 -4
  77. package/dist/modules/external-secrets.ee/redaction.service.ee.js.map +1 -1
  78. package/dist/modules/external-secrets.ee/retry-manager.service.d.ts +1 -1
  79. package/dist/modules/external-secrets.ee/retry-manager.service.js +8 -2
  80. package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -1
  81. package/dist/modules/external-secrets.ee/secret-provider-access-check.service.ee.d.ts +16 -2
  82. package/dist/modules/external-secrets.ee/secret-provider-access-check.service.ee.js +55 -2
  83. package/dist/modules/external-secrets.ee/secret-provider-access-check.service.ee.js.map +1 -1
  84. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js +2 -2
  85. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js.map +1 -1
  86. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +13 -5
  87. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +68 -37
  88. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -1
  89. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.d.ts +6 -5
  90. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js +37 -24
  91. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js.map +1 -1
  92. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +9 -0
  93. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  94. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js +9 -0
  95. package/dist/modules/mcp/tools/workflow-builder/update-workflow.tool.js.map +1 -1
  96. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +12 -1
  97. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  98. package/dist/modules/redaction/executions/execution-redaction.service.js +9 -0
  99. package/dist/modules/redaction/executions/execution-redaction.service.js.map +1 -1
  100. package/dist/modules/source-control.ee/source-control-helper.ee.js +4 -1
  101. package/dist/modules/source-control.ee/source-control-helper.ee.js.map +1 -1
  102. package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +3 -1
  103. package/dist/modules/source-control.ee/source-control-status.service.ee.js +86 -5
  104. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  105. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +4 -0
  106. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +2 -0
  107. package/dist/modules/source-control.ee/types/exportable-folders.d.ts +1 -0
  108. package/dist/modules/sso-saml/saml.service.ee.d.ts +1 -0
  109. package/dist/modules/sso-saml/saml.service.ee.js +3 -0
  110. package/dist/modules/sso-saml/saml.service.ee.js.map +1 -1
  111. package/dist/modules/workflow-index/workflow-index.service.d.ts +5 -3
  112. package/dist/modules/workflow-index/workflow-index.service.js +40 -14
  113. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  114. package/dist/public-api/v1/openapi.yml +3 -0
  115. package/dist/scaling/worker-server.d.ts +2 -0
  116. package/dist/scaling/worker-server.js +6 -1
  117. package/dist/scaling/worker-server.js.map +1 -1
  118. package/dist/server.js +1 -0
  119. package/dist/server.js.map +1 -1
  120. package/dist/services/project.service.ee.d.ts +3 -2
  121. package/dist/services/project.service.ee.js +13 -0
  122. package/dist/services/project.service.ee.js.map +1 -1
  123. package/dist/services/role-cache.service.d.ts +1 -1
  124. package/dist/services/role-cache.service.js.map +1 -1
  125. package/dist/services/role.service.d.ts +3 -3
  126. package/dist/services/ssrf/ssrf-blocked-ip.error.js +6 -1
  127. package/dist/services/ssrf/ssrf-blocked-ip.error.js.map +1 -1
  128. package/dist/workflows/workflow-execution.service.d.ts +1 -1
  129. package/dist/workflows/workflow-execution.service.js +2 -1
  130. package/dist/workflows/workflow-execution.service.js.map +1 -1
  131. package/dist/workflows/workflow.service.d.ts +3 -2
  132. package/dist/workflows/workflow.service.js +12 -1
  133. package/dist/workflows/workflow.service.js.map +1 -1
  134. package/package.json +24 -24
@@ -43,7 +43,7 @@ let ChatHubController = class ChatHubController {
43
43
  return await this.chatModelsService.getModels(req.user, payload.credentials);
44
44
  }
45
45
  async getConversations(req, _res, query) {
46
- return await this.chatService.getConversations(req.user.id, query.limit, query.cursor);
46
+ return await this.chatService.getConversations(req.user.id, query.limit, query.cursor, query.type);
47
47
  }
48
48
  async getConversationMessages(req, _res, sessionId) {
49
49
  return await this.chatService.getConversation(req.user.id, sessionId);
@@ -81,6 +81,21 @@ let ChatHubController = class ChatHubController {
81
81
  status: 'streaming',
82
82
  };
83
83
  }
84
+ async sendMessageManual(req, _res, workflowId, payload) {
85
+ const pushRef = req.headers['push-ref'];
86
+ if (!pushRef) {
87
+ throw new bad_request_error_1.BadRequestError('push-ref header is required for manual execution');
88
+ }
89
+ await this.chatService.sendHumanMessageManual(req.user, {
90
+ ...payload,
91
+ model: { provider: 'n8n', workflowId },
92
+ credentials: {},
93
+ userId: req.user.id,
94
+ }, (0, chat_hub_extractor_1.extractAuthenticationMetadata)(req), pushRef);
95
+ return {
96
+ status: 'streaming',
97
+ };
98
+ }
84
99
  async editMessage(req, _res, sessionId, editId, payload) {
85
100
  await this.chatService.editMessage(req.user, {
86
101
  ...payload,
@@ -92,6 +107,23 @@ let ChatHubController = class ChatHubController {
92
107
  status: 'streaming',
93
108
  };
94
109
  }
110
+ async editMessageManual(req, _res, workflowId, sessionId, editId, payload) {
111
+ const pushRef = req.headers['push-ref'];
112
+ if (!pushRef) {
113
+ throw new bad_request_error_1.BadRequestError('push-ref header is required for manual execution');
114
+ }
115
+ await this.chatService.editMessageManual(req.user, {
116
+ ...payload,
117
+ model: { provider: 'n8n', workflowId },
118
+ credentials: {},
119
+ sessionId,
120
+ editId,
121
+ userId: req.user.id,
122
+ }, (0, chat_hub_extractor_1.extractAuthenticationMetadata)(req), pushRef);
123
+ return {
124
+ status: 'streaming',
125
+ };
126
+ }
95
127
  async regenerateMessage(req, _res, sessionId, retryId, payload) {
96
128
  await this.chatService.regenerateAIMessage(req.user, {
97
129
  ...payload,
@@ -103,6 +135,23 @@ let ChatHubController = class ChatHubController {
103
135
  status: 'streaming',
104
136
  };
105
137
  }
138
+ async regenerateMessageManual(req, _res, workflowId, sessionId, retryId, payload) {
139
+ const pushRef = req.headers['push-ref'];
140
+ if (!pushRef) {
141
+ throw new bad_request_error_1.BadRequestError('push-ref header is required for manual execution');
142
+ }
143
+ await this.chatService.regenerateAIMessageManual(req.user, {
144
+ ...payload,
145
+ model: { provider: 'n8n', workflowId },
146
+ credentials: {},
147
+ sessionId,
148
+ retryId,
149
+ userId: req.user.id,
150
+ }, (0, chat_hub_extractor_1.extractAuthenticationMetadata)(req), pushRef);
151
+ return {
152
+ status: 'streaming',
153
+ };
154
+ }
106
155
  async stopGeneration(req, res, sessionId, messageId) {
107
156
  await this.chatService.stopGeneration(req.user, sessionId, messageId);
108
157
  res.status(204).send();
@@ -226,6 +275,15 @@ __decorate([
226
275
  __metadata("design:paramtypes", [Object, Object, api_types_1.ChatHubSendMessageRequest]),
227
276
  __metadata("design:returntype", Promise)
228
277
  ], ChatHubController.prototype, "sendMessage", null);
278
+ __decorate([
279
+ (0, decorators_1.ProjectScope)('workflow:execute'),
280
+ (0, decorators_1.Post)('/conversations/manual/:workflowId/send'),
281
+ __param(2, (0, decorators_1.Param)('workflowId')),
282
+ __param(3, decorators_1.Body),
283
+ __metadata("design:type", Function),
284
+ __metadata("design:paramtypes", [Object, Object, String, api_types_1.ChatHubManualSendMessageRequest]),
285
+ __metadata("design:returntype", Promise)
286
+ ], ChatHubController.prototype, "sendMessageManual", null);
229
287
  __decorate([
230
288
  (0, decorators_1.GlobalScope)('chatHub:message'),
231
289
  (0, decorators_1.Post)('/conversations/:sessionId/messages/:messageId/edit'),
@@ -236,6 +294,17 @@ __decorate([
236
294
  __metadata("design:paramtypes", [Object, Object, String, String, api_types_1.ChatHubEditMessageRequest]),
237
295
  __metadata("design:returntype", Promise)
238
296
  ], ChatHubController.prototype, "editMessage", null);
297
+ __decorate([
298
+ (0, decorators_1.ProjectScope)('workflow:execute'),
299
+ (0, decorators_1.Post)('/conversations/manual/:workflowId/:sessionId/messages/:messageId/edit'),
300
+ __param(2, (0, decorators_1.Param)('workflowId')),
301
+ __param(3, (0, decorators_1.Param)('sessionId')),
302
+ __param(4, (0, decorators_1.Param)('messageId')),
303
+ __param(5, decorators_1.Body),
304
+ __metadata("design:type", Function),
305
+ __metadata("design:paramtypes", [Object, Object, String, String, String, api_types_1.ChatHubManualEditMessageRequest]),
306
+ __metadata("design:returntype", Promise)
307
+ ], ChatHubController.prototype, "editMessageManual", null);
239
308
  __decorate([
240
309
  (0, decorators_1.GlobalScope)('chatHub:message'),
241
310
  (0, decorators_1.Post)('/conversations/:sessionId/messages/:messageId/regenerate'),
@@ -246,6 +315,17 @@ __decorate([
246
315
  __metadata("design:paramtypes", [Object, Object, String, String, api_types_1.ChatHubRegenerateMessageRequest]),
247
316
  __metadata("design:returntype", Promise)
248
317
  ], ChatHubController.prototype, "regenerateMessage", null);
318
+ __decorate([
319
+ (0, decorators_1.ProjectScope)('workflow:execute'),
320
+ (0, decorators_1.Post)('/conversations/manual/:workflowId/:sessionId/messages/:messageId/regenerate'),
321
+ __param(2, (0, decorators_1.Param)('workflowId')),
322
+ __param(3, (0, decorators_1.Param)('sessionId')),
323
+ __param(4, (0, decorators_1.Param)('messageId')),
324
+ __param(5, decorators_1.Body),
325
+ __metadata("design:type", Function),
326
+ __metadata("design:paramtypes", [Object, Object, String, String, String, api_types_1.ChatHubManualRegenerateMessageRequest]),
327
+ __metadata("design:returntype", Promise)
328
+ ], ChatHubController.prototype, "regenerateMessageManual", null);
249
329
  __decorate([
250
330
  (0, decorators_1.GlobalScope)('chatHub:message'),
251
331
  (0, decorators_1.Post)('/conversations/:sessionId/messages/:messageId/stop'),
@@ -1 +1 @@
1
- {"version":3,"file":"chat-hub.controller.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-hub.controller.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.controller.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class ChatHubModule implements ModuleInterface {
16
16
  enabled?: boolean | undefined;
17
17
  }>;
18
18
  semanticSearch: import("@n8n/api-types").ChatHubSemanticSearchSettings;
19
+ agentUploadMaxSizeMb: number;
19
20
  }>;
20
21
  entities(): Promise<(typeof import("./chat-hub-tool.entity").ChatHubTool | typeof import("./chat-hub-agent.entity").ChatHubAgent | typeof import("./chat-hub-session.entity").ChatHubSession | typeof import("./chat-hub-message.entity").ChatHubMessage)[]>;
21
22
  shutdown(): Promise<void>;
@@ -71,6 +71,7 @@ let ChatHubModule = class ChatHubModule {
71
71
  enabled,
72
72
  providers,
73
73
  semanticSearch,
74
+ agentUploadMaxSizeMb: di_1.Container.get(config_1.GlobalConfig).endpoints.formDataFileSizeMax,
74
75
  };
75
76
  }
76
77
  async entities() {
@@ -1 +1 @@
1
- {"version":3,"file":"chat-hub.module.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA+C;AAE/C,gDAA4D;AAC5D,gCAAoC;AACpC,uCAA4C;AAGrC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACzB,KAAK,CAAC,IAAI;QACT,wDAAa,uBAAuB,GAAC,CAAC;QACtC,wDAAa,gCAAgC,GAAC,CAAC;QAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QAE7E,cAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAIjC,MAAM,WAAW,GAAG,cAAS,CAAC,GAAG,CAAC,yBAAgB,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QACrE,MAAM,QAAQ,GAAG,cAAS,CAAC,GAAG,CAAC,2BAAgB,CAAC,CAAC,QAAQ,CAAC;QAC1D,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;YAC9B,wDAAa,sCAAsC,GAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,sBAAsB,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,cAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9D,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,sBAAsB,EAAE;YAChC,OAAO,CAAC,yBAAyB,EAAE;SACnC,CAAC,CAAC;QAEH,OAAO;YACN,OAAO;YACP,SAAS;YACT,cAAc;SACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QACrE,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QACrE,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;QACjE,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;QAE/D,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,KAAI,CAAC;CACnB,CAAA;AA5CY,sCAAa;AA2CnB;IADL,IAAA,uBAAU,GAAE;;;;6CACM;wBA3CP,aAAa;IADzB,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;GACvB,aAAa,CA4CzB"}
1
+ {"version":3,"file":"chat-hub.module.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA6D;AAE7D,gDAA4D;AAC5D,gCAAoC;AACpC,uCAA4C;AAGrC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACzB,KAAK,CAAC,IAAI;QACT,wDAAa,uBAAuB,GAAC,CAAC;QACtC,wDAAa,gCAAgC,GAAC,CAAC;QAC/C,MAAM,EAAE,iBAAiB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QAE7E,cAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAIjC,MAAM,WAAW,GAAG,cAAS,CAAC,GAAG,CAAC,yBAAgB,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QACrE,MAAM,QAAQ,GAAG,cAAS,CAAC,GAAG,CAAC,2BAAgB,CAAC,CAAC,QAAQ,CAAC;QAC1D,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC;YAC9B,wDAAa,sCAAsC,GAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,sBAAsB,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,cAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9D,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,sBAAsB,EAAE;YAChC,OAAO,CAAC,yBAAyB,EAAE;SACnC,CAAC,CAAC;QAEH,OAAO;YACN,OAAO;YACP,SAAS;YACT,cAAc;YACd,oBAAoB,EAAE,cAAS,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC,SAAS,CAAC,mBAAmB;SAC/E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QACrE,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QACrE,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;QACjE,MAAM,EAAE,WAAW,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;QAE/D,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,KAAI,CAAC;CACnB,CAAA;AA7CY,sCAAa;AA4CnB;IADL,IAAA,uBAAU,GAAE;;;;6CACM;wBA5CP,aAAa;IADzB,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;GACvB,aAAa,CA6CzB"}
@@ -36,12 +36,13 @@ export declare class ChatHubService {
36
36
  constructor(logger: Logger, errorReporter: ErrorReporter, executionRepository: ExecutionRepository, workflowFinderService: WorkflowFinderService, sessionRepository: ChatHubSessionRepository, messageRepository: ChatHubMessageRepository, chatHubAgentService: ChatHubAgentService, chatHubModelsService: ChatHubModelsService, chatHubAttachmentService: ChatHubAttachmentService, chatStreamService: ChatStreamService, chatHubExecutionService: ChatHubExecutionService, chatHubTitleService: ChatHubTitleService, chatHubToolService: ChatHubToolService, chatHubWorkflowService: ChatHubWorkflowService, globalConfig: GlobalConfig);
37
37
  private pickCredentialId;
38
38
  private ensurePreviousMessage;
39
+ private tryResumeWaitingExecution;
39
40
  stopGeneration(user: User, sessionId: ChatSessionId, messageId: ChatMessageId): Promise<void>;
40
41
  private getModelCredential;
41
42
  private getChatSession;
42
43
  private createChatSession;
43
44
  private getChatMessage;
44
- getConversations(userId: string, limit: number, cursor?: string): Promise<ChatHubConversationsResponse>;
45
+ getConversations(userId: string, limit: number, cursor?: string, type?: string): Promise<ChatHubConversationsResponse>;
45
46
  ensureConversation(userId: string, sessionId: string, trx?: EntityManager): Promise<void>;
46
47
  getConversation(userId: string, sessionId: string): Promise<ChatHubConversationResponse>;
47
48
  private buildMessageHistory;
@@ -50,8 +51,11 @@ export declare class ChatHubService {
50
51
  deleteSession(userId: string, sessionId: ChatSessionId): Promise<void>;
51
52
  private ensureValidModel;
52
53
  sendHumanMessage(user: User, payload: HumanMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>;
54
+ sendHumanMessageManual(user: User, payload: HumanMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>;
53
55
  editMessage(user: User, payload: EditMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>;
56
+ editMessageManual(user: User, payload: EditMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>;
54
57
  regenerateAIMessage(user: User, payload: RegenerateMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>;
58
+ regenerateAIMessageManual(user: User, payload: RegenerateMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>;
55
59
  reconnectToStream(sessionId: ChatSessionId, lastReceivedSequence: number): Promise<{
56
60
  hasActiveStream: boolean;
57
61
  currentMessageId: ChatMessageId | null;
@@ -66,6 +66,28 @@ let ChatHubService = class ChatHubService {
66
66
  }
67
67
  return previousMessage;
68
68
  }
69
+ async tryResumeWaitingExecution(opts) {
70
+ const { workflow, previousMessage, message, sessionId, user, messageId, model } = opts;
71
+ if (model.provider !== 'n8n' ||
72
+ workflow.responseMode !== 'responseNodes' ||
73
+ previousMessage?.status !== 'waiting' ||
74
+ !previousMessage?.executionId) {
75
+ return false;
76
+ }
77
+ const execution = await this.executionRepository.findSingleExecution(previousMessage.executionId.toString(), {
78
+ includeData: true,
79
+ unflattenData: true,
80
+ });
81
+ if (!execution) {
82
+ throw new n8n_workflow_1.OperationalError('Chat session has expired.');
83
+ }
84
+ this.logger.debug(`Resuming execution ${execution.id} from waiting state for session ${sessionId}`);
85
+ await this.messageRepository.updateChatMessage(previousMessage.id, {
86
+ status: 'success',
87
+ });
88
+ void this.chatHubExecutionService.resumeChatExecution(execution, message, sessionId, user, messageId, model, workflow.responseMode);
89
+ return true;
90
+ }
69
91
  async stopGeneration(user, sessionId, messageId) {
70
92
  await this.ensureConversation(user.id, sessionId);
71
93
  const message = await this.getChatMessage(sessionId, messageId, [
@@ -91,8 +113,8 @@ let ChatHubService = class ChatHubService {
91
113
  async getChatSession(user, sessionId, trx) {
92
114
  return await this.sessionRepository.getOneById(sessionId, user.id, trx);
93
115
  }
94
- async createChatSession(user, sessionId, model, credentialId, agentName, trx) {
95
- await this.ensureValidModel(user, model, trx);
116
+ async createChatSession(user, sessionId, model, credentialId, manual, agentName, trx) {
117
+ await this.ensureValidModel(user, model, manual, trx);
96
118
  const session = await this.sessionRepository.createChatSession({
97
119
  id: sessionId,
98
120
  ownerId: user.id,
@@ -100,6 +122,7 @@ let ChatHubService = class ChatHubService {
100
122
  lastMessageAt: new Date(),
101
123
  agentName,
102
124
  credentialId,
125
+ type: manual ? 'manual' : 'production',
103
126
  ...model,
104
127
  }, trx);
105
128
  const enabledTools = await this.chatHubToolService.getEnabledTools(user.id, trx);
@@ -116,8 +139,8 @@ let ChatHubService = class ChatHubService {
116
139
  }
117
140
  return message;
118
141
  }
119
- async getConversations(userId, limit, cursor) {
120
- const sessions = await this.sessionRepository.getManyByUserId(userId, limit + 1, cursor);
142
+ async getConversations(userId, limit, cursor, type) {
143
+ const sessions = await this.sessionRepository.getManyByUserId(userId, limit + 1, cursor, type);
121
144
  const hasMore = sessions.length > limit;
122
145
  const data = hasMore ? sessions.slice(0, limit) : sessions;
123
146
  const nextCursor = hasMore ? data[data.length - 1].id : null;
@@ -171,7 +194,7 @@ let ChatHubService = class ChatHubService {
171
194
  const sessionUpdates = {};
172
195
  if (updates.agent) {
173
196
  const model = updates.agent.model;
174
- await this.ensureValidModel(user, model);
197
+ await this.ensureValidModel(user, model, false);
175
198
  sessionUpdates.agentName = updates.agent.name;
176
199
  sessionUpdates.provider = model.provider;
177
200
  sessionUpdates.model = null;
@@ -204,7 +227,7 @@ let ChatHubService = class ChatHubService {
204
227
  await this.sessionRepository.deleteChatHubSession(sessionId, trx);
205
228
  });
206
229
  }
207
- async ensureValidModel(user, model, trx) {
230
+ async ensureValidModel(user, model, manual, trx) {
208
231
  if (model.provider === 'custom-agent') {
209
232
  const agent = await this.chatHubAgentService.getAgentById(model.agentId, user.id, trx);
210
233
  if (!agent) {
@@ -212,11 +235,20 @@ let ChatHubService = class ChatHubService {
212
235
  }
213
236
  }
214
237
  if (model.provider === 'n8n') {
215
- const workflowEntity = await this.workflowFinderService.findWorkflowForUser(model.workflowId, user, ['workflow:execute-chat'], { includeTags: false, includeParentFolder: false, includeActiveVersion: true, em: trx });
216
- if (!workflowEntity?.activeVersion) {
238
+ const workflowEntity = await this.workflowFinderService.findWorkflowForUser(model.workflowId, user, ['workflow:execute-chat'], {
239
+ includeTags: false,
240
+ includeParentFolder: false,
241
+ includeActiveVersion: manual ? false : true,
242
+ em: trx,
243
+ });
244
+ if (!workflowEntity) {
217
245
  throw new bad_request_error_1.BadRequestError('Workflow not found for chat session initialization');
218
246
  }
219
- const chatTrigger = workflowEntity.activeVersion.nodes?.find((node) => node.type === n8n_workflow_1.CHAT_TRIGGER_NODE_TYPE);
247
+ const nodes = manual ? workflowEntity.nodes : workflowEntity.activeVersion?.nodes;
248
+ if (!nodes) {
249
+ throw new bad_request_error_1.BadRequestError('Workflow not found for chat session initialization');
250
+ }
251
+ const chatTrigger = nodes.find((node) => node.type === n8n_workflow_1.CHAT_TRIGGER_NODE_TYPE);
220
252
  if (!chatTrigger) {
221
253
  throw new bad_request_error_1.BadRequestError('Chat trigger not found in workflow for chat session initialization');
222
254
  }
@@ -233,7 +265,7 @@ let ChatHubService = class ChatHubService {
233
265
  const result = await this.messageRepository.manager.transaction(async (trx) => {
234
266
  let session = await this.getChatSession(user, sessionId, trx);
235
267
  const isNewSession = !session;
236
- session ??= await this.createChatSession(user, sessionId, model, credentialId, payload.agentName, trx);
268
+ session ??= await this.createChatSession(user, sessionId, model, credentialId, false, payload.agentName, trx);
237
269
  const previousMessage = await this.ensurePreviousMessage(previousMessageId, sessionId, trx);
238
270
  const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
239
271
  const history = this.buildMessageHistory(messages, previousMessageId);
@@ -278,25 +310,87 @@ let ChatHubService = class ChatHubService {
278
310
  mimeType: a.mimeType,
279
311
  })),
280
312
  });
281
- if (model.provider === 'n8n' &&
282
- workflow.responseMode === 'responseNodes' &&
283
- previousMessage?.status === 'waiting' &&
284
- previousMessage?.executionId) {
285
- const execution = await this.executionRepository.findSingleExecution(previousMessage.executionId.toString(), {
286
- includeData: true,
287
- unflattenData: true,
313
+ const resumed = await this.tryResumeWaitingExecution({
314
+ workflow,
315
+ previousMessage,
316
+ message,
317
+ sessionId,
318
+ user,
319
+ messageId,
320
+ model,
321
+ });
322
+ if (resumed)
323
+ return;
324
+ void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, messageId, null, previousMessageId, credentials, message, processedAttachments);
325
+ }
326
+ async sendHumanMessageManual(user, payload, executionMetadata, pushRef) {
327
+ const { sessionId, messageId, message, model, credentials, previousMessageId, attachments, timeZone, } = payload;
328
+ const tz = timeZone ?? this.globalConfig.generic.timezone;
329
+ if (model.provider !== 'n8n') {
330
+ throw new bad_request_error_1.BadRequestError('Manual execution is only supported for n8n workflow agents');
331
+ }
332
+ const credentialId = this.getModelCredential(model, credentials);
333
+ let processedAttachments = [];
334
+ let workflow;
335
+ let previousMessage;
336
+ try {
337
+ const result = await this.messageRepository.manager.transaction(async (trx) => {
338
+ let session = await this.getChatSession(user, sessionId, trx);
339
+ session ??= await this.createChatSession(user, sessionId, model, credentialId, true, payload.agentName, trx);
340
+ const previousMessage = await this.ensurePreviousMessage(previousMessageId, sessionId, trx);
341
+ const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
342
+ const history = this.buildMessageHistory(messages, previousMessageId);
343
+ if (attachments.length > 0) {
344
+ const policy = await this.chatHubWorkflowService.getAttachmentPolicy(model, user, trx, true);
345
+ this.chatHubAttachmentService.validateAttachments(attachments, policy.allowFileUploads, policy.allowedFilesMimeTypes);
346
+ }
347
+ processedAttachments = await this.chatHubAttachmentService.store(sessionId, messageId, attachments);
348
+ await this.messageRepository.createHumanMessage(payload, processedAttachments, user, previousMessageId, model, undefined, trx);
349
+ const tools = [];
350
+ const replyWorkflow = await this.chatHubWorkflowService.prepareReplyWorkflow(user, sessionId, credentials, model, history, message, tools, processedAttachments, tz, trx, executionMetadata, true);
351
+ return { workflow: replyWorkflow, previousMessage };
288
352
  });
289
- if (!execution) {
290
- throw new n8n_workflow_1.OperationalError('Chat session has expired.');
353
+ workflow = result.workflow;
354
+ previousMessage = result.previousMessage;
355
+ }
356
+ catch (error) {
357
+ if (processedAttachments.length > 0) {
358
+ try {
359
+ await this.chatHubAttachmentService.deleteAttachments(processedAttachments);
360
+ }
361
+ catch {
362
+ this.errorReporter.warn(`Could not clean up ${processedAttachments.length} files`);
363
+ }
291
364
  }
292
- this.logger.debug(`Resuming execution ${execution.id} from waiting state for session ${sessionId}`);
293
- await this.messageRepository.updateChatMessage(previousMessage.id, {
294
- status: 'success',
295
- });
296
- void this.chatHubExecutionService.resumeChatExecution(execution, message, sessionId, user, messageId, model, workflow.responseMode);
297
- return;
365
+ throw error;
298
366
  }
299
- void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, messageId, null, previousMessageId, credentials, message, processedAttachments);
367
+ if (!workflow) {
368
+ throw new n8n_workflow_1.UnexpectedError('Failed to prepare chat workflow.');
369
+ }
370
+ await this.chatStreamService.sendHumanMessage({
371
+ userId: user.id,
372
+ sessionId,
373
+ messageId,
374
+ previousMessageId,
375
+ content: message,
376
+ attachments: processedAttachments.map((a) => ({
377
+ id: a.id,
378
+ fileName: a.fileName ?? 'file',
379
+ mimeType: a.mimeType,
380
+ })),
381
+ });
382
+ const resumed = await this.tryResumeWaitingExecution({
383
+ workflow,
384
+ previousMessage,
385
+ message,
386
+ sessionId,
387
+ user,
388
+ messageId,
389
+ model,
390
+ });
391
+ if (resumed)
392
+ return;
393
+ void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, messageId, null, previousMessageId, credentials, message, processedAttachments, pushRef);
300
394
  }
301
395
  async editMessage(user, payload, executionMetadata) {
302
396
  const { sessionId, editId, messageId, message, model, credentials, timeZone } = payload;
@@ -364,6 +458,79 @@ let ChatHubService = class ChatHubService {
364
458
  });
365
459
  void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, messageId, null, null, {}, '', []);
366
460
  }
461
+ async editMessageManual(user, payload, executionMetadata, pushRef) {
462
+ const { sessionId, editId, messageId, message, model, credentials, timeZone } = payload;
463
+ const tz = timeZone ?? this.globalConfig.generic.timezone;
464
+ if (model.provider !== 'n8n') {
465
+ throw new bad_request_error_1.BadRequestError('Manual execution is only supported for n8n workflow agents');
466
+ }
467
+ let result = null;
468
+ let newStoredAttachments = [];
469
+ try {
470
+ result = await this.messageRepository.manager.transaction(async (trx) => {
471
+ const session = await this.getChatSession(user, sessionId, trx);
472
+ if (!session) {
473
+ throw new not_found_error_1.NotFoundError('Chat session not found');
474
+ }
475
+ const messageToEdit = await this.getChatMessage(session.id, editId, [], trx);
476
+ if (messageToEdit.type === 'ai') {
477
+ throw new bad_request_error_1.BadRequestError('Editing AI messages is not supported');
478
+ }
479
+ if (messageToEdit.type === 'human') {
480
+ const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
481
+ const history = this.buildMessageHistory(messages, messageToEdit.previousMessageId);
482
+ const revisionOfMessageId = messageToEdit.revisionOfMessageId ?? messageToEdit.id;
483
+ const originalAttachments = messageToEdit.attachments ?? [];
484
+ const keptAttachments = payload.keepAttachmentIndices.flatMap((index) => {
485
+ const attachment = originalAttachments[index];
486
+ return attachment ? [attachment] : [];
487
+ });
488
+ if (payload.newAttachments.length > 0) {
489
+ const policy = await this.chatHubWorkflowService.getAttachmentPolicy(model, user, trx, true);
490
+ this.chatHubAttachmentService.validateAttachments(payload.newAttachments, policy.allowFileUploads, policy.allowedFilesMimeTypes);
491
+ }
492
+ newStoredAttachments =
493
+ payload.newAttachments.length > 0
494
+ ? await this.chatHubAttachmentService.store(sessionId, messageId, payload.newAttachments)
495
+ : [];
496
+ const attachments = [...keptAttachments, ...newStoredAttachments];
497
+ await this.messageRepository.createHumanMessage(payload, attachments, user, messageToEdit.previousMessageId, model, revisionOfMessageId, trx);
498
+ const tools = [];
499
+ const workflow = await this.chatHubWorkflowService.prepareReplyWorkflow(user, sessionId, credentials, model, history, message, tools, attachments, tz, trx, executionMetadata, true);
500
+ return { workflow, combinedAttachments: attachments };
501
+ }
502
+ throw new bad_request_error_1.BadRequestError('Only human and AI messages can be edited');
503
+ });
504
+ }
505
+ catch (error) {
506
+ if (newStoredAttachments.length > 0) {
507
+ try {
508
+ await this.chatHubAttachmentService.deleteAttachments(newStoredAttachments);
509
+ }
510
+ catch {
511
+ this.errorReporter.warn(`Could not clean up ${newStoredAttachments.length} files`);
512
+ }
513
+ }
514
+ throw error;
515
+ }
516
+ if (!result?.workflow) {
517
+ return;
518
+ }
519
+ const { workflow } = result;
520
+ await this.chatStreamService.sendMessageEdit({
521
+ userId: user.id,
522
+ sessionId,
523
+ revisionOfMessageId: editId,
524
+ messageId,
525
+ content: message,
526
+ attachments: result.combinedAttachments.map((a) => ({
527
+ id: a.id,
528
+ fileName: a.fileName ?? 'file',
529
+ mimeType: a.mimeType,
530
+ })),
531
+ });
532
+ void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, messageId, null, null, {}, '', [], pushRef);
533
+ }
367
534
  async regenerateAIMessage(user, payload, executionMetadata) {
368
535
  const { sessionId, retryId, model, credentials, timeZone } = payload;
369
536
  const tz = timeZone ?? this.globalConfig.generic.timezone;
@@ -399,6 +566,44 @@ let ChatHubService = class ChatHubService {
399
566
  });
400
567
  void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, previousMessageId, retryOfMessageId, null, {}, '', []);
401
568
  }
569
+ async regenerateAIMessageManual(user, payload, executionMetadata, pushRef) {
570
+ const { sessionId, retryId, model, credentials, timeZone } = payload;
571
+ const tz = timeZone ?? this.globalConfig.generic.timezone;
572
+ if (model.provider !== 'n8n') {
573
+ throw new bad_request_error_1.BadRequestError('Manual execution is only supported for n8n workflow agents');
574
+ }
575
+ const { retryOfMessageId, previousMessageId, workflow } = await this.messageRepository.manager.transaction(async (trx) => {
576
+ const session = await this.getChatSession(user, sessionId, trx);
577
+ if (!session) {
578
+ throw new not_found_error_1.NotFoundError('Chat session not found');
579
+ }
580
+ const messageToRetry = await this.getChatMessage(session.id, retryId, [], trx);
581
+ if (messageToRetry.type !== 'ai') {
582
+ throw new bad_request_error_1.BadRequestError('Can only retry AI messages');
583
+ }
584
+ const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
585
+ const history = this.buildMessageHistory(messages, messageToRetry.previousMessageId);
586
+ const lastHumanMessage = history.filter((m) => m.type === 'human').pop();
587
+ if (!lastHumanMessage) {
588
+ throw new bad_request_error_1.BadRequestError('No human message found to base the retry on');
589
+ }
590
+ const lastHumanMessageIndex = history.indexOf(lastHumanMessage);
591
+ if (lastHumanMessageIndex !== -1) {
592
+ history.splice(lastHumanMessageIndex);
593
+ }
594
+ const retryOfMessageId = messageToRetry.retryOfMessageId ?? messageToRetry.id;
595
+ const message = lastHumanMessage ? lastHumanMessage.content : '';
596
+ const attachments = lastHumanMessage.attachments ?? [];
597
+ const tools = [];
598
+ const workflow = await this.chatHubWorkflowService.prepareReplyWorkflow(user, sessionId, credentials, model, history, message, tools, attachments, tz, trx, executionMetadata, true);
599
+ return {
600
+ previousMessageId: lastHumanMessage.id,
601
+ retryOfMessageId,
602
+ workflow,
603
+ };
604
+ });
605
+ void this.executeChatWorkflowWithCleanup(user, model, workflow, sessionId, previousMessageId, retryOfMessageId, null, {}, '', [], pushRef);
606
+ }
402
607
  async reconnectToStream(sessionId, lastReceivedSequence) {
403
608
  const hasActiveStream = await this.chatStreamService.hasActiveStream(sessionId);
404
609
  const currentMessageId = await this.chatStreamService.getCurrentMessageId(sessionId);
@@ -412,9 +617,9 @@ let ChatHubService = class ChatHubService {
412
617
  : lastReceivedSequence,
413
618
  };
414
619
  }
415
- async executeChatWorkflowWithCleanup(user, model, workflow, sessionId, previousMessageId, retryOfMessageId, originalPreviousMessageId, credentials, humanMessage, processedAttachments) {
416
- await this.chatHubExecutionService.executeChatWorkflowWithCleanup(user, model, workflow.workflowData, workflow.executionData, sessionId, previousMessageId, retryOfMessageId, workflow.responseMode);
417
- if (originalPreviousMessageId === null && humanMessage) {
620
+ async executeChatWorkflowWithCleanup(user, model, workflow, sessionId, previousMessageId, retryOfMessageId, originalPreviousMessageId, credentials, humanMessage, processedAttachments, pushRef) {
621
+ await this.chatHubExecutionService.executeChatWorkflowWithCleanup(user, model, workflow.workflowData, workflow.executionData, sessionId, previousMessageId, retryOfMessageId, workflow.responseMode, pushRef);
622
+ if (originalPreviousMessageId === null && humanMessage && !pushRef) {
418
623
  try {
419
624
  await this.chatHubTitleService.generateSessionTitle(user, sessionId, humanMessage, processedAttachments, credentials, model);
420
625
  }
@@ -465,6 +670,7 @@ let ChatHubService = class ChatHubService {
465
670
  agentId: session.agentId,
466
671
  agentName: agent?.name ?? session.agentName ?? session.model ?? '',
467
672
  agentIcon: agent?.icon ?? null,
673
+ type: session.type ?? 'production',
468
674
  createdAt: session.createdAt.toISOString(),
469
675
  updatedAt: session.updatedAt.toISOString(),
470
676
  toolIds,