@lobu/gateway 3.0.9 → 3.0.13

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 (212) hide show
  1. package/dist/api/platform.d.ts.map +1 -1
  2. package/dist/api/platform.js +7 -26
  3. package/dist/api/platform.js.map +1 -1
  4. package/dist/auth/mcp/proxy.d.ts +14 -0
  5. package/dist/auth/mcp/proxy.d.ts.map +1 -1
  6. package/dist/auth/mcp/proxy.js +149 -13
  7. package/dist/auth/mcp/proxy.js.map +1 -1
  8. package/dist/cli/gateway.d.ts.map +1 -1
  9. package/dist/cli/gateway.js +29 -0
  10. package/dist/cli/gateway.js.map +1 -1
  11. package/dist/connections/chat-instance-manager.d.ts.map +1 -1
  12. package/dist/connections/chat-instance-manager.js +2 -1
  13. package/dist/connections/chat-instance-manager.js.map +1 -1
  14. package/dist/connections/interaction-bridge.d.ts +9 -2
  15. package/dist/connections/interaction-bridge.d.ts.map +1 -1
  16. package/dist/connections/interaction-bridge.js +121 -261
  17. package/dist/connections/interaction-bridge.js.map +1 -1
  18. package/dist/gateway/index.js +1 -1
  19. package/dist/gateway/index.js.map +1 -1
  20. package/dist/interactions.d.ts +9 -43
  21. package/dist/interactions.d.ts.map +1 -1
  22. package/dist/interactions.js +10 -52
  23. package/dist/interactions.js.map +1 -1
  24. package/dist/routes/public/agent.d.ts +4 -0
  25. package/dist/routes/public/agent.d.ts.map +1 -1
  26. package/dist/routes/public/agent.js +21 -0
  27. package/dist/routes/public/agent.js.map +1 -1
  28. package/dist/services/core-services.d.ts.map +1 -1
  29. package/dist/services/core-services.js +4 -0
  30. package/dist/services/core-services.js.map +1 -1
  31. package/package.json +9 -9
  32. package/src/__tests__/agent-config-routes.test.ts +0 -254
  33. package/src/__tests__/agent-history-routes.test.ts +0 -72
  34. package/src/__tests__/agent-routes.test.ts +0 -68
  35. package/src/__tests__/agent-schedules-routes.test.ts +0 -59
  36. package/src/__tests__/agent-settings-store.test.ts +0 -323
  37. package/src/__tests__/bedrock-model-catalog.test.ts +0 -40
  38. package/src/__tests__/bedrock-openai-service.test.ts +0 -157
  39. package/src/__tests__/bedrock-provider-module.test.ts +0 -56
  40. package/src/__tests__/chat-instance-manager-slack.test.ts +0 -204
  41. package/src/__tests__/chat-response-bridge.test.ts +0 -131
  42. package/src/__tests__/config-memory-plugins.test.ts +0 -92
  43. package/src/__tests__/config-request-store.test.ts +0 -127
  44. package/src/__tests__/connection-routes.test.ts +0 -144
  45. package/src/__tests__/core-services-store-selection.test.ts +0 -92
  46. package/src/__tests__/docker-deployment.test.ts +0 -1211
  47. package/src/__tests__/embedded-deployment.test.ts +0 -342
  48. package/src/__tests__/grant-store.test.ts +0 -148
  49. package/src/__tests__/http-proxy.test.ts +0 -281
  50. package/src/__tests__/instruction-service.test.ts +0 -37
  51. package/src/__tests__/link-buttons.test.ts +0 -112
  52. package/src/__tests__/lobu.test.ts +0 -32
  53. package/src/__tests__/mcp-config-service.test.ts +0 -347
  54. package/src/__tests__/mcp-proxy.test.ts +0 -694
  55. package/src/__tests__/message-handler-bridge.test.ts +0 -17
  56. package/src/__tests__/model-selection.test.ts +0 -172
  57. package/src/__tests__/oauth-templates.test.ts +0 -39
  58. package/src/__tests__/platform-adapter-slack-send.test.ts +0 -114
  59. package/src/__tests__/platform-helpers-model-resolution.test.ts +0 -253
  60. package/src/__tests__/provider-inheritance.test.ts +0 -212
  61. package/src/__tests__/routes/cli-auth.test.ts +0 -337
  62. package/src/__tests__/routes/interactions.test.ts +0 -121
  63. package/src/__tests__/secret-proxy.test.ts +0 -85
  64. package/src/__tests__/session-manager.test.ts +0 -572
  65. package/src/__tests__/setup.ts +0 -133
  66. package/src/__tests__/skill-and-mcp-registry.test.ts +0 -203
  67. package/src/__tests__/slack-routes.test.ts +0 -161
  68. package/src/__tests__/system-config-resolver.test.ts +0 -75
  69. package/src/__tests__/system-message-limiter.test.ts +0 -89
  70. package/src/__tests__/system-skills-service.test.ts +0 -362
  71. package/src/__tests__/transcription-service.test.ts +0 -222
  72. package/src/__tests__/utils/rate-limiter.test.ts +0 -102
  73. package/src/__tests__/worker-connection-manager.test.ts +0 -497
  74. package/src/__tests__/worker-job-router.test.ts +0 -722
  75. package/src/api/index.ts +0 -1
  76. package/src/api/platform.ts +0 -292
  77. package/src/api/response-renderer.ts +0 -157
  78. package/src/auth/agent-metadata-store.ts +0 -168
  79. package/src/auth/api-auth-middleware.ts +0 -69
  80. package/src/auth/api-key-provider-module.ts +0 -213
  81. package/src/auth/base-provider-module.ts +0 -201
  82. package/src/auth/bedrock/provider-module.ts +0 -110
  83. package/src/auth/chatgpt/chatgpt-oauth-module.ts +0 -185
  84. package/src/auth/chatgpt/device-code-client.ts +0 -218
  85. package/src/auth/chatgpt/index.ts +0 -1
  86. package/src/auth/claude/oauth-module.ts +0 -280
  87. package/src/auth/cli/token-service.ts +0 -249
  88. package/src/auth/external/client.ts +0 -560
  89. package/src/auth/external/device-code-client.ts +0 -235
  90. package/src/auth/mcp/config-service.ts +0 -420
  91. package/src/auth/mcp/proxy.ts +0 -1086
  92. package/src/auth/mcp/string-substitution.ts +0 -17
  93. package/src/auth/mcp/tool-cache.ts +0 -90
  94. package/src/auth/oauth/base-client.ts +0 -267
  95. package/src/auth/oauth/client.ts +0 -153
  96. package/src/auth/oauth/credentials.ts +0 -7
  97. package/src/auth/oauth/providers.ts +0 -69
  98. package/src/auth/oauth/state-store.ts +0 -150
  99. package/src/auth/oauth-templates.ts +0 -179
  100. package/src/auth/provider-catalog.ts +0 -220
  101. package/src/auth/provider-model-options.ts +0 -41
  102. package/src/auth/settings/agent-settings-store.ts +0 -565
  103. package/src/auth/settings/auth-profiles-manager.ts +0 -216
  104. package/src/auth/settings/index.ts +0 -12
  105. package/src/auth/settings/model-preference-store.ts +0 -52
  106. package/src/auth/settings/model-selection.ts +0 -135
  107. package/src/auth/settings/resolved-settings-view.ts +0 -298
  108. package/src/auth/settings/template-utils.ts +0 -44
  109. package/src/auth/settings/token-service.ts +0 -88
  110. package/src/auth/system-env-store.ts +0 -98
  111. package/src/auth/user-agents-store.ts +0 -68
  112. package/src/channels/binding-service.ts +0 -214
  113. package/src/channels/index.ts +0 -4
  114. package/src/cli/gateway.ts +0 -1312
  115. package/src/cli/index.ts +0 -74
  116. package/src/commands/built-in-commands.ts +0 -80
  117. package/src/commands/command-dispatcher.ts +0 -94
  118. package/src/commands/command-reply-adapters.ts +0 -27
  119. package/src/config/file-loader.ts +0 -618
  120. package/src/config/index.ts +0 -588
  121. package/src/config/network-allowlist.ts +0 -71
  122. package/src/connections/chat-instance-manager.ts +0 -1284
  123. package/src/connections/chat-response-bridge.ts +0 -618
  124. package/src/connections/index.ts +0 -7
  125. package/src/connections/interaction-bridge.ts +0 -831
  126. package/src/connections/message-handler-bridge.ts +0 -440
  127. package/src/connections/platform-auth-methods.ts +0 -15
  128. package/src/connections/types.ts +0 -84
  129. package/src/gateway/connection-manager.ts +0 -291
  130. package/src/gateway/index.ts +0 -698
  131. package/src/gateway/job-router.ts +0 -201
  132. package/src/gateway-main.ts +0 -200
  133. package/src/index.ts +0 -41
  134. package/src/infrastructure/queue/index.ts +0 -12
  135. package/src/infrastructure/queue/queue-producer.ts +0 -148
  136. package/src/infrastructure/queue/redis-queue.ts +0 -361
  137. package/src/infrastructure/queue/types.ts +0 -133
  138. package/src/infrastructure/redis/system-message-limiter.ts +0 -94
  139. package/src/interactions/config-request-store.ts +0 -198
  140. package/src/interactions.ts +0 -363
  141. package/src/lobu.ts +0 -311
  142. package/src/metrics/prometheus.ts +0 -159
  143. package/src/modules/module-system.ts +0 -179
  144. package/src/orchestration/base-deployment-manager.ts +0 -900
  145. package/src/orchestration/deployment-utils.ts +0 -98
  146. package/src/orchestration/impl/docker-deployment.ts +0 -620
  147. package/src/orchestration/impl/embedded-deployment.ts +0 -268
  148. package/src/orchestration/impl/index.ts +0 -8
  149. package/src/orchestration/impl/k8s/deployment.ts +0 -1061
  150. package/src/orchestration/impl/k8s/helpers.ts +0 -610
  151. package/src/orchestration/impl/k8s/index.ts +0 -1
  152. package/src/orchestration/index.ts +0 -333
  153. package/src/orchestration/message-consumer.ts +0 -584
  154. package/src/orchestration/scheduled-wakeup.ts +0 -704
  155. package/src/permissions/approval-policy.ts +0 -36
  156. package/src/permissions/grant-store.ts +0 -219
  157. package/src/platform/file-handler.ts +0 -66
  158. package/src/platform/link-buttons.ts +0 -57
  159. package/src/platform/renderer-utils.ts +0 -44
  160. package/src/platform/response-renderer.ts +0 -84
  161. package/src/platform/unified-thread-consumer.ts +0 -194
  162. package/src/platform.ts +0 -318
  163. package/src/proxy/http-proxy.ts +0 -752
  164. package/src/proxy/proxy-manager.ts +0 -81
  165. package/src/proxy/secret-proxy.ts +0 -402
  166. package/src/proxy/token-refresh-job.ts +0 -143
  167. package/src/routes/internal/audio.ts +0 -141
  168. package/src/routes/internal/device-auth.ts +0 -652
  169. package/src/routes/internal/files.ts +0 -226
  170. package/src/routes/internal/history.ts +0 -69
  171. package/src/routes/internal/images.ts +0 -127
  172. package/src/routes/internal/interactions.ts +0 -84
  173. package/src/routes/internal/middleware.ts +0 -23
  174. package/src/routes/internal/schedule.ts +0 -226
  175. package/src/routes/internal/types.ts +0 -22
  176. package/src/routes/openapi-auto.ts +0 -239
  177. package/src/routes/public/agent-access.ts +0 -23
  178. package/src/routes/public/agent-config.ts +0 -675
  179. package/src/routes/public/agent-history.ts +0 -422
  180. package/src/routes/public/agent-schedules.ts +0 -296
  181. package/src/routes/public/agent.ts +0 -1086
  182. package/src/routes/public/agents.ts +0 -373
  183. package/src/routes/public/channels.ts +0 -191
  184. package/src/routes/public/cli-auth.ts +0 -896
  185. package/src/routes/public/connections.ts +0 -574
  186. package/src/routes/public/landing.ts +0 -16
  187. package/src/routes/public/oauth.ts +0 -147
  188. package/src/routes/public/settings-auth.ts +0 -104
  189. package/src/routes/public/slack.ts +0 -173
  190. package/src/routes/shared/agent-ownership.ts +0 -101
  191. package/src/routes/shared/token-verifier.ts +0 -34
  192. package/src/services/bedrock-model-catalog.ts +0 -217
  193. package/src/services/bedrock-openai-service.ts +0 -658
  194. package/src/services/core-services.ts +0 -1072
  195. package/src/services/image-generation-service.ts +0 -257
  196. package/src/services/instruction-service.ts +0 -318
  197. package/src/services/mcp-registry.ts +0 -94
  198. package/src/services/platform-helpers.ts +0 -287
  199. package/src/services/session-manager.ts +0 -262
  200. package/src/services/settings-resolver.ts +0 -74
  201. package/src/services/system-config-resolver.ts +0 -89
  202. package/src/services/system-skills-service.ts +0 -229
  203. package/src/services/transcription-service.ts +0 -684
  204. package/src/session.ts +0 -110
  205. package/src/spaces/index.ts +0 -1
  206. package/src/spaces/space-resolver.ts +0 -17
  207. package/src/stores/in-memory-agent-store.ts +0 -403
  208. package/src/stores/redis-agent-store.ts +0 -279
  209. package/src/utils/public-url.ts +0 -44
  210. package/src/utils/rate-limiter.ts +0 -94
  211. package/tsconfig.json +0 -33
  212. package/tsconfig.tsbuildinfo +0 -1
@@ -35,8 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerInteractionBridge = registerInteractionBridge;
37
37
  const core_1 = require("@lobu/core");
38
- const config_request_store_1 = require("../interactions/config-request-store");
39
38
  const logger = (0, core_1.createLogger)("chat-interaction-bridge");
39
+ const PENDING_TTL = 5 * 60000; // 5 minutes (in-memory cleanup)
40
+ const PENDING_TOOL_KEY_PREFIX = "pending-tool:";
40
41
  async function postWithFallback(thread, primary, connectionId, context) {
41
42
  try {
42
43
  await thread.post(primary);
@@ -53,7 +54,7 @@ async function postWithFallback(thread, primary, connectionId, context) {
53
54
  }
54
55
  /**
55
56
  * Send a message with inline keyboard buttons via the Telegram Bot API.
56
- * Used for interactive elements (grant/package requests, questions) since
57
+ * Used for interactive elements (tool approvals, questions) since
57
58
  * the Chat SDK does not support Telegram's inline keyboard natively.
58
59
  */
59
60
  async function sendTelegramInlineKeyboard(botToken, chatId, text, buttons) {
@@ -73,16 +74,22 @@ async function sendTelegramInlineKeyboard(botToken, chatId, text, buttons) {
73
74
  return false;
74
75
  }
75
76
  }
76
- const GRANT_REQUEST_TTL = 5 * 60000; // 5 minutes
77
- const GRANT_REQUEST_REDIS_TTL = 300; // 5 minutes in seconds
78
- const GRANT_REQUEST_KEY_PREFIX = "pending-grant:";
79
- async function storePendingGrant(redis, grantRequestId, agentId, domains) {
80
- const key = `${GRANT_REQUEST_KEY_PREFIX}${grantRequestId}`;
81
- await redis.set(key, JSON.stringify({ agentId, domains }), "EX", GRANT_REQUEST_REDIS_TTL);
77
+ function resolveGrantExpiresAt(duration) {
78
+ switch (duration) {
79
+ case "once":
80
+ return Date.now() + 60000;
81
+ case "1h":
82
+ return Date.now() + 3600000;
83
+ case "24h":
84
+ return Date.now() + 86400000;
85
+ case "always":
86
+ return null;
87
+ default:
88
+ return null;
89
+ }
82
90
  }
83
- async function getPendingGrant(redis, grantRequestId) {
84
- const key = `${GRANT_REQUEST_KEY_PREFIX}${grantRequestId}`;
85
- const raw = await redis.get(key);
91
+ async function getPendingToolInvocation(redis, requestId) {
92
+ const raw = await redis.get(`${PENDING_TOOL_KEY_PREFIX}${requestId}`);
86
93
  if (!raw)
87
94
  return null;
88
95
  try {
@@ -92,10 +99,15 @@ async function getPendingGrant(redis, grantRequestId) {
92
99
  return null;
93
100
  }
94
101
  }
95
- async function deletePendingGrant(redis, grantRequestId) {
96
- await redis.del(`${GRANT_REQUEST_KEY_PREFIX}${grantRequestId}`);
102
+ function formatToolArgs(args) {
103
+ return Object.entries(args)
104
+ .map(([k, v]) => {
105
+ const val = typeof v === "string" ? v : JSON.stringify(v);
106
+ return ` ${k}: ${val}`;
107
+ })
108
+ .join("\n");
97
109
  }
98
- function registerInteractionBridge(interactionService, manager, connection, chat, grantStore, agentSettingsStore) {
110
+ function registerInteractionBridge(interactionService, manager, connection, chat, grantStore, executeToolDirect) {
99
111
  const { id: connectionId, platform } = connection;
100
112
  // Per-connection state (avoids cross-contamination between connections)
101
113
  const handledEvents = new Set();
@@ -123,7 +135,7 @@ function registerInteractionBridge(interactionService, manager, connection, chat
123
135
  const optionTimer = setTimeout(() => {
124
136
  pendingQuestionOptions.delete(event.id);
125
137
  activeTimers.delete(optionTimer);
126
- }, GRANT_REQUEST_TTL);
138
+ }, PENDING_TTL);
127
139
  activeTimers.add(optionTimer);
128
140
  const buttons = event.options.map((option, i) => [
129
141
  {
@@ -157,40 +169,36 @@ function registerInteractionBridge(interactionService, manager, connection, chat
157
169
  }
158
170
  };
159
171
  const redis = manager.getServices().getQueue().getRedisClient();
160
- const onGrantRequested = async (event) => {
172
+ const onToolApprovalNeeded = async (event) => {
161
173
  try {
162
174
  if (!shouldHandle(event, platform, connectionId, manager))
163
175
  return;
164
176
  if (handledEvents.has(event.id))
165
177
  return;
166
178
  markHandled(event.id);
167
- // Store pending grant in Redis so it survives pod restarts / multi-replica
168
- try {
169
- await storePendingGrant(redis, event.id, event.agentId, event.domains);
170
- }
171
- catch (error) {
172
- logger.error({ grantRequestId: event.id, error: String(error) }, "Failed to store pending grant in Redis");
173
- }
174
- const domainList = event.domains.join(", ");
175
- const text = `Access Request\nDomains: ${domainList}\nReason: ${event.reason}`;
176
- const gid = event.id;
179
+ const argsText = formatToolArgs(event.args);
180
+ const text = `Tool Approval\n${event.mcpId} → ${event.toolName}\n${argsText}`;
181
+ const tid = event.id;
177
182
  if (platform === "telegram") {
178
183
  const botToken = manager.getConnectionConfigSecret(connectionId, "botToken");
179
184
  if (botToken) {
180
185
  const sent = await sendTelegramInlineKeyboard(botToken, event.channelId, text, [
181
186
  [
182
- { text: "Allow once", callback_data: `grant:${gid}:once` },
183
- { text: "Allow 1h", callback_data: `grant:${gid}:1h` },
187
+ { text: "Allow once", callback_data: `tool:${tid}:once` },
188
+ { text: "Allow 1h", callback_data: `tool:${tid}:1h` },
184
189
  ],
185
190
  [
186
- { text: "Allow 24h", callback_data: `grant:${gid}:24h` },
187
- { text: "Allow always", callback_data: `grant:${gid}:always` },
191
+ { text: "Allow 24h", callback_data: `tool:${tid}:24h` },
192
+ {
193
+ text: "Allow always",
194
+ callback_data: `tool:${tid}:always`,
195
+ },
188
196
  ],
189
- [{ text: "Deny", callback_data: `grant:${gid}:deny` }],
197
+ [{ text: "Deny", callback_data: `tool:${tid}:deny` }],
190
198
  ]);
191
199
  if (sent)
192
200
  return;
193
- logger.warn({ connectionId }, "Telegram inline keyboard failed for grant, falling back");
201
+ logger.warn({ connectionId }, "Telegram inline keyboard failed for tool approval, falling back");
194
202
  }
195
203
  }
196
204
  const thread = await resolveThread(manager, connectionId, event.channelId, event.conversationId);
@@ -199,33 +207,33 @@ function registerInteractionBridge(interactionService, manager, connection, chat
199
207
  const { Card, CardText, Actions, Button } = await Promise.resolve().then(() => __importStar(require("chat")));
200
208
  const card = Card({
201
209
  children: [
202
- CardText(`*Access Request*\nDomains: ${domainList}\nReason: ${event.reason}`),
210
+ CardText(`*Tool Approval*\n${event.mcpId} ${event.toolName}\n${argsText}`),
203
211
  Actions([
204
212
  Button({
205
- id: `grant:${gid}:once`,
213
+ id: `tool:${tid}:once`,
206
214
  label: "Allow once",
207
215
  value: "once",
208
216
  }),
209
217
  Button({
210
- id: `grant:${gid}:1h`,
218
+ id: `tool:${tid}:1h`,
211
219
  label: "Allow 1h",
212
220
  style: "primary",
213
221
  value: "1h",
214
222
  }),
215
223
  Button({
216
- id: `grant:${gid}:24h`,
224
+ id: `tool:${tid}:24h`,
217
225
  label: "Allow 24h",
218
226
  style: "primary",
219
227
  value: "24h",
220
228
  }),
221
229
  Button({
222
- id: `grant:${gid}:always`,
230
+ id: `tool:${tid}:always`,
223
231
  label: "Allow always",
224
232
  style: "primary",
225
233
  value: "always",
226
234
  }),
227
235
  Button({
228
- id: `grant:${gid}:deny`,
236
+ id: `tool:${tid}:deny`,
229
237
  label: "Deny",
230
238
  style: "danger",
231
239
  value: "deny",
@@ -233,124 +241,10 @@ function registerInteractionBridge(interactionService, manager, connection, chat
233
241
  ]),
234
242
  ],
235
243
  });
236
- await postWithFallback(thread, { card, fallbackText: text }, connectionId, "grant interaction with buttons");
244
+ await postWithFallback(thread, { card, fallbackText: text }, connectionId, "tool approval interaction");
237
245
  }
238
246
  catch (error) {
239
- logger.error({ connectionId, error: String(error) }, "Unhandled error in grant:requested handler");
240
- }
241
- };
242
- const onPackageRequested = async (event) => {
243
- try {
244
- if (!shouldHandle(event, platform, connectionId, manager))
245
- return;
246
- if (handledEvents.has(event.id))
247
- return;
248
- markHandled(event.id);
249
- const pkgList = event.packages.join(", ");
250
- const text = `Package Install Request\nPackages: ${pkgList}\nReason: ${event.reason}`;
251
- if (platform === "telegram") {
252
- const botToken = manager.getConnectionConfigSecret(connectionId, "botToken");
253
- if (botToken) {
254
- const sent = await sendTelegramInlineKeyboard(botToken, event.channelId, text, [
255
- [
256
- {
257
- text: "Approve",
258
- callback_data: `package:${event.id}:approve`,
259
- },
260
- {
261
- text: "Deny",
262
- callback_data: `package:${event.id}:deny`,
263
- },
264
- ],
265
- ]);
266
- if (sent)
267
- return;
268
- logger.warn({ connectionId }, "Telegram inline keyboard failed for package request, falling back");
269
- }
270
- }
271
- const thread = await resolveThread(manager, connectionId, event.channelId, event.conversationId);
272
- if (!thread)
273
- return;
274
- const { Card, CardText, Actions, Button } = await Promise.resolve().then(() => __importStar(require("chat")));
275
- const card = Card({
276
- children: [
277
- CardText(`*Package Install Request*\nPackages: ${pkgList}\nReason: ${event.reason}`),
278
- Actions([
279
- Button({
280
- id: `package:${event.id}:approve`,
281
- label: "Approve",
282
- style: "primary",
283
- value: "approve",
284
- }),
285
- Button({
286
- id: `package:${event.id}:deny`,
287
- label: "Deny",
288
- style: "danger",
289
- value: "deny",
290
- }),
291
- ]),
292
- ],
293
- });
294
- await postWithFallback(thread, { card, fallbackText: text }, connectionId, "package request interaction with buttons");
295
- }
296
- catch (error) {
297
- logger.error({ connectionId, error: String(error) }, "Unhandled error in package:requested handler");
298
- }
299
- };
300
- const onConfigRequested = async (event) => {
301
- try {
302
- if (!shouldHandle(event, platform, connectionId, manager))
303
- return;
304
- if (handledEvents.has(event.id))
305
- return;
306
- markHandled(event.id);
307
- if (platform === "telegram") {
308
- const botToken = manager.getConnectionConfigSecret(connectionId, "botToken");
309
- if (botToken) {
310
- const sent = await sendTelegramInlineKeyboard(botToken, event.channelId, event.text, [
311
- [
312
- {
313
- text: "Approve",
314
- callback_data: `config:${event.id}:approve`,
315
- },
316
- {
317
- text: "Deny",
318
- callback_data: `config:${event.id}:deny`,
319
- },
320
- ],
321
- ]);
322
- if (sent)
323
- return;
324
- logger.warn({ connectionId }, "Telegram inline keyboard failed for config request, falling back");
325
- }
326
- }
327
- const thread = await resolveThread(manager, connectionId, event.channelId, event.conversationId);
328
- if (!thread)
329
- return;
330
- const { Card, CardText, Actions, Button } = await Promise.resolve().then(() => __importStar(require("chat")));
331
- const card = Card({
332
- children: [
333
- CardText(event.text),
334
- Actions([
335
- Button({
336
- id: `config:${event.id}:approve`,
337
- label: "Approve",
338
- style: "primary",
339
- value: "approve",
340
- }),
341
- Button({
342
- id: `config:${event.id}:deny`,
343
- label: "Deny",
344
- style: "danger",
345
- value: "deny",
346
- }),
347
- ]),
348
- ],
349
- });
350
- await postWithFallback(thread, { card, fallbackText: event.text }, connectionId, "config request interaction with buttons");
351
- }
352
- catch (error) {
353
- logger.error({ connectionId, error: String(error) }, "Unhandled error in config:requested handler");
247
+ logger.error({ connectionId, error: String(error) }, "Unhandled error in tool:approval-needed handler");
354
248
  }
355
249
  };
356
250
  const onLinkButtonCreated = async (event) => {
@@ -400,18 +294,14 @@ function registerInteractionBridge(interactionService, manager, connection, chat
400
294
  }
401
295
  };
402
296
  interactionService.on("question:created", onQuestionCreated);
403
- interactionService.on("grant:requested", onGrantRequested);
404
- interactionService.on("package:requested", onPackageRequested);
405
- interactionService.on("config:requested", onConfigRequested);
297
+ interactionService.on("tool:approval-needed", onToolApprovalNeeded);
406
298
  interactionService.on("link-button:created", onLinkButtonCreated);
407
299
  interactionService.on("status-message:created", onStatusMessageCreated);
408
- registerActionHandlers(chat, connection, redis, grantStore, agentSettingsStore, pendingQuestionOptions);
300
+ registerActionHandlers(chat, connection, redis, grantStore, pendingQuestionOptions, executeToolDirect);
409
301
  logger.info({ connectionId, platform }, "Interaction bridge registered");
410
302
  return () => {
411
303
  interactionService.off("question:created", onQuestionCreated);
412
- interactionService.off("grant:requested", onGrantRequested);
413
- interactionService.off("package:requested", onPackageRequested);
414
- interactionService.off("config:requested", onConfigRequested);
304
+ interactionService.off("tool:approval-needed", onToolApprovalNeeded);
415
305
  interactionService.off("link-button:created", onLinkButtonCreated);
416
306
  interactionService.off("status-message:created", onStatusMessageCreated);
417
307
  for (const timer of activeTimers) {
@@ -423,7 +313,7 @@ function registerInteractionBridge(interactionService, manager, connection, chat
423
313
  logger.info({ connectionId, platform }, "Interaction bridge unregistered");
424
314
  };
425
315
  }
426
- function registerActionHandlers(chat, connection, redis, grantStore, agentSettingsStore, pendingQuestionOptions) {
316
+ function registerActionHandlers(chat, connection, redis, grantStore, pendingQuestionOptions, executeToolDirect) {
427
317
  chat.onAction(async (event) => {
428
318
  var _a, _b, _c, _d;
429
319
  const actionId = (_a = event.actionId) !== null && _a !== void 0 ? _a : "";
@@ -431,110 +321,97 @@ function registerActionHandlers(chat, connection, redis, grantStore, agentSettin
431
321
  const thread = event.thread;
432
322
  if (!thread || !actionId)
433
323
  return;
434
- // Handle grant approval/denialpersist to GrantStore before echoing
435
- if (actionId.startsWith("grant:")) {
324
+ // Handle tool approval — store grant, execute tool, post result
325
+ if (actionId.startsWith("tool:")) {
436
326
  const parts = actionId.split(":");
437
- const grantRequestId = parts[1];
438
- const decision = (_c = parts[2]) !== null && _c !== void 0 ? _c : "deny"; // "once", "1h", "24h", "always", or "deny"
439
- if (grantRequestId && grantStore) {
440
- try {
441
- const pending = await getPendingGrant(redis, grantRequestId);
327
+ const requestId = parts[1];
328
+ const decision = (_c = parts[2]) !== null && _c !== void 0 ? _c : "deny";
329
+ if (!requestId)
330
+ return;
331
+ if (decision === "deny") {
332
+ if (grantStore) {
333
+ const pending = await getPendingToolInvocation(redis, requestId).catch(() => null);
442
334
  if (pending) {
443
- const isDeny = decision === "deny";
444
- const expiresAt = resolveGrantExpiresAt(decision);
445
- try {
446
- for (const domain of pending.domains) {
447
- await grantStore.grant(pending.agentId, domain, expiresAt, isDeny);
448
- }
449
- logger.info({
450
- grantRequestId,
451
- agentId: pending.agentId,
452
- domains: pending.domains,
453
- decision,
454
- expiresAt,
455
- }, "Grant request resolved via button");
456
- }
457
- catch (error) {
458
- logger.error({ grantRequestId, error: String(error) }, "Failed to persist grant decision");
459
- }
460
- await deletePendingGrant(redis, grantRequestId).catch(
461
- /* best effort */ () => undefined);
462
- }
463
- else {
464
- logger.warn({ grantRequestId }, "No pending grant found in Redis — may have expired");
335
+ const pattern = `/mcp/${pending.mcpId}/tools/${pending.toolName}`;
336
+ await grantStore
337
+ .grant(pending.agentId, pattern, null, true)
338
+ .catch(() => undefined);
465
339
  }
466
340
  }
467
- catch (error) {
468
- logger.error({ grantRequestId, error: String(error) }, "Redis error looking up pending grant");
341
+ await redis
342
+ .del(`${PENDING_TOOL_KEY_PREFIX}${requestId}`)
343
+ .catch(() => undefined);
344
+ try {
345
+ await thread.post("Tool call denied. Let me know if you'd like me to try a different approach.");
469
346
  }
347
+ catch (_e) {
348
+ // best effort
349
+ }
350
+ return;
470
351
  }
471
- // Echo human-readable decision back to thread so the worker receives it
472
- const responseText = decision === "deny" ? "deny" : "approve";
473
- try {
474
- await thread.post(responseText);
475
- }
476
- catch (error) {
477
- logger.debug({ connectionId: connection.id, error: String(error) }, "Failed to post grant action response");
478
- }
479
- return;
480
- }
481
- if (actionId.startsWith("config:")) {
482
- const parts = actionId.split(":");
483
- const configRequestId = parts[1];
484
- const decision = parts[2];
485
- if (configRequestId && decision === "approve" && !agentSettingsStore) {
352
+ // Approved store grant, execute, post result
353
+ const pending = await getPendingToolInvocation(redis, requestId).catch(() => null);
354
+ if (!pending) {
355
+ logger.warn({ requestId }, "No pending tool invocation found — may have expired");
486
356
  try {
487
- await thread.post("failed to apply requested configuration change");
357
+ await thread.post("Tool approval expired. Please try again.");
488
358
  }
489
- catch (_e) {
359
+ catch (_f) {
490
360
  // best effort
491
361
  }
492
362
  return;
493
363
  }
494
- if (configRequestId && decision === "approve" && agentSettingsStore) {
364
+ const pattern = `/mcp/${pending.mcpId}/tools/${pending.toolName}`;
365
+ const expiresAt = resolveGrantExpiresAt(decision);
366
+ if (grantStore) {
495
367
  try {
496
- const pending = await (0, config_request_store_1.getPendingConfigRequest)(redis, configRequestId);
497
- if (pending) {
498
- await (0, config_request_store_1.applyPendingConfigRequest)(agentSettingsStore, grantStore, pending);
499
- await (0, config_request_store_1.deletePendingConfigRequest)(redis, configRequestId).catch(() => undefined);
500
- logger.info({
501
- configRequestId,
502
- agentId: pending.agentId,
503
- }, "Config request resolved via button");
504
- }
368
+ await grantStore.grant(pending.agentId, pattern, expiresAt);
369
+ logger.info({
370
+ requestId,
371
+ agentId: pending.agentId,
372
+ pattern,
373
+ decision,
374
+ expiresAt,
375
+ }, "Grant stored via tool approval");
505
376
  }
506
377
  catch (error) {
507
- logger.error({ configRequestId, error: String(error) }, "Failed to apply config request");
378
+ logger.error({ requestId, error: String(error) }, "Failed to store grant");
379
+ }
380
+ }
381
+ // Execute the pending tool call
382
+ if (executeToolDirect) {
383
+ try {
384
+ const result = await executeToolDirect(pending.agentId, pending.userId, pending.mcpId, pending.toolName, pending.args);
385
+ const resultText = result.content.map((c) => c.text).join("\n");
386
+ await thread.post(result.isError ? `Tool error: ${resultText}` : resultText);
387
+ logger.info({
388
+ requestId,
389
+ mcpId: pending.mcpId,
390
+ toolName: pending.toolName,
391
+ isError: result.isError,
392
+ }, "Tool executed after approval");
393
+ }
394
+ catch (error) {
395
+ logger.error({ requestId, error: String(error) }, "Failed to execute tool after approval");
508
396
  try {
509
- await thread.post("failed to apply requested configuration change");
397
+ await thread.post(`Failed to execute tool: ${String(error)}`);
510
398
  }
511
- catch (_f) {
399
+ catch (_g) {
512
400
  // best effort
513
401
  }
514
- return;
515
402
  }
516
403
  }
517
- else if (configRequestId) {
518
- await (0, config_request_store_1.deletePendingConfigRequest)(redis, configRequestId).catch(() => undefined);
519
- }
520
- try {
521
- await thread.post(decision === "approve" ? "approve" : "deny");
522
- }
523
- catch (error) {
524
- logger.debug({ connectionId: connection.id, error: String(error) }, "Failed to post config action response");
525
- }
526
- return;
527
- }
528
- // Handle package install approval/denial
529
- if (actionId.startsWith("package:")) {
530
- const decision = actionId.split(":")[2] || value || "";
531
- const responseText = decision || "";
532
- try {
533
- await thread.post(responseText);
534
- }
535
- catch (error) {
536
- logger.debug({ connectionId: connection.id, error: String(error) }, "Failed to post package action response");
404
+ else {
405
+ try {
406
+ await thread.post("approve");
407
+ }
408
+ catch (_h) {
409
+ // best effort
410
+ }
537
411
  }
412
+ await redis
413
+ .del(`${PENDING_TOOL_KEY_PREFIX}${requestId}`)
414
+ .catch(() => undefined);
538
415
  return;
539
416
  }
540
417
  // Handle question responses
@@ -559,23 +436,6 @@ function registerActionHandlers(chat, connection, redis, grantStore, agentSettin
559
436
  }
560
437
  });
561
438
  }
562
- const ONCE_GRANT_TTL_MS = 60000; // 60s window for "allow once"
563
- function resolveGrantExpiresAt(decision) {
564
- switch (decision) {
565
- case "once":
566
- return Date.now() + ONCE_GRANT_TTL_MS;
567
- case "1h":
568
- return Date.now() + 3600000;
569
- case "24h":
570
- return Date.now() + 86400000;
571
- case "always":
572
- return null;
573
- case "deny":
574
- return null;
575
- default:
576
- return null;
577
- }
578
- }
579
439
  function shouldHandle(event, platform, connectionId, manager) {
580
440
  if (!manager.has(connectionId)) {
581
441
  logger.debug({ connectionId, eventConnectionId: event.connectionId }, "shouldHandle: manager does not have connection");
@@ -1 +1 @@
1
- {"version":3,"file":"interaction-bridge.js","sourceRoot":"","sources":["../../src/connections/interaction-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction-bridge.js","sourceRoot":"","sources":["../../src/connections/interaction-bridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HA,8DAySC;AAraD,qCAA0C;AAa1C,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,yBAAyB,CAAC,CAAC;AAEvD,MAAM,WAAW,GAAG,CAAC,GAAG,KAAM,CAAC,CAAC,gCAAgC;AAChE,MAAM,uBAAuB,GAAG,eAAe,CAAC;AAchD,KAAK,UAAU,gBAAgB,CAC7B,MAAW,EACX,OAA4C,EAC5C,YAAoB,EACpB,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,kBAAkB,OAAO,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QAAC,WAAM,CAAC;YACP,UAAU;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CACvC,QAAgB,EAChB,MAAc,EACd,IAAY,EACZ,OAA8D;IAE9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,+BAA+B,QAAQ,cAAc,EACrD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,MAAM;gBACf,IAAI;gBACJ,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE;aAC3C,CAAC;SACH,CACF,CAAC;QACF,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAS,CAAC;QAChC,KAAK,KAAK;YACR,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAU,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAY,EACZ,SAAiB;IAQjB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,uBAAuB,GAAG,SAAS,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAA6B;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAgB,yBAAyB,CACvC,kBAAsC,EACtC,OAA4B,EAC5B,UAA8B,EAC9B,IAAS,EACT,UAAuB,EACvB,iBAAuC;IAEvC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;IAElD,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,SAAS,WAAW,CAAC,EAAU;QAC7B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,EAAE,KAAM,CAAC,CAAC;QACX,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3D,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAqB,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,OAAO;YAClE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YACxC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAChD,YAAY,EACZ,UAAU,CACX,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;wBAClC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACxC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACnC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAChB,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C;4BACE,IAAI,EAAE,MAAM;4BACZ,aAAa,EAAE,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE;yBAC3C;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAC3C,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,EACd,OAAO,CACR,CAAC;oBACF,IAAI,IAAI;wBAAE,OAAO;oBACjB,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,EAChB,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,OAAO,EACP,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,cAAc,CACrB,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;YACjE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAC9C,MAAM,CAAC;gBACL,EAAE,EAAE,YAAY,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE;gBAC/B,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CACH,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC;gBAChB,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;aACvD,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtG,MAAM,gBAAgB,CACpB,MAAM,EACN,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,YAAY,EACZ,sBAAsB,CACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,6CAA6C,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IAEhE,MAAM,oBAAoB,GAAG,KAAK,EAAE,KAAyB,EAAE,EAAE;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,OAAO;YAClE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YACxC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,kBAAkB,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;YAErB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,yBAAyB,CAChD,YAAY,EACZ,UAAU,CACX,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAC3C,QAAQ,EACR,KAAK,CAAC,SAAS,EACf,IAAI,EACJ;wBACE;4BACE,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,GAAG,OAAO,EAAE;4BACzD,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,GAAG,KAAK,EAAE;yBACtD;wBACD;4BACE,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,GAAG,MAAM,EAAE;4BACvD;gCACE,IAAI,EAAE,cAAc;gCACpB,aAAa,EAAE,QAAQ,GAAG,SAAS;6BACpC;yBACF;wBACD,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAC;qBACtD,CACF,CAAC;oBACF,IAAI,IAAI;wBAAE,OAAO;oBACjB,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,EAChB,iEAAiE,CAClE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,OAAO,EACP,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,cAAc,CACrB,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC;gBAChB,QAAQ,EAAE;oBACR,QAAQ,CACN,oBAAoB,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CACnE;oBACD,OAAO,CAAC;wBACN,MAAM,CAAC;4BACL,EAAE,EAAE,QAAQ,GAAG,OAAO;4BACtB,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,MAAM;yBACd,CAAC;wBACF,MAAM,CAAC;4BACL,EAAE,EAAE,QAAQ,GAAG,KAAK;4BACpB,KAAK,EAAE,UAAU;4BACjB,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,IAAI;yBACZ,CAAC;wBACF,MAAM,CAAC;4BACL,EAAE,EAAE,QAAQ,GAAG,MAAM;4BACrB,KAAK,EAAE,WAAW;4BAClB,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,KAAK;yBACb,CAAC;wBACF,MAAM,CAAC;4BACL,EAAE,EAAE,QAAQ,GAAG,SAAS;4BACxB,KAAK,EAAE,cAAc;4BACrB,KAAK,EAAE,SAAS;4BAChB,KAAK,EAAE,QAAQ;yBAChB,CAAC;wBACF,MAAM,CAAC;4BACL,EAAE,EAAE,QAAQ,GAAG,OAAO;4BACtB,KAAK,EAAE,MAAM;4BACb,KAAK,EAAE,QAAQ;4BACf,KAAK,EAAE,MAAM;yBACd,CAAC;qBACH,CAAC;iBACH;aACF,CAAC,CAAC;YACH,MAAM,gBAAgB,CACpB,MAAM,EACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAC5B,YAAY,EACZ,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,iDAAiD,CAClD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,OAAO;YAClE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YACxC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,OAAO,EACP,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,cAAc,CACrB,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;YACrE,MAAM,UAAU,GAAG,UAAU,CAAC;gBAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC;gBAChB,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;aACzD,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;YACpD,MAAM,gBAAgB,CACpB,MAAM,EACN,EAAE,IAAI,EAAE,YAAY,EAAE,EACtB,YAAY,EACZ,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,gDAAgD,CACjD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,KAA0B,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,OAAO;YAClE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YACxC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,OAAO,EACP,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,cAAc,CACrB,CAAC;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,2CAA2C,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACtC,mDAAmD,CACpD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,kBAAkB,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IAC7D,kBAAkB,CAAC,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IACpE,kBAAkB,CAAC,EAAE,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAClE,kBAAkB,CAAC,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;IAExE,sBAAsB,CACpB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,UAAU,EACV,sBAAsB,EACtB,iBAAiB,CAClB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAEzE,OAAO,GAAG,EAAE;QACV,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;QAC9D,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QACrE,kBAAkB,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;QACnE,kBAAkB,CAAC,GAAG,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,sBAAsB,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,iCAAiC,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAS,EACT,UAA8B,EAC9B,KAAY,EACZ,UAAkC,EAClC,sBAA6C,EAC7C,iBAAuC;IAEvC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAU,EAAE,EAAE;;QACjC,MAAM,QAAQ,GAAW,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAW,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEjC,gEAAgE;QAChE,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,MAAM,CAAC;YAEpC,IAAI,CAAC,SAAS;gBAAE,OAAO;YAEvB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAC5C,KAAK,EACL,SAAS,CACV,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAClE,MAAM,UAAU;6BACb,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;6BAC3C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK;qBACR,GAAG,CAAC,GAAG,uBAAuB,GAAG,SAAS,EAAE,CAAC;qBAC7C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,IAAI,CACf,6EAA6E,CAC9E,CAAC;gBACJ,CAAC;gBAAC,WAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,+CAA+C;YAC/C,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,KAAK,CACpE,GAAG,EAAE,CAAC,IAAI,CACX,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,EACb,qDAAqD,CACtD,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAChE,CAAC;gBAAC,WAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClE,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAElD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC5D,MAAM,CAAC,IAAI,CACT;wBACE,SAAS;wBACT,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,OAAO;wBACP,QAAQ;wBACR,SAAS;qBACV,EACD,gCAAgC,CACjC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACnC,uBAAuB,CACxB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,IAAI,CACb,CAAC;oBAEF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChE,MAAM,MAAM,CAAC,IAAI,CACf,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAC1D,CAAC;oBACF,MAAM,CAAC,IAAI,CACT;wBACE,SAAS;wBACT,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,EACD,8BAA8B,CAC/B,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACnC,uCAAuC,CACxC,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAChE,CAAC;oBAAC,WAAM,CAAC;wBACP,cAAc;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAAC,WAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;YACH,CAAC;YAED,MAAM,KAAK;iBACR,GAAG,CAAC,GAAG,uBAAuB,GAAG,SAAS,EAAE,CAAC;iBAC7C,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,YAAY,GAChB,KAAK;gBACL,CAAC,UAAU;oBACX,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAC1B,MAAA,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAG,SAAS,CAAC,CAAA;oBACjD,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,SAAS,CAAE;oBACrD,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACzB,IAAI,UAAU,EAAE,CAAC;gBACf,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACrD,gCAAgC,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CACnB,KAAoE,EACpE,QAAgB,EAChB,YAAoB,EACpB,OAA4B;IAE5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,EAAE,EACvD,gDAAgD,CACjD,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,mCAAmC,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,iCAAiC,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC1D,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CACV;YACE,YAAY;YACZ,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ;YAC9C,aAAa,EAAE,QAAQ;SACxB,EACD,iCAAiC,CAClC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAA4B,EAC5B,YAAoB,EACpB,SAAiB,EACjB,cAAsB;;IAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,2CAA2C,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAEhD,mEAAmE;QACnE,2DAA2D;QAC3D,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,qDAAG,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;YAC7D,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,SAAS,qDACjC,UAAU,EACV,SAAS,EACT,cAAc,CACf,CAAA,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,EACvD,wCAAwC,CACzC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EACjE,0CAA0C,CAC3C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -375,7 +375,7 @@ class WorkerGateway {
375
375
  });
376
376
  }
377
377
  catch (error) {
378
- logger.error("Failed to generate session context", { error });
378
+ logger.error("Failed to generate session context", { err: error });
379
379
  return c.json({ error: "session_context_error" }, 500);
380
380
  }
381
381
  }