@inkeep/agents-manage-ui 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +95 -95
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/ai-calls/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/conversations/[conversationId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/traces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +5 -5
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2124.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2769.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3919.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{8005.js → 4965.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5232.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/71.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8752.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8896.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9384.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-3fa2630d8e8ff958.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{6367-70b79c3bf09c948c.js → 6520-4df0430d4459b313.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{9317-ae3b10cf533e419f.js → 7126-dc0f7e520e0bccaa.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-9a3a48098dc0dfeb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4945-c13f309fabcbd97d.js → 9465-c8ffc958d5878141.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-7dc9010ab38b6e05.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-2b23c75554453276.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-2b23c75554453276.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-549a9aa5a0c0ef91.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-ab1868bb3fcb1ae4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-4e044256f93e1756.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-3932274bb9efe3eb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-0c7c37247598a8b4.js → page-2c9e5e1c857aad78.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/{page-980ff492870685e8.js → page-b8c475c5956e4555.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/{page-980ff492870685e8.js → page-b8c475c5956e4555.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/{page-c2b135ef335f1345.js → page-24cdbd3de106100c.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{page-84f99971442558d0.js → page-caa7219afb2851cb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-ff58a0a0f46cedb4.js → page-3f4f88e46d2e216a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-383d5e073ecb1090.js → page-b7ac42e4484d256d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-67b1a93066a9459e.js → page-87ab4c1e732f6fd7.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-66de1bf9a6afb8db.js → page-6495add19278d4de.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-dc513a7a569a5899.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-0ab18f48972ea1c2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/{layout-e076524dcc9f9526.js → layout-3d17340df7e9b349.js} +1 -1
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +4 -4
- package/src/components/graph/graph.tsx +57 -7
- package/src/components/graph/sidepane/nodes/mcp-node-editor.tsx +68 -0
- package/src/components/graph/sidepane/sidepane.tsx +5 -0
- package/src/components/projects/form/project-form.tsx +1 -0
- package/src/features/graph/domain/__tests__/serialize.test.ts +4 -0
- package/src/features/graph/domain/deserialize.ts +12 -1
- package/src/features/graph/domain/serialize.ts +29 -8
- package/.next/standalone/agents-manage-ui/.next/server/chunks/224.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4379.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5260.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5686.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6750.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-b90b21b559925fc6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-95bc2d6f58fa4f49.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-f8c7498c5cb8caf3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-cd9f3056c50c6a42.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-cd9f3056c50c6a42.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/page-44b5beb15688df77.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-be1a24b6cfabfb7e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-741c91248af1c356.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-d89e95483ecf8eba.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-7e37209e3c59560d.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-ce7ad1f09ed7d10c.js +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{XhyddBkJQ1Fo3yt6OpEs8 → 2X91Cyw1Ng3_181QvGSNq}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{XhyddBkJQ1Fo3yt6OpEs8 → 2X91Cyw1Ng3_181QvGSNq}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{15660:(e,t,r)=>{"use strict";r.d(t,{RuntimeConfigProvider:()=>o,y:()=>l});var s=r(60098),a=r(79178);let n=(0,a.createContext)(null);function o(e){let{value:t,children:r}=e;return(0,s.jsx)(n.Provider,{value:t,children:r})}function l(){let e=(0,a.useContext)(n);if(!e)throw Error("useRuntimeConfig must be used within <RuntimeConfigProvider>");return e}},30712:(e,t,r)=>{"use strict";r.d(t,{G:()=>c});var s=r(60098),a=r(38678),n=r(85276),o=r.n(n),l=r(52681);function c(e){let{href:t,children:r,className:n,...c}=e;return(0,s.jsxs)(o(),{href:t,target:"_blank",rel:"noreferrer noopener",className:(0,l.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",n),...c,children:[r,(0,s.jsx)(a.A,{className:"size-3.5 text-muted-foreground/60 group-hover/link:text-primary"})]})}},30958:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>h,HM:()=>d,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>f,zM:()=>c});var s=r(60098),a=r(88226),n=r(31184),o=r(52681);function l(e){let{...t}=e;return(0,s.jsx)(a.bL,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,s.jsx)(a.l9,{"data-slot":"dialog-trigger",...t})}function i(e){let{...t}=e;return(0,s.jsx)(a.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{...t}=e;return(0,s.jsx)(a.bm,{"data-slot":"dialog-close",...t})}function u(e){let{className:t,...r}=e;return(0,s.jsx)(a.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...r})}function x(e){let{className:t,children:r,showCloseButton:l=!0,...c}=e;return(0,s.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,s.jsx)(u,{}),(0,s.jsxs)(a.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg","max-h-[calc(100dvh-1.5rem)] overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",t),...c,children:[r,l&&(0,s.jsxs)(a.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-md opacity-70 hover:opacity-100 transition-all focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground dark:text-foreground text-muted-foreground size-8 flex items-center justify-center",children:[(0,s.jsx)(n.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...r})}function h(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...r})}function p(e){let{className:t,...r}=e;return(0,s.jsx)(a.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-medium",t),...r})}function f(e){let{className:t,...r}=e;return(0,s.jsx)(a.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...r})}},57609:(e,t,r)=>{"use strict";r.d(t,{AppSidebar:()=>B});var s=r(60098),a=r(19256),n=r(76656),o=r(57713),l=r(30507),c=r(44339),i=r(991),d=r(94199),u=r(90117),x=r(97405),m=r(39810),h=r(85276),p=r.n(h),f=r(93137),j=r(79178),C=r(69962);let g=(0,j.forwardRef)((e,t)=>(0,s.jsxs)(C.A,{ref:t,...e,children:[(0,s.jsx)("path",{d:"M2.06895 11.2982L11.432 1.9351C12.7248 0.642325 14.8208 0.642325 16.1135 1.9351C17.4063 3.22786 17.4063 5.32386 16.1135 6.61663L9.04249 13.6877",stroke:"currentColor",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M9.14003 13.5902L16.1135 6.61663C17.4063 5.32385 19.5023 5.32385 20.7952 6.61663L20.8439 6.66538C22.1367 7.95816 22.1367 10.0542 20.8439 11.3469L12.3758 19.815C11.9449 20.2459 11.9449 20.9445 12.3758 21.3754L14.1146 23.1143",stroke:"currentColor",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M13.7728 4.27585L6.84802 11.2006C5.55526 12.4934 5.55526 14.5894 6.84802 15.8822C8.14079 17.1749 10.2368 17.1749 11.5296 15.8822L18.4543 8.95738",stroke:"currentColor",strokeLinecap:"round"})]}));g.displayName="MCPIcon";var v=r(52681);let b=e=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"890",height:"169",viewBox:"0 0 890 169",fill:"none",role:"img","aria-labelledby":"inkeep-logo","aria-label":"Inkeep Logo",...e,className:(0,v.cn)("text-[#231F20] dark:text-white",e.className),children:[(0,s.jsx)("path",{d:"M45.4714 3.11853C42.256 3.11853 39.2849 4.83392 37.6772 7.61853L1.77955 69.7951C0.171853 72.5797 0.171863 76.0105 1.77956 78.7951L37.6772 140.972C39.2849 143.756 42.2561 145.472 45.4714 145.472L117.267 145.472C120.482 145.472 123.453 143.756 125.061 140.972L160.959 78.7951C162.566 76.0105 162.566 72.5797 160.959 69.7951L125.061 7.61852C123.453 4.83391 120.482 3.11853 117.267 3.11853L45.4714 3.11853Z",fill:"#D5E5FF"}),(0,s.jsx)("path",{d:"M188.432 1.91439C210.239 7.42997 207.754 19.5937 216.797 44.3352C222.599 60.2085 250.649 79.8906 225.015 118.151C217.366 129.57 192.767 143.117 174.969 146.874C135.756 155.025 112.651 136.528 92.1543 106.03C76.776 82.9616 82.2098 49.7508 105.534 33.4431C127.638 18.0306 159.766 -5.88546 188.432 1.91439Z",fill:"#69A3FF"}),(0,s.jsx)("path",{d:"M279.121 19.2581H292.519V128.013H279.121V19.2581Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M311.461 19.258H324.859V46.516H325.229C328.74 36.9988 334.284 29.6992 341.676 24.6172C349.068 19.5352 358.308 16.948 369.304 16.948C376.511 16.948 382.794 17.9644 388.338 20.0896C393.79 22.2148 398.502 25.3564 402.29 29.5144C406.079 33.6724 408.943 38.9392 410.976 45.3148C412.916 51.598 413.933 58.8976 413.933 67.1212V127.92H400.535V68.5996C400.535 61.9468 399.796 56.218 398.317 51.3208C396.839 46.4236 394.621 42.358 391.757 39.0316C388.892 35.7052 385.289 33.3028 380.946 31.732C376.696 30.1612 371.798 29.422 366.254 29.422C359.879 29.422 354.15 30.346 349.068 32.2864C343.986 34.2268 339.643 36.9064 336.04 40.4176C332.436 43.9288 329.664 48.0868 327.816 52.7992C325.876 57.5116 324.952 62.8708 324.952 68.692V128.013H311.554V19.258H311.461Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M535.347 50.6715C538.119 43.7415 541.907 37.7355 546.804 32.6535C551.702 27.6639 557.523 23.7831 564.268 21.1035C571.013 18.4239 578.498 17.0379 586.629 17.0379C594.76 17.0379 602.152 18.4239 608.897 21.1959C615.642 23.9679 621.464 27.8487 626.361 32.7459C631.351 37.7355 635.139 43.6491 637.818 50.6715C640.498 57.6939 641.884 65.4555 641.884 73.9563V78.2067H542.646V66.3795H631.443L628.578 73.8639C628.578 67.2111 627.562 61.1127 625.437 55.6611C623.312 50.2095 620.447 45.4971 616.844 41.5239C613.148 37.5507 608.805 34.5939 603.63 32.4687C598.456 30.3435 592.82 29.3271 586.721 29.3271C580.623 29.3271 574.802 30.4359 569.627 32.5611C564.453 34.6863 560.018 37.7355 556.322 41.6163C552.626 45.4971 549.669 50.1171 547.544 55.5687C545.418 61.0203 544.402 66.9339 544.402 73.4943C544.402 80.0547 545.511 86.1531 547.636 91.6047C549.761 97.0563 552.81 101.676 556.599 105.557C560.387 109.438 564.915 112.395 570.089 114.612C575.264 116.737 580.992 117.846 587.276 117.846C597.07 117.846 605.386 115.351 612.316 110.454C619.246 105.557 624.143 98.6271 627.192 89.8491L640.221 94.2843C636.433 105.372 629.872 114.15 620.725 120.618C611.485 127.086 600.489 130.32 587.553 130.32C579.329 130.32 571.66 128.934 564.822 126.255C557.892 123.575 551.979 119.694 546.989 114.705C542 109.715 538.119 103.709 535.347 96.7791C532.575 89.8491 531.096 82.1799 531.096 73.5867C531.096 64.9935 532.482 57.6939 535.254 50.6715H535.347Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M657.317 50.6715C660.089 43.7415 663.877 37.7355 668.774 32.6535C673.671 27.5715 679.493 23.7831 686.238 21.1035C692.983 18.4239 700.467 17.0379 708.599 17.0379C716.73 17.0379 724.122 18.4239 730.867 21.1959C737.612 23.9679 743.433 27.8487 748.331 32.7459C753.32 37.7355 757.109 43.6491 759.788 50.6715C762.468 57.6939 763.854 65.4555 763.854 73.9563V78.2067H664.616V66.3795H753.413L750.548 73.8639C750.548 67.2111 749.532 61.1127 747.407 55.6611C745.281 50.2095 742.417 45.4971 738.721 41.5239C735.025 37.5507 730.682 34.5939 725.508 32.4687C720.333 30.3435 714.697 29.3271 708.599 29.3271C702.5 29.3271 696.679 30.4359 691.505 32.5611C686.33 34.6863 681.895 37.7355 678.199 41.6163C674.503 45.4971 671.546 50.1171 669.421 55.5687C667.296 61.0203 666.279 66.9339 666.279 73.4943C666.279 80.0547 667.388 86.1531 669.513 91.6047C671.639 97.0563 674.688 101.676 678.476 105.557C682.265 109.438 686.792 112.395 691.967 114.612C697.141 116.737 702.87 117.846 709.153 117.846C718.947 117.846 727.263 115.351 734.193 110.454C741.123 105.557 746.021 98.6271 749.07 89.8491L762.098 94.2843C758.31 105.372 751.842 114.15 742.602 120.618C733.362 127.086 722.366 130.32 709.43 130.32C701.207 130.32 693.537 128.934 686.7 126.255C679.77 123.575 673.856 119.694 668.959 114.705C663.969 109.715 660.089 103.709 657.317 96.7791C654.452 89.8491 653.066 82.1799 653.066 73.5867C653.066 64.9935 654.452 57.6939 657.224 50.6715H657.317Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M778.359 19.258H791.757V47.902H792.126C795.915 37.8304 801.828 30.2536 809.775 24.8944C817.814 19.6276 827.146 16.948 838.049 16.948C845.811 16.948 852.741 18.2416 859.116 20.9212C865.4 23.6008 870.759 27.2968 875.194 32.1016C879.629 36.9064 882.956 42.82 885.358 49.8424C887.76 56.8648 888.962 64.8112 888.962 73.5892C888.962 82.3672 887.76 90.3136 885.358 97.2436C882.956 104.266 879.629 110.18 875.194 114.984C870.759 119.882 865.492 123.578 859.209 126.165C853.018 128.752 845.996 130.046 838.234 130.046C827.423 130.046 817.906 127.366 809.867 122.099C801.828 116.832 795.915 109.163 792.034 99.0916H791.664V168.392H778.266V19.258H778.359ZM795.083 91.792C797.208 97.2436 800.258 101.956 804.138 105.837C808.019 109.718 812.639 112.674 818.091 114.8C823.542 116.925 829.364 117.941 835.554 117.941C841.745 117.941 847.197 116.925 852.186 114.984C857.176 113.044 861.426 110.18 864.938 106.299C868.449 102.418 871.036 97.8904 872.976 92.4388C874.917 86.9872 875.841 80.8888 875.841 73.9588C875.841 67.0288 874.824 60.6532 872.884 55.1092C870.944 49.6576 868.172 44.9452 864.753 41.0644C861.334 37.1836 857.084 34.3192 852.002 32.2864C847.012 30.346 841.468 29.3296 835.37 29.3296C829.271 29.3296 823.173 30.346 817.906 32.4712C812.639 34.5964 808.019 37.5532 804.138 41.434C800.258 45.3148 797.301 49.9348 795.083 55.3864C792.866 60.838 791.849 66.9364 791.849 73.6816C791.849 80.4268 792.958 86.1556 795.083 91.6996V91.792Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M481.386 61.2051L533.592 19.9023V19.4403H514.28L476.489 48.9159L444.426 74.6031H443.964V17.0379H430.566V128.01H443.964V90.8655L471.684 68.8743L522.042 128.01H539.136V127.641L481.386 61.2051Z",fill:"currentColor"})]});var w=r(88831);function N(e){let{title:t,url:r,icon:a,isExternal:n}=e,o=(0,f.usePathname)().startsWith(r);return(0,s.jsx)(w.FX,{children:(0,s.jsx)(w.Uj,{asChild:!0,tooltip:t,isActive:o,children:(0,s.jsxs)(p(),{href:r,rel:n?"noopener noreferrer":void 0,target:n?"_blank":void 0,children:[a&&(0,s.jsx)(a,{}),(0,s.jsx)("span",{children:t})]})})})}function k(e){let{items:t}=e;return(0,s.jsx)(w.Cn,{children:(0,s.jsx)(w.rQ,{className:"flex flex-col gap-2",children:(0,s.jsx)(w.wZ,{children:t.map(e=>(0,s.jsx)(N,{...e},e.title))})})})}var L=r(76233),y=r(93431),A=r(97555);let P=(0,A.createServerReference)("4078d1cc656d3bf4f38473d813ccd701e54b527b06",A.callServer,void 0,A.findSourceMapURL,"fetchProjectsAction");var H=r(44001),V=r(27820),I=r(96776),S=r(86714),_=r(46205),M=r(66041);function z(e){let{projects:t,selectedProjectId:r,tenantId:a}=e,[n,o]=(0,j.useState)(!1),[l,c]=(0,j.useState)(!1),i=(0,f.useRouter)(),d=t.find(e=>e.projectId===r);return(0,s.jsxs)("div",{className:"flex w-full",children:[(0,s.jsxs)(M.AM,{open:n,onOpenChange:o,children:[(0,s.jsx)(M.Wv,{asChild:!0,children:(0,s.jsxs)(S.$,{variant:"ghost",role:"combobox","aria-expanded":n,className:"w-full h-auto justify-between bg-transparent text-foreground pr-2",children:[d?(0,s.jsxs)("div",{className:"flex flex-col text-left min-w-0 flex-1",children:[(0,s.jsx)("span",{className:"font-medium truncate text-foreground",children:d.name||d.projectId}),(0,s.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a})]}):(0,s.jsx)("div",{className:"text-muted-foreground",children:"Select a project"}),(0,s.jsx)(H.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,s.jsx)(M.hl,{className:"w-[var(--radix-popover-trigger-width)] p-0",children:(0,s.jsxs)(_.uB,{children:[(0,s.jsx)(_.xL,{children:"No projects found"}),(0,s.jsxs)(_.oI,{className:"max-h-64",children:[(0,s.jsx)(_.L$,{children:t.map(e=>(0,s.jsx)(_.h_,{onSelect:()=>{i.push("/".concat(a,"/projects/").concat(e.projectId)),o(!1)},className:"flex items-start gap-3 px-3 py-2 group cursor-pointer",children:(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"font-medium",children:e.name||e.projectId}),e.projectId===r&&(0,s.jsx)("span",{className:"text-muted-foreground",children:(0,s.jsx)(V.A,{className:"h-4 w-4"})})]}),e.description&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground line-clamp-1",children:e.description})]})},e.projectId))}),(0,s.jsx)(_.fx,{}),(0,s.jsx)(_.L$,{children:(0,s.jsxs)(_.h_,{onSelect:()=>{o(!1),c(!0)},className:"flex items-center gap-2 px-3 py-2 cursor-pointer",children:[(0,s.jsx)(I.A,{className:"h-4 w-4 text-foreground"}),(0,s.jsx)("span",{className:"font-medium text-foreground uppercase font-mono tracking-wider",children:"Create Project"})]})})]})]})})]}),a&&(0,s.jsx)(L.NewProjectDialog,{tenantId:a,open:l,onOpenChange:c})]})}function F(){let[e,t]=(0,j.useState)(!0),[r,a]=(0,j.useState)([]),n=(0,f.useParams)(),o=n.tenantId,l=n.projectId;return(0,j.useEffect)(()=>{o&&P(o).then(e=>{t(!1),e.success&&e.data?a(e.data):a([])}).catch(e=>{console.error("Error fetching projects:",e),t(!1),a([])})},[o]),(0,s.jsx)("div",{className:"flex flex-col gap-2",children:e?(0,s.jsx)(y.E,{className:"h-14 w-full"}):0===r.length?(0,s.jsxs)("div",{className:"flex flex-col gap-2 px-2",children:[(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No projects yet"}),(0,s.jsx)(L.NewProjectDialog,{tenantId:o})]}):(0,s.jsx)(z,{projects:r,selectedProjectId:l,tenantId:o})})}var Z=r(91058),G=r(90277),E=r(15154),D=r(3121),R=r(80311);function O(){let{setTheme:e}=(0,D.D)();return(0,s.jsxs)(R.rI,{children:[(0,s.jsx)(R.ty,{asChild:!0,children:(0,s.jsxs)(S.$,{variant:"ghost",size:"icon",className:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground text-sidebar-foreground/80 dark:text-sidebar-foreground",children:[(0,s.jsx)(Z.A,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,s.jsx)(G.A,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,s.jsxs)(R.SQ,{align:"end",children:[(0,s.jsxs)(R._2,{onClick:()=>e("light"),children:[(0,s.jsx)(Z.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Light"})]}),(0,s.jsxs)(R._2,{onClick:()=>e("dark"),children:[(0,s.jsx)(G.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Dark"})]}),(0,s.jsxs)(R._2,{onClick:()=>e("system"),children:[(0,s.jsx)(E.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"System"})]})]})]})}var $=r(30712);s.Fragment,$.G,s.Fragment,$.G,s.Fragment,$.G,s.Fragment,s.Fragment,s.Fragment,$.G;let U=[{title:"Support",url:"mailto:support@inkeep.com",icon:a.A},{title:"Documentation",url:"".concat("https://docs.inkeep.com","/"),icon:n.A,isExternal:!0}];function B(e){let{...t}=e,{tenantId:r,projectId:a}=(0,f.useParams)(),n=a&&"undefined"!==a?[{title:"Graphs",url:"/".concat(r,"/projects/").concat(a,"/graphs"),icon:o.A},{title:"Graph API Keys",url:"/".concat(r,"/projects/").concat(a,"/api-keys"),icon:l.A},{title:"MCP Servers",url:"/".concat(r,"/projects/").concat(a,"/mcp-servers"),icon:g},{title:"Data Components",url:"/".concat(r,"/projects/").concat(a,"/data-components"),icon:c.A},{title:"Artifact Components",url:"/".concat(r,"/projects/").concat(a,"/artifact-components"),icon:i.A},{title:"Credentials",url:"/".concat(r,"/projects/").concat(a,"/credentials"),icon:d.A},{title:"Traces",url:"/".concat(r,"/projects/").concat(a,"/traces"),icon:u.A},{title:"Settings",url:"/".concat(r,"/projects/").concat(a,"/settings"),icon:x.A}]:[{title:"Projects",url:"/".concat(r,"/projects"),icon:m.A}];return(0,s.jsxs)(w.Bx,{collapsible:"offcanvas",...t,children:[(0,s.jsx)(w.Gh,{children:(0,s.jsx)(w.wZ,{children:(0,s.jsx)(w.FX,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between w-full gap-2",children:[(0,s.jsx)(w.Uj,{asChild:!0,className:"data-[slot=sidebar-menu-button]:!p-1.5 flex-1",children:(0,s.jsx)(p(),{href:r?"/".concat(r,"/projects"):"/",children:(0,s.jsx)(b,{className:"!w-[110px] !h-[32px]"})})}),(0,s.jsx)(O,{})]})})})}),(0,s.jsxs)(w.Yv,{className:"flex flex-col justify-between",children:[n.length>0&&(0,s.jsx)(k,{items:n}),(0,s.jsx)(k,{items:U})]}),r&&a&&(0,s.jsx)(w.CG,{children:(0,s.jsx)(F,{})})]})}},69962:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(60098),a=r(79178);let n={fill:"none",height:24,stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg"},o=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:l,className:c="",children:i,...d}=e;return(0,s.jsx)("svg",{role:"img","aria-label":"SVG Icon",ref:t,...n,className:c,height:a,stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:l?24*Number(o)/Number(a):o,width:a,...d,children:i})});o.displayName="SvgIcon"},76233:(e,t,r)=>{"use strict";r.d(t,{NewProjectDialog:()=>d});var s=r(60098),a=r(96776),n=r(93137),o=r(79178),l=r(86714),c=r(30958),i=r(36367);function d(e){let{tenantId:t,triggerButton:r,children:d,open:u,onOpenChange:x}=e,[m,h]=(0,o.useState)(!1),p=(0,n.useRouter)(),f=x||h;return(0,s.jsxs)(c.lG,{open:void 0!==u?u:m,onOpenChange:f,children:[(d||r)&&(0,s.jsx)(c.zM,{asChild:!0,children:d||r||(0,s.jsxs)(l.$,{children:[(0,s.jsx)(a.A,{className:"mr-2 h-4 w-4"}),"Create Project"]})}),(0,s.jsxs)(c.Cf,{className:"!max-w-2xl",children:[(0,s.jsx)(c.L3,{children:"Create new project"}),(0,s.jsx)(c.rr,{children:"Create a new project to organize your agents, tools, and resources."}),(0,s.jsx)(i.ProjectForm,{tenantId:t,onSuccess:e=>{f(!1),p.push("/".concat(t,"/projects/").concat(e,"/graphs"))},onCancel:()=>f(!1)})]})]})}},78765:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>o});var s=r(60098),a=r(3121),n=r(32028);let o=e=>{let{...t}=e,{resolvedTheme:r}=(0,a.D)();return(0,s.jsx)(n.l$,{theme:r,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...t})}},80311:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>c,_2:()=>i,rI:()=>o,ty:()=>l});var s=r(60098),a=r(32960),n=r(52681);function o(e){let{...t}=e;return(0,s.jsx)(a.bL,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,s.jsx)(a.l9,{"data-slot":"dropdown-menu-trigger",...t})}function c(e){let{className:t,sideOffset:r=4,...o}=e;return(0,s.jsx)(a.ZL,{children:(0,s.jsx)(a.UC,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,n.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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",t),...o})})}function i(e){let{className:t,inset:r,variant:o="default",...l}=e;return(0,s.jsx)(a.q7,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":o,className:(0,n.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l})}},91382:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>n});var s=r(60098),a=r(3121);function n(e){let{children:t,...r}=e;return(0,s.jsx)(a.N,{...r,children:t})}},94407:()=>{},99020:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,94407,23)),Promise.resolve().then(r.bind(r,57609)),Promise.resolve().then(r.bind(r,91382)),Promise.resolve().then(r.bind(r,88831)),Promise.resolve().then(r.bind(r,78765)),Promise.resolve().then(r.bind(r,15660)),Promise.resolve().then(r.t.bind(r,30982,23)),Promise.resolve().then(r.t.bind(r,91e3,23)),Promise.resolve().then(r.bind(r,20094))}},e=>{e.O(0,[9736,8119,9808,8246,8805,1269,2060,3862,8096,4773,1216,9405,3803,2960,3897,9098,8831,6497,6367,9907,4918,7358],()=>e(e.s=99020)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{15660:(e,t,r)=>{"use strict";r.d(t,{RuntimeConfigProvider:()=>o,y:()=>l});var s=r(60098),a=r(79178);let n=(0,a.createContext)(null);function o(e){let{value:t,children:r}=e;return(0,s.jsx)(n.Provider,{value:t,children:r})}function l(){let e=(0,a.useContext)(n);if(!e)throw Error("useRuntimeConfig must be used within <RuntimeConfigProvider>");return e}},30712:(e,t,r)=>{"use strict";r.d(t,{G:()=>c});var s=r(60098),a=r(38678),n=r(85276),o=r.n(n),l=r(52681);function c(e){let{href:t,children:r,className:n,...c}=e;return(0,s.jsxs)(o(),{href:t,target:"_blank",rel:"noreferrer noopener",className:(0,l.cn)("text-sm text-muted-foreground underline underline-offset-2 inline-flex items-center gap-1 hover:text-primary ml-1 group/link font-mono uppercase transition-colors",n),...c,children:[r,(0,s.jsx)(a.A,{className:"size-3.5 text-muted-foreground/60 group-hover/link:text-primary"})]})}},30958:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>h,HM:()=>d,L3:()=>p,c7:()=>m,lG:()=>l,rr:()=>f,zM:()=>c});var s=r(60098),a=r(88226),n=r(31184),o=r(52681);function l(e){let{...t}=e;return(0,s.jsx)(a.bL,{"data-slot":"dialog",...t})}function c(e){let{...t}=e;return(0,s.jsx)(a.l9,{"data-slot":"dialog-trigger",...t})}function i(e){let{...t}=e;return(0,s.jsx)(a.ZL,{"data-slot":"dialog-portal",...t})}function d(e){let{...t}=e;return(0,s.jsx)(a.bm,{"data-slot":"dialog-close",...t})}function u(e){let{className:t,...r}=e;return(0,s.jsx)(a.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...r})}function x(e){let{className:t,children:r,showCloseButton:l=!0,...c}=e;return(0,s.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,s.jsx)(u,{}),(0,s.jsxs)(a.UC,{"data-slot":"dialog-content",className:(0,o.cn)("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg","max-h-[calc(100dvh-1.5rem)] overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",t),...c,children:[r,l&&(0,s.jsxs)(a.bm,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-md opacity-70 hover:opacity-100 transition-all focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground dark:text-foreground text-muted-foreground size-8 flex items-center justify-center",children:[(0,s.jsx)(n.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function m(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",t),...r})}function h(e){let{className:t,...r}=e;return(0,s.jsx)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...r})}function p(e){let{className:t,...r}=e;return(0,s.jsx)(a.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-medium",t),...r})}function f(e){let{className:t,...r}=e;return(0,s.jsx)(a.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",t),...r})}},33326:(e,t,r)=>{"use strict";r.d(t,{AppSidebar:()=>B});var s=r(60098),a=r(19256),n=r(76656),o=r(57713),l=r(30507),c=r(44339),i=r(991),d=r(94199),u=r(90117),x=r(97405),m=r(39810),h=r(85276),p=r.n(h),f=r(93137),j=r(79178),C=r(69962);let g=(0,j.forwardRef)((e,t)=>(0,s.jsxs)(C.A,{ref:t,...e,children:[(0,s.jsx)("path",{d:"M2.06895 11.2982L11.432 1.9351C12.7248 0.642325 14.8208 0.642325 16.1135 1.9351C17.4063 3.22786 17.4063 5.32386 16.1135 6.61663L9.04249 13.6877",stroke:"currentColor",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M9.14003 13.5902L16.1135 6.61663C17.4063 5.32385 19.5023 5.32385 20.7952 6.61663L20.8439 6.66538C22.1367 7.95816 22.1367 10.0542 20.8439 11.3469L12.3758 19.815C11.9449 20.2459 11.9449 20.9445 12.3758 21.3754L14.1146 23.1143",stroke:"currentColor",strokeLinecap:"round"}),(0,s.jsx)("path",{d:"M13.7728 4.27585L6.84802 11.2006C5.55526 12.4934 5.55526 14.5894 6.84802 15.8822C8.14079 17.1749 10.2368 17.1749 11.5296 15.8822L18.4543 8.95738",stroke:"currentColor",strokeLinecap:"round"})]}));g.displayName="MCPIcon";var v=r(52681);let b=e=>(0,s.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"890",height:"169",viewBox:"0 0 890 169",fill:"none",role:"img","aria-labelledby":"inkeep-logo","aria-label":"Inkeep Logo",...e,className:(0,v.cn)("text-[#231F20] dark:text-white",e.className),children:[(0,s.jsx)("path",{d:"M45.4714 3.11853C42.256 3.11853 39.2849 4.83392 37.6772 7.61853L1.77955 69.7951C0.171853 72.5797 0.171863 76.0105 1.77956 78.7951L37.6772 140.972C39.2849 143.756 42.2561 145.472 45.4714 145.472L117.267 145.472C120.482 145.472 123.453 143.756 125.061 140.972L160.959 78.7951C162.566 76.0105 162.566 72.5797 160.959 69.7951L125.061 7.61852C123.453 4.83391 120.482 3.11853 117.267 3.11853L45.4714 3.11853Z",fill:"#D5E5FF"}),(0,s.jsx)("path",{d:"M188.432 1.91439C210.239 7.42997 207.754 19.5937 216.797 44.3352C222.599 60.2085 250.649 79.8906 225.015 118.151C217.366 129.57 192.767 143.117 174.969 146.874C135.756 155.025 112.651 136.528 92.1543 106.03C76.776 82.9616 82.2098 49.7508 105.534 33.4431C127.638 18.0306 159.766 -5.88546 188.432 1.91439Z",fill:"#69A3FF"}),(0,s.jsx)("path",{d:"M279.121 19.2581H292.519V128.013H279.121V19.2581Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M311.461 19.258H324.859V46.516H325.229C328.74 36.9988 334.284 29.6992 341.676 24.6172C349.068 19.5352 358.308 16.948 369.304 16.948C376.511 16.948 382.794 17.9644 388.338 20.0896C393.79 22.2148 398.502 25.3564 402.29 29.5144C406.079 33.6724 408.943 38.9392 410.976 45.3148C412.916 51.598 413.933 58.8976 413.933 67.1212V127.92H400.535V68.5996C400.535 61.9468 399.796 56.218 398.317 51.3208C396.839 46.4236 394.621 42.358 391.757 39.0316C388.892 35.7052 385.289 33.3028 380.946 31.732C376.696 30.1612 371.798 29.422 366.254 29.422C359.879 29.422 354.15 30.346 349.068 32.2864C343.986 34.2268 339.643 36.9064 336.04 40.4176C332.436 43.9288 329.664 48.0868 327.816 52.7992C325.876 57.5116 324.952 62.8708 324.952 68.692V128.013H311.554V19.258H311.461Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M535.347 50.6715C538.119 43.7415 541.907 37.7355 546.804 32.6535C551.702 27.6639 557.523 23.7831 564.268 21.1035C571.013 18.4239 578.498 17.0379 586.629 17.0379C594.76 17.0379 602.152 18.4239 608.897 21.1959C615.642 23.9679 621.464 27.8487 626.361 32.7459C631.351 37.7355 635.139 43.6491 637.818 50.6715C640.498 57.6939 641.884 65.4555 641.884 73.9563V78.2067H542.646V66.3795H631.443L628.578 73.8639C628.578 67.2111 627.562 61.1127 625.437 55.6611C623.312 50.2095 620.447 45.4971 616.844 41.5239C613.148 37.5507 608.805 34.5939 603.63 32.4687C598.456 30.3435 592.82 29.3271 586.721 29.3271C580.623 29.3271 574.802 30.4359 569.627 32.5611C564.453 34.6863 560.018 37.7355 556.322 41.6163C552.626 45.4971 549.669 50.1171 547.544 55.5687C545.418 61.0203 544.402 66.9339 544.402 73.4943C544.402 80.0547 545.511 86.1531 547.636 91.6047C549.761 97.0563 552.81 101.676 556.599 105.557C560.387 109.438 564.915 112.395 570.089 114.612C575.264 116.737 580.992 117.846 587.276 117.846C597.07 117.846 605.386 115.351 612.316 110.454C619.246 105.557 624.143 98.6271 627.192 89.8491L640.221 94.2843C636.433 105.372 629.872 114.15 620.725 120.618C611.485 127.086 600.489 130.32 587.553 130.32C579.329 130.32 571.66 128.934 564.822 126.255C557.892 123.575 551.979 119.694 546.989 114.705C542 109.715 538.119 103.709 535.347 96.7791C532.575 89.8491 531.096 82.1799 531.096 73.5867C531.096 64.9935 532.482 57.6939 535.254 50.6715H535.347Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M657.317 50.6715C660.089 43.7415 663.877 37.7355 668.774 32.6535C673.671 27.5715 679.493 23.7831 686.238 21.1035C692.983 18.4239 700.467 17.0379 708.599 17.0379C716.73 17.0379 724.122 18.4239 730.867 21.1959C737.612 23.9679 743.433 27.8487 748.331 32.7459C753.32 37.7355 757.109 43.6491 759.788 50.6715C762.468 57.6939 763.854 65.4555 763.854 73.9563V78.2067H664.616V66.3795H753.413L750.548 73.8639C750.548 67.2111 749.532 61.1127 747.407 55.6611C745.281 50.2095 742.417 45.4971 738.721 41.5239C735.025 37.5507 730.682 34.5939 725.508 32.4687C720.333 30.3435 714.697 29.3271 708.599 29.3271C702.5 29.3271 696.679 30.4359 691.505 32.5611C686.33 34.6863 681.895 37.7355 678.199 41.6163C674.503 45.4971 671.546 50.1171 669.421 55.5687C667.296 61.0203 666.279 66.9339 666.279 73.4943C666.279 80.0547 667.388 86.1531 669.513 91.6047C671.639 97.0563 674.688 101.676 678.476 105.557C682.265 109.438 686.792 112.395 691.967 114.612C697.141 116.737 702.87 117.846 709.153 117.846C718.947 117.846 727.263 115.351 734.193 110.454C741.123 105.557 746.021 98.6271 749.07 89.8491L762.098 94.2843C758.31 105.372 751.842 114.15 742.602 120.618C733.362 127.086 722.366 130.32 709.43 130.32C701.207 130.32 693.537 128.934 686.7 126.255C679.77 123.575 673.856 119.694 668.959 114.705C663.969 109.715 660.089 103.709 657.317 96.7791C654.452 89.8491 653.066 82.1799 653.066 73.5867C653.066 64.9935 654.452 57.6939 657.224 50.6715H657.317Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M778.359 19.258H791.757V47.902H792.126C795.915 37.8304 801.828 30.2536 809.775 24.8944C817.814 19.6276 827.146 16.948 838.049 16.948C845.811 16.948 852.741 18.2416 859.116 20.9212C865.4 23.6008 870.759 27.2968 875.194 32.1016C879.629 36.9064 882.956 42.82 885.358 49.8424C887.76 56.8648 888.962 64.8112 888.962 73.5892C888.962 82.3672 887.76 90.3136 885.358 97.2436C882.956 104.266 879.629 110.18 875.194 114.984C870.759 119.882 865.492 123.578 859.209 126.165C853.018 128.752 845.996 130.046 838.234 130.046C827.423 130.046 817.906 127.366 809.867 122.099C801.828 116.832 795.915 109.163 792.034 99.0916H791.664V168.392H778.266V19.258H778.359ZM795.083 91.792C797.208 97.2436 800.258 101.956 804.138 105.837C808.019 109.718 812.639 112.674 818.091 114.8C823.542 116.925 829.364 117.941 835.554 117.941C841.745 117.941 847.197 116.925 852.186 114.984C857.176 113.044 861.426 110.18 864.938 106.299C868.449 102.418 871.036 97.8904 872.976 92.4388C874.917 86.9872 875.841 80.8888 875.841 73.9588C875.841 67.0288 874.824 60.6532 872.884 55.1092C870.944 49.6576 868.172 44.9452 864.753 41.0644C861.334 37.1836 857.084 34.3192 852.002 32.2864C847.012 30.346 841.468 29.3296 835.37 29.3296C829.271 29.3296 823.173 30.346 817.906 32.4712C812.639 34.5964 808.019 37.5532 804.138 41.434C800.258 45.3148 797.301 49.9348 795.083 55.3864C792.866 60.838 791.849 66.9364 791.849 73.6816C791.849 80.4268 792.958 86.1556 795.083 91.6996V91.792Z",fill:"currentColor"}),(0,s.jsx)("path",{d:"M481.386 61.2051L533.592 19.9023V19.4403H514.28L476.489 48.9159L444.426 74.6031H443.964V17.0379H430.566V128.01H443.964V90.8655L471.684 68.8743L522.042 128.01H539.136V127.641L481.386 61.2051Z",fill:"currentColor"})]});var w=r(88831);function N(e){let{title:t,url:r,icon:a,isExternal:n}=e,o=(0,f.usePathname)().startsWith(r);return(0,s.jsx)(w.FX,{children:(0,s.jsx)(w.Uj,{asChild:!0,tooltip:t,isActive:o,children:(0,s.jsxs)(p(),{href:r,rel:n?"noopener noreferrer":void 0,target:n?"_blank":void 0,children:[a&&(0,s.jsx)(a,{}),(0,s.jsx)("span",{children:t})]})})})}function k(e){let{items:t}=e;return(0,s.jsx)(w.Cn,{children:(0,s.jsx)(w.rQ,{className:"flex flex-col gap-2",children:(0,s.jsx)(w.wZ,{children:t.map(e=>(0,s.jsx)(N,{...e},e.title))})})})}var L=r(76233),y=r(93431),A=r(97555);let P=(0,A.createServerReference)("4060ef42fef813a2d995000742db13a4e00d076dd3",A.callServer,void 0,A.findSourceMapURL,"fetchProjectsAction");var H=r(44001),V=r(27820),I=r(96776),S=r(86714),_=r(46205),M=r(66041);function z(e){let{projects:t,selectedProjectId:r,tenantId:a}=e,[n,o]=(0,j.useState)(!1),[l,c]=(0,j.useState)(!1),i=(0,f.useRouter)(),d=t.find(e=>e.projectId===r);return(0,s.jsxs)("div",{className:"flex w-full",children:[(0,s.jsxs)(M.AM,{open:n,onOpenChange:o,children:[(0,s.jsx)(M.Wv,{asChild:!0,children:(0,s.jsxs)(S.$,{variant:"ghost",role:"combobox","aria-expanded":n,className:"w-full h-auto justify-between bg-transparent text-foreground pr-2",children:[d?(0,s.jsxs)("div",{className:"flex flex-col text-left min-w-0 flex-1",children:[(0,s.jsx)("span",{className:"font-medium truncate text-foreground",children:d.name||d.projectId}),(0,s.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a})]}):(0,s.jsx)("div",{className:"text-muted-foreground",children:"Select a project"}),(0,s.jsx)(H.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,s.jsx)(M.hl,{className:"w-[var(--radix-popover-trigger-width)] p-0",children:(0,s.jsxs)(_.uB,{children:[(0,s.jsx)(_.xL,{children:"No projects found"}),(0,s.jsxs)(_.oI,{className:"max-h-64",children:[(0,s.jsx)(_.L$,{children:t.map(e=>(0,s.jsx)(_.h_,{onSelect:()=>{i.push("/".concat(a,"/projects/").concat(e.projectId)),o(!1)},className:"flex items-start gap-3 px-3 py-2 group cursor-pointer",children:(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"font-medium",children:e.name||e.projectId}),e.projectId===r&&(0,s.jsx)("span",{className:"text-muted-foreground",children:(0,s.jsx)(V.A,{className:"h-4 w-4"})})]}),e.description&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground line-clamp-1",children:e.description})]})},e.projectId))}),(0,s.jsx)(_.fx,{}),(0,s.jsx)(_.L$,{children:(0,s.jsxs)(_.h_,{onSelect:()=>{o(!1),c(!0)},className:"flex items-center gap-2 px-3 py-2 cursor-pointer",children:[(0,s.jsx)(I.A,{className:"h-4 w-4 text-foreground"}),(0,s.jsx)("span",{className:"font-medium text-foreground uppercase font-mono tracking-wider",children:"Create Project"})]})})]})]})})]}),a&&(0,s.jsx)(L.NewProjectDialog,{tenantId:a,open:l,onOpenChange:c})]})}function F(){let[e,t]=(0,j.useState)(!0),[r,a]=(0,j.useState)([]),n=(0,f.useParams)(),o=n.tenantId,l=n.projectId;return(0,j.useEffect)(()=>{o&&P(o).then(e=>{t(!1),e.success&&e.data?a(e.data):a([])}).catch(e=>{console.error("Error fetching projects:",e),t(!1),a([])})},[o]),(0,s.jsx)("div",{className:"flex flex-col gap-2",children:e?(0,s.jsx)(y.E,{className:"h-14 w-full"}):0===r.length?(0,s.jsxs)("div",{className:"flex flex-col gap-2 px-2",children:[(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No projects yet"}),(0,s.jsx)(L.NewProjectDialog,{tenantId:o})]}):(0,s.jsx)(z,{projects:r,selectedProjectId:l,tenantId:o})})}var Z=r(91058),G=r(90277),E=r(15154),D=r(3121),R=r(80311);function O(){let{setTheme:e}=(0,D.D)();return(0,s.jsxs)(R.rI,{children:[(0,s.jsx)(R.ty,{asChild:!0,children:(0,s.jsxs)(S.$,{variant:"ghost",size:"icon",className:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground text-sidebar-foreground/80 dark:text-sidebar-foreground",children:[(0,s.jsx)(Z.A,{className:"h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"}),(0,s.jsx)(G.A,{className:"absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"}),(0,s.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}),(0,s.jsxs)(R.SQ,{align:"end",children:[(0,s.jsxs)(R._2,{onClick:()=>e("light"),children:[(0,s.jsx)(Z.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Light"})]}),(0,s.jsxs)(R._2,{onClick:()=>e("dark"),children:[(0,s.jsx)(G.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"Dark"})]}),(0,s.jsxs)(R._2,{onClick:()=>e("system"),children:[(0,s.jsx)(E.A,{className:"mr-2 h-4 w-4"}),(0,s.jsx)("span",{children:"System"})]})]})]})}var $=r(30712);s.Fragment,$.G,s.Fragment,$.G,s.Fragment,$.G,s.Fragment,s.Fragment,s.Fragment,$.G;let U=[{title:"Support",url:"mailto:support@inkeep.com",icon:a.A},{title:"Documentation",url:"".concat("https://docs.inkeep.com","/"),icon:n.A,isExternal:!0}];function B(e){let{...t}=e,{tenantId:r,projectId:a}=(0,f.useParams)(),n=a&&"undefined"!==a?[{title:"Graphs",url:"/".concat(r,"/projects/").concat(a,"/graphs"),icon:o.A},{title:"Graph API Keys",url:"/".concat(r,"/projects/").concat(a,"/api-keys"),icon:l.A},{title:"MCP Servers",url:"/".concat(r,"/projects/").concat(a,"/mcp-servers"),icon:g},{title:"Data Components",url:"/".concat(r,"/projects/").concat(a,"/data-components"),icon:c.A},{title:"Artifact Components",url:"/".concat(r,"/projects/").concat(a,"/artifact-components"),icon:i.A},{title:"Credentials",url:"/".concat(r,"/projects/").concat(a,"/credentials"),icon:d.A},{title:"Traces",url:"/".concat(r,"/projects/").concat(a,"/traces"),icon:u.A},{title:"Settings",url:"/".concat(r,"/projects/").concat(a,"/settings"),icon:x.A}]:[{title:"Projects",url:"/".concat(r,"/projects"),icon:m.A}];return(0,s.jsxs)(w.Bx,{collapsible:"offcanvas",...t,children:[(0,s.jsx)(w.Gh,{children:(0,s.jsx)(w.wZ,{children:(0,s.jsx)(w.FX,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between w-full gap-2",children:[(0,s.jsx)(w.Uj,{asChild:!0,className:"data-[slot=sidebar-menu-button]:!p-1.5 flex-1",children:(0,s.jsx)(p(),{href:r?"/".concat(r,"/projects"):"/",children:(0,s.jsx)(b,{className:"!w-[110px] !h-[32px]"})})}),(0,s.jsx)(O,{})]})})})}),(0,s.jsxs)(w.Yv,{className:"flex flex-col justify-between",children:[n.length>0&&(0,s.jsx)(k,{items:n}),(0,s.jsx)(k,{items:U})]}),r&&a&&(0,s.jsx)(w.CG,{children:(0,s.jsx)(F,{})})]})}},69962:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var s=r(60098),a=r(79178);let n={fill:"none",height:24,stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg"},o=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:l,className:c="",children:i,...d}=e;return(0,s.jsx)("svg",{role:"img","aria-label":"SVG Icon",ref:t,...n,className:c,height:a,stroke:r,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:l?24*Number(o)/Number(a):o,width:a,...d,children:i})});o.displayName="SvgIcon"},76233:(e,t,r)=>{"use strict";r.d(t,{NewProjectDialog:()=>d});var s=r(60098),a=r(96776),n=r(93137),o=r(79178),l=r(86714),c=r(30958),i=r(26520);function d(e){let{tenantId:t,triggerButton:r,children:d,open:u,onOpenChange:x}=e,[m,h]=(0,o.useState)(!1),p=(0,n.useRouter)(),f=x||h;return(0,s.jsxs)(c.lG,{open:void 0!==u?u:m,onOpenChange:f,children:[(d||r)&&(0,s.jsx)(c.zM,{asChild:!0,children:d||r||(0,s.jsxs)(l.$,{children:[(0,s.jsx)(a.A,{className:"mr-2 h-4 w-4"}),"Create Project"]})}),(0,s.jsxs)(c.Cf,{className:"!max-w-2xl",children:[(0,s.jsx)(c.L3,{children:"Create new project"}),(0,s.jsx)(c.rr,{children:"Create a new project to organize your agents, tools, and resources."}),(0,s.jsx)(i.ProjectForm,{tenantId:t,onSuccess:e=>{f(!1),p.push("/".concat(t,"/projects/").concat(e,"/graphs"))},onCancel:()=>f(!1)})]})]})}},78765:(e,t,r)=>{"use strict";r.d(t,{Toaster:()=>o});var s=r(60098),a=r(3121),n=r(32028);let o=e=>{let{...t}=e,{resolvedTheme:r}=(0,a.D)();return(0,s.jsx)(n.l$,{theme:r,className:"toaster group",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...t})}},80311:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>c,_2:()=>i,rI:()=>o,ty:()=>l});var s=r(60098),a=r(32960),n=r(52681);function o(e){let{...t}=e;return(0,s.jsx)(a.bL,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,s.jsx)(a.l9,{"data-slot":"dropdown-menu-trigger",...t})}function c(e){let{className:t,sideOffset:r=4,...o}=e;return(0,s.jsx)(a.ZL,{children:(0,s.jsx)(a.UC,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,n.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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",t),...o})})}function i(e){let{className:t,inset:r,variant:o="default",...l}=e;return(0,s.jsx)(a.q7,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":o,className:(0,n.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l})}},91382:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>n});var s=r(60098),a=r(3121);function n(e){let{children:t,...r}=e;return(0,s.jsx)(a.N,{...r,children:t})}},94407:()=>{},99020:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,94407,23)),Promise.resolve().then(r.bind(r,33326)),Promise.resolve().then(r.bind(r,91382)),Promise.resolve().then(r.bind(r,88831)),Promise.resolve().then(r.bind(r,78765)),Promise.resolve().then(r.bind(r,15660)),Promise.resolve().then(r.t.bind(r,30982,23)),Promise.resolve().then(r.t.bind(r,91e3,23)),Promise.resolve().then(r.bind(r,20094))}},e=>{e.O(0,[9736,8119,9808,8246,8805,1269,2060,3862,8096,4773,1216,9405,3803,2960,3897,9098,8831,6497,6520,9907,4918,7358],()=>e(e.s=99020)),_N_E=e.O()}]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Agents Core contains the database schema, types, and validation schemas for Inkeep Agent Framework, along with core components.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-manage-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"use-stick-to-bottom": "^1.1.1",
|
|
82
82
|
"zod": "^4.1.5",
|
|
83
83
|
"zustand": "^5.0.7",
|
|
84
|
-
"@inkeep/agents-core": "^0.
|
|
85
|
-
"@inkeep/agents-manage-api": "^0.
|
|
86
|
-
"@inkeep/agents-run-api": "^0.
|
|
84
|
+
"@inkeep/agents-core": "^0.8.0",
|
|
85
|
+
"@inkeep/agents-manage-api": "^0.8.0",
|
|
86
|
+
"@inkeep/agents-run-api": "^0.8.0"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
89
|
"@tailwindcss/postcss": "^4",
|
|
@@ -34,6 +34,38 @@ import { formatJsonField } from '@/lib/utils';
|
|
|
34
34
|
import { getErrorSummaryMessage, parseGraphValidationErrors } from '@/lib/utils/graph-error-parser';
|
|
35
35
|
import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
|
|
36
36
|
import { detectOrphanedToolsAndGetWarning } from '@/lib/utils/orphaned-tools-detector';
|
|
37
|
+
|
|
38
|
+
// Type for agent tool configuration lookup including both selection and headers
|
|
39
|
+
export type AgentToolConfig = {
|
|
40
|
+
toolSelection?: string[];
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type AgentToolConfigLookup = Record<string, Record<string, AgentToolConfig>>;
|
|
45
|
+
|
|
46
|
+
// Utility function to derive selectedToolsLookup from agentToolConfigLookup
|
|
47
|
+
export function getSelectedToolsLookup(
|
|
48
|
+
agentToolConfigLookup: AgentToolConfigLookup
|
|
49
|
+
): Record<string, Record<string, string[]>> {
|
|
50
|
+
const selectedToolsLookup: Record<string, Record<string, string[]>> = {};
|
|
51
|
+
|
|
52
|
+
Object.entries(agentToolConfigLookup).forEach(([agentId, toolsMap]) => {
|
|
53
|
+
const selectedToolsMap: Record<string, string[]> = {};
|
|
54
|
+
|
|
55
|
+
Object.entries(toolsMap).forEach(([toolId, config]) => {
|
|
56
|
+
if (config.toolSelection) {
|
|
57
|
+
selectedToolsMap[toolId] = config.toolSelection;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
if (Object.keys(selectedToolsMap).length > 0) {
|
|
62
|
+
selectedToolsLookup[agentId] = selectedToolsMap;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
return selectedToolsLookup;
|
|
67
|
+
}
|
|
68
|
+
|
|
37
69
|
import { EdgeType, edgeTypes, initialEdges } from './configuration/edge-types';
|
|
38
70
|
import type { ContextConfig } from './configuration/graph-types';
|
|
39
71
|
import {
|
|
@@ -134,17 +166,28 @@ function Flow({
|
|
|
134
166
|
};
|
|
135
167
|
}, [graph, enrichNodes, initialNodes]);
|
|
136
168
|
|
|
137
|
-
// Create
|
|
138
|
-
const
|
|
139
|
-
if (!graph?.agents) return {} as
|
|
169
|
+
// Create agent tool configuration lookup from graph data
|
|
170
|
+
const agentToolConfigLookup = useMemo((): AgentToolConfigLookup => {
|
|
171
|
+
if (!graph?.agents) return {} as AgentToolConfigLookup;
|
|
140
172
|
|
|
141
|
-
const lookup:
|
|
173
|
+
const lookup: AgentToolConfigLookup = {};
|
|
142
174
|
Object.entries(graph.agents).forEach(([agentId, agentData]) => {
|
|
143
175
|
if ('canUse' in agentData && agentData.canUse) {
|
|
144
|
-
const toolsMap: Record<string,
|
|
176
|
+
const toolsMap: Record<string, AgentToolConfig> = {};
|
|
145
177
|
agentData.canUse.forEach((tool) => {
|
|
178
|
+
const config: AgentToolConfig = {};
|
|
179
|
+
|
|
146
180
|
if (tool.toolSelection) {
|
|
147
|
-
|
|
181
|
+
config.toolSelection = tool.toolSelection;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (tool.headers) {
|
|
185
|
+
config.headers = tool.headers;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Only add to map if we have either toolSelection or headers
|
|
189
|
+
if (config.toolSelection || config.headers) {
|
|
190
|
+
toolsMap[tool.toolId] = config;
|
|
148
191
|
}
|
|
149
192
|
});
|
|
150
193
|
if (Object.keys(toolsMap).length > 0) {
|
|
@@ -155,6 +198,11 @@ function Flow({
|
|
|
155
198
|
return lookup;
|
|
156
199
|
}, [graph?.agents]);
|
|
157
200
|
|
|
201
|
+
// Derive selectedToolsLookup from agentToolConfigLookup for backward compatibility
|
|
202
|
+
const selectedToolsLookup = useMemo(() => {
|
|
203
|
+
return getSelectedToolsLookup(agentToolConfigLookup);
|
|
204
|
+
}, [agentToolConfigLookup]);
|
|
205
|
+
|
|
158
206
|
const { screenToFlowPosition } = useReactFlow();
|
|
159
207
|
const {
|
|
160
208
|
nodes: storeNodes,
|
|
@@ -504,7 +552,7 @@ function Flow({
|
|
|
504
552
|
metadata,
|
|
505
553
|
dataComponentLookup,
|
|
506
554
|
artifactComponentLookup,
|
|
507
|
-
|
|
555
|
+
agentToolConfigLookup
|
|
508
556
|
);
|
|
509
557
|
|
|
510
558
|
const res = await saveGraph(
|
|
@@ -555,6 +603,7 @@ function Flow({
|
|
|
555
603
|
clearErrors,
|
|
556
604
|
setErrors,
|
|
557
605
|
selectedToolsLookup,
|
|
606
|
+
agentToolConfigLookup,
|
|
558
607
|
toolLookup,
|
|
559
608
|
]);
|
|
560
609
|
|
|
@@ -622,6 +671,7 @@ function Flow({
|
|
|
622
671
|
dataComponentLookup={dataComponentLookup}
|
|
623
672
|
artifactComponentLookup={artifactComponentLookup}
|
|
624
673
|
selectedToolsLookup={selectedToolsLookup}
|
|
674
|
+
agentToolConfigLookup={agentToolConfigLookup}
|
|
625
675
|
toolLookup={toolLookup}
|
|
626
676
|
/>
|
|
627
677
|
{showPlayground && graph?.id && (
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type Node, useReactFlow } from '@xyflow/react';
|
|
2
2
|
import { Check, CircleAlert } from 'lucide-react';
|
|
3
3
|
import { useParams } from 'next/navigation';
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
5
|
import { getActiveTools } from '@/app/utils/active-tools';
|
|
6
|
+
import { ExpandableJsonEditor } from '@/components/form/expandable-json-editor';
|
|
5
7
|
import { MCPToolImage } from '@/components/mcp-servers/mcp-tool-image';
|
|
6
8
|
import { Badge } from '@/components/ui/badge';
|
|
7
9
|
import { ExternalLink } from '@/components/ui/external-link';
|
|
@@ -13,16 +15,19 @@ import type { MCPTool } from '@/lib/types/tools';
|
|
|
13
15
|
import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
|
|
14
16
|
import { getCurrentSelectedToolsForNode } from '@/lib/utils/orphaned-tools-detector';
|
|
15
17
|
import type { MCPNodeData } from '../../configuration/node-types';
|
|
18
|
+
import type { AgentToolConfigLookup } from '../../graph';
|
|
16
19
|
|
|
17
20
|
interface MCPServerNodeEditorProps {
|
|
18
21
|
selectedNode: Node<MCPNodeData>;
|
|
19
22
|
selectedToolsLookup: Record<string, Record<string, string[]>>;
|
|
23
|
+
agentToolConfigLookup: AgentToolConfigLookup;
|
|
20
24
|
toolLookup: Record<string, MCPTool>;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
export function MCPServerNodeEditor({
|
|
24
28
|
selectedNode,
|
|
25
29
|
selectedToolsLookup,
|
|
30
|
+
agentToolConfigLookup,
|
|
26
31
|
toolLookup,
|
|
27
32
|
}: MCPServerNodeEditorProps) {
|
|
28
33
|
const { updateNodeData } = useReactFlow();
|
|
@@ -34,6 +39,32 @@ export function MCPServerNodeEditor({
|
|
|
34
39
|
// All hooks must be called before any early returns
|
|
35
40
|
const markUnsaved = useGraphStore((state) => state.markUnsaved);
|
|
36
41
|
|
|
42
|
+
// Get current headers for this tool from all agents
|
|
43
|
+
const getCurrentHeaders = useCallback((): Record<string, string> => {
|
|
44
|
+
// First check if we have temporary headers stored on the node
|
|
45
|
+
if ((selectedNode.data as any).tempHeaders !== undefined) {
|
|
46
|
+
return (selectedNode.data as any).tempHeaders;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Otherwise, get from the database/initial state - find any agent that has headers for this tool
|
|
50
|
+
for (const agentId in agentToolConfigLookup) {
|
|
51
|
+
const toolConfig = agentToolConfigLookup[agentId]?.[selectedNode.data.toolId];
|
|
52
|
+
if (toolConfig?.headers) {
|
|
53
|
+
return toolConfig.headers;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {};
|
|
57
|
+
}, [agentToolConfigLookup, selectedNode.data]);
|
|
58
|
+
|
|
59
|
+
// Local state for headers input (allows invalid JSON while typing)
|
|
60
|
+
const [headersInputValue, setHeadersInputValue] = useState('{}');
|
|
61
|
+
|
|
62
|
+
// Sync input value when external headers change
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
const newHeaders = getCurrentHeaders();
|
|
65
|
+
setHeadersInputValue(JSON.stringify(newHeaders, null, 2));
|
|
66
|
+
}, [getCurrentHeaders]);
|
|
67
|
+
|
|
37
68
|
// Only use toolLookup - single source of truth
|
|
38
69
|
const toolData = toolLookup[selectedNode.data.toolId];
|
|
39
70
|
|
|
@@ -104,6 +135,32 @@ export function MCPServerNodeEditor({
|
|
|
104
135
|
}
|
|
105
136
|
};
|
|
106
137
|
|
|
138
|
+
const handleHeadersChange = (value: string) => {
|
|
139
|
+
// Always update the input state (allows user to type invalid JSON)
|
|
140
|
+
setHeadersInputValue(value);
|
|
141
|
+
|
|
142
|
+
// Only save to node data if the JSON is valid
|
|
143
|
+
try {
|
|
144
|
+
const parsedHeaders = value.trim() === '' ? {} : JSON.parse(value);
|
|
145
|
+
|
|
146
|
+
if (
|
|
147
|
+
typeof parsedHeaders === 'object' &&
|
|
148
|
+
parsedHeaders !== null &&
|
|
149
|
+
!Array.isArray(parsedHeaders)
|
|
150
|
+
) {
|
|
151
|
+
// Valid format - save to node data
|
|
152
|
+
updateNodeData(selectedNode.id, {
|
|
153
|
+
...selectedNode.data,
|
|
154
|
+
tempHeaders: parsedHeaders,
|
|
155
|
+
});
|
|
156
|
+
markUnsaved();
|
|
157
|
+
}
|
|
158
|
+
} catch {
|
|
159
|
+
// Invalid JSON - don't save, but allow user to continue typing
|
|
160
|
+
// The ExpandableJsonEditor will show the validation error
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
107
164
|
let provider = null;
|
|
108
165
|
try {
|
|
109
166
|
provider = toolData ? getToolTypeAndName(toolData).type : null;
|
|
@@ -244,6 +301,17 @@ export function MCPServerNodeEditor({
|
|
|
244
301
|
) : null}
|
|
245
302
|
</div>
|
|
246
303
|
|
|
304
|
+
<div className="space-y-2">
|
|
305
|
+
<ExpandableJsonEditor
|
|
306
|
+
name="headers"
|
|
307
|
+
label="Headers (JSON)"
|
|
308
|
+
value={headersInputValue}
|
|
309
|
+
onChange={handleHeadersChange}
|
|
310
|
+
placeholder='{"X-Your-Header": "your-value", "Content-Type": "application/json"}'
|
|
311
|
+
className=""
|
|
312
|
+
/>
|
|
313
|
+
</div>
|
|
314
|
+
|
|
247
315
|
<ExternalLink
|
|
248
316
|
href={`/${tenantId}/projects/${projectId}/mcp-servers/${selectedNode.data.toolId}/edit`}
|
|
249
317
|
>
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
NodeType,
|
|
16
16
|
nodeTypeMap,
|
|
17
17
|
} from '../configuration/node-types';
|
|
18
|
+
import type { AgentToolConfigLookup } from '../graph';
|
|
18
19
|
import EdgeEditor from './edges/edge-editor';
|
|
19
20
|
import { Heading } from './heading';
|
|
20
21
|
import MetadataEditor from './metadata/metadata-editor';
|
|
@@ -32,6 +33,7 @@ interface SidePaneProps {
|
|
|
32
33
|
dataComponentLookup: Record<string, DataComponent>;
|
|
33
34
|
artifactComponentLookup: Record<string, ArtifactComponent>;
|
|
34
35
|
selectedToolsLookup: Record<string, Record<string, string[]>>;
|
|
36
|
+
agentToolConfigLookup: AgentToolConfigLookup;
|
|
35
37
|
toolLookup: Record<string, MCPTool>;
|
|
36
38
|
}
|
|
37
39
|
|
|
@@ -44,6 +46,7 @@ export function SidePane({
|
|
|
44
46
|
dataComponentLookup,
|
|
45
47
|
artifactComponentLookup,
|
|
46
48
|
selectedToolsLookup,
|
|
49
|
+
agentToolConfigLookup,
|
|
47
50
|
toolLookup,
|
|
48
51
|
}: SidePaneProps) {
|
|
49
52
|
const selectedNode = useNodesData(selectedNodeId || '');
|
|
@@ -114,6 +117,7 @@ export function SidePane({
|
|
|
114
117
|
<MCPServerNodeEditor
|
|
115
118
|
selectedNode={selectedNode as Node<MCPNodeData>}
|
|
116
119
|
selectedToolsLookup={selectedToolsLookup}
|
|
120
|
+
agentToolConfigLookup={agentToolConfigLookup}
|
|
117
121
|
toolLookup={toolLookup}
|
|
118
122
|
/>
|
|
119
123
|
);
|
|
@@ -135,6 +139,7 @@ export function SidePane({
|
|
|
135
139
|
getFieldErrorMessage,
|
|
136
140
|
getFirstErrorField,
|
|
137
141
|
selectedToolsLookup,
|
|
142
|
+
agentToolConfigLookup,
|
|
138
143
|
toolLookup,
|
|
139
144
|
]);
|
|
140
145
|
|
|
@@ -236,6 +236,7 @@ describe('serializeGraphData', () => {
|
|
|
236
236
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
237
237
|
toolId: 'mcp1',
|
|
238
238
|
toolSelection: ['tool1', 'tool2'],
|
|
239
|
+
headers: {},
|
|
239
240
|
});
|
|
240
241
|
});
|
|
241
242
|
|
|
@@ -281,6 +282,7 @@ describe('serializeGraphData', () => {
|
|
|
281
282
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
282
283
|
toolId: 'mcp1',
|
|
283
284
|
toolSelection: null,
|
|
285
|
+
headers: {},
|
|
284
286
|
});
|
|
285
287
|
});
|
|
286
288
|
|
|
@@ -324,6 +326,7 @@ describe('serializeGraphData', () => {
|
|
|
324
326
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
325
327
|
toolId: 'mcp1',
|
|
326
328
|
toolSelection: [],
|
|
329
|
+
headers: {},
|
|
327
330
|
});
|
|
328
331
|
});
|
|
329
332
|
|
|
@@ -410,6 +413,7 @@ describe('serializeGraphData', () => {
|
|
|
410
413
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
411
414
|
toolId: 'mcp1',
|
|
412
415
|
toolSelection: null, // null means all tools are selected
|
|
416
|
+
headers: {},
|
|
413
417
|
});
|
|
414
418
|
});
|
|
415
419
|
});
|
|
@@ -162,7 +162,7 @@ export function deserializeGraphData(data: FullGraphDefinition): TransformResult
|
|
|
162
162
|
? { stepCountIs: internalAgent.stopWhen.stepCountIs }
|
|
163
163
|
: undefined,
|
|
164
164
|
type: agent.type,
|
|
165
|
-
// Convert canUse back to tools
|
|
165
|
+
// Convert canUse back to tools, selectedTools, headers for UI
|
|
166
166
|
tools: internalAgent.canUse ? internalAgent.canUse.map((item) => item.toolId) : [],
|
|
167
167
|
selectedTools: internalAgent.canUse
|
|
168
168
|
? internalAgent.canUse.reduce(
|
|
@@ -175,6 +175,17 @@ export function deserializeGraphData(data: FullGraphDefinition): TransformResult
|
|
|
175
175
|
{} as Record<string, string[]>
|
|
176
176
|
)
|
|
177
177
|
: undefined,
|
|
178
|
+
headers: internalAgent.canUse
|
|
179
|
+
? internalAgent.canUse.reduce(
|
|
180
|
+
(acc, item) => {
|
|
181
|
+
if (item.headers) {
|
|
182
|
+
acc[item.toolId] = item.headers;
|
|
183
|
+
}
|
|
184
|
+
return acc;
|
|
185
|
+
},
|
|
186
|
+
{} as Record<string, Record<string, string>>
|
|
187
|
+
)
|
|
188
|
+
: undefined,
|
|
178
189
|
};
|
|
179
190
|
})();
|
|
180
191
|
|
|
@@ -4,6 +4,7 @@ import type { A2AEdgeData } from '@/components/graph/configuration/edge-types';
|
|
|
4
4
|
import { EdgeType } from '@/components/graph/configuration/edge-types';
|
|
5
5
|
import type { GraphMetadata } from '@/components/graph/configuration/graph-types';
|
|
6
6
|
import { NodeType } from '@/components/graph/configuration/node-types';
|
|
7
|
+
import type { AgentToolConfigLookup } from '@/components/graph/graph';
|
|
7
8
|
import type { ArtifactComponent } from '@/lib/api/artifact-components';
|
|
8
9
|
import type { DataComponent } from '@/lib/api/data-components';
|
|
9
10
|
import type { FullGraphDefinition } from '@/lib/types/graph-full';
|
|
@@ -86,7 +87,7 @@ export function serializeGraphData(
|
|
|
86
87
|
metadata?: GraphMetadata,
|
|
87
88
|
dataComponentLookup?: Record<string, DataComponent>,
|
|
88
89
|
artifactComponentLookup?: Record<string, ArtifactComponent>,
|
|
89
|
-
|
|
90
|
+
agentToolConfigLookup?: AgentToolConfigLookup
|
|
90
91
|
): FullGraphDefinition {
|
|
91
92
|
const agents: Record<string, ExtendedAgent> = {};
|
|
92
93
|
// Note: Tools are now project-scoped and not included in graph serialization
|
|
@@ -113,7 +114,11 @@ export function serializeGraphData(
|
|
|
113
114
|
const stopWhen = (node.data as any).stopWhen;
|
|
114
115
|
|
|
115
116
|
// Build canUse array from edges connecting this agent to MCP nodes
|
|
116
|
-
const canUse: Array<{
|
|
117
|
+
const canUse: Array<{
|
|
118
|
+
toolId: string;
|
|
119
|
+
toolSelection?: string[] | null;
|
|
120
|
+
headers?: Record<string, string>;
|
|
121
|
+
}> = [];
|
|
117
122
|
|
|
118
123
|
// Find edges from this agent to MCP nodes
|
|
119
124
|
const agentToMcpEdges = edges.filter(
|
|
@@ -142,22 +147,38 @@ export function serializeGraphData(
|
|
|
142
147
|
}
|
|
143
148
|
} else {
|
|
144
149
|
// No changes made to tool selection - preserve existing selection
|
|
145
|
-
if (
|
|
146
|
-
selectedToolsLookup &&
|
|
147
|
-
selectedToolsLookup[agentId] &&
|
|
148
|
-
selectedToolsLookup[agentId][toolId] !== undefined
|
|
149
|
-
) {
|
|
150
|
+
if (agentToolConfigLookup?.[agentId]?.[toolId]?.toolSelection) {
|
|
150
151
|
// Get existing selection from saved data
|
|
151
|
-
toolSelection =
|
|
152
|
+
toolSelection = agentToolConfigLookup[agentId][toolId].toolSelection;
|
|
152
153
|
} else {
|
|
153
154
|
// Default to all tools selected when no existing data found
|
|
154
155
|
toolSelection = null;
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
|
|
159
|
+
const tempHeaders = (mcpNode.data as any).tempHeaders;
|
|
160
|
+
let toolHeaders: Record<string, string> = {};
|
|
161
|
+
|
|
162
|
+
if (tempHeaders !== undefined) {
|
|
163
|
+
if (
|
|
164
|
+
typeof tempHeaders === 'object' &&
|
|
165
|
+
tempHeaders !== null &&
|
|
166
|
+
!Array.isArray(tempHeaders)
|
|
167
|
+
) {
|
|
168
|
+
toolHeaders = tempHeaders;
|
|
169
|
+
}
|
|
170
|
+
} else {
|
|
171
|
+
// No changes made to headers - preserve existing headers
|
|
172
|
+
if (agentToolConfigLookup?.[agentId]?.[toolId]?.headers) {
|
|
173
|
+
// Get existing headers from saved data
|
|
174
|
+
toolHeaders = agentToolConfigLookup[agentId][toolId].headers;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
158
178
|
canUse.push({
|
|
159
179
|
toolId,
|
|
160
180
|
toolSelection,
|
|
181
|
+
headers: toolHeaders,
|
|
161
182
|
});
|
|
162
183
|
}
|
|
163
184
|
}
|