@inkeep/agents-manage-ui 0.14.3 → 0.14.6

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 (169) hide show
  1. package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +89 -89
  3. package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +6 -6
  4. package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +2 -2
  7. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
  9. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js +1 -1
  11. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page.js.nft.json +1 -1
  12. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js +2 -2
  14. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page.js.nft.json +1 -1
  15. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/new/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page.js +2 -2
  17. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifacts/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js +2 -2
  19. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page.js.nft.json +1 -1
  20. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js +2 -2
  22. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page.js.nft.json +1 -1
  23. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/new/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page.js +2 -2
  25. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/components/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
  27. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
  28. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
  30. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
  31. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
  33. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
  35. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
  36. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
  38. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
  39. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
  41. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
  43. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
  44. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +1 -1
  46. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js.nft.json +1 -1
  47. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +2 -2
  49. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
  51. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
  52. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
  54. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
  56. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
  58. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
  60. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  61. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
  62. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +1 -1
  64. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
  65. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
  67. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js.nft.json +1 -1
  68. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
  69. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
  70. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
  71. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +3 -3
  73. package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
  75. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  76. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
  77. package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +9 -9
  78. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route.js +3 -3
  79. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  80. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route.js +1 -1
  81. package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
  82. package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
  83. package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  84. package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +6 -6
  85. package/.next/standalone/agents-manage-ui/.next/server/chunks/1356.js +1 -0
  86. package/.next/standalone/agents-manage-ui/.next/server/chunks/1919.js +1 -0
  87. package/.next/standalone/agents-manage-ui/.next/server/chunks/2415.js +1 -1
  88. package/.next/standalone/agents-manage-ui/.next/server/chunks/2539.js +13 -13
  89. package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
  90. package/.next/standalone/agents-manage-ui/.next/server/chunks/4843.js +1 -1
  91. package/.next/standalone/agents-manage-ui/.next/server/chunks/5893.js +25 -0
  92. package/.next/standalone/agents-manage-ui/.next/server/chunks/6180.js +1 -0
  93. package/.next/standalone/agents-manage-ui/.next/server/chunks/6212.js +1 -1
  94. package/.next/standalone/agents-manage-ui/.next/server/chunks/6525.js +2 -2
  95. package/.next/standalone/agents-manage-ui/.next/server/chunks/6747.js +2 -2
  96. package/.next/standalone/agents-manage-ui/.next/server/chunks/7024.js +1 -1
  97. package/.next/standalone/agents-manage-ui/.next/server/chunks/8100.js +1 -1
  98. package/.next/standalone/agents-manage-ui/.next/server/chunks/8610.js +1 -25
  99. package/.next/standalone/agents-manage-ui/.next/server/chunks/8739.js +1 -0
  100. package/.next/standalone/agents-manage-ui/.next/server/chunks/{9949.js → 9172.js} +1 -1
  101. package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
  102. package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
  103. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
  104. package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
  105. package/.next/standalone/agents-manage-ui/.next/static/chunks/{1558-1a9ec18b5f8d7786.js → 1558-d24874f5351711bf.js} +1 -1
  106. package/.next/standalone/agents-manage-ui/.next/static/chunks/2316-3f76f7f5c82df1c6.js +1 -0
  107. package/.next/standalone/agents-manage-ui/.next/static/chunks/4492-69644b6af583767c.js +1 -0
  108. package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-bc4b6411c083a419.js +1 -0
  109. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-f0d56b4ea11f66a9.js +1 -0
  110. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-c73e5ff03a78aa47.js +1 -0
  111. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-da97e5841a8bfe34.js +1 -0
  112. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-da97e5841a8bfe34.js +1 -0
  113. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-0de650835bc13d9f.js +1 -0
  114. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/[dataComponentId]/{page-e6f1e7ae07817a3f.js → page-804c7cbf3e2240c6.js} +1 -1
  115. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/new/{page-e6f1e7ae07817a3f.js → page-804c7cbf3e2240c6.js} +1 -1
  116. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/components/{page-580a18190775f57f.js → page-23b377c9c2aeaddf.js} +1 -1
  117. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/{page-56b26c7f8511737f.js → page-42cfb0b668e46675.js} +1 -1
  118. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-75c9cfb20d32feb1.js +1 -0
  119. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-cfc22e22a2881043.js +1 -0
  120. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-c076e721ddc13b84.js → page-06f7cb040dd1bdeb.js} +1 -1
  121. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/{page-21f1392ae65ea31a.js → page-34d40f96fca0a775.js} +1 -1
  122. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/{page-b7ee3944e6a5c03d.js → page-ec47cadccd7ea8cc.js} +1 -1
  123. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{page-b81c52d2d92033d4.js → page-6cff22b522529246.js} +1 -1
  124. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-d57c34f33393a79b.js +1 -0
  125. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-5728457866372247.js +1 -0
  126. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-c7f8ca7255540937.js +1 -0
  127. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-b225e89ec57bf78f.js → page-b32053d3644ebb8f.js} +1 -1
  128. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-51e9f2349b48882c.js +1 -0
  129. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-c28bed76378dd3da.js +1 -0
  130. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/{page-dff30664acafb090.js → page-4e595825dd1455dd.js} +1 -1
  131. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/{layout-28c7faeaf75cb175.js → layout-3ad535ea95b9dc1e.js} +1 -1
  132. package/.next/standalone/agents-manage-ui/.next/static/css/b73ab5a7ce73d0da.css +1 -0
  133. package/.next/standalone/agents-manage-ui/package.json +1 -1
  134. package/.next/standalone/packages/agents-core/package.json +1 -1
  135. package/package.json +4 -4
  136. package/src/app/api/signoz/conversations/[conversationId]/route.ts +7 -8
  137. package/src/app/api/signoz/route.ts +0 -1
  138. package/src/components/graph/graph.tsx +36 -3
  139. package/src/components/traces/conversation-detail.tsx +3 -1
  140. package/src/components/traces/timeline/render-panel-content.tsx +7 -22
  141. package/src/components/traces/timeline/span-attributes.tsx +146 -0
  142. package/src/components/traces/timeline/timeline-wrapper.tsx +12 -5
  143. package/src/features/graph/domain/deserialize.ts +3 -3
  144. package/src/hooks/use-oauth-login.ts +54 -19
  145. package/src/lib/api/signoz-sql.ts +11 -24
  146. package/src/lib/utils/signoz-links.ts +4 -3
  147. package/.next/standalone/agents-manage-ui/.next/server/chunks/2257.js +0 -1
  148. package/.next/standalone/agents-manage-ui/.next/server/chunks/3494.js +0 -1
  149. package/.next/standalone/agents-manage-ui/.next/server/chunks/6229.js +0 -1
  150. package/.next/standalone/agents-manage-ui/.next/server/chunks/7063.js +0 -1
  151. package/.next/standalone/agents-manage-ui/.next/server/chunks/7498.js +0 -1
  152. package/.next/standalone/agents-manage-ui/.next/static/chunks/2063-5b4fb2ded7adef46.js +0 -1
  153. package/.next/standalone/agents-manage-ui/.next/static/chunks/4811-a1c9dddfa81fa0d3.js +0 -1
  154. package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-280512d64ecb2777.js +0 -1
  155. package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-ab784b62e9ac0f0b.js +0 -1
  156. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-1881f08ccfa451a3.js +0 -1
  157. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/[artifactComponentId]/page-881c932a900cefaa.js +0 -1
  158. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/new/page-881c932a900cefaa.js +0 -1
  159. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifacts/page-e490f317d3c30f59.js +0 -1
  160. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ba36036918c3f861.js +0 -1
  161. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-86c877160e39dc7c.js +0 -1
  162. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-3b5ec607247c0070.js +0 -1
  163. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/page-40cd8147c876f44d.js +0 -1
  164. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-dc52ba56f4603764.js +0 -1
  165. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page-59d660fb7778e22d.js +0 -1
  166. package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-d83990b2d5c115df.js +0 -1
  167. package/.next/standalone/agents-manage-ui/.next/static/css/ff74e9dcb72fa41b.css +0 -1
  168. /package/.next/standalone/agents-manage-ui/.next/static/{eAovRsHqV3BzGJksQ0Q9L → oap6yp9iAb0xO-JzZGJMB}/_buildManifest.js +0 -0
  169. /package/.next/standalone/agents-manage-ui/.next/static/{eAovRsHqV3BzGJksQ0Q9L → oap6yp9iAb0xO-JzZGJMB}/_ssgManifest.js +0 -0
@@ -0,0 +1,146 @@
1
+ 'use client';
2
+
3
+ import { Streamdown } from 'streamdown';
4
+ import { CodeBubble } from '@/components/traces/timeline/bubble';
5
+ import { LabeledBlock } from '@/components/traces/timeline/blocks';
6
+
7
+ // Constants for attribute categorization and sorting
8
+ const PROCESS_ATTRIBUTE_PREFIXES = ['host.', 'process.'] as const;
9
+ const PINNED_ATTRIBUTE_KEYS = [
10
+ 'name',
11
+ 'spanID',
12
+ 'parentSpanID',
13
+ 'traceID',
14
+ 'tenant.id',
15
+ 'project.id',
16
+ 'graph.id',
17
+ 'conversation.id',
18
+ ] as const;
19
+
20
+ // Type definitions
21
+ type SpanAttribute = string | number | boolean | object | null | undefined;
22
+ type AttributeMap = Record<string, SpanAttribute>;
23
+
24
+ interface SpanAttributesProps {
25
+ span: AttributeMap;
26
+ className?: string;
27
+ }
28
+
29
+ interface SeparatedAttributes {
30
+ processAttributes: AttributeMap;
31
+ otherAttributes: AttributeMap;
32
+ hasProcessAttributes: boolean;
33
+ }
34
+
35
+ interface ProcessAttributesSectionProps {
36
+ processAttributes: AttributeMap;
37
+ }
38
+
39
+ /**
40
+ * Separates span attributes into process-related and other attributes
41
+ */
42
+ function separateAttributes(span: AttributeMap): SeparatedAttributes {
43
+ const processAttributes: AttributeMap = {};
44
+ const otherAttributes: AttributeMap = {};
45
+
46
+ Object.entries(span).forEach(([key, value]) => {
47
+ const isProcessAttribute = PROCESS_ATTRIBUTE_PREFIXES.some(prefix =>
48
+ key.startsWith(prefix)
49
+ );
50
+
51
+ if (isProcessAttribute) {
52
+ processAttributes[key] = value;
53
+ } else {
54
+ otherAttributes[key] = value;
55
+ }
56
+ });
57
+
58
+ return {
59
+ processAttributes,
60
+ otherAttributes,
61
+ hasProcessAttributes: Object.keys(processAttributes).length > 0,
62
+ };
63
+ }
64
+
65
+ /**
66
+ * Sorts attributes with pinned keys first, then alphabetically
67
+ */
68
+ function sortAttributes(attributes: AttributeMap): AttributeMap {
69
+ const pinnedAttributes: AttributeMap = {};
70
+ const remainingAttributes: AttributeMap = {};
71
+
72
+ // Extract pinned attributes in order
73
+ PINNED_ATTRIBUTE_KEYS.forEach(key => {
74
+ if (key in attributes) {
75
+ pinnedAttributes[key] = attributes[key];
76
+ }
77
+ });
78
+
79
+ // Get remaining attributes sorted alphabetically
80
+ const remainingKeys = Object.keys(attributes)
81
+ .filter(key => !PINNED_ATTRIBUTE_KEYS.includes(key as any))
82
+ .sort();
83
+
84
+ remainingKeys.forEach(key => {
85
+ remainingAttributes[key] = attributes[key];
86
+ });
87
+
88
+ return { ...pinnedAttributes, ...remainingAttributes };
89
+ }
90
+
91
+ /**
92
+ * Renders process attributes
93
+ */
94
+ function ProcessAttributesSection({ processAttributes }: ProcessAttributesSectionProps) {
95
+ return (
96
+ <div className="border rounded-lg border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50">
97
+ <div className="px-3 py-2 border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 rounded-t-lg">
98
+ <span className="text-sm font-medium text-gray-900 dark:text-gray-100">
99
+ Process Attributes
100
+ </span>
101
+ </div>
102
+
103
+ <div className="p-3 rounded-b-lg">
104
+ <CodeBubble className="max-h-60 overflow-y-auto">
105
+ <Streamdown>{`\`\`\`json\n${JSON.stringify(processAttributes, null, 2)}\n\`\`\``}</Streamdown>
106
+ </CodeBubble>
107
+ </div>
108
+ </div>
109
+ );
110
+ }
111
+
112
+ /**
113
+ * Main component for displaying span attributes with proper categorization and sorting
114
+ */
115
+ export function SpanAttributes({ span, className }: SpanAttributesProps) {
116
+ const { processAttributes, otherAttributes, hasProcessAttributes } = separateAttributes(span);
117
+ const sortedOtherAttributes = sortAttributes(otherAttributes);
118
+
119
+ const hasOtherAttributes = Object.keys(otherAttributes).length > 0;
120
+ const hasAnyAttributes = hasOtherAttributes || hasProcessAttributes;
121
+
122
+ return (
123
+ <div className={`space-y-3 ${className ?? ''}`}>
124
+ {/* Main span attributes */}
125
+ {hasOtherAttributes && (
126
+ <LabeledBlock label="Advanced Span Attributes">
127
+ <CodeBubble className="max-h-60 overflow-y-auto">
128
+ <Streamdown>{`\`\`\`json\n${JSON.stringify(sortedOtherAttributes, null, 2)}\n\`\`\``}</Streamdown>
129
+ </CodeBubble>
130
+ </LabeledBlock>
131
+ )}
132
+
133
+ {/* Process attributes section */}
134
+ {hasProcessAttributes && (
135
+ <ProcessAttributesSection processAttributes={processAttributes} />
136
+ )}
137
+
138
+ {/* Empty state */}
139
+ {!hasAnyAttributes && (
140
+ <div className="text-center py-4 text-xs text-muted-foreground">
141
+ No span attributes available
142
+ </div>
143
+ )}
144
+ </div>
145
+ );
146
+ }
@@ -216,18 +216,25 @@ export function TimelineWrapper({
216
216
  .map((activity) => activity.id);
217
217
  }, [sortedActivities]);
218
218
 
219
+ // Memoize stream text IDs for cleaner collapse logic
220
+ const streamTextIds = useMemo(() => {
221
+ return sortedActivities
222
+ .filter((activity) => activity.type === ACTIVITY_TYPES.AI_MODEL_STREAMED_TEXT)
223
+ .map((activity) => activity.id);
224
+ }, [sortedActivities]);
225
+
219
226
  // Initialize AI messages based on view type when activities change
220
227
  useEffect(() => {
221
228
  if (enableAutoScroll) {
222
- // Live trace view: default collapsed
229
+ // Live trace view: collapse all AI messages
223
230
  setCollapsedAiMessages(new Set(aiMessageIds));
224
231
  setAiMessagesGloballyCollapsed(true);
225
232
  } else {
226
- // Conversation details view: default expanded
227
- setCollapsedAiMessages(new Set());
228
- setAiMessagesGloballyCollapsed(false);
233
+ // Conversation details view: collapse only ai.streamText.doStream spans
234
+ setCollapsedAiMessages(new Set(streamTextIds));
235
+ setAiMessagesGloballyCollapsed(streamTextIds.length === aiMessageIds.length);
229
236
  }
230
- }, [aiMessageIds, enableAutoScroll]);
237
+ }, [aiMessageIds, streamTextIds, enableAutoScroll]);
231
238
 
232
239
  // Functions to handle expand/collapse all (memoized to prevent unnecessary re-renders)
233
240
  const expandAllAiMessages = useCallback(() => {
@@ -64,8 +64,8 @@ function calculateNodeHeight(node: Node): number {
64
64
  return Math.max(height, BASE_NODE_HEIGHT);
65
65
  }
66
66
 
67
- function applyDagreLayout(nodes: Node[], edges: Edge[]): Node[] {
68
- const g = new (dagre as any).graphlib.Graph();
67
+ export function applyDagreLayout(nodes: Node[], edges: Edge[]): Node[] {
68
+ const g = new dagre.graphlib.Graph();
69
69
  g.setGraph({
70
70
  rankdir: 'TB',
71
71
  nodesep: 150,
@@ -85,7 +85,7 @@ function applyDagreLayout(nodes: Node[], edges: Edge[]): Node[] {
85
85
  g.setEdge(edge.source, edge.target);
86
86
  }
87
87
 
88
- (dagre as any).layout(g);
88
+ dagre.layout(g);
89
89
 
90
90
  return nodes.map((node) => {
91
91
  const nodeWithPosition = g.node(node.id);
@@ -14,7 +14,16 @@ export function useOAuthLogin({ tenantId, projectId, onFinish, onError }: UseOAu
14
14
  const router = useRouter();
15
15
  const { INKEEP_AGENTS_MANAGE_API_URL } = useRuntimeConfig();
16
16
 
17
+ // Track active OAuth attempts to prevent conflicts
18
+ const activeAttempts = new Map<string, () => void>();
19
+
17
20
  const handleOAuthLogin = (toolId: string) => {
21
+ // Clean up any previous attempt for this toolId
22
+ const existingCleanup = activeAttempts.get(toolId);
23
+ if (existingCleanup) {
24
+ existingCleanup();
25
+ activeAttempts.delete(toolId);
26
+ }
18
27
  try {
19
28
  // Get the OAuth URL and open in popup window
20
29
  const oauthUrl = getOAuthLoginUrl({
@@ -23,23 +32,31 @@ export function useOAuthLogin({ tenantId, projectId, onFinish, onError }: UseOAu
23
32
  projectId,
24
33
  id: toolId,
25
34
  });
35
+
26
36
  const popup = window.open(
27
37
  oauthUrl,
28
38
  'oauth-popup',
29
39
  'width=600,height=700,scrollbars=yes,resizable=yes,status=yes,location=yes'
30
40
  );
31
41
 
32
- // Listen for OAuth success message from popup
42
+ if (!popup) {
43
+ console.error(`Failed to open popup for ${toolId} - blocked by browser`);
44
+ return;
45
+ }
46
+
47
+ // Track completion to prevent duplicate calls
48
+ let completed = false;
49
+
50
+ // Listen for success PostMessage
33
51
  const handleMessage = (event: MessageEvent) => {
34
- if (event.data.type === 'oauth-success' && event.data.toolId === toolId) {
35
- // Clean up listener
52
+ if (event.data.type === 'oauth-success' && !completed) {
53
+ completed = true;
36
54
  window.removeEventListener('message', handleMessage);
37
55
 
38
56
  // Call custom success handler or default behavior
39
57
  if (onFinish) {
40
58
  onFinish(toolId);
41
59
  } else {
42
- // Default: navigate to server details page
43
60
  router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
44
61
  }
45
62
  }
@@ -48,30 +65,48 @@ export function useOAuthLogin({ tenantId, projectId, onFinish, onError }: UseOAu
48
65
  if (popup) {
49
66
  window.addEventListener('message', handleMessage);
50
67
 
51
- // Fallback: Monitor popup for closure
52
- const checkClosed = setInterval(() => {
53
- if (popup.closed) {
54
- clearInterval(checkClosed);
55
- window.removeEventListener('message', handleMessage);
68
+ // Backup: Monitor popup closure (for errors or PostMessage failures)
69
+ // Delay backup monitoring to give PostMessage priority
70
+ let checkPopupClosed: NodeJS.Timeout | null = null;
71
+ const backupTimeout = setTimeout(() => {
72
+ if (!completed) {
73
+ checkPopupClosed = setInterval(() => {
74
+ try {
75
+ if (popup.closed && !completed) {
76
+ completed = true;
77
+ if (checkPopupClosed) clearInterval(checkPopupClosed);
78
+ window.removeEventListener('message', handleMessage);
79
+ activeAttempts.delete(toolId);
56
80
 
57
- // Call custom success handler or default behavior
58
- if (onFinish) {
59
- onFinish(toolId);
60
- } else {
61
- // Default: navigate to server details page
62
- router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
63
- }
81
+ // Call custom success handler or default behavior
82
+ if (onFinish) {
83
+ onFinish(toolId);
84
+ } else {
85
+ router.push(`/${tenantId}/projects/${projectId}/mcp-servers/${toolId}`);
86
+ }
87
+ }
88
+ } catch {
89
+ // Cross-origin errors are expected during OAuth redirects
90
+ }
91
+ }, 1000); // Check every second
64
92
  }
65
- }, 1000);
93
+ }, 3000); // Wait 3 seconds before starting backup monitoring
94
+
95
+ // Register cleanup function for this attempt
96
+ const cleanup = () => {
97
+ clearTimeout(backupTimeout);
98
+ if (checkPopupClosed) clearInterval(checkPopupClosed);
99
+ window.removeEventListener('message', handleMessage);
100
+ completed = true;
101
+ };
102
+ activeAttempts.set(toolId, cleanup);
66
103
  }
67
104
  } catch (error) {
68
- console.error('OAuth login failed:', error);
69
105
  const errorObj = error instanceof Error ? error : new Error('OAuth login failed');
70
106
 
71
107
  if (onError) {
72
108
  onError(errorObj);
73
109
  } else {
74
- // Default error handling
75
110
  toast.error('OAuth login failed. Please try again.');
76
111
  }
77
112
  }
@@ -43,11 +43,6 @@ export async function fetchAllSpanAttributes_SQL(
43
43
  data: Record<string, any>;
44
44
  }>
45
45
  > {
46
- console.log(`🔍 DEBUG - fetchAllSpanAttributes_SQL called with:`, {
47
- conversationId,
48
- sigNozUrl,
49
- });
50
-
51
46
  const results: Array<{
52
47
  spanId: string;
53
48
  traceId: string;
@@ -59,8 +54,6 @@ export async function fetchAllSpanAttributes_SQL(
59
54
  let offset = 0;
60
55
  const tableName = 'distributed_signoz_index_v3';
61
56
 
62
- console.log(`🔍 DEBUG - Using table: ${tableName}, LIMIT: ${LIMIT}`);
63
-
64
57
  const basePayload = {
65
58
  start: new Date('2020-01-01T00:00:00Z').getTime(),
66
59
  end: Date.now(),
@@ -109,26 +102,21 @@ export async function fetchAllSpanAttributes_SQL(
109
102
  timeout: 30000,
110
103
  });
111
104
 
112
- console.log(`🔍 DEBUG - Page response status: ${response.status} ${response.statusText}`);
113
-
114
105
  const json = response.data;
115
- console.log(`🔍 DEBUG - Page response JSON:`, JSON.stringify(json, null, 2));
116
106
 
117
107
  const result = json?.data?.result?.[0];
118
108
  let rows: SpanRow[] = [];
119
- rows = result.series
120
- .map((s: any) => ({
121
- trace_id: s.labels?.trace_id,
122
- span_id: s.labels?.span_id,
123
- parent_span_id: s.labels?.parent_span_id,
124
- timestamp: s.labels?.timestamp,
125
- name: s.labels?.name,
126
- attributes_string_json: s.labels?.attributes_string_json,
127
- attributes_number_json: s.labels?.attributes_number_json,
128
- attributes_bool_json: s.labels?.attributes_bool_json,
129
- resources_string_json: s.labels?.resources_string_json,
130
- }))
131
- .filter((r: any) => r.trace_id && r.span_id); // Filter out incomplete rows
109
+ rows = result?.series ? result.series.map((s: any) => ({
110
+ trace_id: s.labels?.trace_id,
111
+ span_id: s.labels?.span_id,
112
+ parent_span_id: s.labels?.parent_span_id,
113
+ timestamp: s.labels?.timestamp,
114
+ name: s.labels?.name,
115
+ attributes_string_json: s.labels?.attributes_string_json,
116
+ attributes_number_json: s.labels?.attributes_number_json,
117
+ attributes_bool_json: s.labels?.attributes_bool_json,
118
+ resources_string_json: s.labels?.resources_string_json,
119
+ })).filter((r: any) => r.trace_id && r.span_id) : []; // Filter out incomplete rows
132
120
 
133
121
  if (!rows.length) {
134
122
  break;
@@ -162,7 +150,6 @@ export async function fetchAllSpanAttributes_SQL(
162
150
 
163
151
  offset += LIMIT;
164
152
  if (rows.length < LIMIT) {
165
- console.log(`🔍 DEBUG - Last page (${rows.length} < ${LIMIT}), breaking pagination`);
166
153
  break;
167
154
  }
168
155
  } catch (error) {
@@ -1,8 +1,9 @@
1
+ import { DEFAULT_SIGNOZ_URL } from '@/lib/runtime-config/defaults';
1
2
  /**
2
3
  * Generate a SigNoz Traces Explorer URL scoped to a conversation that has errors.
3
4
  * Keeps columns/pagination; strips non-essential builder fields.
4
5
  */
5
- export function getSignozTracesExplorerUrl(conversationId: string): string {
6
+ export function getSignozTracesExplorerUrl(conversationId: string, signozUrl?: string): string {
6
7
  const compositeQuery = {
7
8
  queryType: 'builder',
8
9
  builder: {
@@ -47,7 +48,7 @@ export function getSignozTracesExplorerUrl(conversationId: string): string {
47
48
  const encodedCompositeQuery = encodeURIComponent(
48
49
  encodeURIComponent(JSON.stringify(compositeQuery))
49
50
  );
50
- const signozUrl = process.env.SIGNOZ_URL || 'http://localhost:3080';
51
+ const url = signozUrl || DEFAULT_SIGNOZ_URL;
51
52
 
52
- return `${signozUrl}/traces-explorer?compositeQuery=${encodedCompositeQuery}&relativeTime=1month`;
53
+ return `${url}/traces-explorer?compositeQuery=${encodedCompositeQuery}&relativeTime=1month`;
53
54
  }
@@ -1 +0,0 @@
1
- "use strict";exports.id=2257,exports.ids=[2257],exports.modules={35406:(a,b,c)=>{c.d(b,{A3:()=>i,Nv:()=>q,PC:()=>j,SH:()=>f,SL:()=>o,U_:()=>n,XQ:()=>m,YL:()=>r,aR:()=>d,cZ:()=>k,qf:()=>s,we:()=>l,yR:()=>e,yZ:()=>t,zD:()=>p});let d={AI_TOOL_CALL:"ai.toolCall",CONTEXT_RESOLUTION:"context-resolver.resolve_single_fetch_definition",CONTEXT_HANDLE:"context.handle_context_resolution",AGENT_GENERATION:"agent.generate",CONTEXT_FETCHER:"context-fetcher.http-request"},e={GENERATE_TEXT:"ai.generateText.doGenerate",STREAM_TEXT:"ai.streamText.doStream"},f={SPAN_ID:"spanID",TRACE_ID:"traceID",DURATION_NANO:"durationNano",TIMESTAMP:"timestamp",HAS_ERROR:"hasError",STATUS_MESSAGE:"status_message",OTEL_STATUS_CODE:"otel.status_code",OTEL_STATUS_DESCRIPTION:"otel.status_description",GRAPH_ID:"graph.id",GRAPH_NAME:"graph.name",TENANT_ID:"tenant.id",PROJECT_ID:"project.id",AI_AGENT_NAME:"ai.agentName",AI_AGENT_NAME_ALT:"ai.agent.name",AI_OPERATION_ID:"ai.operationId",AI_RESPONSE_TIMESTAMP:"ai.response.timestamp",AI_RESPONSE_CONTENT:"ai.response.content",AI_RESPONSE_TEXT:"ai.response.text",AI_RESPONSE_MODEL:"ai.response.model",AI_RESPONSE_TOOL_CALLS:"ai.response.toolCalls",AI_PROMPT_MESSAGES:"ai.prompt.messages",AI_MODEL_PROVIDER:"ai.model.provider",AI_TELEMETRY_FUNCTION_ID:"ai.telemetry.functionId",AI_MODEL_ID:"ai.model.id",AI_TOOL_CALL_NAME:"ai.toolCall.name",AI_TOOL_CALL_RESULT:"ai.toolCall.result",AI_TOOL_CALL_ARGS:"ai.toolCall.args",AI_TOOL_CALL_ID:"ai.toolCall.id",AI_TOOL_TYPE:"ai.toolType",TOOL_PURPOSE:"tool.purpose",AGENT_ID:"agent.id",AGENT_NAME:"agent.name",GEN_AI_USAGE_INPUT_TOKENS:"gen_ai.usage.input_tokens",GEN_AI_USAGE_OUTPUT_TOKENS:"gen_ai.usage.output_tokens",CONTEXT_URL:"context.url",CONTEXT_CONFIG_ID:"context.context_config_id",CONTEXT_AGENT_GRAPH_ID:"context.agent_graph_id",CONTEXT_REQUEST_KEYS:"context.request_context_keys",MESSAGE_CONTENT:"message.content",MESSAGE_TIMESTAMP:"message.timestamp",MCP_TOOL_DESCRIPTION:"mcp.tool.description",DELEGATION_FROM_AGENT_ID:"delegation.from_agent_id",DELEGATION_TO_AGENT_ID:"delegation.to_agent_id",TRANSFER_FROM_AGENT_ID:"transfer.from_agent_id",TRANSFER_TO_AGENT_ID:"transfer.to_agent_id",HTTP_URL:"http.url",HTTP_STATUS_CODE:"http.status_code",HTTP_RESPONSE_BODY_SIZE:"http.response.body_size",NAME:"name",PARENT_SPAN_ID:"parentSpanID",CONVERSATION_ID:"conversation.id"},g={STRING:"string",INT64:"int64",FLOAT64:"float64",BOOL:"bool"},h={TAG:"tag"},i={STRING_TAG:{dataType:g.STRING,type:h.TAG,isColumn:!1},STRING_TAG_COLUMN:{dataType:g.STRING,type:h.TAG,isColumn:!0},INT64_TAG:{dataType:g.INT64,type:h.TAG,isColumn:!1},INT64_TAG_COLUMN:{dataType:g.INT64,type:h.TAG,isColumn:!0},FLOAT64_TAG:{dataType:g.FLOAT64,type:h.TAG,isColumn:!1},FLOAT64_TAG_COLUMN:{dataType:g.FLOAT64,type:h.TAG,isColumn:!0},BOOL_TAG:{dataType:g.BOOL,type:h.TAG,isColumn:!1},BOOL_TAG_COLUMN:{dataType:g.BOOL,type:h.TAG,isColumn:!0}},j="unknown",k={MCP:"mcp",TRANSFER:"transfer",DELEGATION:"delegation"},l={EQUALS:"=",NOT_EQUALS:"!=",LESS_THAN:"<",GREATER_THAN:">",LESS_THAN_OR_EQUAL:"<=",GREATER_THAN_OR_EQUAL:">=",LIKE:"like",NOT_LIKE:"nlike",EXISTS:"exists",NOT_EXISTS:"nexists",AND:"AND",OR:"OR"},m={SPAN_NAMES:"spanNames",AGENT_MODEL_CALLS:"agentModelCalls",MODEL_CALLS:"modelCalls",LAST_ACTIVITY:"lastActivity",CONVERSATION_METADATA:"conversationMetadata",FILTERED_CONVERSATIONS:"filteredConversations",TOOLS:"tools",TRANSFERS:"transfers",DELEGATIONS:"delegations",AI_CALLS:"aiCalls",CONTEXT_ERRORS:"contextErrors",AGENT_GENERATION_ERRORS:"agentGenerationErrors",USER_MESSAGES:"userMessages",UNIQUE_GRAPHS:"uniqueGraphs",UNIQUE_MODELS:"uniqueModels",TOOL_CALLS:"toolCalls",CONTEXT_RESOLUTION:"contextResolution",CONTEXT_HANDLE:"contextHandle",AI_ASSISTANT_MESSAGES:"aiAssistantMessages",AI_GENERATIONS:"aiGenerations",AI_STREAMING_TEXT:"aiStreamingText",CONTEXT_FETCHERS:"contextFetchers",DURATION_SPANS:"durationSpans",AGENT_GENERATIONS:"agentGenerations",SPANS_WITH_ERRORS:"spansWithErrors"},n={SUM:"sum",MAX:"max",MIN:"min",AVG:"avg",COUNT:"count"},o={ASC:"asc",DESC:"desc"},p={BUILDER:"builder",CLICKHOUSE:"clickhouse",PROMQL:"promql"},q={LIST:"list",TABLE:"table",GRAPH:"graph",VALUE:"value"},r={TRACES:"traces",METRICS:"metrics",LOGS:"logs"},s={COUNT:"count",SUM:"sum",AVG:"avg",MIN:"min",MAX:"max",NOOP:"noop"},t={STEP:60,STEP_INTERVAL:60,OFFSET:0,DISABLED:!1,HAVING:[],LEGEND:"",LIMIT_NULL:null,LIMIT_ZERO:0,LIMIT_1000:1e3,EMPTY_GROUP_BY:[]}},40367:(a,b,c)=>{c.d(b,{H:()=>p});var d=c(36532),e=c(68764),f=c(45809),g=c(35406);let h=a=>Math.floor(a/1e6),i=f.union([f.string(),f.number(),f.boolean()]),j=a=>{try{if("true"===a)return i.parse(!0);if("false"===a)return i.parse(!1);let b=(a=>/^-?\d+(\.\d+)?$/.test(a)?Number(a):a)(a);if("number"==typeof b)return i.parse(b);return i.parse(a)}catch(b){return console.warn(`Failed to parse filter value "${a}":`,b),i.parse(a)}},k=a=>parseInt(a.values?.[0]?.value??"0",10)||0,l=a=>Number(a.values?.[0]?.value??0)||0,m=(a,b)=>{let c=new Date(a);c.setHours(0,0,0,0);let d=new Date(b);d.setHours(0,0,0,0);let e=[];for(let a=new Date(c);a<=d;a.setDate(a.getDate()+1))e.push(`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`);return e};(0,e.Ay)(d.A,{retries:3,retryDelay:e.Ay.exponentialDelay});class n{async makeRequest(a){return(await d.A.post("/api/signoz",a,{timeout:3e4,headers:{"Content-Type":"application/json"}})).data}extractSeries(a,b){return a?.data?.result?.find(a=>a?.queryName===b)?.series??[]}async getConversationStats(a,b,c,d,e,f,i){try{let j=this.buildCombinedPayload(a,b,c,d,i),k=await this.makeRequest(j),m=this.extractSeries(k,g.XQ.TOOLS),n=this.extractSeries(k,g.XQ.TRANSFERS),o=this.extractSeries(k,g.XQ.DELEGATIONS),p=this.extractSeries(k,g.XQ.AI_CALLS),q=this.extractSeries(k,g.XQ.LAST_ACTIVITY),r=this.extractSeries(k,g.XQ.CONVERSATION_METADATA),s=this.extractSeries(k,g.XQ.CONTEXT_ERRORS),t=this.extractSeries(k,g.XQ.AGENT_GENERATION_ERRORS),u=this.extractSeries(k,g.XQ.USER_MESSAGES),v=new Map;for(let a of r){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&v.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,graphId:a.labels?.[g.SH.GRAPH_ID]??g.PC,graphName:a.labels?.[g.SH.GRAPH_NAME]??g.PC})}let w=new Map;for(let a of q){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&w.set(b,l(a))}let x=new Map,y=new Map;for(let a of u){let b=a.labels?.[g.SH.CONVERSATION_ID],c=a.labels?.[g.SH.MESSAGE_CONTENT],d=l(a);b&&c&&(y.get(b)??y.set(b,[]).get(b))?.push({t:d,c:c})}for(let[a,b]of y){b.sort((a,b)=>a.t-b.t);let c=b[0];if(c){let b=c.c.length>100?`${c.c.slice(0,100)}...`:c.c;x.set(a,{content:b,timestamp:h(c.t)})}}let z=this.toConversationStats(m,n,o,p,v,s,t,x);if((c?.spanName||c?.attributes?.length)&&(z=await this.applySpanFilters(z,a,b,c,d)),f?.trim()){let a=f.toLowerCase().trim();z=z.filter(b=>b.firstUserMessage?.toLowerCase().includes(a)||b.conversationId.toLowerCase().includes(a)||b.graphId.toLowerCase().includes(a))}if(z.sort((a,b)=>((a=0,b=0)=>b-a)(w.get(a.conversationId),w.get(b.conversationId))),!e)return z;let{page:A,limit:B}=e,C=z.length,D=Math.ceil(C/B),E=(A-1)*B;return{data:z.slice(E,E+B),pagination:{page:A,limit:B,total:C,totalPages:D,hasNextPage:A<D,hasPreviousPage:A>1}}}catch(a){return console.error("getConversationStats error:",a),[]}}async getAICallsByGraph(a,b,c){try{let d=await this.makeRequest(this.buildCombinedPayload(a,b,void 0,c)),e=this.extractSeries(d,g.XQ.AI_CALLS),f=new Map;for(let a of e){let b=a.labels?.[g.SH.GRAPH_ID]||g.PC,c=k(a);c&&f.set(b,(f.get(b)||0)+c)}return[...f].map(([a,b])=>({graphId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByGraph error:",a),[]}}async getAICallsByAgent(a,b,c,d,e){try{let f=await this.makeRequest(this.buildAgentModelBreakdownPayload(a,b,e)),h=this.extractSeries(f,"agentModelCalls"),i=new Map;for(let a of h){let b=a.labels?.[g.SH.AI_TELEMETRY_FUNCTION_ID]||g.PC,e=a.labels?.[g.SH.GRAPH_ID]||g.PC,f=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,h=k(a);if(!h||c&&"all"!==c&&e!==c||d&&"all"!==d&&f!==d)continue;let j=`${b}::${e}::${f}`,l=i.get(j)||{agentId:b,graphId:e,modelId:f,totalCalls:0};l.totalCalls+=h,i.set(j,l)}return[...i.values()].sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByAgent error:",a),[]}}async getAICallsByModel(a,b,c,d){try{let e=await this.makeRequest(this.buildModelBreakdownPayload(a,b,d)),f=this.extractSeries(e,"modelCalls"),h=new Map;for(let a of f){let b=a.labels?.[g.SH.AI_MODEL_ID]||g.PC,d=a.labels?.[g.SH.GRAPH_ID]||g.PC,e=k(a);e&&(c&&"all"!==c&&d!==c||h.set(b,(h.get(b)||0)+e))}return[...h].map(([a,b])=>({modelId:a,totalCalls:b})).sort((a,b)=>b.totalCalls-a.totalCalls)}catch(a){return console.error("getAICallsByModel error:",a),[]}}async getUniqueGraphs(a,b,c){try{let d=await this.makeRequest(this.buildUniqueGraphsPayload(a,b,c)),e=this.extractSeries(d,"uniqueGraphs").map(a=>a.labels?.[g.SH.GRAPH_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueGraphs error:",a),[]}}async getUniqueModels(a,b,c){try{let d=await this.makeRequest(this.buildUniqueModelsPayload(a,b,c)),e=this.extractSeries(d,"uniqueModels").map(a=>a.labels?.[g.SH.AI_MODEL_ID]).filter(a=>!!a&&a!==g.PC).sort();return[...new Set(e)]}catch(a){return console.error("getUniqueModels error:",a),[]}}async getConversationsPerDay(a,b,c,d){try{let e=await this.makeRequest(this.buildConversationMetadataPayload(a,b,c,d)),f=this.extractSeries(e,"conversationMetadata").length?this.extractSeries(await this.makeRequest(this.buildConversationActivityPayload(a,b,c,d)),"lastActivity"):[],g=new Map;for(let a of f){let b=h(l(a));if(!b)continue;let c=new Date(b),d=`${c.getFullYear()}-${String(c.getMonth()+1).padStart(2,"0")}-${String(c.getDate()).padStart(2,"0")}`;g.set(d,(g.get(d)||0)+1)}return m(a,b).map(a=>({date:a,count:g.get(a)||0}))}catch(c){return console.error("getConversationsPerDay error:",c),m(a,b).map(a=>({date:a,count:0}))}}async getAggregateStats(a,b,c,d,e){try{let f=await this.makeRequest(this.buildCombinedPayload(a,b,c,d,e)),h=this.extractSeries(f,"tools"),i=this.extractSeries(f,"transfers"),j=this.extractSeries(f,"delegations"),k=this.extractSeries(f,"aiCalls"),l=this.extractSeries(f,"conversationMetadata"),m=this.extractSeries(f,"contextErrors"),n=this.extractSeries(f,"agentGenerationErrors"),o=new Map;for(let a of l){let b=a.labels?.[g.SH.CONVERSATION_ID];b&&o.set(b,{tenantId:a.labels?.[g.SH.TENANT_ID]??g.PC,graphId:a.labels?.[g.SH.GRAPH_ID]??g.PC,graphName:a.labels?.[g.SH.GRAPH_NAME]??g.PC})}let p=this.toConversationStats(h,i,j,k,o,m,n,new Map);return(c?.spanName||c?.attributes?.length)&&(p=await this.applySpanFilters(p,a,b,c,d)),{totalToolCalls:p.reduce((a,b)=>a+b.totalToolCalls,0),totalTransfers:p.reduce((a,b)=>a+b.totalTransfers,0),totalDelegations:p.reduce((a,b)=>a+b.totalDelegations,0),totalConversations:p.length,totalAICalls:p.reduce((a,b)=>a+b.totalAICalls,0)}}catch(a){return console.error("getAggregateStats error:",a),{totalToolCalls:0,totalTransfers:0,totalDelegations:0,totalConversations:0,totalAICalls:0}}}async getAvailableSpanNames(a,b,c,d){try{let e=[{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""}];c&&"all"!==c&&e.push({key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}),d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d});let f={start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.LIST,builderQueries:{spanNames:{dataSource:g.YL.TRACES,queryName:g.XQ.SPAN_NAMES,aggregateOperator:g.qf.NOOP,aggregateAttribute:{},filters:{op:g.we.AND,items:e},selectColumns:[{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.SPAN_NAMES,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,stepInterval:g.yZ.STEP_INTERVAL,limit:g.yZ.LIMIT_1000,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],groupBy:g.yZ.EMPTY_GROUP_BY,offset:g.yZ.OFFSET}}},dataSource:g.YL.TRACES,projectId:d},h=await this.makeRequest(f),i=h?.data?.result?.find(a=>a?.queryName==="spanNames")?.list??[],j=new Set;for(let a of i){let b=a?.data?.name??a?.name;b&&j.add(b)}return[...j].sort()}catch(a){return console.error("getAvailableSpanNames error:",a),[]}}toConversationStats(a,b,c,d,e,f,h,i){let j=new Map,l=a=>{let b=j.get(a);if(b)return b;let c={totalToolCalls:0,toolsUsed:new Map,transfers:new Map,totalTransfers:0,delegations:new Map,totalDelegations:0,totalAICalls:0,totalErrors:0};return j.set(a,c),c};for(let b of a){let a=b.labels?.[g.SH.CONVERSATION_ID];if(!a)continue;let c=b.labels?.[g.SH.AI_TOOL_CALL_NAME];if(!c)continue;let d=k(b);if(!d)continue;let e=b.labels?.[g.SH.MCP_TOOL_DESCRIPTION]||"",f=l(a);f.totalToolCalls+=d;let h=f.toolsUsed.get(c)||{name:c,calls:0,description:e};h.calls+=d,f.toolsUsed.set(c,h)}for(let a of b){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.TRANSFER_FROM_AGENT_ID],d=a.labels?.[g.SH.TRANSFER_TO_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=l(b);f.totalTransfers+=e;let h=`${c}→${d}`,i=f.transfers.get(h)||{from:c,to:d,count:0};i.count+=e,f.transfers.set(h,i)}for(let a of c){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=a.labels?.[g.SH.DELEGATION_FROM_AGENT_ID],d=a.labels?.[g.SH.DELEGATION_TO_AGENT_ID],e=k(a);if(!c||!d||!e)continue;let f=l(b);f.totalDelegations+=e;let h=`${c}→${d}`,i=f.delegations.get(h)||{from:c,to:d,count:0};i.count+=e,f.delegations.set(h,i)}for(let a of d){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(l(b).totalAICalls+=c)}for(let a of[...f,...h]){let b=a.labels?.[g.SH.CONVERSATION_ID];if(!b)continue;let c=k(a);c&&(l(b).totalErrors+=c)}let m=[];for(let a of new Set([...j.keys(),...e.keys()])){let b=j.get(a)||l(a),c=e.get(a)||{tenantId:g.PC,graphId:g.PC,graphName:g.PC};m.push({conversationId:a,tenantId:c.tenantId,graphId:c.graphId,graphName:c.graphName||"",totalToolCalls:b.totalToolCalls,toolsUsed:[...b.toolsUsed.values()],transfers:[...b.transfers.values()],totalTransfers:b.totalTransfers,delegations:[...b.delegations.values()],totalDelegations:b.totalDelegations,totalAICalls:b.totalAICalls,totalErrors:b.totalErrors,hasErrors:b.totalErrors>0,firstUserMessage:i.get(a)?.content,startTime:i.get(a)?.timestamp})}return m}async applySpanFilters(a,b,c,d,e){try{let f=await this.makeRequest(this.buildFilteredConversationsPayload(b,c,d,e)),h=this.extractSeries(f,"filteredConversations"),i=new Set(h.map(a=>a.labels?.[g.SH.CONVERSATION_ID]).filter(Boolean));return a.filter(a=>i.has(a.conversationId))}catch(b){return console.error("applySpanFilters error:",b),a}}buildAgentModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{agentModelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TELEMETRY_FUNCTION_ID,...g.A3.STRING_TAG_COLUMN},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.AGENT_MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildModelBreakdownPayload(a,b,c){return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{modelCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.MODEL_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:[{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]]},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG}],expression:g.XQ.MODEL_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_ZERO}}},dataSource:g.YL.TRACES,projectId:c}}buildConversationActivityPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildConversationMetadataPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},...c&&"all"!==c?[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[],...d?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildFilteredConversationsPayload(a,b,c,d){let e=[{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}];for(let a of(c.spanName&&e.push({key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:c.spanName}),c.attributes??[])){let b=a.operator??g.we.EQUALS,c=j(a.value),d="string";if("boolean"==typeof c?d="bool":"number"==typeof c&&(d=Number.isInteger(c)?"int64":"float64"),b===g.we.EXISTS||b===g.we.NOT_EXISTS){e.push({key:{key:a.key,...g.A3.STRING_TAG},op:b,value:""});continue}if(b!==g.we.LIKE&&b!==g.we.NOT_LIKE||"string"!=typeof c||c.includes("%")||(c=`%${c}%`),("int64"===d||"float64"===d)&&b===g.we.EQUALS){let b="int64"===d?g.A3.INT64_TAG:g.A3.FLOAT64_TAG;e.push({key:{key:a.key,...b},op:g.we.GREATER_THAN_OR_EQUAL,value:c}),e.push({key:{key:a.key,...b},op:g.we.LESS_THAN_OR_EQUAL,value:c})}else{let f="string"===d?g.A3.STRING_TAG:"int64"===d?g.A3.INT64_TAG:"float64"===d?g.A3.FLOAT64_TAG:g.A3.BOOL_TAG;e.push({key:{key:a.key,...f},op:b,value:c})}}return d&&e.push({key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}),{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{filteredConversations:{dataSource:g.YL.TRACES,queryName:g.XQ.FILTERED_CONVERSATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:e},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.FILTERED_CONVERSATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildCombinedPayload(a,b,c,d,e){let f=a=>{let b=a;return d&&(b=[...b,{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:d}]),e&&(b=[...b,{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:e}]),b};return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{tools:{dataSource:g.YL.TRACES,queryName:g.XQ.TOOLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.MCP}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.AI_TOOL_CALL_NAME,...g.A3.STRING_TAG}],expression:g.XQ.TOOLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},transfers:{dataSource:g.YL.TRACES,queryName:g.XQ.TRANSFERS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.TRANSFER},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_FROM_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.TRANSFER_TO_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.TRANSFERS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},delegations:{dataSource:g.YL.TRACES,queryName:g.XQ.DELEGATIONS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AI_TOOL_CALL},{key:{key:g.SH.AI_TOOL_TYPE,...g.A3.STRING_TAG},op:g.we.EQUALS,value:g.cZ.DELEGATION},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_FROM_AGENT_ID,...g.A3.STRING_TAG},{key:g.SH.DELEGATION_TO_AGENT_ID,...g.A3.STRING_TAG}],expression:g.XQ.DELEGATIONS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},conversationMetadata:{dataSource:g.YL.TRACES,queryName:g.XQ.CONVERSATION_METADATA,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.TENANT_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_NAME,...g.A3.STRING_TAG}],expression:g.XQ.CONVERSATION_METADATA,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},aiCalls:{dataSource:g.YL.TRACES,queryName:g.XQ.AI_CALLS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.AI_OPERATION_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.yR.GENERATE_TEXT},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},{key:"ai.telemetry.functionId",...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.AI_CALLS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},lastActivity:{dataSource:g.YL.TRACES,queryName:g.XQ.LAST_ACTIVITY,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.LAST_ACTIVITY,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},contextErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.CONTEXT_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.CONTEXT_HANDLE},{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.CONTEXT_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},agentGenerationErrors:{dataSource:g.YL.TRACES,queryName:g.XQ.AGENT_GENERATION_ERRORS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.NAME,...g.A3.STRING_TAG_COLUMN},op:g.we.EQUALS,value:g.aR.AGENT_GENERATION},{key:{key:g.SH.HAS_ERROR,...g.A3.BOOL_TAG_COLUMN},op:g.we.EQUALS,value:!0},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG}],expression:g.XQ.AGENT_GENERATION_ERRORS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.DESC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL},userMessages:{dataSource:g.YL.TRACES,queryName:g.XQ.USER_MESSAGES,aggregateOperator:g.qf.MIN,aggregateAttribute:{key:g.SH.TIMESTAMP,...g.A3.INT64_TAG_COLUMN},filters:{op:g.we.AND,items:f([{key:{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""}])},groupBy:[{key:g.SH.CONVERSATION_ID,...g.A3.STRING_TAG},{key:g.SH.MESSAGE_CONTENT,...g.A3.STRING_TAG}],expression:g.XQ.USER_MESSAGES,reduceTo:g.U_.MIN,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.TIMESTAMP,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:d}}buildUniqueGraphsPayload(a,b,c){let d=[{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.EXISTS,value:""},{key:{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueGraphs:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_GRAPHS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.GRAPH_ID,...g.A3.STRING_TAG}],expression:g.XQ.UNIQUE_GRAPHS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.GRAPH_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}buildUniqueModelsPayload(a,b,c){let d=[{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.EXISTS,value:""},{key:{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN},op:g.we.NOT_EQUALS,value:g.PC},...c?[{key:{key:g.SH.PROJECT_ID,...g.A3.STRING_TAG},op:g.we.EQUALS,value:c}]:[]];return{start:a,end:b,step:g.yZ.STEP,variables:{},compositeQuery:{queryType:g.zD.BUILDER,panelType:g.Nv.TABLE,builderQueries:{uniqueModels:{dataSource:g.YL.TRACES,queryName:g.XQ.UNIQUE_MODELS,aggregateOperator:g.qf.COUNT,aggregateAttribute:{key:g.SH.SPAN_ID,...g.A3.STRING_TAG_COLUMN},filters:{op:g.we.AND,items:d},groupBy:[{key:g.SH.AI_MODEL_ID,...g.A3.STRING_TAG_COLUMN}],expression:g.XQ.UNIQUE_MODELS,reduceTo:g.U_.SUM,stepInterval:g.yZ.STEP_INTERVAL,orderBy:[{columnName:g.SH.AI_MODEL_ID,order:g.SL.ASC}],offset:g.yZ.OFFSET,disabled:g.yZ.DISABLED,having:g.yZ.HAVING,legend:g.yZ.LEGEND,limit:g.yZ.LIMIT_NULL}}},dataSource:g.YL.TRACES,projectId:c}}}let o=null;function p(){return o??=new n}},49540:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(1959),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},69450:(a,b,c)=>{c.r(b),c.d(b,{"403c68b25cd099d212045a3b9d4a2d575b7180f45d":()=>d.vj,"605b28b97176473367dd3f04c2d9e3b9b205d686f0":()=>d.Sw,"608c08ed16559d8632ed5fd211aecab1641f165563":()=>d.xx,"60c5a1abefa872f413735a9d46d993c276c9cc00a1":()=>d.gA,"700d104ebb8b147474eca9c0cb637a18c37ed2d601":()=>d.vr});var d=c(54637)}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=3494,exports.ids=[3494],exports.modules={61664:(a,b,c)=>{c.d(b,{AY:()=>bz,o7:()=>f,O_:()=>bu,K_:()=>bA});var d=c(32463);let e=["transfer","delegate"],f={streamableHttp:"streamable_http",sse:"sse"},g={memory:"memory",keychain:"keychain",nango:"nango"};var h=c(32318),i=c(4445),j=c(61234),k=c(66603),l=c(60510),m=c(84379),n=c(30480),o=c(27786),p=c(82390),q=c(57103),r=c(23241),s=c(5540);let t={tenantId:(0,l.Qq)("tenant_id").notNull(),id:(0,l.Qq)("id").notNull()},u={...t,projectId:(0,l.Qq)("project_id").notNull()},v={...u,graphId:(0,l.Qq)("graph_id").notNull()},w={...v,agentId:(0,l.Qq)("agent_id").notNull()},x={name:(0,l.Qq)("name").notNull(),description:(0,l.Qq)("description").notNull()},y={createdAt:(0,l.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,l.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},z=(0,m.D)("projects",{...t,...x,models:(0,l.Qq)("models",{mode:"json"}).$type(),stopWhen:(0,l.Qq)("stop_when",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.id]})]),A=(0,m.D)("agent_graph",{...u,name:(0,l.Qq)("name").notNull(),description:(0,l.Qq)("description"),defaultAgentId:(0,l.Qq)("default_agent_id"),contextConfigId:(0,l.Qq)("context_config_id"),models:(0,l.Qq)("models",{mode:"json"}).$type(),statusUpdates:(0,l.Qq)("status_updates",{mode:"json"}).$type(),graphPrompt:(0,l.Qq)("graph_prompt"),stopWhen:(0,l.Qq)("stop_when",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"agent_graph_project_fk"}).onDelete("cascade")]),B=(0,m.D)("context_configs",{...u,...x,requestContextSchema:(0,p.av)("request_context_schema",{mode:"json"}).$type(),contextVariables:(0,p.av)("context_variables",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"context_configs_project_fk"}).onDelete("cascade")]),C=(0,m.D)("context_cache",{...u,conversationId:(0,l.Qq)("conversation_id").notNull(),contextConfigId:(0,l.Qq)("context_config_id").notNull(),contextVariableKey:(0,l.Qq)("context_variable_key").notNull(),value:(0,p.av)("value",{mode:"json"}).$type().notNull(),requestHash:(0,l.Qq)("request_hash"),fetchedAt:(0,l.Qq)("fetched_at").notNull(),fetchSource:(0,l.Qq)("fetch_source"),fetchDurationMs:(0,q.nd)("fetch_duration_ms"),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"context_cache_project_fk"}).onDelete("cascade"),(0,r.Pe)("context_cache_lookup_idx").on(a.conversationId,a.contextConfigId,a.contextVariableKey)]),D=(0,m.D)("agents",{...v,...x,prompt:(0,l.Qq)("prompt").notNull(),conversationHistoryConfig:(0,l.Qq)("conversation_history_config",{mode:"json"}).$type(),models:(0,l.Qq)("models",{mode:"json"}).$type(),stopWhen:(0,l.Qq)("stop_when",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[A.tenantId,A.projectId,A.id],name:"agents_graph_fk"}).onDelete("cascade")]),E=(0,m.D)("agent_relations",{...v,sourceAgentId:(0,l.Qq)("source_agent_id").notNull(),targetAgentId:(0,l.Qq)("target_agent_id"),externalAgentId:(0,l.Qq)("external_agent_id"),relationType:(0,l.Qq)("relation_type"),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[A.tenantId,A.projectId,A.id],name:"agent_relations_graph_fk"}).onDelete("cascade")]),F=(0,m.D)("external_agents",{...v,...x,baseUrl:(0,l.Qq)("base_url").notNull(),credentialReferenceId:(0,l.Qq)("credential_reference_id"),headers:(0,p.av)("headers",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[A.tenantId,A.projectId,A.id],name:"external_agents_graph_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.credentialReferenceId],foreignColumns:[S.tenantId,S.projectId,S.id],name:"external_agents_credential_reference_fk"}).onDelete("set null")]),G=(0,m.D)("tasks",{...w,contextId:(0,l.Qq)("context_id").notNull(),status:(0,l.Qq)("status").notNull(),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[D.tenantId,D.projectId,D.graphId,D.id],name:"tasks_agent_fk"}).onDelete("cascade")]),H=(0,m.D)("task_relations",{...u,parentTaskId:(0,l.Qq)("parent_task_id").notNull(),childTaskId:(0,l.Qq)("child_task_id").notNull(),relationType:(0,l.Qq)("relation_type").default("parent_child"),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"task_relations_project_fk"}).onDelete("cascade")]),I=(0,m.D)("data_components",{...u,...x,props:(0,p.av)("props",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"data_components_project_fk"}).onDelete("cascade")]),J=(0,m.D)("agent_data_components",{...w,dataComponentId:(0,l.Qq)("data_component_id").notNull(),createdAt:(0,l.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[D.tenantId,D.projectId,D.graphId,D.id],name:"agent_data_components_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.dataComponentId],foreignColumns:[I.tenantId,I.projectId,I.id],name:"agent_data_components_data_component_fk"}).onDelete("cascade")]),K=(0,m.D)("artifact_components",{...u,...x,summaryProps:(0,p.av)("summary_props",{mode:"json"}).$type(),fullProps:(0,p.av)("full_props",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"artifact_components_project_fk"}).onDelete("cascade")]),L=(0,m.D)("agent_artifact_components",{...w,artifactComponentId:(0,l.Qq)("artifact_component_id").notNull(),createdAt:(0,l.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[D.tenantId,D.projectId,D.graphId,D.id],name:"agent_artifact_components_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.artifactComponentId],foreignColumns:[K.tenantId,K.projectId,K.id],name:"agent_artifact_components_artifact_component_fk"}).onDelete("cascade")]),M=(0,m.D)("tools",{...u,name:(0,l.Qq)("name").notNull(),config:(0,p.av)("config",{mode:"json"}).$type().notNull(),credentialReferenceId:(0,l.Qq)("credential_reference_id"),headers:(0,p.av)("headers",{mode:"json"}).$type(),imageUrl:(0,l.Qq)("image_url"),capabilities:(0,p.av)("capabilities",{mode:"json"}).$type(),lastError:(0,l.Qq)("last_error"),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"tools_project_fk"}).onDelete("cascade")]),N=(0,m.D)("agent_tool_relations",{...w,toolId:(0,l.Qq)("tool_id").notNull(),selectedTools:(0,p.av)("selected_tools",{mode:"json"}).$type(),headers:(0,p.av)("headers",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[D.tenantId,D.projectId,D.graphId,D.id],name:"agent_tool_relations_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.toolId],foreignColumns:[M.tenantId,M.projectId,M.id],name:"agent_tool_relations_tool_fk"}).onDelete("cascade")]),O=(0,m.D)("conversations",{...u,userId:(0,l.Qq)("user_id"),activeAgentId:(0,l.Qq)("active_agent_id").notNull(),title:(0,l.Qq)("title"),lastContextResolution:(0,l.Qq)("last_context_resolution"),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"conversations_project_fk"}).onDelete("cascade")]),P=(0,m.D)("messages",{...u,conversationId:(0,l.Qq)("conversation_id").notNull(),role:(0,l.Qq)("role").notNull(),fromAgentId:(0,l.Qq)("from_agent_id"),toAgentId:(0,l.Qq)("to_agent_id"),fromExternalAgentId:(0,l.Qq)("from_external_agent_id"),toExternalAgentId:(0,l.Qq)("to_external_agent_id"),content:(0,p.av)("content",{mode:"json"}).$type().notNull(),visibility:(0,l.Qq)("visibility").notNull().default("user-facing"),messageType:(0,l.Qq)("message_type").notNull().default("chat"),agentId:(0,l.Qq)("agent_id"),taskId:(0,l.Qq)("task_id"),parentMessageId:(0,l.Qq)("parent_message_id"),a2aTaskId:(0,l.Qq)("a2a_task_id"),a2aSessionId:(0,l.Qq)("a2a_session_id"),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"messages_project_fk"}).onDelete("cascade")]),Q=(0,m.D)("ledger_artifacts",{...u,taskId:(0,l.Qq)("task_id").notNull(),toolCallId:(0,l.Qq)("tool_call_id"),contextId:(0,l.Qq)("context_id").notNull(),type:(0,l.Qq)("type").notNull().default("source"),name:(0,l.Qq)("name"),description:(0,l.Qq)("description"),parts:(0,p.av)("parts",{mode:"json"}).$type(),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),summary:(0,l.Qq)("summary"),mime:(0,p.av)("mime",{mode:"json"}).$type(),visibility:(0,l.Qq)("visibility").default("context"),allowedAgents:(0,p.av)("allowed_agents",{mode:"json"}).$type(),derivedFrom:(0,l.Qq)("derived_from"),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id,a.taskId]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"ledger_artifacts_project_fk"}).onDelete("cascade"),(0,r.Pe)("ledger_artifacts_task_id_idx").on(a.taskId),(0,r.Pe)("ledger_artifacts_tool_call_id_idx").on(a.toolCallId),(0,r.Pe)("ledger_artifacts_context_id_idx").on(a.contextId),(0,s.Am)("ledger_artifacts_task_context_name_unique").on(a.taskId,a.contextId,a.name)]),R=(0,m.D)("api_keys",{...v,publicId:(0,l.Qq)("public_id").notNull().unique(),keyHash:(0,l.Qq)("key_hash").notNull(),keyPrefix:(0,l.Qq)("key_prefix").notNull(),name:(0,l.Qq)("name"),lastUsedAt:(0,l.Qq)("last_used_at"),expiresAt:(0,l.Qq)("expires_at"),...y},a=>[(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"api_keys_project_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[A.tenantId,A.projectId,A.id],name:"api_keys_graph_fk"}).onDelete("cascade"),(0,r.Pe)("api_keys_tenant_graph_idx").on(a.tenantId,a.graphId),(0,r.Pe)("api_keys_prefix_idx").on(a.keyPrefix),(0,r.Pe)("api_keys_public_id_idx").on(a.publicId)]),S=(0,m.D)("credential_references",{...u,type:(0,l.Qq)("type").notNull(),credentialStoreId:(0,l.Qq)("credential_store_id").notNull(),retrievalParams:(0,p.av)("retrieval_params",{mode:"json"}).$type(),...y},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[z.tenantId,z.id],name:"credential_references_project_fk"}).onDelete("cascade")]);(0,k.K1)(G,({one:a,many:b})=>({project:a(z,{fields:[G.tenantId,G.projectId],references:[z.tenantId,z.id]}),parentRelations:b(H,{relationName:"childTask"}),childRelations:b(H,{relationName:"parentTask"}),agent:a(D,{fields:[G.agentId],references:[D.id]}),messages:b(P),ledgerArtifacts:b(Q)})),(0,k.K1)(z,({many:a})=>({agents:a(D),agentGraphs:a(A),tools:a(M),contextConfigs:a(B),externalAgents:a(F),conversations:a(O),tasks:a(G),dataComponents:a(I),artifactComponents:a(K),ledgerArtifacts:a(Q),credentialReferences:a(S)})),(0,k.K1)(H,({one:a})=>({parentTask:a(G,{fields:[H.parentTaskId],references:[G.id],relationName:"parentTask"}),childTask:a(G,{fields:[H.childTaskId],references:[G.id],relationName:"childTask"})})),(0,k.K1)(B,({many:a,one:b})=>({project:b(z,{fields:[B.tenantId,B.projectId],references:[z.tenantId,z.id]}),graphs:a(A),cache:a(C)})),(0,k.K1)(C,({one:a})=>({contextConfig:a(B,{fields:[C.contextConfigId],references:[B.id]})})),(0,k.K1)(D,({many:a,one:b})=>({project:b(z,{fields:[D.tenantId,D.projectId],references:[z.tenantId,z.id]}),tasks:a(G),defaultForGraphs:a(A),sourceRelations:a(E,{relationName:"sourceRelations"}),targetRelations:a(E,{relationName:"targetRelations"}),sentMessages:a(P,{relationName:"sentMessages"}),receivedMessages:a(P,{relationName:"receivedMessages"}),associatedMessages:a(P,{relationName:"associatedAgent"}),toolRelations:a(N),dataComponentRelations:a(J),artifactComponentRelations:a(L)})),(0,k.K1)(A,({one:a})=>({project:a(z,{fields:[A.tenantId,A.projectId],references:[z.tenantId,z.id]}),defaultAgent:a(D,{fields:[A.defaultAgentId],references:[D.id]}),contextConfig:a(B,{fields:[A.contextConfigId],references:[B.id]})})),(0,k.K1)(F,({one:a,many:b})=>({project:a(z,{fields:[F.tenantId,F.projectId],references:[z.tenantId,z.id]}),agentRelations:b(E),credentialReference:a(S,{fields:[F.credentialReferenceId],references:[S.id]})})),(0,k.K1)(R,({one:a})=>({project:a(z,{fields:[R.tenantId,R.projectId],references:[z.tenantId,z.id]}),graph:a(A,{fields:[R.graphId],references:[A.id]})})),(0,k.K1)(N,({one:a})=>({agent:a(D,{fields:[N.agentId],references:[D.id]}),tool:a(M,{fields:[N.toolId],references:[M.id]})})),(0,k.K1)(S,({many:a})=>({tools:a(M)})),(0,k.K1)(M,({one:a,many:b})=>({project:a(z,{fields:[M.tenantId,M.projectId],references:[z.tenantId,z.id]}),agentRelations:b(N),credentialReference:a(S,{fields:[M.credentialReferenceId],references:[S.id]})})),(0,k.K1)(O,({one:a,many:b})=>({project:a(z,{fields:[O.tenantId,O.projectId],references:[z.tenantId,z.id]}),messages:b(P),activeAgent:a(D,{fields:[O.activeAgentId],references:[D.id]})})),(0,k.K1)(P,({one:a,many:b})=>({conversation:a(O,{fields:[P.conversationId],references:[O.id]}),agent:a(D,{fields:[P.agentId],references:[D.id],relationName:"associatedAgent"}),fromAgent:a(D,{fields:[P.fromAgentId],references:[D.id],relationName:"sentMessages"}),toAgent:a(D,{fields:[P.toAgentId],references:[D.id],relationName:"receivedMessages"}),fromExternalAgent:a(F,{fields:[P.fromExternalAgentId],references:[F.id],relationName:"receivedExternalMessages"}),toExternalAgent:a(F,{fields:[P.toExternalAgentId],references:[F.id],relationName:"sentExternalMessages"}),task:a(G,{fields:[P.taskId],references:[G.id]}),parentMessage:a(P,{fields:[P.parentMessageId],references:[P.id],relationName:"parentChild"}),childMessages:b(P,{relationName:"parentChild"})})),(0,k.K1)(K,({many:a})=>({agentRelations:a(L)})),(0,k.K1)(L,({one:a})=>({agent:a(D,{fields:[L.agentId],references:[D.id]}),artifactComponent:a(K,{fields:[L.artifactComponentId],references:[K.id]})})),(0,k.K1)(I,({many:a,one:b})=>({project:b(z,{fields:[I.tenantId,I.projectId],references:[z.tenantId,z.id]}),agentRelations:a(J)})),(0,k.K1)(J,({one:a})=>({agent:a(D,{fields:[J.agentId],references:[D.id]}),dataComponent:a(I,{fields:[J.dataComponentId],references:[I.id]})})),(0,k.K1)(Q,({one:a})=>({project:a(z,{fields:[Q.tenantId,Q.projectId],references:[z.tenantId,z.id]}),task:a(G,{fields:[Q.taskId],references:[G.id]})})),(0,k.K1)(E,({one:a})=>({graph:a(A,{fields:[E.graphId],references:[A.id]}),sourceAgent:a(D,{fields:[E.sourceAgentId],references:[D.id],relationName:"sourceRelations"}),targetAgent:a(D,{fields:[E.targetAgentId],references:[D.id],relationName:"targetRelations"}),externalAgent:a(F,{fields:[E.externalAgentId],references:[F.id]})}));let T=h.z.object({transferCountIs:h.z.number().min(1).max(100).optional(),stepCountIs:h.z.number().min(1).max(1e3).optional()}),U=T.pick({transferCountIs:!0});T.pick({stepCountIs:!0});let V=h.z.string().min(1).max(255).regex(/^[a-zA-Z0-9\-_.]+$/,{message:"ID must contain only letters, numbers, hyphens, underscores, and dots"}).openapi({description:"Resource identifier",example:"resource_789"}),W=h.z.object({model:h.z.string().optional(),providerOptions:h.z.record(h.z.string(),h.z.unknown()).optional()}),X=h.z.object({base:W.optional(),structuredOutput:W.optional(),summarizer:W.optional()}),Y=h.z.object({base:W,structuredOutput:W.optional(),summarizer:W.optional()}),Z=a=>a.omit({tenantId:!0,projectId:!0}),$=a=>a.omit({tenantId:!0,projectId:!0}),_=a=>a.omit({tenantId:!0,projectId:!0}).partial(),aa=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}),ab=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}),ac=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}).partial(),ad=(0,i.aJ)(D),ae=(0,i.r)(D).extend({id:V,models:X.optional()}),af=ae.partial(),ag=aa(ad),ah=ab(ae);ac(af);let ai=(0,i.aJ)(E),aj=(0,i.r)(E).extend({id:V,graphId:V,sourceAgentId:V,targetAgentId:V.optional(),externalAgentId:V.optional()}),ak=aj.partial();aa(ai),ab(aj).extend({relationType:h.z.enum(e)}).refine(a=>null!=a.targetAgentId!=(null!=a.externalAgentId),{message:"Must specify exactly one of targetAgentId or externalAgentId",path:["targetAgentId","externalAgentId"]}),ac(ak).extend({relationType:h.z.enum(e).optional()}).refine(a=>{let b=null!=a.targetAgentId,c=null!=a.externalAgentId;return!b&&!c||b!==c},{message:"Must specify exactly one of targetAgentId or externalAgentId when updating agent relationships",path:["targetAgentId","externalAgentId"]}),h.z.object({sourceAgentId:h.z.string().optional(),targetAgentId:h.z.string().optional(),externalAgentId:h.z.string().optional()}),$((0,i.r)(E).extend({id:V,graphId:V,sourceAgentId:V,externalAgentId:V}));let al=(0,i.aJ)(A),am=(0,i.r)(A).extend({id:V}),an=am.partial();Z(al);let ao=$(am).extend({id:V});_(an);let ap=(0,i.aJ)(G),aq=(0,i.r)(G).extend({id:V,conversationId:V.optional()}),ar=aq.partial();Z(ap),$(aq),_(ar);let as=(0,i.aJ)(H),at=(0,i.r)(H).extend({id:V,parentTaskId:V,childTaskId:V}),au=at.partial();Z(as),$(at),_(au);let av=h.z.string().optional().refine(a=>{if(!a)return!0;if(a.startsWith("data:image/")){let b=a.split(",")[1];return!!b&&b.length<14e5}try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}},{message:"Image URL must be a valid HTTP(S) URL or a base64 data URL (max 1MB)"}),aw=h.z.object({type:h.z.enum(f),requestInit:h.z.record(h.z.string(),h.z.unknown()).optional(),eventSourceInit:h.z.record(h.z.string(),h.z.unknown()).optional(),reconnectionOptions:h.z.custom().optional(),sessionId:h.z.string().optional()}),ax=h.z.enum(["healthy","unhealthy","unknown","needs_auth"]),ay=h.z.object({name:h.z.string(),description:h.z.string().optional(),inputSchema:h.z.record(h.z.string(),h.z.unknown()).optional()}),az=(0,i.aJ)(M),aA=(0,i.r)(M).extend({id:V,imageUrl:av}),aB=(0,i.aJ)(O),aC=(0,i.r)(O).extend({id:V,contextConfigId:V.optional()}),aD=aC.partial();Z(aB),$(aC),_(aD);let aE=(0,i.aJ)(P),aF=(0,i.r)(P).extend({id:V,conversationId:V,taskId:V.optional()}),aG=aF.partial();Z(aE),$(aF),_(aG);let aH=(0,i.aJ)(C),aI=(0,i.r)(C),aJ=aI.partial();Z(aH),$(aI),_(aJ);let aK=(0,i.aJ)(I),aL=(0,i.r)(I).extend({id:V});aL.omit({createdAt:!0,updatedAt:!0});let aM=aL.partial();Z(aK);let aN=$(aL);_(aM);let aO=(0,i.aJ)(J),aP=(0,i.r)(J),aQ=aP.partial();aa(aO),aP.omit({tenantId:!0,projectId:!0,id:!0,createdAt:!0}),ac(aQ);let aR=(0,i.aJ)(K),aS=(0,i.r)(K).extend({id:V}),aT=aS.partial();Z(aR);let aU=aS.omit({tenantId:!0,projectId:!0,createdAt:!0,updatedAt:!0});_(aT);let aV=(0,i.aJ)(L),aW=(0,i.r)(L).extend({id:V,agentId:V,artifactComponentId:V}),aX=aW.partial();aa(aV),aW.omit({tenantId:!0,projectId:!0,id:!0,createdAt:!0}),ac(aX);let aY=(0,i.aJ)(F).extend({credentialReferenceId:h.z.string().nullable().optional(),headers:h.z.record(h.z.string(),h.z.string()).nullable().optional()}),aZ=(0,i.r)(F).extend({id:V}),a$=aZ.partial(),a_=aa(aY),a0=ab(aZ);ac(a$),h.z.discriminatedUnion("type",[ag.extend({type:h.z.literal("internal")}),a_.extend({type:h.z.literal("external")})]);let a1=(0,i.aJ)(R),a2=(0,i.r)(R).extend({id:V,graphId:V});a2.partial().omit({tenantId:!0,projectId:!0,id:!0,publicId:!0,keyHash:!0,keyPrefix:!0,createdAt:!0});let a3=a1.omit({tenantId:!0,projectId:!0,keyHash:!0});h.z.object({data:h.z.object({apiKey:a3,key:h.z.string().describe("The full API key (shown only once)")})}),a2.omit({tenantId:!0,projectId:!0,id:!0,publicId:!0,keyHash:!0,keyPrefix:!0,lastUsedAt:!0});let a4=h.z.object({id:h.z.string(),tenantId:h.z.string(),projectId:h.z.string(),type:h.z.string(),credentialStoreId:h.z.string(),retrievalParams:h.z.record(h.z.string(),h.z.unknown()).nullish(),createdAt:h.z.string(),updatedAt:h.z.string()}),a5=(0,i.r)(S).extend({id:V,type:h.z.string(),credentialStoreId:V,retrievalParams:h.z.record(h.z.string(),h.z.unknown()).nullish()}),a6=a5.partial();Z(a4).extend({type:h.z.enum(g),tools:h.z.array(az).optional()});let a7=$(a5).extend({type:h.z.enum(g)});_(a6).extend({type:h.z.enum(g).optional()}),aA.extend({imageUrl:av,availableTools:h.z.array(ay).optional(),status:ax.default("unknown"),version:h.z.string().optional(),createdAt:h.z.date(),updatedAt:h.z.date()}).omit({config:!0,tenantId:!0,projectId:!0,status:!0,version:!0,createdAt:!0,updatedAt:!0,credentialReferenceId:!0}).extend({tenantId:h.z.string().optional(),projectId:h.z.string().optional(),description:h.z.string().optional(),serverUrl:h.z.url(),activeTools:h.z.array(h.z.string()).optional(),mcpType:h.z.enum({nango:"nango",generic:"generic"}).optional(),transport:aw.optional(),credential:a7.optional()});let a8=aA.partial();Z(az);let a9=$(aA);_(a8);let ba=h.z.object({url:h.z.string().min(1,"URL is required"),method:h.z.enum(["GET","POST","PUT","DELETE","PATCH"]).optional().default("GET"),headers:h.z.record(h.z.string(),h.z.string()).optional(),body:h.z.record(h.z.string(),h.z.unknown()).optional(),transform:h.z.string().optional(),timeout:h.z.number().min(0).optional().default(1e4).optional()});h.z.object({id:h.z.string().min(1,"Fetch definition ID is required"),name:h.z.string().optional(),trigger:h.z.enum(["initialization","invocation"]),fetchConfig:ba,responseSchema:h.z.any().optional(),defaultValue:h.z.unknown().optional(),credential:a7.optional()});let bb=(0,i.aJ)(B).extend({requestContextSchema:h.z.unknown().optional()}),bc=(0,i.r)(B).extend({id:V,requestContextSchema:h.z.unknown().optional()}).omit({createdAt:!0,updatedAt:!0}),bd=bc.partial();Z(bb);let be=$(bc);_(bd);let bf=(0,i.aJ)(N),bg=(0,i.r)(N).extend({id:V,agentId:V,toolId:V,selectedTools:h.z.array(h.z.string()).nullish(),headers:h.z.record(h.z.string(),h.z.string()).nullish()}),bh=bg.partial();aa(bf),ab(bg),ac(bh);let bi=(0,i.aJ)(Q),bj=(0,i.r)(Q),bk=bj.partial();Z(bi),$(bj),_(bk);let bl=h.z.object({type:h.z.string(),description:h.z.string().optional(),detailsSchema:h.z.object({type:h.z.literal("object"),properties:h.z.record(h.z.string(),h.z.any()),required:h.z.array(h.z.string()).optional()}).optional()}),bm=h.z.object({enabled:h.z.boolean().optional(),numEvents:h.z.number().min(1).max(100).optional(),timeInSeconds:h.z.number().min(1).max(600).optional(),prompt:h.z.string().max(2e3,"Custom prompt cannot exceed 2000 characters").optional(),statusComponents:h.z.array(bl).optional()}),bn=h.z.object({agentToolRelationId:h.z.string().optional(),toolId:h.z.string(),toolSelection:h.z.array(h.z.string()).nullish(),headers:h.z.record(h.z.string(),h.z.string()).nullish()}),bo=ah.extend({type:h.z.literal("internal"),canUse:h.z.array(bn),dataComponents:h.z.array(h.z.string()).optional(),artifactComponents:h.z.array(h.z.string()).optional(),canTransferTo:h.z.array(h.z.string()).optional(),canDelegateTo:h.z.array(h.z.string()).optional()});ao.extend({agents:h.z.record(h.z.string(),h.z.union([bo,a0])),contextConfig:h.z.optional(be),statusUpdates:h.z.optional(bm),models:X.optional(),stopWhen:U.optional(),graphPrompt:h.z.string().max(5e3,"Graph prompt cannot exceed 5000 characters").optional()});let bp=ao.extend({agents:h.z.record(h.z.string(),h.z.discriminatedUnion("type",[bo,a0.extend({type:h.z.literal("external")})])),contextConfig:h.z.optional(be),statusUpdates:h.z.optional(bm),models:X.optional(),stopWhen:U.optional(),graphPrompt:h.z.string().max(5e3,"Graph prompt cannot exceed 5000 characters").optional()});h.z.object({page:h.z.coerce.number().min(1).default(1),limit:h.z.coerce.number().min(1).max(100).default(10),total:h.z.number(),pages:h.z.number()}),h.z.object({error:h.z.string(),message:h.z.string().optional(),details:h.z.unknown().optional()}),h.z.object({exists:h.z.boolean()}),h.z.object({message:h.z.string(),removed:h.z.boolean()});let bq=(0,i.aJ)(z),br=(0,i.r)(z).extend({models:Y,stopWhen:T.optional()}).omit({createdAt:!0,updatedAt:!0}),bs=br.partial();bq.omit({tenantId:!0});let bt=br.omit({tenantId:!0});bs.omit({tenantId:!0}),bt.extend({graphs:h.z.record(h.z.string(),bp),tools:h.z.record(h.z.string(),a9),dataComponents:h.z.record(h.z.string(),aN).optional(),artifactComponents:h.z.record(h.z.string(),aU).optional(),statusUpdates:h.z.optional(bm),credentialReferences:h.z.record(h.z.string(),a7).optional(),createdAt:h.z.string().optional(),updatedAt:h.z.string().optional()}),h.z.object({"x-inkeep-tenant-id":h.z.string().optional().openapi({description:"Tenant identifier",example:"tenant_123"}),"x-inkeep-project-id":h.z.string().optional().openapi({description:"Project identifier",example:"project_456"}),"x-inkeep-graph-id":h.z.string().optional().openapi({description:"Graph identifier",example:"graph_789"})}),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"})}).openapi("TenantParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"})}).openapi("TenantProjectParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),graphId:h.z.string().openapi({description:"Graph identifier",example:"graph_789"})}).openapi("TenantProjectGraphParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),graphId:h.z.string().openapi({description:"Graph identifier",example:"graph_789"}),id:V}).openapi("TenantProjectGraphIdParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),id:V}).openapi("TenantProjectIdParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),id:V}).openapi("TenantIdParams"),h.z.object({id:V}).openapi("IdParams"),h.z.object({page:h.z.coerce.number().min(1).default(1),limit:h.z.coerce.number().min(1).max(100).default(10)});let bu=d.object({tenantId:d.string()});bu.extend({projectId:d.string()}).extend({id:d.string()}),d.object({id:d.string()}),d.object({page:d.coerce.number().min(1).default(1),limit:d.coerce.number().min(1).max(100).default(10),total:d.number(),pages:d.number()}),d.object({error:d.string(),message:d.string().optional(),details:d.unknown().optional()});let bv=d.object({model:d.string().optional(),structuredOutput:d.string().optional(),summarizer:d.string().optional(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()});d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),prompt:d.string().optional(),model:bv.optional(),tools:d.array(d.string()).optional(),dataComponents:d.array(d.string()).optional(),artifactComponents:d.array(d.string()).optional(),canTransferTo:d.array(d.string()).optional(),canDelegateTo:d.array(d.string()).optional(),type:d.enum(["internal","external"]).optional()}),d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),type:d.enum(["mcp","hosted"]),config:d.record(d.string(),d.unknown()),credentialReferenceId:d.string().optional()});let bw=d.object({id:d.string(),tenantId:d.string(),projectId:d.string(),graphId:d.string(),publicId:d.string(),keyHash:d.string(),keyPrefix:d.string(),name:d.string().optional(),lastUsedAt:d.string().optional(),expiresAt:d.string().optional(),createdAt:d.string(),updatedAt:d.string()});d.object({data:d.object({apiKey:bw,key:d.string()})}),d.object({id:d.string(),tenantId:d.string().optional(),projectId:d.string().optional(),type:d.enum(g),credentialStoreId:d.string(),retrievalParams:d.record(d.string(),d.unknown()).nullish()}),d.object({id:d.string(),name:d.string(),description:d.string().optional(),props:d.record(d.string(),d.unknown())}),d.object({id:d.string(),name:d.string(),description:d.string().optional(),summaryProps:d.record(d.string(),d.unknown()),fullProps:d.record(d.string(),d.unknown())});let bx=d.object({id:d.string().optional(),name:d.string().optional(),description:d.string().optional(),type:d.string().optional(),config:d.record(d.string(),d.unknown()).optional()}),by=d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),baseUrl:d.string(),headers:d.record(d.string(),d.string()).nullable().optional(),credentialReferenceId:d.string().nullable().optional(),type:d.literal("external").optional()}),bz=d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),defaultAgentId:d.string().optional()}).extend({agents:d.record(d.string(),d.union([bo,by.extend({id:d.string()})])),contextConfig:d.optional(bx),models:d.object({base:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional(),structuredOutput:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional(),summarizer:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional()}).optional(),stopWhen:d.object({transferCountIs:d.number().min(1).max(100).optional()}).optional(),graphPrompt:d.string().max(5e3).optional(),statusUpdates:d.object({enabled:d.boolean().optional(),numEvents:d.number().min(1).max(100).optional(),timeInSeconds:d.number().min(1).max(600).optional(),prompt:d.string().max(2e3).optional(),statusComponents:d.array(d.object({type:d.string(),description:d.string().optional(),detailsSchema:d.object({type:d.literal("object"),properties:d.record(d.string(),d.any()),required:d.array(d.string()).optional()}).optional()})).optional()}).optional()});function bA(a){return a.toLowerCase().replace(/[^a-zA-Z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,255)}d.string().min(1).max(255).regex(/^[a-zA-Z0-9\-_.]+$/,{message:"ID must contain only letters, numbers, hyphens, underscores, and dots"})},95679:(a,b,c)=>{c.r(b),c.d(b,{"403344ffd20f6420eeef558c2b98df9139c6c65dc6":()=>d.bW,"600b28f8ec83943fc66aeaf1149f4d688ea8346c6d":()=>d.gL,"602540f0380634726d86c6e79af0e65cea63b0d71c":()=>d.Dv,"609440fb66fa4edcf25d5cb771067f44081b8cfd34":()=>d.qf,"70af370becc4ff3c8ee868950bcc9715147cd266f9":()=>d.Tg});var d=c(72025)}};