integrate-sdk 0.9.55 → 0.9.58

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 (63) hide show
  1. package/dist/adapters/index.js +2440 -31
  2. package/dist/adapters/solid-start.js +2440 -31
  3. package/dist/adapters/svelte-kit.js +2440 -31
  4. package/dist/ai/anthropic.d.ts.map +1 -1
  5. package/dist/ai/anthropic.js +11 -2
  6. package/dist/ai/google.d.ts.map +1 -1
  7. package/dist/ai/google.js +11 -2
  8. package/dist/ai/index.js +16 -7
  9. package/dist/ai/openai.d.ts.map +1 -1
  10. package/dist/ai/openai.js +11 -2
  11. package/dist/ai/utils.d.ts +21 -0
  12. package/dist/ai/utils.d.ts.map +1 -1
  13. package/dist/ai/utils.js +10 -0
  14. package/dist/ai/vercel-ai.d.ts.map +1 -1
  15. package/dist/ai/vercel-ai.js +10 -1
  16. package/dist/database/adapters/drizzle.d.ts +23 -0
  17. package/dist/database/adapters/drizzle.d.ts.map +1 -0
  18. package/dist/database/adapters/drizzle.js +646 -0
  19. package/dist/database/adapters/mongodb.d.ts +17 -0
  20. package/dist/database/adapters/mongodb.d.ts.map +1 -0
  21. package/dist/database/adapters/mongodb.js +643 -0
  22. package/dist/database/adapters/prisma.d.ts +18 -0
  23. package/dist/database/adapters/prisma.d.ts.map +1 -0
  24. package/dist/database/adapters/prisma.js +679 -0
  25. package/dist/database/index.d.ts +9 -0
  26. package/dist/database/index.d.ts.map +1 -0
  27. package/dist/database/index.js +1167 -0
  28. package/dist/index.js +77 -31
  29. package/dist/integrations.js +77 -31
  30. package/dist/server.js +3633 -42
  31. package/dist/src/ai/anthropic.d.ts.map +1 -1
  32. package/dist/src/ai/google.d.ts.map +1 -1
  33. package/dist/src/ai/openai.d.ts.map +1 -1
  34. package/dist/src/ai/utils.d.ts +21 -0
  35. package/dist/src/ai/utils.d.ts.map +1 -1
  36. package/dist/src/ai/vercel-ai.d.ts.map +1 -1
  37. package/dist/src/client.d.ts +4 -2
  38. package/dist/src/client.d.ts.map +1 -1
  39. package/dist/src/config/types.d.ts +44 -1
  40. package/dist/src/config/types.d.ts.map +1 -1
  41. package/dist/src/database/adapters/drizzle.d.ts +23 -0
  42. package/dist/src/database/adapters/drizzle.d.ts.map +1 -0
  43. package/dist/src/database/adapters/mongodb.d.ts +17 -0
  44. package/dist/src/database/adapters/mongodb.d.ts.map +1 -0
  45. package/dist/src/database/adapters/prisma.d.ts +18 -0
  46. package/dist/src/database/adapters/prisma.d.ts.map +1 -0
  47. package/dist/src/database/factory.d.ts +9 -0
  48. package/dist/src/database/factory.d.ts.map +1 -0
  49. package/dist/src/database/index.d.ts +9 -0
  50. package/dist/src/database/index.d.ts.map +1 -0
  51. package/dist/src/database/schemas/drizzle.d.ts +508 -0
  52. package/dist/src/database/schemas/drizzle.d.ts.map +1 -0
  53. package/dist/src/database/token-store.d.ts +28 -0
  54. package/dist/src/database/token-store.d.ts.map +1 -0
  55. package/dist/src/database/trigger-store.d.ts +23 -0
  56. package/dist/src/database/trigger-store.d.ts.map +1 -0
  57. package/dist/src/database/types.d.ts +132 -0
  58. package/dist/src/database/types.d.ts.map +1 -0
  59. package/dist/src/integrations/integration-docs-metadata.d.ts +40 -0
  60. package/dist/src/integrations/integration-docs-metadata.d.ts.map +1 -0
  61. package/dist/src/server.d.ts +4 -3
  62. package/dist/src/server.d.ts.map +1 -1
  63. package/package.json +32 -5
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/ai/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AA+ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmF1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpG,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAkC5I"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/ai/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAA8B,MAAM,YAAY,CAAC;AAU7I,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AA+ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmF1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpG,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAkC5I"}
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -5141,7 +5150,7 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
5141
5150
  const getCodeModeTool = async () => {
5142
5151
  if (cachedCodeModeTool)
5143
5152
  return cachedCodeModeTool;
5144
- const mcpTools = await client.getEnabledToolsAsync();
5153
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5145
5154
  cachedCodeModeTool = buildCodeModeTool(client, {
5146
5155
  tools: mcpTools,
5147
5156
  providerTokens: options?.providerTokens,
@@ -5192,7 +5201,7 @@ async function getAnthropicTools(client, options) {
5192
5201
  }
5193
5202
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5194
5203
  await ensureClientConnected(client);
5195
- const mcpTools = await client.getEnabledToolsAsync();
5204
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5196
5205
  let effectiveMode;
5197
5206
  if (options?.mode !== undefined) {
5198
5207
  effectiveMode = options.mode;
@@ -1 +1 @@
1
- {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/ai/google.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAajH,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACL,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAuB7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAsGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA+DnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAqGvB"}
1
+ {"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/ai/google.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAA8B,MAAM,YAAY,CAAC;AAa7I,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACL,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAuB7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAsGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA+DnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAqGvB"}
package/dist/ai/google.js CHANGED
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -5207,7 +5216,7 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
5207
5216
  const getCodeModeTool = async () => {
5208
5217
  if (cachedCodeModeTool)
5209
5218
  return cachedCodeModeTool;
5210
- const mcpTools = await client.getEnabledToolsAsync();
5219
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5211
5220
  cachedCodeModeTool = buildCodeModeTool(client, {
5212
5221
  tools: mcpTools,
5213
5222
  providerTokens: finalOptions?.providerTokens,
@@ -5246,7 +5255,7 @@ async function getGoogleTools(client, options) {
5246
5255
  }
5247
5256
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5248
5257
  await ensureClientConnected(client);
5249
- const mcpTools = await client.getEnabledToolsAsync();
5258
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5250
5259
  let effectiveMode;
5251
5260
  if (options?.mode !== undefined) {
5252
5261
  effectiveMode = options.mode;
package/dist/ai/index.js CHANGED
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -5141,7 +5150,7 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
5141
5150
  const getCodeModeTool = async () => {
5142
5151
  if (cachedCodeModeTool)
5143
5152
  return cachedCodeModeTool;
5144
- const mcpTools = await client.getEnabledToolsAsync();
5153
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5145
5154
  cachedCodeModeTool = buildCodeModeTool(client, {
5146
5155
  tools: mcpTools,
5147
5156
  providerTokens: options?.providerTokens,
@@ -5192,7 +5201,7 @@ async function getAnthropicTools(client, options) {
5192
5201
  }
5193
5202
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5194
5203
  await ensureClientConnected(client);
5195
- const mcpTools = await client.getEnabledToolsAsync();
5204
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5196
5205
  let effectiveMode;
5197
5206
  if (options?.mode !== undefined) {
5198
5207
  effectiveMode = options.mode;
@@ -5359,7 +5368,7 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
5359
5368
  const getCodeModeTool = async () => {
5360
5369
  if (cachedCodeModeTool)
5361
5370
  return cachedCodeModeTool;
5362
- const mcpTools = await client.getEnabledToolsAsync();
5371
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5363
5372
  cachedCodeModeTool = buildCodeModeTool(client, {
5364
5373
  tools: mcpTools,
5365
5374
  providerTokens: finalOptions?.providerTokens,
@@ -5398,7 +5407,7 @@ async function getGoogleTools(client, options) {
5398
5407
  }
5399
5408
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5400
5409
  await ensureClientConnected(client);
5401
- const mcpTools = await client.getEnabledToolsAsync();
5410
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5402
5411
  let effectiveMode;
5403
5412
  if (options?.mode !== undefined) {
5404
5413
  effectiveMode = options.mode;
@@ -5547,7 +5556,7 @@ async function getVercelAITools(client, options) {
5547
5556
  }
5548
5557
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5549
5558
  await ensureClientConnected(client);
5550
- const mcpTools = await client.getEnabledToolsAsync();
5559
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5551
5560
  const vercelTools = {};
5552
5561
  let effectiveMode;
5553
5562
  if (options?.mode !== undefined) {
@@ -5616,7 +5625,7 @@ async function getOpenAITools(client, options) {
5616
5625
  }
5617
5626
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5618
5627
  await ensureClientConnected(client);
5619
- const mcpTools = await client.getEnabledToolsAsync();
5628
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5620
5629
  let effectiveMode;
5621
5630
  if (options?.mode !== undefined) {
5622
5631
  effectiveMode = options.mode;
@@ -5678,7 +5687,7 @@ async function handleOpenAIToolCalls(client, toolCalls, options) {
5678
5687
  const getCodeModeTool = async () => {
5679
5688
  if (cachedCodeModeTool)
5680
5689
  return cachedCodeModeTool;
5681
- const mcpTools = await client.getEnabledToolsAsync();
5690
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5682
5691
  cachedCodeModeTool = buildCodeModeTool(client, {
5683
5692
  tools: mcpTools,
5684
5693
  providerTokens: options?.providerTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/ai/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAiFvB;AA6GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,EAChE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB3H"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/ai/openai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAA8B,MAAM,YAAY,CAAC;AAU7I,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAiFvB;AA6GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,EAChE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB3H"}
package/dist/ai/openai.js CHANGED
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -5141,7 +5150,7 @@ async function getOpenAITools(client, options) {
5141
5150
  }
5142
5151
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5143
5152
  await ensureClientConnected(client);
5144
- const mcpTools = await client.getEnabledToolsAsync();
5153
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5145
5154
  let effectiveMode;
5146
5155
  if (options?.mode !== undefined) {
5147
5156
  effectiveMode = options.mode;
@@ -5203,7 +5212,7 @@ async function handleOpenAIToolCalls(client, toolCalls, options) {
5203
5212
  const getCodeModeTool = async () => {
5204
5213
  if (cachedCodeModeTool)
5205
5214
  return cachedCodeModeTool;
5206
- const mcpTools = await client.getEnabledToolsAsync();
5215
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5207
5216
  cachedCodeModeTool = buildCodeModeTool(client, {
5208
5217
  tools: mcpTools,
5209
5218
  providerTokens: options?.providerTokens,
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import { z } from "zod";
7
7
  import type { MCPClient } from "../client.js";
8
+ import type { MCPContext } from "../config/types.js";
9
+ import type { EnabledToolsAsyncOptions } from "../config/types.js";
8
10
  /**
9
11
  * Options for AI provider tool conversions
10
12
  */
@@ -38,7 +40,26 @@ export interface AIToolsOptions {
38
40
  * ```
39
41
  */
40
42
  providerTokens?: Record<string, string>;
43
+ /**
44
+ * Limit tool discovery to specific integration IDs (e.g. `['github', 'gmail']`).
45
+ * Only `list_tools_by_integration` calls for these integrations are made.
46
+ */
47
+ integrationIds?: string[];
48
+ /**
49
+ * When true with `context.userId`, only fetch tools for integrations the user
50
+ * has OAuth tokens for (via `getProviderToken` / database adapter).
51
+ */
52
+ connectedOnly?: boolean;
53
+ /** User context for connected-only filtering and multi-tenant token lookup */
54
+ context?: MCPContext;
55
+ /**
56
+ * Max parallel `list_tools_by_integration` requests during cold discovery.
57
+ * @default 8
58
+ */
59
+ fetchConcurrency?: number;
41
60
  }
61
+ /** Map AI helper options to client tool-discovery options */
62
+ export declare function toEnabledToolsAsyncOptions(options?: Pick<AIToolsOptions, "integrationIds" | "connectedOnly" | "context" | "fetchConcurrency">): EnabledToolsAsyncOptions | undefined;
42
63
  /**
43
64
  * Get the provider for a tool by checking which integration includes it
44
65
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAqFvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAoD7D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,GAAG,CAAC,CAuCd;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,6DAA6D;AAC7D,wBAAgB,0BAA0B,CACxC,OAAO,CAAC,EAAE,IAAI,CACZ,cAAc,EACd,gBAAgB,GAAG,eAAe,GAAG,SAAS,GAAG,kBAAkB,CACpE,GACA,wBAAwB,GAAG,SAAS,CAYtC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAqFvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAoD7D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,GAAG,CAAC,CAuCd;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/ai/utils.js CHANGED
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -4208,6 +4217,7 @@ async function ensureClientConnected(client) {
4208
4217
  }
4209
4218
  export {
4210
4219
  tryGetProviderTokens,
4220
+ toEnabledToolsAsyncOptions,
4211
4221
  jsonSchemaToZod,
4212
4222
  jsonSchemaPropertyToZod,
4213
4223
  getProviderTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/ai/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAUpB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAyE/B"}
1
+ {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/ai/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAUpB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAyE/B"}
@@ -4060,6 +4060,15 @@ async function tryGetProviderTokens(manualTokens) {
4060
4060
  }
4061
4061
 
4062
4062
  // utils.ts
4063
+ function toEnabledToolsAsyncOptions(options) {
4064
+ if (!options)
4065
+ return;
4066
+ const { integrationIds, connectedOnly, context, fetchConcurrency } = options;
4067
+ if (integrationIds === undefined && connectedOnly === undefined && context === undefined && fetchConcurrency === undefined) {
4068
+ return;
4069
+ }
4070
+ return { integrationIds, connectedOnly, context, fetchConcurrency };
4071
+ }
4063
4072
  function getProviderForTool(client, toolName) {
4064
4073
  return client.getProviderForTool?.(toolName);
4065
4074
  }
@@ -5142,7 +5151,7 @@ async function getVercelAITools(client, options) {
5142
5151
  }
5143
5152
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
5144
5153
  await ensureClientConnected(client);
5145
- const mcpTools = await client.getEnabledToolsAsync();
5154
+ const mcpTools = await client.getEnabledToolsAsync(toEnabledToolsAsyncOptions(options));
5146
5155
  const vercelTools = {};
5147
5156
  let effectiveMode;
5148
5157
  if (options?.mode !== undefined) {
@@ -0,0 +1,23 @@
1
+ import type { DatabaseDriver, IntegrateAdapterHooks, IntegrateDatabaseAdapter } from "../types.js";
2
+ export type DrizzleProvider = "pg" | "mysql" | "sqlite";
3
+ export interface DrizzleIntegrateSchema {
4
+ providerToken: object;
5
+ trigger?: object;
6
+ }
7
+ export interface DrizzleAdapterConfig {
8
+ provider: DrizzleProvider;
9
+ schema: DrizzleIntegrateSchema;
10
+ hooks?: IntegrateAdapterHooks;
11
+ debugLogs?: boolean;
12
+ }
13
+ type DrizzleDb = {
14
+ select: (...args: any[]) => any;
15
+ insert: (...args: any[]) => any;
16
+ update: (...args: any[]) => any;
17
+ delete: (...args: any[]) => any;
18
+ };
19
+ export declare function createDrizzleDatabaseDriver(db: DrizzleDb, schema: DrizzleIntegrateSchema): DatabaseDriver;
20
+ export declare function drizzleAdapter(db: DrizzleDb, config: DrizzleAdapterConfig): IntegrateDatabaseAdapter;
21
+ export declare function drizzleAdapterCallbacks(db: DrizzleDb, config: DrizzleAdapterConfig): import("../types.js").IntegrateDatabaseCallbacks;
22
+ export {};
23
+ //# sourceMappingURL=drizzle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/drizzle.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,cAAc,EAGd,qBAAqB,EACrB,wBAAwB,EAMzB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GACvB,IAAI,GACJ,OAAO,GACP,QAAQ,CAAC;AAEb,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAChC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAChC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAChC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACjC,CAAC;AAqOF,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,sBAAsB,GAC7B,cAAc,CAUhB;AAED,wBAAgB,cAAc,CAC5B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,oBAAoB,GAC3B,wBAAwB,CAQ1B;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,oBAAoB,oDAO7B"}