n8n 1.118.0 → 1.119.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 (160) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/controllers/oauth/oauth2-credential.controller.d.ts +2 -0
  3. package/dist/controllers/oauth/oauth2-credential.controller.js +85 -1
  4. package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
  5. package/dist/controllers/users.controller.d.ts +1 -1
  6. package/dist/credentials-helper.js +8 -0
  7. package/dist/credentials-helper.js.map +1 -1
  8. package/dist/environments.ee/source-control/source-control-status.service.ee.d.ts +2 -2
  9. package/dist/environments.ee/source-control/source-control.controller.ee.d.ts +4 -4
  10. package/dist/environments.ee/source-control/source-control.service.ee.d.ts +2 -2
  11. package/dist/errors/response-errors/abstract/response.error.d.ts +1 -0
  12. package/dist/errors/response-errors/abstract/response.error.js.map +1 -1
  13. package/dist/errors/response-errors/license-eula-required.error.d.ts +9 -0
  14. package/dist/errors/response-errors/license-eula-required.error.js +13 -0
  15. package/dist/errors/response-errors/license-eula-required.error.js.map +1 -0
  16. package/dist/events/relays/telemetry.event-relay.js +3 -0
  17. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  18. package/dist/license/license.controller.js +2 -2
  19. package/dist/license/license.controller.js.map +1 -1
  20. package/dist/license/license.service.d.ts +3 -1
  21. package/dist/license/license.service.js +30 -5
  22. package/dist/license/license.service.js.map +1 -1
  23. package/dist/license.d.ts +1 -1
  24. package/dist/license.js +2 -2
  25. package/dist/license.js.map +1 -1
  26. package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +12 -0
  27. package/dist/modules/breaking-changes/breaking-changes.controller.js +50 -0
  28. package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -0
  29. package/dist/modules/breaking-changes/breaking-changes.module.d.ts +4 -0
  30. package/dist/modules/breaking-changes/breaking-changes.module.js +53 -0
  31. package/dist/modules/breaking-changes/breaking-changes.module.js.map +1 -0
  32. package/dist/modules/breaking-changes/breaking-changes.rule-registry.service.d.ts +11 -0
  33. package/dist/modules/breaking-changes/breaking-changes.rule-registry.service.js +47 -0
  34. package/dist/modules/breaking-changes/breaking-changes.rule-registry.service.js.map +1 -0
  35. package/dist/modules/breaking-changes/breaking-changes.service.d.ts +24 -0
  36. package/dist/modules/breaking-changes/breaking-changes.service.js +189 -0
  37. package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -0
  38. package/dist/modules/breaking-changes/rules/index.d.ts +4 -0
  39. package/dist/modules/breaking-changes/rules/index.js +7 -0
  40. package/dist/modules/breaking-changes/rules/index.js.map +1 -0
  41. package/dist/modules/breaking-changes/rules/v2/file-access.rule.d.ts +10 -0
  42. package/dist/modules/breaking-changes/rules/v2/file-access.rule.js +52 -0
  43. package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -0
  44. package/dist/modules/breaking-changes/rules/v2/index.d.ts +3 -0
  45. package/dist/modules/breaking-changes/rules/v2/index.js +9 -0
  46. package/dist/modules/breaking-changes/rules/v2/index.js.map +1 -0
  47. package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.d.ts +9 -0
  48. package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js +71 -0
  49. package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -0
  50. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.d.ts +10 -0
  51. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js +56 -0
  52. package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -0
  53. package/dist/modules/breaking-changes/types/detection.types.d.ts +11 -0
  54. package/dist/modules/breaking-changes/types/detection.types.js +3 -0
  55. package/dist/modules/breaking-changes/types/detection.types.js.map +1 -0
  56. package/dist/modules/breaking-changes/types/index.d.ts +2 -0
  57. package/dist/modules/breaking-changes/types/index.js +18 -0
  58. package/dist/modules/breaking-changes/types/index.js.map +1 -0
  59. package/dist/modules/breaking-changes/types/rule.types.d.ts +71 -0
  60. package/dist/modules/breaking-changes/types/rule.types.js +25 -0
  61. package/dist/modules/breaking-changes/types/rule.types.js.map +1 -0
  62. package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +14 -0
  63. package/dist/modules/chat-hub/chat-hub-agent.entity.js +63 -0
  64. package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -0
  65. package/dist/modules/chat-hub/chat-hub-agent.repository.d.ts +10 -0
  66. package/dist/modules/chat-hub/chat-hub-agent.repository.js +61 -0
  67. package/dist/modules/chat-hub/chat-hub-agent.repository.js.map +1 -0
  68. package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +32 -0
  69. package/dist/modules/chat-hub/chat-hub-agent.service.js +107 -0
  70. package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -0
  71. package/dist/modules/chat-hub/chat-hub-credentials.service.d.ts +15 -0
  72. package/dist/modules/chat-hub/chat-hub-credentials.service.js +54 -0
  73. package/dist/modules/chat-hub/chat-hub-credentials.service.js.map +1 -0
  74. package/dist/modules/chat-hub/chat-hub-message.entity.d.ts +1 -0
  75. package/dist/modules/chat-hub/chat-hub-message.entity.js +4 -0
  76. package/dist/modules/chat-hub/chat-hub-message.entity.js.map +1 -1
  77. package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +7 -4
  78. package/dist/modules/chat-hub/chat-hub-session.entity.js +9 -1
  79. package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
  80. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +29 -0
  81. package/dist/modules/chat-hub/chat-hub-workflow.service.js +382 -0
  82. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -0
  83. package/dist/modules/chat-hub/chat-hub.constants.d.ts +18 -0
  84. package/dist/modules/chat-hub/chat-hub.constants.js +30 -1
  85. package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
  86. package/dist/modules/chat-hub/chat-hub.controller.d.ts +10 -3
  87. package/dist/modules/chat-hub/chat-hub.controller.js +68 -7
  88. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
  89. package/dist/modules/chat-hub/chat-hub.module.d.ts +1 -1
  90. package/dist/modules/chat-hub/chat-hub.module.js +2 -1
  91. package/dist/modules/chat-hub/chat-hub.module.js.map +1 -1
  92. package/dist/modules/chat-hub/chat-hub.service.d.ts +31 -11
  93. package/dist/modules/chat-hub/chat-hub.service.js +519 -498
  94. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  95. package/dist/modules/chat-hub/chat-hub.types.d.ts +2 -1
  96. package/dist/modules/chat-hub/chat-message.repository.js +3 -3
  97. package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
  98. package/dist/modules/chat-hub/chat-session.repository.d.ts +1 -0
  99. package/dist/modules/chat-hub/chat-session.repository.js +9 -0
  100. package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
  101. package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +1 -1
  102. package/dist/modules/chat-hub/stream-capturer.d.ts +17 -2
  103. package/dist/modules/chat-hub/stream-capturer.js +90 -19
  104. package/dist/modules/chat-hub/stream-capturer.js.map +1 -1
  105. package/dist/modules/data-table/data-table-aggregate.service.js +4 -0
  106. package/dist/modules/data-table/data-table-aggregate.service.js.map +1 -1
  107. package/dist/modules/data-table/data-table.controller.d.ts +7 -1
  108. package/dist/modules/data-table/data-table.controller.js +35 -17
  109. package/dist/modules/data-table/data-table.controller.js.map +1 -1
  110. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +1 -1
  111. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -1
  112. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +1 -1
  113. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  114. package/dist/modules/insights/insights-collection.service.js +1 -0
  115. package/dist/modules/insights/insights-collection.service.js.map +1 -1
  116. package/dist/modules/insights/insights.controller.js +2 -15
  117. package/dist/modules/insights/insights.controller.js.map +1 -1
  118. package/dist/modules/insights/insights.service.d.ts +1 -1
  119. package/dist/modules/insights/insights.service.js.map +1 -1
  120. package/dist/modules/workflow-index/workflow-index.service.d.ts +22 -0
  121. package/dist/modules/workflow-index/workflow-index.service.js +166 -0
  122. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -0
  123. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +1 -1
  124. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  125. package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -1
  126. package/dist/public-api/v1/handlers/workflows/workflows.service.js +8 -2
  127. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
  128. package/dist/public-api/v1/openapi.yml +47 -0
  129. package/dist/requests.d.ts +1 -0
  130. package/dist/response-helper.js +3 -0
  131. package/dist/response-helper.js.map +1 -1
  132. package/dist/server.d.ts +1 -0
  133. package/dist/server.js +11 -0
  134. package/dist/server.js.map +1 -1
  135. package/dist/services/frontend.service.d.ts +1 -1
  136. package/dist/services/frontend.service.js +7 -2
  137. package/dist/services/frontend.service.js.map +1 -1
  138. package/dist/services/import.service.d.ts +5 -1
  139. package/dist/services/import.service.js +15 -2
  140. package/dist/services/import.service.js.map +1 -1
  141. package/dist/services/workflow-statistics.service.js +1 -0
  142. package/dist/services/workflow-statistics.service.js.map +1 -1
  143. package/dist/sso.ee/oidc/oidc.service.ee.d.ts +2 -1
  144. package/dist/sso.ee/oidc/oidc.service.ee.js +28 -6
  145. package/dist/sso.ee/oidc/oidc.service.ee.js.map +1 -1
  146. package/dist/sso.ee/saml/routes/saml.controller.ee.d.ts +1 -0
  147. package/dist/sso.ee/saml/routes/saml.controller.ee.js +19 -4
  148. package/dist/sso.ee/saml/routes/saml.controller.ee.js.map +1 -1
  149. package/dist/sso.ee/saml/saml.service.ee.d.ts +1 -1
  150. package/dist/sso.ee/saml/saml.service.ee.js +9 -6
  151. package/dist/sso.ee/saml/saml.service.ee.js.map +1 -1
  152. package/dist/workflow-runner.js +2 -1
  153. package/dist/workflow-runner.js.map +1 -1
  154. package/dist/workflows/workflow-execution.service.d.ts +4 -1
  155. package/dist/workflows/workflow-execution.service.js +14 -0
  156. package/dist/workflows/workflow-execution.service.js.map +1 -1
  157. package/dist/workflows/workflow.service.d.ts +4 -11
  158. package/dist/workflows/workflow.service.js +10 -8
  159. package/dist/workflows/workflow.service.js.map +1 -1
  160. package/package.json +23 -20
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChatHubWorkflowService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const db_1 = require("@n8n/db");
15
+ const di_1 = require("@n8n/di");
16
+ const n8n_workflow_1 = require("n8n-workflow");
17
+ const uuid_1 = require("uuid");
18
+ const chat_hub_constants_1 = require("./chat-hub.constants");
19
+ const context_limits_1 = require("./context-limits");
20
+ let ChatHubWorkflowService = class ChatHubWorkflowService {
21
+ constructor(logger, workflowRepository, sharedWorkflowRepository) {
22
+ this.logger = logger;
23
+ this.workflowRepository = workflowRepository;
24
+ this.sharedWorkflowRepository = sharedWorkflowRepository;
25
+ }
26
+ async createChatWorkflow(userId, sessionId, projectId, history, humanMessage, credentials, model, systemMessage, trx) {
27
+ return await (0, db_1.withTransaction)(this.workflowRepository.manager, trx, async (em) => {
28
+ this.logger.debug(`Creating chat workflow for user ${userId} and session ${sessionId}, provider ${model.provider}`);
29
+ const { nodes, connections, executionData } = this.buildChatWorkflow({
30
+ userId,
31
+ sessionId,
32
+ history,
33
+ humanMessage,
34
+ credentials,
35
+ model,
36
+ systemMessage,
37
+ });
38
+ const newWorkflow = new db_1.WorkflowEntity();
39
+ newWorkflow.versionId = (0, uuid_1.v4)();
40
+ newWorkflow.name = `Chat ${sessionId}`;
41
+ newWorkflow.active = false;
42
+ newWorkflow.nodes = nodes;
43
+ newWorkflow.connections = connections;
44
+ const workflow = await em.save(newWorkflow);
45
+ await em.save(this.sharedWorkflowRepository.create({
46
+ role: 'workflow:owner',
47
+ projectId,
48
+ workflow,
49
+ }));
50
+ return {
51
+ workflowData: workflow,
52
+ executionData,
53
+ };
54
+ });
55
+ }
56
+ async createTitleGenerationWorkflow(userId, sessionId, projectId, humanMessage, credentials, model, trx) {
57
+ return await (0, db_1.withTransaction)(this.workflowRepository.manager, trx, async (em) => {
58
+ this.logger.debug(`Creating title generation workflow for user ${userId} and session ${sessionId}, provider ${model.provider}`);
59
+ const { nodes, connections, executionData } = this.buildTitleGenerationWorkflow(userId, sessionId, credentials, model, humanMessage);
60
+ const newWorkflow = new db_1.WorkflowEntity();
61
+ newWorkflow.versionId = (0, uuid_1.v4)();
62
+ newWorkflow.name = `Chat ${sessionId} (Title Generation)`;
63
+ newWorkflow.active = false;
64
+ newWorkflow.nodes = nodes;
65
+ newWorkflow.connections = connections;
66
+ const workflow = await em.save(newWorkflow);
67
+ await em.save(this.sharedWorkflowRepository.create({
68
+ role: 'workflow:owner',
69
+ projectId,
70
+ workflow,
71
+ }));
72
+ return {
73
+ workflowData: workflow,
74
+ executionData,
75
+ };
76
+ });
77
+ }
78
+ buildChatWorkflow({ userId, sessionId, history, humanMessage, credentials, model, systemMessage, }) {
79
+ const chatTriggerNode = this.buildChatTriggerNode();
80
+ const toolsAgentNode = this.buildToolsAgentNode(model, systemMessage);
81
+ const modelNode = this.buildModelNode(credentials, model);
82
+ const memoryNode = this.buildMemoryNode(20);
83
+ const restoreMemoryNode = this.buildRestoreMemoryNode(history);
84
+ const clearMemoryNode = this.buildClearMemoryNode();
85
+ const nodes = [
86
+ chatTriggerNode,
87
+ toolsAgentNode,
88
+ modelNode,
89
+ memoryNode,
90
+ restoreMemoryNode,
91
+ clearMemoryNode,
92
+ ];
93
+ const connections = {
94
+ [chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER]: {
95
+ main: [
96
+ [{ node: chat_hub_constants_1.NODE_NAMES.RESTORE_CHAT_MEMORY, type: n8n_workflow_1.NodeConnectionTypes.Main, index: 0 }],
97
+ ],
98
+ },
99
+ [chat_hub_constants_1.NODE_NAMES.RESTORE_CHAT_MEMORY]: {
100
+ main: [[{ node: chat_hub_constants_1.NODE_NAMES.REPLY_AGENT, type: n8n_workflow_1.NodeConnectionTypes.Main, index: 0 }]],
101
+ },
102
+ [chat_hub_constants_1.NODE_NAMES.CHAT_MODEL]: {
103
+ ai_languageModel: [
104
+ [{ node: chat_hub_constants_1.NODE_NAMES.REPLY_AGENT, type: n8n_workflow_1.NodeConnectionTypes.AiLanguageModel, index: 0 }],
105
+ ],
106
+ },
107
+ [chat_hub_constants_1.NODE_NAMES.MEMORY]: {
108
+ ai_memory: [
109
+ [
110
+ { node: chat_hub_constants_1.NODE_NAMES.REPLY_AGENT, type: n8n_workflow_1.NodeConnectionTypes.AiMemory, index: 0 },
111
+ { node: chat_hub_constants_1.NODE_NAMES.RESTORE_CHAT_MEMORY, type: n8n_workflow_1.NodeConnectionTypes.AiMemory, index: 0 },
112
+ { node: chat_hub_constants_1.NODE_NAMES.CLEAR_CHAT_MEMORY, type: n8n_workflow_1.NodeConnectionTypes.AiMemory, index: 0 },
113
+ ],
114
+ ],
115
+ },
116
+ [chat_hub_constants_1.NODE_NAMES.REPLY_AGENT]: {
117
+ main: [
118
+ [
119
+ {
120
+ node: chat_hub_constants_1.NODE_NAMES.CLEAR_CHAT_MEMORY,
121
+ type: n8n_workflow_1.NodeConnectionTypes.Main,
122
+ index: 0,
123
+ },
124
+ ],
125
+ ],
126
+ },
127
+ };
128
+ const nodeExecutionStack = [
129
+ {
130
+ node: chatTriggerNode,
131
+ data: {
132
+ main: [
133
+ [
134
+ {
135
+ json: {
136
+ sessionId,
137
+ action: 'sendMessage',
138
+ chatInput: humanMessage,
139
+ },
140
+ },
141
+ ],
142
+ ],
143
+ },
144
+ source: null,
145
+ },
146
+ ];
147
+ const executionData = {
148
+ startData: {},
149
+ resultData: {
150
+ runData: {},
151
+ },
152
+ executionData: {
153
+ contextData: {},
154
+ metadata: {},
155
+ nodeExecutionStack,
156
+ waitingExecution: {},
157
+ waitingExecutionSource: {},
158
+ },
159
+ manualData: {
160
+ userId,
161
+ },
162
+ };
163
+ return { nodes, connections, executionData };
164
+ }
165
+ buildTitleGenerationWorkflow(userId, sessionId, credentials, model, humanMessage) {
166
+ const chatTriggerNode = this.buildChatTriggerNode();
167
+ const titleGeneratorAgentNode = this.buildTitleGeneratorAgentNode();
168
+ const modelNode = this.buildModelNode(credentials, model);
169
+ const nodes = [chatTriggerNode, titleGeneratorAgentNode, modelNode];
170
+ const connections = {
171
+ [chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER]: {
172
+ main: [
173
+ [{ node: chat_hub_constants_1.NODE_NAMES.TITLE_GENERATOR_AGENT, type: n8n_workflow_1.NodeConnectionTypes.Main, index: 0 }],
174
+ ],
175
+ },
176
+ [chat_hub_constants_1.NODE_NAMES.CHAT_MODEL]: {
177
+ ai_languageModel: [
178
+ [
179
+ {
180
+ node: chat_hub_constants_1.NODE_NAMES.TITLE_GENERATOR_AGENT,
181
+ type: n8n_workflow_1.NodeConnectionTypes.AiLanguageModel,
182
+ index: 0,
183
+ },
184
+ ],
185
+ ],
186
+ },
187
+ };
188
+ const nodeExecutionStack = [
189
+ {
190
+ node: chatTriggerNode,
191
+ data: {
192
+ main: [
193
+ [
194
+ {
195
+ json: {
196
+ sessionId,
197
+ action: 'sendMessage',
198
+ chatInput: humanMessage,
199
+ },
200
+ },
201
+ ],
202
+ ],
203
+ },
204
+ source: null,
205
+ },
206
+ ];
207
+ const executionData = {
208
+ startData: {},
209
+ resultData: {
210
+ runData: {},
211
+ },
212
+ executionData: {
213
+ contextData: {},
214
+ metadata: {},
215
+ nodeExecutionStack,
216
+ waitingExecution: {},
217
+ waitingExecutionSource: {},
218
+ },
219
+ manualData: {
220
+ userId,
221
+ },
222
+ };
223
+ return { nodes, connections, executionData };
224
+ }
225
+ buildChatTriggerNode() {
226
+ return {
227
+ parameters: {},
228
+ type: n8n_workflow_1.CHAT_TRIGGER_NODE_TYPE,
229
+ typeVersion: 1.4,
230
+ position: [0, 0],
231
+ id: (0, uuid_1.v4)(),
232
+ name: chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER,
233
+ webhookId: (0, uuid_1.v4)(),
234
+ };
235
+ }
236
+ buildToolsAgentNode(model, systemMessage) {
237
+ return {
238
+ parameters: {
239
+ promptType: 'define',
240
+ text: `={{ $('${chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER}').item.json.chatInput }}`,
241
+ options: {
242
+ enableStreaming: true,
243
+ maxTokensFromMemory: model.provider !== 'n8n' && model.provider !== 'custom-agent'
244
+ ? (0, context_limits_1.getMaxContextWindowTokens)(model.provider, model.model)
245
+ : undefined,
246
+ systemMessage,
247
+ },
248
+ },
249
+ type: n8n_workflow_1.AGENT_LANGCHAIN_NODE_TYPE,
250
+ typeVersion: 3,
251
+ position: [600, 0],
252
+ id: (0, uuid_1.v4)(),
253
+ name: chat_hub_constants_1.NODE_NAMES.REPLY_AGENT,
254
+ };
255
+ }
256
+ buildModelNode(credentials, conversationModel) {
257
+ if (conversationModel.provider === 'n8n' || conversationModel.provider === 'custom-agent') {
258
+ throw new n8n_workflow_1.OperationalError('Custom agent workflows do not require a model node');
259
+ }
260
+ const { provider, model } = conversationModel;
261
+ const common = {
262
+ position: [600, 300],
263
+ id: (0, uuid_1.v4)(),
264
+ name: chat_hub_constants_1.NODE_NAMES.CHAT_MODEL,
265
+ credentials,
266
+ type: chat_hub_constants_1.PROVIDER_NODE_TYPE_MAP[provider].name,
267
+ typeVersion: chat_hub_constants_1.PROVIDER_NODE_TYPE_MAP[provider].version,
268
+ };
269
+ switch (provider) {
270
+ case 'openai':
271
+ return {
272
+ ...common,
273
+ parameters: {
274
+ model: { __rl: true, mode: 'id', value: model },
275
+ options: {},
276
+ },
277
+ };
278
+ case 'anthropic':
279
+ return {
280
+ ...common,
281
+ parameters: {
282
+ model: {
283
+ __rl: true,
284
+ mode: 'id',
285
+ value: model,
286
+ cachedResultName: model,
287
+ },
288
+ options: {},
289
+ },
290
+ };
291
+ case 'google':
292
+ return {
293
+ ...common,
294
+ parameters: {
295
+ model: { __rl: true, mode: 'id', value: model },
296
+ options: {},
297
+ },
298
+ };
299
+ }
300
+ }
301
+ buildMemoryNode(contextWindowLength) {
302
+ return {
303
+ parameters: {
304
+ sessionIdType: 'customKey',
305
+ sessionKey: `={{ $('${chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER}').item.json.sessionId }}`,
306
+ contextWindowLength,
307
+ },
308
+ type: n8n_workflow_1.MEMORY_BUFFER_WINDOW_NODE_TYPE,
309
+ typeVersion: 1.3,
310
+ position: [480, 208],
311
+ id: (0, uuid_1.v4)(),
312
+ name: chat_hub_constants_1.NODE_NAMES.MEMORY,
313
+ };
314
+ }
315
+ buildRestoreMemoryNode(history) {
316
+ return {
317
+ parameters: {
318
+ mode: 'insert',
319
+ insertMode: 'override',
320
+ messages: {
321
+ messageValues: history
322
+ .filter((message) => message.content.length > 0)
323
+ .map((message) => {
324
+ const typeMap = {
325
+ human: 'user',
326
+ ai: 'ai',
327
+ system: 'system',
328
+ };
329
+ return {
330
+ type: typeMap[message.type] || 'system',
331
+ message: message.content,
332
+ hideFromUI: false,
333
+ };
334
+ }),
335
+ },
336
+ },
337
+ type: n8n_workflow_1.MEMORY_MANAGER_NODE_TYPE,
338
+ typeVersion: 1.1,
339
+ position: [224, 0],
340
+ id: (0, uuid_1.v4)(),
341
+ name: chat_hub_constants_1.NODE_NAMES.RESTORE_CHAT_MEMORY,
342
+ };
343
+ }
344
+ buildClearMemoryNode() {
345
+ return {
346
+ parameters: {
347
+ mode: 'delete',
348
+ deleteMode: 'all',
349
+ },
350
+ type: n8n_workflow_1.MEMORY_MANAGER_NODE_TYPE,
351
+ typeVersion: 1.1,
352
+ position: [976, 0],
353
+ id: (0, uuid_1.v4)(),
354
+ name: chat_hub_constants_1.NODE_NAMES.CLEAR_CHAT_MEMORY,
355
+ };
356
+ }
357
+ buildTitleGeneratorAgentNode() {
358
+ return {
359
+ parameters: {
360
+ promptType: 'define',
361
+ text: `={{ $('${chat_hub_constants_1.NODE_NAMES.CHAT_TRIGGER}').item.json.chatInput }}`,
362
+ options: {
363
+ enableStreaming: false,
364
+ systemMessage: chat_hub_constants_1.CONVERSATION_TITLE_GENERATION_PROMPT,
365
+ },
366
+ },
367
+ type: n8n_workflow_1.AGENT_LANGCHAIN_NODE_TYPE,
368
+ typeVersion: 3,
369
+ position: [600, 0],
370
+ id: (0, uuid_1.v4)(),
371
+ name: chat_hub_constants_1.NODE_NAMES.TITLE_GENERATOR_AGENT,
372
+ };
373
+ }
374
+ };
375
+ exports.ChatHubWorkflowService = ChatHubWorkflowService;
376
+ exports.ChatHubWorkflowService = ChatHubWorkflowService = __decorate([
377
+ (0, di_1.Service)(),
378
+ __metadata("design:paramtypes", [backend_common_1.Logger,
379
+ db_1.WorkflowRepository,
380
+ db_1.SharedWorkflowRepository])
381
+ ], ChatHubWorkflowService);
382
+ //# sourceMappingURL=chat-hub-workflow.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-hub-workflow.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub-workflow.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1,19 @@
1
+ import type { ChatHubLLMProvider } from '@n8n/api-types';
2
+ import type { INodeTypeNameVersion } from 'n8n-workflow';
1
3
  export declare const CONVERSATION_TITLE_GENERATION_PROMPT = "Generate a concise, descriptive title for this conversation based on the user's message.\n\nRequirements:\n- 3 to 5 words\n- Use normal sentence case (not title case)\n- No quotation marks\n- Only output the title, nothing else\n- Use the same language as the user's message\n";
4
+ export declare const PROVIDER_NODE_TYPE_MAP: Record<ChatHubLLMProvider, INodeTypeNameVersion>;
5
+ export declare const NODE_NAMES: {
6
+ readonly CHAT_TRIGGER: "When chat message received";
7
+ readonly REPLY_AGENT: "AI Agent";
8
+ readonly TITLE_GENERATOR_AGENT: "Title Generator Agent";
9
+ readonly CHAT_MODEL: "Chat Model";
10
+ readonly MEMORY: "Memory";
11
+ readonly RESTORE_CHAT_MEMORY: "Restore Chat Memory";
12
+ readonly CLEAR_CHAT_MEMORY: "Clear Chat Memory";
13
+ };
14
+ export declare const JSONL_STREAM_HEADERS: {
15
+ 'Content-Type': string;
16
+ 'Transfer-Encoding': string;
17
+ 'Cache-Control': string;
18
+ Connection: string;
19
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONVERSATION_TITLE_GENERATION_PROMPT = void 0;
3
+ exports.JSONL_STREAM_HEADERS = exports.NODE_NAMES = exports.PROVIDER_NODE_TYPE_MAP = exports.CONVERSATION_TITLE_GENERATION_PROMPT = void 0;
4
4
  exports.CONVERSATION_TITLE_GENERATION_PROMPT = `Generate a concise, descriptive title for this conversation based on the user's message.
5
5
 
6
6
  Requirements:
@@ -10,4 +10,33 @@ Requirements:
10
10
  - Only output the title, nothing else
11
11
  - Use the same language as the user's message
12
12
  `;
13
+ exports.PROVIDER_NODE_TYPE_MAP = {
14
+ openai: {
15
+ name: '@n8n/n8n-nodes-langchain.lmChatOpenAi',
16
+ version: 1.2,
17
+ },
18
+ anthropic: {
19
+ name: '@n8n/n8n-nodes-langchain.lmChatAnthropic',
20
+ version: 1.3,
21
+ },
22
+ google: {
23
+ name: '@n8n/n8n-nodes-langchain.lmChatGoogleGemini',
24
+ version: 1.2,
25
+ },
26
+ };
27
+ exports.NODE_NAMES = {
28
+ CHAT_TRIGGER: 'When chat message received',
29
+ REPLY_AGENT: 'AI Agent',
30
+ TITLE_GENERATOR_AGENT: 'Title Generator Agent',
31
+ CHAT_MODEL: 'Chat Model',
32
+ MEMORY: 'Memory',
33
+ RESTORE_CHAT_MEMORY: 'Restore Chat Memory',
34
+ CLEAR_CHAT_MEMORY: 'Clear Chat Memory',
35
+ };
36
+ exports.JSONL_STREAM_HEADERS = {
37
+ 'Content-Type': 'application/json-lines; charset=utf-8',
38
+ 'Transfer-Encoding': 'chunked',
39
+ 'Cache-Control': 'no-cache',
40
+ Connection: 'keep-alive',
41
+ };
13
42
  //# sourceMappingURL=chat-hub.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-hub.constants.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG;;;;;;;;CAQnD,CAAC"}
1
+ {"version":3,"file":"chat-hub.constants.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,oCAAoC,GAAG;;;;;;;;CAQnD,CAAC;AAEW,QAAA,sBAAsB,GAAqD;IACvF,MAAM,EAAE;QACP,IAAI,EAAE,uCAAuC;QAC7C,OAAO,EAAE,GAAG;KACZ;IACD,SAAS,EAAE;QACV,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,GAAG;KACZ;IACD,MAAM,EAAE;QACP,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,GAAG;KACZ;CACD,CAAC;AAEW,QAAA,UAAU,GAAG;IACzB,YAAY,EAAE,4BAA4B;IAC1C,WAAW,EAAE,UAAU;IACvB,qBAAqB,EAAE,uBAAuB;IAC9C,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;CAC7B,CAAC;AAGE,QAAA,oBAAoB,GAAG;IACnC,cAAc,EAAE,uCAAuC;IACvD,mBAAmB,EAAE,SAAS;IAC9B,eAAe,EAAE,UAAU;IAC3B,UAAU,EAAE,YAAY;CACxB,CAAC"}
@@ -1,13 +1,15 @@
1
- import { ChatHubSendMessageRequest, ChatModelsResponse, ChatHubConversationsResponse, ChatHubConversationResponse, ChatHubEditMessageRequest, ChatHubRegenerateMessageRequest, ChatHubChangeConversationTitleRequest, ChatSessionId, ChatMessageId } from '@n8n/api-types';
1
+ import { ChatHubSendMessageRequest, ChatModelsResponse, ChatHubConversationsResponse, ChatHubConversationResponse, ChatHubEditMessageRequest, ChatHubRegenerateMessageRequest, ChatHubUpdateConversationRequest, ChatSessionId, ChatMessageId, ChatHubCreateAgentRequest, ChatHubUpdateAgentRequest } from '@n8n/api-types';
2
2
  import { Logger } from '@n8n/backend-common';
3
3
  import { AuthenticatedRequest } from '@n8n/db';
4
4
  import type { Response } from 'express';
5
5
  import { ChatHubService } from './chat-hub.service';
6
+ import { ChatHubAgentService } from './chat-hub-agent.service';
6
7
  import { ChatModelsRequestDto } from './dto/chat-models-request.dto';
7
8
  export declare class ChatHubController {
8
9
  private readonly chatService;
10
+ private readonly chatAgentService;
9
11
  private readonly logger;
10
- constructor(chatService: ChatHubService, logger: Logger);
12
+ constructor(chatService: ChatHubService, chatAgentService: ChatHubAgentService, logger: Logger);
11
13
  getModels(req: AuthenticatedRequest, _res: Response, payload: ChatModelsRequestDto): Promise<ChatModelsResponse>;
12
14
  getConversations(req: AuthenticatedRequest, _res: Response): Promise<ChatHubConversationsResponse>;
13
15
  getConversationMessages(req: AuthenticatedRequest, _res: Response, sessionId: ChatSessionId): Promise<ChatHubConversationResponse>;
@@ -15,6 +17,11 @@ export declare class ChatHubController {
15
17
  editMessage(req: AuthenticatedRequest, res: Response, sessionId: ChatSessionId, editId: ChatMessageId, payload: ChatHubEditMessageRequest): Promise<void>;
16
18
  regenerateMessage(req: AuthenticatedRequest, res: Response, sessionId: ChatSessionId, retryId: ChatMessageId, payload: ChatHubRegenerateMessageRequest): Promise<void>;
17
19
  stopGeneration(req: AuthenticatedRequest, res: Response, sessionId: ChatSessionId, messageId: ChatMessageId): Promise<void>;
18
- updateConversationTitle(req: AuthenticatedRequest, _res: Response, sessionId: ChatSessionId, payload: ChatHubChangeConversationTitleRequest): Promise<ChatHubConversationResponse>;
20
+ updateConversation(req: AuthenticatedRequest, _res: Response, sessionId: ChatSessionId, payload: ChatHubUpdateConversationRequest): Promise<ChatHubConversationResponse>;
19
21
  deleteConversation(req: AuthenticatedRequest, res: Response, sessionId: ChatSessionId): Promise<void>;
22
+ getAgents(req: AuthenticatedRequest): Promise<import("./chat-hub-agent.entity").ChatHubAgent[]>;
23
+ getAgent(req: AuthenticatedRequest, _res: Response, agentId: string): Promise<import("./chat-hub-agent.entity").ChatHubAgent>;
24
+ createAgent(req: AuthenticatedRequest, _res: Response, payload: ChatHubCreateAgentRequest): Promise<import("./chat-hub-agent.entity").ChatHubAgent>;
25
+ updateAgent(req: AuthenticatedRequest, _res: Response, agentId: string, payload: ChatHubUpdateAgentRequest): Promise<import("./chat-hub-agent.entity").ChatHubAgent>;
26
+ deleteAgent(req: AuthenticatedRequest, res: Response, agentId: string): Promise<void>;
20
27
  }
@@ -17,12 +17,14 @@ const api_types_1 = require("@n8n/api-types");
17
17
  const backend_common_1 = require("@n8n/backend-common");
18
18
  const decorators_1 = require("@n8n/decorators");
19
19
  const node_assert_1 = require("node:assert");
20
+ const response_error_1 = require("../../errors/response-errors/abstract/response.error");
20
21
  const chat_hub_service_1 = require("./chat-hub.service");
22
+ const chat_hub_agent_service_1 = require("./chat-hub-agent.service");
21
23
  const chat_models_request_dto_1 = require("./dto/chat-models-request.dto");
22
- const response_error_1 = require("../../errors/response-errors/abstract/response.error");
23
24
  let ChatHubController = class ChatHubController {
24
- constructor(chatService, logger) {
25
+ constructor(chatService, chatAgentService, logger) {
25
26
  this.chatService = chatService;
27
+ this.chatAgentService = chatAgentService;
26
28
  this.logger = logger;
27
29
  }
28
30
  async getModels(req, _res, payload) {
@@ -136,14 +138,32 @@ let ChatHubController = class ChatHubController {
136
138
  await this.chatService.stopGeneration(req.user, sessionId, messageId);
137
139
  res.status(204).send();
138
140
  }
139
- async updateConversationTitle(req, _res, sessionId, payload) {
140
- await this.chatService.updateSessionTitle(req.user.id, sessionId, payload.title);
141
+ async updateConversation(req, _res, sessionId, payload) {
142
+ if (Object.keys(payload).length > 0) {
143
+ await this.chatService.updateSession(req.user, sessionId, payload);
144
+ }
141
145
  return await this.chatService.getConversation(req.user.id, sessionId);
142
146
  }
143
147
  async deleteConversation(req, res, sessionId) {
144
148
  await this.chatService.deleteSession(req.user.id, sessionId);
145
149
  res.status(204).send();
146
150
  }
151
+ async getAgents(req) {
152
+ return await this.chatAgentService.getAgentsByUserId(req.user.id);
153
+ }
154
+ async getAgent(req, _res, agentId) {
155
+ return await this.chatAgentService.getAgentById(agentId, req.user.id);
156
+ }
157
+ async createAgent(req, _res, payload) {
158
+ return await this.chatAgentService.createAgent(req.user, payload);
159
+ }
160
+ async updateAgent(req, _res, agentId, payload) {
161
+ return await this.chatAgentService.updateAgent(agentId, req.user, payload);
162
+ }
163
+ async deleteAgent(req, res, agentId) {
164
+ await this.chatAgentService.deleteAgent(agentId, req.user.id);
165
+ res.status(204).send();
166
+ }
147
167
  };
148
168
  exports.ChatHubController = ChatHubController;
149
169
  __decorate([
@@ -207,14 +227,14 @@ __decorate([
207
227
  __metadata("design:returntype", Promise)
208
228
  ], ChatHubController.prototype, "stopGeneration", null);
209
229
  __decorate([
210
- (0, decorators_1.Post)('/conversations/:sessionId/rename'),
230
+ (0, decorators_1.Patch)('/conversations/:sessionId'),
211
231
  (0, decorators_1.GlobalScope)('chatHub:message'),
212
232
  __param(2, (0, decorators_1.Param)('sessionId')),
213
233
  __param(3, decorators_1.Body),
214
234
  __metadata("design:type", Function),
215
- __metadata("design:paramtypes", [Object, Object, String, api_types_1.ChatHubChangeConversationTitleRequest]),
235
+ __metadata("design:paramtypes", [Object, Object, String, api_types_1.ChatHubUpdateConversationRequest]),
216
236
  __metadata("design:returntype", Promise)
217
- ], ChatHubController.prototype, "updateConversationTitle", null);
237
+ ], ChatHubController.prototype, "updateConversation", null);
218
238
  __decorate([
219
239
  (0, decorators_1.Delete)('/conversations/:sessionId'),
220
240
  (0, decorators_1.GlobalScope)('chatHub:message'),
@@ -223,9 +243,50 @@ __decorate([
223
243
  __metadata("design:paramtypes", [Object, Object, String]),
224
244
  __metadata("design:returntype", Promise)
225
245
  ], ChatHubController.prototype, "deleteConversation", null);
246
+ __decorate([
247
+ (0, decorators_1.Get)('/agents'),
248
+ (0, decorators_1.GlobalScope)('chatHubAgent:list'),
249
+ __metadata("design:type", Function),
250
+ __metadata("design:paramtypes", [Object]),
251
+ __metadata("design:returntype", Promise)
252
+ ], ChatHubController.prototype, "getAgents", null);
253
+ __decorate([
254
+ (0, decorators_1.Get)('/agents/:agentId'),
255
+ (0, decorators_1.GlobalScope)('chatHubAgent:read'),
256
+ __param(2, (0, decorators_1.Param)('agentId')),
257
+ __metadata("design:type", Function),
258
+ __metadata("design:paramtypes", [Object, Object, String]),
259
+ __metadata("design:returntype", Promise)
260
+ ], ChatHubController.prototype, "getAgent", null);
261
+ __decorate([
262
+ (0, decorators_1.Post)('/agents'),
263
+ (0, decorators_1.GlobalScope)('chatHubAgent:create'),
264
+ __param(2, decorators_1.Body),
265
+ __metadata("design:type", Function),
266
+ __metadata("design:paramtypes", [Object, Object, api_types_1.ChatHubCreateAgentRequest]),
267
+ __metadata("design:returntype", Promise)
268
+ ], ChatHubController.prototype, "createAgent", null);
269
+ __decorate([
270
+ (0, decorators_1.Post)('/agents/:agentId'),
271
+ (0, decorators_1.GlobalScope)('chatHubAgent:update'),
272
+ __param(2, (0, decorators_1.Param)('agentId')),
273
+ __param(3, decorators_1.Body),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [Object, Object, String, api_types_1.ChatHubUpdateAgentRequest]),
276
+ __metadata("design:returntype", Promise)
277
+ ], ChatHubController.prototype, "updateAgent", null);
278
+ __decorate([
279
+ (0, decorators_1.Delete)('/agents/:agentId'),
280
+ (0, decorators_1.GlobalScope)('chatHubAgent:delete'),
281
+ __param(2, (0, decorators_1.Param)('agentId')),
282
+ __metadata("design:type", Function),
283
+ __metadata("design:paramtypes", [Object, Object, String]),
284
+ __metadata("design:returntype", Promise)
285
+ ], ChatHubController.prototype, "deleteAgent", null);
226
286
  exports.ChatHubController = ChatHubController = __decorate([
227
287
  (0, decorators_1.RestController)('/chat'),
228
288
  __metadata("design:paramtypes", [chat_hub_service_1.ChatHubService,
289
+ chat_hub_agent_service_1.ChatHubAgentService,
229
290
  backend_common_1.Logger])
230
291
  ], ChatHubController);
231
292
  //# sourceMappingURL=chat-hub.controller.js.map
@@ -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":";;;;;;;;;;;;;;;AAAA,8CAYwB;AACxB,wDAA6C;AAE7C,gDASyB;AAEzB,6CAA+C;AAE/C,qFAAiF;AAEjF,yDAAoD;AACpD,qEAA+D;AAC/D,2EAAqE;AAG9D,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC7B,YACkB,WAA2B,EAC3B,gBAAqC,EACrC,MAAc;QAFd,gBAAW,GAAX,WAAW,CAAgB;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAqB;QACrC,WAAM,GAAN,MAAM,CAAQ;IAC7B,CAAC;IAIE,AAAN,KAAK,CAAC,SAAS,CACd,GAAyB,EACzB,IAAc,EACR,OAA6B;QAEnC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAIK,AAAN,KAAK,CAAC,gBAAgB,CACrB,GAAyB,EACzB,IAAc;QAEd,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB,CAC5B,GAAyB,EACzB,IAAc,EACM,SAAwB;QAE5C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAChB,GAAyB,EACzB,GAAa,EACP,OAAkC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACtD,GAAG,OAAO;gBACV,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aACnB,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAA,oBAAM,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,KAAK,YAAY,8BAAa,EAAE,CAAC;oBACpC,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC/B,GAAG,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,GAAG,IAAI,CACT,CAAC;gBACF,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,aAAa;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAChB,GAAyB,EACzB,GAAa,EACO,SAAwB,EACxB,MAAqB,EACnC,OAAkC;QAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5E,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACjD,GAAG,OAAO;gBACV,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aACnB,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAA,oBAAM,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,KAAK,YAAY,8BAAa,EAAE,CAAC;oBACpC,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC/B,GAAG,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,GAAG,IAAI,CACT,CAAC;gBACF,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,aAAa;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CACtB,GAAyB,EACzB,GAAa,EACO,SAAwB,EACxB,OAAsB,EACpC,OAAwC;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE7E,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;gBACzD,GAAG,OAAO;gBACV,SAAS;gBACT,OAAO;gBACP,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aACnB,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAA,oBAAM,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,KAAK,YAAY,8BAAa,EAAE,CAAC;oBACpC,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC/B,GAAG,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CAAC;oBACd,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,KAAK,CAAC,OAAO;iBACtB,CAAC,GAAG,IAAI,CACT,CAAC;gBACF,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,aAAa;gBAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAIK,AAAN,KAAK,CAAC,cAAc,CACnB,GAAyB,EACzB,GAAa,EACO,SAAwB,EACxB,SAAwB;QAE5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAE7F,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB,CACvB,GAAyB,EACzB,IAAc,EACM,SAAwB,EACtC,OAAyC;QAE/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAIK,AAAN,KAAK,CAAC,kBAAkB,CACvB,GAAyB,EACzB,GAAa,EACO,SAAwB;QAE5C,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAIK,AAAN,KAAK,CAAC,SAAS,CAAC,GAAyB;QACxC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAIK,AAAN,KAAK,CAAC,QAAQ,CAAC,GAAyB,EAAE,IAAc,EAAoB,OAAe;QAC1F,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAChB,GAAyB,EACzB,IAAc,EACR,OAAkC;QAExC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAChB,GAAyB,EACzB,IAAc,EACI,OAAe,EAC3B,OAAkC;QAExC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAChB,GAAyB,EACzB,GAAa,EACK,OAAe;QAEjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACD,CAAA;AA/PY,8CAAiB;AASvB;IAFL,IAAA,iBAAI,EAAC,SAAS,CAAC;IACf,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAI7B,WAAA,iBAAI,CAAA;;qDAAU,8CAAoB;;kDAGnC;AAIK;IAFL,IAAA,gBAAG,EAAC,gBAAgB,CAAC;IACrB,IAAA,wBAAW,EAAC,iBAAiB,CAAC;;;;yDAM9B;AAIK;IAFL,IAAA,gBAAG,EAAC,2BAA2B,CAAC;IAChC,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAI7B,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;;;;gEAGnB;AAIK;IAFL,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAC9B,IAAA,iBAAI,EAAC,qBAAqB,CAAC;IAI1B,WAAA,iBAAI,CAAA;;qDAAU,qCAAyB;;oDAmCxC;AAIK;IAFL,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAC9B,IAAA,iBAAI,EAAC,oDAAoD,CAAC;IAIzD,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,iBAAI,CAAA;;qEAAU,qCAAyB;;oDAqCxC;AAIK;IAFL,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAC9B,IAAA,iBAAI,EAAC,0DAA0D,CAAC;IAI/D,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,iBAAI,CAAA;;qEAAU,2CAA+B;;0DAqC9C;AAIK;IAFL,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAC9B,IAAA,iBAAI,EAAC,oDAAoD,CAAC;IAIzD,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;;;;uDAMnB;AAIK;IAFL,IAAA,kBAAK,EAAC,2BAA2B,CAAC;IAClC,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAI7B,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,iBAAI,CAAA;;6DAAU,4CAAgC;;2DAO/C;AAIK;IAFL,IAAA,mBAAM,EAAC,2BAA2B,CAAC;IACnC,IAAA,wBAAW,EAAC,iBAAiB,CAAC;IAI7B,WAAA,IAAA,kBAAK,EAAC,WAAW,CAAC,CAAA;;;;2DAKnB;AAIK;IAFL,IAAA,gBAAG,EAAC,SAAS,CAAC;IACd,IAAA,wBAAW,EAAC,mBAAmB,CAAC;;;;kDAGhC;AAIK;IAFL,IAAA,gBAAG,EAAC,kBAAkB,CAAC;IACvB,IAAA,wBAAW,EAAC,mBAAmB,CAAC;IAC0B,WAAA,IAAA,kBAAK,EAAC,SAAS,CAAC,CAAA;;;;iDAE1E;AAIK;IAFL,IAAA,iBAAI,EAAC,SAAS,CAAC;IACf,IAAA,wBAAW,EAAC,qBAAqB,CAAC;IAIjC,WAAA,iBAAI,CAAA;;qDAAU,qCAAyB;;oDAGxC;AAIK;IAFL,IAAA,iBAAI,EAAC,kBAAkB,CAAC;IACxB,IAAA,wBAAW,EAAC,qBAAqB,CAAC;IAIjC,WAAA,IAAA,kBAAK,EAAC,SAAS,CAAC,CAAA;IAChB,WAAA,iBAAI,CAAA;;6DAAU,qCAAyB;;oDAGxC;AAIK;IAFL,IAAA,mBAAM,EAAC,kBAAkB,CAAC;IAC1B,IAAA,wBAAW,EAAC,qBAAqB,CAAC;IAIjC,WAAA,IAAA,kBAAK,EAAC,SAAS,CAAC,CAAA;;;;oDAKjB;4BA9PW,iBAAiB;IAD7B,IAAA,2BAAc,EAAC,OAAO,CAAC;qCAGQ,iCAAc;QACT,4CAAmB;QAC7B,uBAAM;GAJpB,iBAAiB,CA+P7B"}