@inkeep/agents-manage-ui 0.6.6 → 0.7.1
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 +68 -68
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +2 -2
- 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 +2 -2
- 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.js.nft.json +1 -1
- 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 +2 -2
- 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.js.nft.json +1 -1
- 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 +1 -1
- 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.js.nft.json +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +3 -3
- 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 +3 -3
- 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 +1 -1
- 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 +9 -9
- 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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2124.js +13 -13
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2184.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/3645.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{3793.js → 4370.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/6726.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{7067.js → 6992.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8389.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{4108.js → 9772.js} +11 -11
- 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/{7232-63c17ffc2737968a.js → 1016-065c7c4004850849.js} +13 -13
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-b90b21b559925fc6.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6705-978d47db41063bdb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6709-d1f3493d1e80cb0e.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-8d05e2e8db9def49.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{4931-1291b39db1c5dedf.js → 8675-4c7d3c3828d84535.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-79109cbb97bd2fe5.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/{page-ac2f8091f8a53342.js → page-c0ed5ffd69a57af5.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/{page-ac2f8091f8a53342.js → page-c0ed5ffd69a57af5.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/{page-e3e9163c148c1239.js → page-40d1360e37d37109.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-7d5dcfc0e775458a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ad3217b28b09b5a5.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-0ef881f4f392086a.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/{page-876f0c019187591d.js → page-e7239c0637ac7efa.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-736bec9f0541e08f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-736bec9f0541e08f.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/{page-e289128665acffb1.js → page-21d8913c3297829c.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/[graphId]/{page-b574c5e1d3df7e73.js → page-83f03615dc11014b.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/new/{page-95c13c0305dfddfb.js → page-da8ddb54272917ab.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{page-e89edd98413b78a4.js → page-8ace8753502148be.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-6ffb17fc6301b481.js → page-02feacd52d06239a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-aa753859a6cd98f8.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-539caba402ab546f.js → page-a393f3437852e5f9.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-5c0b6a43b3000e09.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-8731d2271ec07d33.js → page-8be4791ce624489e.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-555f353076460fa9.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-544544e7fd94b1de.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-48d40ad8a53bfc9b.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/css/98c416ff19152db0.css +1 -0
- package/.next/standalone/agents-manage-ui/package.json +2 -2
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +5 -5
- package/src/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page.tsx +12 -12
- package/src/components/credentials/credential-tools-list.tsx +0 -25
- package/src/components/graph/configuration/node-types.tsx +6 -2
- package/src/components/graph/graph.tsx +66 -8
- package/src/components/graph/nodes/mcp-node.tsx +6 -11
- package/src/components/graph/sidepane/nodes/mcp-node-editor.tsx +69 -68
- package/src/components/graph/sidepane/nodes/mcp-selector/mcp-selector.tsx +44 -44
- package/src/components/graph/sidepane/sidepane.tsx +5 -0
- package/src/components/mcp-servers/form/mcp-server-form.tsx +47 -46
- package/src/components/mcp-servers/mcp-tool-item.tsx +3 -0
- package/src/components/mcp-servers/view-mcp-server-details.tsx +76 -37
- package/src/components/ui/copyable-multi-line-code.tsx +17 -0
- package/src/features/graph/domain/__tests__/serialize.test.ts +21 -51
- package/src/features/graph/domain/deserialize.ts +5 -26
- package/src/features/graph/domain/serialize.ts +56 -52
- package/src/lib/api/tools.ts +2 -92
- package/src/lib/utils/orphaned-tools-detector.ts +145 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/241.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3995.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6300.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6838.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9435.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/1984-b89ef6de05884930.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-1503999d28bd793b.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-0892927ad1317753.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/9202-65ce376d47468b8c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-b12544e5422bb5f5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-188cdc82aa6e4bc3.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-a45222825f0acc29.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-1952e6ae0b259e5e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-b945a6e458056f00.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-b945a6e458056f00.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/page-190351c7f4b5d2f8.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/page-f819dadc0a6d3e17.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-d48cbe5a8a533023.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-39ca81e212d9fe4a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-46ffc47ebd7010d6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/css/70e9093ef73fbe1b.css +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{rTyWV-dnM3YFFcXfKZYFu → vo7pWHFkBgZcQOQOKotiJ}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{rTyWV-dnM3YFFcXfKZYFu → vo7pWHFkBgZcQOQOKotiJ}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exports.id=2124,exports.ids=[2124],exports.modules={88:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>{let[b,c]=a.name.split("::");return{type:b,name:c}}},1980:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(82058);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Graphs"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Graphs",description:i.FZ}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},14053:(a,b,c)=>{"use strict";c.d(b,{$:()=>h,F:()=>g});var d=c(59111),e=c(71024),f=c(42723);function g({className:a,children:b,...c}){return(0,d.jsxs)(e.bL,{"data-slot":"scroll-area",className:(0,f.cn)("relative",a),...c,children:[(0,d.jsx)(e.LM,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:b}),(0,d.jsx)(h,{}),(0,d.jsx)(e.OK,{})]})}function h({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(e.VM,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,f.cn)("flex touch-none p-px transition-colors select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(e.lr,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},14417:(a,b,c)=>{Promise.resolve().then(c.bind(c,59937)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},24145:(a,b,c)=>{Promise.resolve().then(c.bind(c,97010)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},24703:(a,b,c)=>{"use strict";c.d(b,{S:()=>h});var d=c(59111),e=c(51006),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},38224:(a,b,c)=>{"use strict";c.d(b,{BW:()=>m,Wy:()=>k,XL:()=>i,YU:()=>j,ai:()=>n,iu:()=>g,xl:()=>h,zp:()=>l});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50,h){(0,f.M2)(a),(0,f.nt)(b);let i=new URLSearchParams({page:c.toString(),limit:d.toString()});return h&&i.append("status",h),(await (0,e.J)(`tenants/${a}/projects/${b}/tools?${i}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}async function l(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}/health-check`,{method:"POST"})).data}async function m(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}/available-tools`)).data}async function n(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}/sync`,{method:"POST"})).data}(0,c(95454).D)([g,h,i,j,k,l,m,n]),(0,d.A)(g,"7cf50623a70828b93d4c0e24b59e3cf705ac251d07",null),(0,d.A)(h,"70e44b70b3ac5ba360da0f946c0234b40f0e4c1fce",null),(0,d.A)(i,"706d244b77116e74687b306c9b0bff113dd35b7404",null),(0,d.A)(j,"78d610d0f74ec78e7a3bba4836295a8695a0aff764",null),(0,d.A)(k,"70549c34e743227f52a08857692c66f1772aa44480",null),(0,d.A)(l,"7031748bfdeefb1858e800df3199bbd2bc90223a31",null),(0,d.A)(m,"7084834858b744036d73947b881ffbc7e9669ac54b",null),(0,d.A)(n,"70d3997f89872e74536b15ed9bcc3e455aec1a87d0",null)},38416:(a,b,c)=>{"use strict";c.d(b,{u:()=>j});var d=c(59111),e=c(75116),f=c(24146),g=c(14450),h=c(42723),i=c(73913);function j({imageUrl:a,name:b,provider:c,size:j=24,className:k}){let[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!0);return!a||l?c?(0,d.jsx)(i.r,{provider:c,size:j,className:k}):(0,d.jsx)(e.A,{className:(0,h.cn)("text-muted-foreground",k),style:{width:j,height:j}}):a.startsWith("data:image/")?(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain",k),onError:()=>m(!0)}):(0,d.jsxs)("div",{className:(0,h.cn)("relative",k),style:{width:j,height:j},children:[n&&c&&(0,d.jsx)(i.r,{provider:c,size:j,className:"absolute inset-0"}),(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain transition-opacity duration-200",n?"opacity-0":"opacity-100"),onError:()=>{m(!0),o(!1)},onLoad:()=>o(!1),unoptimized:!0})]})}},40780:(a,b,c)=>{"use strict";c.d(b,{EN:()=>i,Z3:()=>g,df:()=>j,nD:()=>k,sO:()=>h});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...d.data,props:d.data.props||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"60bcfbe170a75175ccec147457fae5a98aa771aa93",null),(0,d.A)(h,"708bc2b53d1a50dd19bbd24763f7d4e44408a4d537",null),(0,d.A)(i,"70a63106320a4755be1146de290f8b69875d2af2bc",null),(0,d.A)(j,"70a799de62a33c491c9eb0a2d19e32fa426345449c",null),(0,d.A)(k,"7054ad63e8647b6645f256dec1d2824a89709a0a6b",null)},50727:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7cf50623a70828b93d4c0e24b59e3cf705ac251d07",d.callServer,void 0,d.findSourceMapURL,"fetchMCPTools")},52059:(a,b,c)=>{"use strict";c.d(b,{Q:()=>h,o:()=>i});var d=c(1274);c(2082);var e=c(70839),f=c(38224),g=c(67175);async function h(a,b){try{let c=await (0,f.iu)(a,b);return{success:!0,data:c}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{return await (0,f.Wy)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/mcp-servers`),(0,e.revalidatePath)(`/${a}/projects/${b}/mcp-servers/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i]),(0,d.A)(h,"6051639002144833384d0cb0ee38509352a3fd9778",null),(0,d.A)(i,"70cb1b07d27dd16f19c2938ae7c23bc9b956d96097",null)},54998:(a,b,c)=>{"use strict";function d({availableTools:a,activeTools:b}){if(a)return b?a.filter(a=>b.includes(a.name)):a}c.d(b,{O:()=>d})},58023:(a,b,c)=>{Promise.resolve().then(c.bind(c,64418))},59937:(a,b,c)=>{"use strict";c.d(b,{Graph:()=>b$});var d=c(59111),e=c(95042),f=c(59739),g=c(6461),h=c(485),i=c(14450),j=c(68156);class k{execute(a){a.execute(),this.txBuffer?this.txBuffer.push(a):(this.undoStack.push(a),this.redoStack=[])}undo(){let a=this.undoStack.pop();a&&(a.undo(),this.redoStack.push(a))}redo(){let a=this.redoStack.pop();a&&(a.execute(),this.undoStack.push(a))}beginTransaction(){this.txBuffer||(this.txBuffer=[])}commitTransaction(a="Batch"){if(!this.txBuffer||0===this.txBuffer.length){this.txBuffer=null;return}let b=this.txBuffer.slice();this.txBuffer=null,this.undoStack.push({name:a,execute(){for(let a of b)a.execute()},undo(){for(let a of[...b].reverse())a.undo()}}),this.redoStack=[]}cancelTransaction(){if(this.txBuffer){for(let a of[...this.txBuffer].reverse())a.undo();this.txBuffer=null}}constructor(){this.undoStack=[],this.redoStack=[],this.txBuffer=null}}let l=new k;var m=c(20266),n=c(44374);function o({id:a,sourceX:b,sourceY:c,targetX:g,targetY:h,sourcePosition:i,targetPosition:j,label:k,selected:l,markerEnd:m}){let[n]=(0,f.Fp)({sourceX:b,sourceY:c,sourcePosition:i,targetX:g,targetY:h,targetPosition:j});return(0,d.jsx)(e.tE,{id:a,path:n,label:k,markerEnd:m,style:{strokeWidth:2},className:`${l?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`})}var p=c(27218),q=function(a){return a.A2A="a2a",a.A2AExternal="a2a-external",a.Default="default",a.SelfLoop="self-loop",a}({});let r={a2a:function({sourceX:a,sourceY:b,targetX:c,targetY:g,sourcePosition:h,targetPosition:i,data:j,selected:k}){let l=j?.relationships||{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!1},o=l.delegateTargetToSource||l.delegateSourceToTarget,p=l.transferTargetToSource||l.transferSourceToTarget,q=d=>{let e=c-a,j=g-b,k=Math.sqrt(e*e+j*j),l=-(j/k)*d,m=e/k*d;return(0,f.Fp)({sourceX:a+l,sourceY:b+m,targetX:c+l,targetY:g+m,targetPosition:i,sourcePosition:h})},[r,s,t]=(0,f.Fp)({sourceX:a,sourceY:b,targetX:c,targetY:g,targetPosition:i,sourcePosition:h}),u=null,v=l.transferSourceToTarget||l.delegateSourceToTarget,w=l.transferTargetToSource||l.delegateTargetToSource;v&&w?u=m.A:p?u=n.A:o&&(u=n.A);let x=a=>a?"url(#marker-selected)":"url(#marker-default)",y=p&&l.transferTargetToSource?x(!!k):void 0,z=p&&l.transferSourceToTarget?x(!!k):void 0,A=o&&l.delegateTargetToSource?x(!!k):void 0,B=o&&l.delegateSourceToTarget?x(!!k):void 0;return(0,d.jsxs)(d.Fragment,{children:[p&&(0,d.jsx)(e.tE,{className:`${k?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:o?q(-3)[0]:r,style:{strokeWidth:2},markerEnd:z,markerStart:y}),o&&(0,d.jsx)(e.tE,{className:`${k?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:p?q(3)[0]:r,style:{strokeDasharray:"5,5",strokeWidth:2},markerEnd:B,markerStart:A}),u&&(0,d.jsx)(e.rV,{children:(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${s}px,${t}px)`,pointerEvents:"none"},children:(0,d.jsx)("div",{className:"w-6 h-6 bg-background border rounded-full flex items-center justify-center border-border",children:(0,d.jsx)(u,{className:"w-3 h-3 text-muted-foreground"})})})})]})},default:o,"a2a-external":o,"self-loop":function({source:a,data:b,selected:c}){let f=(0,e.Pj)(b=>b.nodes.find(b=>b.id===a));if(!f)return null;let g=b?.relationships||{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!1},h=g.delegateTargetToSource||g.delegateSourceToTarget,i=g.transferTargetToSource||g.transferSourceToTarget,j=f.position.x,k=f.position.y,l=f.width||300,m=f.height||150,n=j+l/2,o=k+m/2,q=n+l/2,r=o-10,s=n+l/2,t=o+10,u=`
|
|
1
|
+
exports.id=2124,exports.ids=[2124],exports.modules={88:(a,b,c)=>{"use strict";c.d(b,{T:()=>d});let d=a=>{let[b,c]=a.name.split("::");return{type:b,name:c}}},1980:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j});var d=c(72669),e=c(17932),f=c(96737),g=c(39885),h=c(3687),i=c(82058);function j(){return(0,d.jsx)(e.H,{breadcrumbs:[{label:"Graphs"}],children:(0,d.jsxs)(f.D,{children:[(0,d.jsx)(g.zY,{title:"Graphs",description:i.FZ}),(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3 md:gap-4",children:Array.from({length:6}).map((a,b)=>(0,d.jsx)(h.E,{className:"h-36 w-full rounded-lg"},`loading-skeleton-${b}`))})]})})}},14053:(a,b,c)=>{"use strict";c.d(b,{$:()=>h,F:()=>g});var d=c(59111),e=c(71024),f=c(42723);function g({className:a,children:b,...c}){return(0,d.jsxs)(e.bL,{"data-slot":"scroll-area",className:(0,f.cn)("relative",a),...c,children:[(0,d.jsx)(e.LM,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:b}),(0,d.jsx)(h,{}),(0,d.jsx)(e.OK,{})]})}function h({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(e.VM,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,f.cn)("flex touch-none p-px transition-colors select-none","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(e.lr,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}},14417:(a,b,c)=>{Promise.resolve().then(c.bind(c,60981)),Promise.resolve().then(c.bind(c,24003)),Promise.resolve().then(c.bind(c,19603)),Promise.resolve().then(c.t.bind(c,61678,23))},24145:(a,b,c)=>{Promise.resolve().then(c.bind(c,97010)),Promise.resolve().then(c.bind(c,97633)),Promise.resolve().then(c.bind(c,80248)),Promise.resolve().then(c.t.bind(c,93520,23))},24703:(a,b,c)=>{"use strict";c.d(b,{S:()=>h});var d=c(59111),e=c(51006),f=c(39108),g=c(42723);function h({className:a,...b}){return(0,d.jsx)(e.bL,{"data-slot":"checkbox",className:(0,g.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...b,children:(0,d.jsx)(e.C1,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:(0,d.jsx)(f.A,{className:"size-3.5"})})})}},30365:(a,b,c)=>{"use strict";c.d(b,{r:()=>g});var d=c(59111),e=c(71682),f=c(14053);function g({code:a}){return(0,d.jsx)("div",{className:"flex items-center gap-2 relative bg-muted/50 dark:bg-muted/30 rounded-md border",children:(0,d.jsxs)(f.F,{dir:"ltr",className:"w-full",children:[(0,d.jsx)("pre",{className:"text-sm text-foreground/90 px-3 pr-8 py-2 font-mono",children:a}),(0,d.jsx)(e.i,{className:"absolute right-1 top-1/2 -translate-y-1/2",textToCopy:a}),(0,d.jsx)(f.$,{orientation:"horizontal"})]})})}},38224:(a,b,c)=>{"use strict";c.d(b,{Wy:()=>k,XL:()=>i,YU:()=>j,iu:()=>g,xl:()=>h});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50,h){(0,f.M2)(a),(0,f.nt)(b);let i=new URLSearchParams({page:c.toString(),limit:d.toString()});return h&&i.append("status",h),(await (0,e.J)(`tenants/${a}/projects/${b}/tools?${i}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`)).data}async function i(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools`,{method:"POST",body:JSON.stringify(c)})).data}async function j(a,b,c,d){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"PUT",body:JSON.stringify(d)})).data}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/tools/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"7c1dbab6d100244531f9b83369ff25eef5a556104a",null),(0,d.A)(h,"709871958f492409ba50f404723414d5fc38035f58",null),(0,d.A)(i,"708909a5bb930ab476041551f7b9800d98917d0d83",null),(0,d.A)(j,"7837bcd6c0f68f97330ca60d418191f9df67674bb0",null),(0,d.A)(k,"70b168eeb3857b833dbc95e5d10c4b4b2ed8194ec1",null)},38416:(a,b,c)=>{"use strict";c.d(b,{u:()=>j});var d=c(59111),e=c(75116),f=c(24146),g=c(14450),h=c(42723),i=c(73913);function j({imageUrl:a,name:b,provider:c,size:j=24,className:k}){let[l,m]=(0,g.useState)(!1),[n,o]=(0,g.useState)(!0);return!a||l?c?(0,d.jsx)(i.r,{provider:c,size:j,className:k}):(0,d.jsx)(e.A,{className:(0,h.cn)("text-muted-foreground",k),style:{width:j,height:j}}):a.startsWith("data:image/")?(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain",k),onError:()=>m(!0)}):(0,d.jsxs)("div",{className:(0,h.cn)("relative",k),style:{width:j,height:j},children:[n&&c&&(0,d.jsx)(i.r,{provider:c,size:j,className:"absolute inset-0"}),(0,d.jsx)(f.default,{src:a,alt:b,width:j,height:j,className:(0,h.cn)("object-contain transition-opacity duration-200",n?"opacity-0":"opacity-100"),onError:()=>{m(!0),o(!1)},onLoad:()=>o(!1),unoptimized:!0})]})}},40780:(a,b,c)=>{"use strict";c.d(b,{EN:()=>i,Z3:()=>g,df:()=>j,nD:()=>k,sO:()=>h});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`);return{...c,data:c.data.map(a=>({...a,props:a.props||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`);return{...d.data,props:d.data.props||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,props:d.data.props||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/data-components/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"602e616f4afa903685e57882b0239dac23cbb87231",null),(0,d.A)(h,"70ddb2dda98120d85525f45af7c0ca93c376e3b5ed",null),(0,d.A)(i,"702fa8efa9e7c781f09527f501b38a0fb0fc2f5bff",null),(0,d.A)(j,"7029670b651ce7cba28bba639b5c6eefd271367133",null),(0,d.A)(k,"7009087bdd4a2fcfd6a67c7af7dcdc768ab36f5633",null)},52059:(a,b,c)=>{"use strict";c.d(b,{Q:()=>h,o:()=>i});var d=c(1274);c(2082);var e=c(70839),f=c(38224),g=c(67175);async function h(a,b){try{let c=await (0,f.iu)(a,b);return{success:!0,data:c}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{return await (0,f.Wy)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/mcp-servers`),(0,e.revalidatePath)(`/${a}/projects/${b}/mcp-servers/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i]),(0,d.A)(h,"600a62bf75b7abe3a6c6ab8dc320dc8d458dbdc8a6",null),(0,d.A)(i,"708efb94e0bf08fe8921cd172a99edc61be1c94885",null)},54998:(a,b,c)=>{"use strict";function d({availableTools:a,activeTools:b}){if(a)return b?a.filter(a=>b.includes(a.name)):a}c.d(b,{O:()=>d})},58023:(a,b,c)=>{Promise.resolve().then(c.bind(c,64418))},60981:(a,b,c)=>{"use strict";c.d(b,{Graph:()=>b_});var d=c(59111),e=c(95042),f=c(59739),g=c(6461),h=c(485),i=c(14450),j=c(68156);class k{execute(a){a.execute(),this.txBuffer?this.txBuffer.push(a):(this.undoStack.push(a),this.redoStack=[])}undo(){let a=this.undoStack.pop();a&&(a.undo(),this.redoStack.push(a))}redo(){let a=this.redoStack.pop();a&&(a.execute(),this.undoStack.push(a))}beginTransaction(){this.txBuffer||(this.txBuffer=[])}commitTransaction(a="Batch"){if(!this.txBuffer||0===this.txBuffer.length){this.txBuffer=null;return}let b=this.txBuffer.slice();this.txBuffer=null,this.undoStack.push({name:a,execute(){for(let a of b)a.execute()},undo(){for(let a of[...b].reverse())a.undo()}}),this.redoStack=[]}cancelTransaction(){if(this.txBuffer){for(let a of[...this.txBuffer].reverse())a.undo();this.txBuffer=null}}constructor(){this.undoStack=[],this.redoStack=[],this.txBuffer=null}}let l=new k;var m=c(20266),n=c(44374);function o({id:a,sourceX:b,sourceY:c,targetX:g,targetY:h,sourcePosition:i,targetPosition:j,label:k,selected:l,markerEnd:m}){let[n]=(0,f.Fp)({sourceX:b,sourceY:c,sourcePosition:i,targetX:g,targetY:h,targetPosition:j});return(0,d.jsx)(e.tE,{id:a,path:n,label:k,markerEnd:m,style:{strokeWidth:2},className:`${l?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`})}var p=c(27218),q=function(a){return a.A2A="a2a",a.A2AExternal="a2a-external",a.Default="default",a.SelfLoop="self-loop",a}({});let r={a2a:function({sourceX:a,sourceY:b,targetX:c,targetY:g,sourcePosition:h,targetPosition:i,data:j,selected:k}){let l=j?.relationships||{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!1},o=l.delegateTargetToSource||l.delegateSourceToTarget,p=l.transferTargetToSource||l.transferSourceToTarget,q=d=>{let e=c-a,j=g-b,k=Math.sqrt(e*e+j*j),l=-(j/k)*d,m=e/k*d;return(0,f.Fp)({sourceX:a+l,sourceY:b+m,targetX:c+l,targetY:g+m,targetPosition:i,sourcePosition:h})},[r,s,t]=(0,f.Fp)({sourceX:a,sourceY:b,targetX:c,targetY:g,targetPosition:i,sourcePosition:h}),u=null,v=l.transferSourceToTarget||l.delegateSourceToTarget,w=l.transferTargetToSource||l.delegateTargetToSource;v&&w?u=m.A:p?u=n.A:o&&(u=n.A);let x=a=>a?"url(#marker-selected)":"url(#marker-default)",y=p&&l.transferTargetToSource?x(!!k):void 0,z=p&&l.transferSourceToTarget?x(!!k):void 0,A=o&&l.delegateTargetToSource?x(!!k):void 0,B=o&&l.delegateSourceToTarget?x(!!k):void 0;return(0,d.jsxs)(d.Fragment,{children:[p&&(0,d.jsx)(e.tE,{className:`${k?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:o?q(-3)[0]:r,style:{strokeWidth:2},markerEnd:z,markerStart:y}),o&&(0,d.jsx)(e.tE,{className:`${k?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:p?q(3)[0]:r,style:{strokeDasharray:"5,5",strokeWidth:2},markerEnd:B,markerStart:A}),u&&(0,d.jsx)(e.rV,{children:(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${s}px,${t}px)`,pointerEvents:"none"},children:(0,d.jsx)("div",{className:"w-6 h-6 bg-background border rounded-full flex items-center justify-center border-border",children:(0,d.jsx)(u,{className:"w-3 h-3 text-muted-foreground"})})})})]})},default:o,"a2a-external":o,"self-loop":function({source:a,data:b,selected:c}){let f=(0,e.Pj)(b=>b.nodes.find(b=>b.id===a));if(!f)return null;let g=b?.relationships||{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!1},h=g.delegateTargetToSource||g.delegateSourceToTarget,i=g.transferTargetToSource||g.transferSourceToTarget,j=f.position.x,k=f.position.y,l=f.width||300,m=f.height||150,n=j+l/2,o=k+m/2,q=n+l/2,r=o-10,s=n+l/2,t=o+10,u=`
|
|
2
2
|
M ${q} ${r}
|
|
3
3
|
C ${q+80} ${r-40},
|
|
4
4
|
${s+80} ${t+40},
|
|
@@ -8,7 +8,7 @@ exports.id=2124,exports.ids=[2124],exports.modules={88:(a,b,c)=>{"use strict";c.
|
|
|
8
8
|
C ${q+80-5} ${r-40-5},
|
|
9
9
|
${s+80-5} ${t+40+5},
|
|
10
10
|
${s-5} ${t}
|
|
11
|
-
`,w=a=>a?"url(#marker-selected)":"url(#marker-default)",x=i?w(!!c):void 0,y=h?w(!!c):void 0;return(0,d.jsxs)(d.Fragment,{children:[i&&(0,d.jsx)(e.tE,{className:`${c?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:u,style:{strokeWidth:2,fill:"none"},markerEnd:x}),h&&(0,d.jsx)(e.tE,{className:`${c?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:i?v:u,style:{strokeDasharray:"5,5",strokeWidth:2,fill:"none"},markerEnd:y}),(i||h)&&(0,d.jsx)(e.rV,{children:(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${n+l/2+40}px,${o-40}px)`,pointerEvents:"none"},children:(0,d.jsx)("div",{className:"w-6 h-6 bg-background border rounded-full flex items-center justify-center border-border",children:(0,d.jsx)(p.A,{className:"w-3 h-3 text-muted-foreground"})})})})]})}},s={a2a:{type:"a2a",name:"Agent connection",Icon:m.A}},t=[];var u=c(61688),v=c(68897);let w=(0,u.v)()((0,v.lt)((a,b)=>({nodes:[],edges:[],metadata:{id:void 0,name:"",description:"",contextConfig:{name:"",description:"",contextVariables:"",requestContextSchema:""},models:void 0,stopWhen:void 0,graphPrompt:void 0,statusUpdates:void 0},dataComponentLookup:{},artifactComponentLookup:{},dirty:!1,history:[],future:[],errors:null,showErrors:!1,setInitial(b,c,d,e={},f={}){a({nodes:b,edges:c,metadata:d,dataComponentLookup:e,artifactComponentLookup:f,dirty:!1,history:[],future:[],errors:null,showErrors:!1})},setDataComponentLookup(b){a({dataComponentLookup:b})},setArtifactComponentLookup(b){a({artifactComponentLookup:b})},setNodes(b){a(a=>({nodes:b(a.nodes)}))},setEdges(b){a(a=>({edges:b(a.edges)}))},push(b,c){a(a=>({history:[...a.history,{nodes:b,edges:c}],future:[]}))},onNodesChange(b){let c=b.some(a=>"remove"===a.type||"add"===a.type||"replace"===a.type||"position"===a.type);a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}],nodes:(0,e._0)(b,a.nodes),dirty:!!c||a.dirty}))},onEdgesChange(b){let c=b.some(a=>"remove"===a.type||"add"===a.type||"replace"===a.type);a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}]})),a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}],edges:(0,e.zW)(b,a.edges),dirty:!!c||a.dirty}))},onConnect(b){a(a=>({edges:(0,f.rN)(b,a.edges)}))},setMetadata(b,c){a(a=>({metadata:{...a.metadata,[b]:c}}))},undo(){let{history:c}=b();if(0===c.length)return;let d=c[c.length-1];a(a=>({nodes:d.nodes,edges:d.edges,history:a.history.slice(0,-1),future:[{nodes:a.nodes,edges:a.edges},...a.future],dirty:a.dirty}))},redo(){let{future:c}=b();if(0===c.length)return;let d=c[0];a(a=>({nodes:d.nodes,edges:d.edges,future:a.future.slice(1),history:[...a.history,{nodes:a.nodes,edges:a.edges}],dirty:a.dirty}))},markSaved(){a({dirty:!1})},markUnsaved(){a({dirty:!0})},clearSelection(){a(a=>({nodes:a.nodes.map(a=>({...a,selected:!1})),edges:a.edges.map(a=>({...a,selected:!1})),dirty:a.dirty}))},deleteSelected(){a(a=>{let b=new Set(a.nodes.filter(a=>a.selected&&(a.deletable??!0)).map(a=>a.id)),c=a.edges.filter(a=>!a.selected&&!b.has(a.source)&&!b.has(a.target)),d=a.nodes.filter(a=>!b.has(a.id));return{history:[...a.history,{nodes:a.nodes,edges:a.edges}],nodes:d,edges:c,dirty:!0}})},setErrors(b){a({errors:b,showErrors:null!==b})},clearErrors(){a({errors:null,showErrors:!1})},setShowErrors(b){a({showErrors:b})},hasErrors(){let{errors:a}=b();return null!==a&&a.totalErrors>0},getNodeErrors(a){let{errors:c}=b();return c&&c.nodeErrors[a]?c.nodeErrors[a]:[]},getEdgeErrors(a){let{errors:c}=b();return c&&c.edgeErrors[a]?c.edgeErrors[a]:[]}})));class x{on(a,b){let c=this.listeners.get(a)??[];return c.push(b),this.listeners.set(a,c),()=>this.off(a,b)}off(a,b){let c=this.listeners.get(a);if(!c)return;let d=c.filter(a=>a!==b);this.listeners.set(a,d)}emit(a,b){let c=this.listeners.get(a);if(c)for(let a of c)a(b)}constructor(){this.listeners=new Map}}let y=new x;class z{constructor(a){this.name="AddNode",this.node=a}execute(){let{setNodes:a}=w.getState();a(a=>a.concat(this.node))}undo(){let{setNodes:a}=w.getState();a(a=>a.filter(a=>a.id!==this.node.id))}}class A{constructor(a,b){this.name="AddPreparedEdge",this.edge=a,this.deselectOtherEdgesIfA2A=!!b?.deselectOtherEdgesIfA2A}execute(){let{setEdges:a,setNodes:b}=w.getState();this.edge.type===q.A2A&&b(a=>a.map(a=>({...a,selected:!1}))),a(a=>{if(a.some(a=>a.id===this.edge.id))return a;let b=this.deselectOtherEdgesIfA2A&&this.edge.type===q.A2A?a.map(a=>({...a,selected:!1})):a,c=(0,f.rN)(this.edge,b);return y.emit("edgeConnected",{edgeId:this.edge.id}),c})}undo(){let{setEdges:a}=w.getState(),b=this.edge.id;a(a=>a.filter(a=>a.id!==b))}}var B=c(15614),C=c(81809),D=c(10691),E=c(75116),F=c(47155),G=c(42659),H=c(9042),I=c(57560),J=c(17058),K=c(12463);function L(){let a=w(a=>a.errors),b=w(a=>a.showErrors),c=w(a=>a.hasErrors),d=w(a=>a.getNodeErrors),e=w(a=>a.getEdgeErrors),f=w(a=>a.setErrors),g=w(a=>a.clearErrors),h=w(a=>a.setShowErrors),j=a=>d(a).length,k=a=>e(a).length,l=(0,i.useCallback)(a=>{let b=d(a),c={};for(let a of b)c[a.field]||(c[a.field]=[]),c[a.field].push(a.message);return c},[d]),m=(0,i.useCallback)((a,b)=>b in l(a),[l]),n=(0,i.useCallback)((a,b)=>{let c=l(a);return c[b]?.[0]},[l]),o=(0,i.useCallback)(a=>{let b=d(a);return b[0]?.field},[d]);return{errors:a,showErrors:b,hasErrors:c(),getNodeErrors:d,getEdgeErrors:e,getNodeErrorCount:j,getEdgeErrorCount:k,hasNodeErrors:a=>j(a)>0,hasEdgeErrors:a=>k(a)>0,getFieldErrors:l,hasFieldError:m,getFieldErrorMessage:n,getFirstErrorField:o,setErrors:f,clearErrors:g,setShowErrors:h}}var M=c(437),N=c(37671);function O({errors:a,className:b=""}){if(0===a.length)return null;let c=(0,d.jsx)("div",{className:`backdrop-blur-sm flex items-center justify-center bg-red-100 dark:bg-red-950/50 border border-red-300 dark:border-red-700 rounded-full ${b}`,children:(0,d.jsx)(M.A,{className:"text-red-600 dark:text-red-400 w-3 h-3"})});return(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:c}),(0,d.jsx)(N.TooltipContent,{side:"top",className:"max-w-xs [--bg-color:var(--color-red-50)] dark:[--bg-color:var(--color-red-950)] border-red-200 dark:border-red-700 text-red-800 dark:text-red-300 bg-red-50 dark:bg-red-950/90",children:(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"font-medium",children:["Validation Error",a.length>1?"s":""]}),a.slice(0,3).map((a,b)=>(0,d.jsxs)("div",{className:"text-xs",children:[(0,d.jsxs)("span",{className:"font-medium",children:[a.field,":"]})," ",a.message]},b)),a.length>3&&(0,d.jsxs)("div",{className:"text-xs text-red-600 dark:text-red-400",children:["...and ",a.length-3," more error",a.length-3>1?"s":""]})]})})]})})}var P=c(42723);let Q=(0,i.forwardRef)(({className:a,isSelected:b,...c},e)=>(0,d.jsx)("div",{ref:e,className:(0,P.cn)("relative rounded-lg border bg-card text-card-foreground","hover:ring-2 hover:ring-gray-700/5",b&&"ring-2 ring-primary hover:ring-primary",a),...c}));Q.displayName="BaseNode";let R=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("header",{ref:c,...b,className:(0,P.cn)("mx-0 my-0 -mb-1 flex flex-row items-center justify-between gap-2 px-4 pt-4 pb-0",a)}));R.displayName="BaseNodeHeader";let S=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("h3",{ref:c,"data-slot":"base-node-title",className:(0,P.cn)("user-select-none flex-1 font-semibold text-sm truncate",a),...b}));S.displayName="BaseNodeHeaderTitle";let T=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,"data-slot":"base-node-content",className:(0,P.cn)("flex flex-col gap-y-2 p-4 text-foreground",a),...b}));function U({className:a,...b}){return(0,d.jsx)(e.h7,{...b,className:(0,P.cn)("!h-3 !w-3 !border-2 !border-border !bg-card dark:!bg-muted !shadow-sm",a)})}function V({selected:a,children:b}){return(0,d.jsx)("div",{className:(0,P.cn)(" px-2 py-0.5 rounded-t-md flex items-center gap-2 w-fit border border-b-0 font-medium font-mono text-xs uppercase",a?"bg-primary border-primary text-white ring-2 ring-primary":"bg-muted text-muted-foreground border-border"),children:b})}T.displayName="BaseNodeContent",(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,"data-slot":"base-node-footer",className:(0,P.cn)("flex flex-col items-center gap-y-2 border-t px-4 pb-4 pt-3",a),...b})).displayName="BaseNodeFooter";let W=({title:a,items:b,Icon:c})=>(0,d.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-start gap-2",children:[(0,d.jsx)(c,{className:"size-3 text-xs text-muted-foreground"}),(0,d.jsx)("div",{className:"text-xs uppercase font-mono text-muted-foreground",children:a})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:b?.map(a=>(0,d.jsx)(K.E,{className:"text-xs",variant:"code",children:a},a))})]});var X=c(38416),Y=c(88),Z=function(a){return a.Agent="agent",a.ExternalAgent="external-agent",a.MCP="mcp",a.MCPPlaceholder="mcp-placeholder",a}({});let $={agent:function(a){let{data:b,selected:c,id:e}=a,{name:g,isDefault:h,description:j,models:k}=b,l=k?.base?.model,m=w(a=>a.dataComponentLookup),n=w(a=>a.artifactComponentLookup),{getNodeErrors:o,hasNodeErrors:p}=L(),q=b.id||e,r=o(q),s=p(q),t=(0,i.useMemo)(()=>b?.dataComponents?.map(a=>m[a]?.name).filter(Boolean)||[],[b?.dataComponents,m]),u=(0,i.useMemo)(()=>b?.artifactComponents?.map(a=>n[a]?.name).filter(Boolean)||[],[b?.artifactComponents,n]);return(0,d.jsxs)("div",{className:"relative",children:[h?(0,d.jsx)(V,{selected:c,children:"Default"}):null,(0,d.jsxs)(Q,{isSelected:c,className:`${h?"rounded-tl-none":""} ${s?"ring-2 ring-red-300 border-red-300":""}`,style:{width:af},children:[(0,d.jsxs)(R,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(C.A,{className:"size-4 text-muted-foreground"}),(0,d.jsx)(S,{children:g||"Agent"})]}),(0,d.jsx)(K.E,{variant:"primary",className:"text-xs uppercase",children:"Agent"}),s&&(0,d.jsx)(O,{errors:r,className:"absolute -top-2 -right-2 w-6 h-6"})]}),(0,d.jsxs)(T,{children:[(0,d.jsx)("div",{className:`text-sm ${j?" text-muted-foreground":"text-muted-foreground/50"}`,children:j||"No description"}),k&&l?(0,d.jsxs)(K.E,{className:"text-xs max-w-full flex-1",variant:"code",children:[l?.startsWith("openai")?(0,d.jsx)(J.I,{className:"size-3 text-xs text-muted-foreground flex-shrink-0"}):l?.startsWith("anthropic")?(0,d.jsx)(H.S,{className:"size-3 text-xs flex-shrink-0"}):l?.startsWith("google")?(0,d.jsx)(I.A,{className:"size-3 text-xs flex-shrink-0"}):null,(0,d.jsx)("div",{className:"truncate w-full",children:l||""})]}):null,t?.length>0&&(0,d.jsx)(W,{title:"Data components",items:t,Icon:F.A}),u?.length>0&&(0,d.jsx)(W,{title:"Artifact components",items:u,Icon:G.A})]}),(0,d.jsx)(U,{id:ab,type:"source",position:f.yX.Top,isConnectable:!0}),(0,d.jsx)(U,{id:aa,type:"source",position:f.yX.Bottom,isConnectable:!0})]})]})},"external-agent":function(a){let{data:b,selected:c,id:e}=a,{name:g,description:h}=b,{getNodeErrors:i,hasNodeErrors:j}=L(),k=b.id||e,l=i(k),m=j(k);return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(V,{selected:c,children:"External"}),(0,d.jsxs)(Q,{isSelected:c,className:`rounded-tl-none ${m?"ring-2 ring-red-300 border-red-300":""}`,style:{width:af},children:[(0,d.jsxs)(R,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(D.A,{className:"size-4 text-muted-foreground"}),(0,d.jsx)(S,{children:g||"External agent"})]}),(0,d.jsx)(K.E,{variant:"primary",className:"text-xs uppercase",children:"Agent"}),m&&(0,d.jsx)(O,{errors:l,className:"absolute -top-2 -right-2 w-6 h-6"})]}),(0,d.jsx)(T,{children:(0,d.jsx)("div",{className:`text-sm ${h?" text-muted-foreground":"text-muted-foreground/50"}`,children:h||"No description"})}),(0,d.jsx)(U,{id:ac,type:"target",position:f.yX.Top,isConnectable:!0})]})]})},mcp:function(a){let{data:b,selected:c}=a,{name:e,imageUrl:g}=b,h=null;try{h=(0,Y.T)(b).type}catch(a){console.error(a)}return(0,d.jsxs)(Q,{isSelected:c,className:"rounded-full min-w-40 min-h-13 max-w-3xs flex items-center justify-center",children:[(0,d.jsxs)(R,{className:"mb-0 py-3",children:[(0,d.jsx)(X.u,{imageUrl:g,name:e,provider:h||void 0,size:24,className:"mt-[1px] flex-shrink-0"}),(0,d.jsx)(S,{children:e})]}),(0,d.jsx)(U,{id:_,type:"target",position:f.yX.Top,isConnectable:!0})]})},"mcp-placeholder":function(a){let{data:b,selected:c}=a,{name:e}=b;return(0,d.jsx)(Q,{isSelected:c,className:`rounded-full border-dashed min-w-40 min-h-13 flex items-center justify-center max-w-3xs ${c?"outline-dashed outline-2 outline-gray-700 hover:outline-gray-700 ring-0 hover:ring-0":""}`,children:(0,d.jsxs)(R,{className:"mb-0 py-3",children:[(0,d.jsx)(E.A,{className:"size-4 text-muted-foreground/65"}),(0,d.jsx)(S,{className:"text-muted-foreground",children:e})]})})}},_="target-mcp",aa="source-agent",ab="target-agent",ac="target-external-agent",ad={agent:{name:""},"external-agent":{name:""},mcp:{name:"MCP"},"mcp-placeholder":{name:"Select MCP server"}},ae={agent:{type:"agent",name:"Agent",Icon:C.A},"external-agent":{type:"external-agent",name:"External agent",Icon:D.A},"mcp-placeholder":{type:"mcp-placeholder",name:"MCP",Icon:E.A},mcp:{type:"mcp",name:"MCP",Icon:E.A}},af=300;function ag(a){let b=120;if(a.type===Z.Agent||a.type===Z.ExternalAgent){let c=a.data;c.description&&(b+=20),c.models?.base?.model&&(b+=30),c.dataComponents&&c.dataComponents.length>0&&(b+=60+30*Math.ceil(c.dataComponents.length/3)),c.artifactComponents&&c.artifactComponents.length>0&&(b+=60+30*Math.ceil(c.artifactComponents.length/3))}return a.type===Z.MCP&&(b=100),Math.max(b,150)}function ah(a){if(a)try{return JSON.parse(a)}catch(a){console.error("Error parsing JSON:",a);return}}var ai=c(22745);let aj=["graph","node","edge"];function ak(){let[a,b]=(0,ai.ab)({pane:(0,ai.M1)(aj),nodeId:ai.tU,edgeId:ai.tU});return{pane:a.pane,nodeId:a.nodeId,edgeId:a.edgeId,isOpen:!!a.pane,setQueryState:b,openGraphPane:()=>b({pane:"graph",nodeId:null,edgeId:null})}}var al=c(90147);let am=(0,al.createServerReference)("78c2fed6b9a263c69cd937f2207472b23be9382ac3",al.callServer,void 0,al.findSourceMapURL,"updateFullGraphAction"),an=(0,al.createServerReference)("70d821b538bfc07445fad91f759341a90dfb1f9c61",al.callServer,void 0,al.findSourceMapURL,"createFullGraphAction");async function ao(a,b,c,d){return d?am(a,b,d,c):an(a,b,c)}function ap(a,b){let c,d,e,f=[...b,...a.path],g="graph";"agents"===f[0]&&f[1]?(g="node",c=f[1]):"edges"===f[0]&&f[1]&&(g="edge",d=f[1]),e=a.path.join(".")||"configuration";let h=function(a,b,c){var d;let e="node"===c?"Agent":"edge"===c?"Connection":"Graph",f={instructions:"Instructions",projectId:"Project ID",baseUrl:"Host URL",name:"Name",description:"Description",model:"Model",temperature:"Temperature",maxTokens:"Max Tokens",systemPrompt:"System Prompt",tools:"Tools",dataComponents:"Data Components",artifactComponents:"Artifact Components",relationships:"Relationships",transferTargetToSource:"Transfer (Target to Source)",transferSourceToTarget:"Transfer (Source to Target)",delegateTargetToSource:"Delegate (Target to Source)",delegateSourceToTarget:"Delegate (Source to Target)",contextConfig:"Context Configuration",contextVariables:"Context Variables",requestContextSchema:"Request Context Schema"}[d=b]||d.replace(/([A-Z])/g," $1").replace(/^./,a=>a.toUpperCase());switch(a.code){case"invalid_type":if("string"===a.expected&&a.message.includes("undefined"))return`${e} is missing required field: ${f}`;return`${e} ${f} has invalid type. Expected ${a.expected}`;case"too_small":return`${e} ${f} is too short. Please provide a valid value`;case"invalid_enum_value":return`${e} ${f} has an invalid value. Please select a valid option`;case"invalid_union":if(b.includes("type")||a.message.includes("discriminator"))return`${e} type must be specified as either 'internal' or 'external'`;return`${e} configuration is incomplete. Please check all required fields`;default:return`${e} ${f}: ${a.message}`}}(a,e,g);return{type:g,nodeId:c,edgeId:d,field:e,message:h,fullPath:f,originalError:a}}var aq=c(67048),ar=c(60320),as=c(91740),at=c(41175),au=c(2856),av=c(71534),aw=c(38418);function ax({title:a,errors:b,icon:c,onNavigate:e,getItemLabel:f}){let[g,h]=(0,i.useState)(!1);if(0===b.length)return null;let j={};for(let a of b){let b=a.nodeId||a.edgeId||"general";j[b]||(j[b]=[]),j[b].push(a)}return(0,d.jsxs)(aw.Nt,{open:g,onOpenChange:h,children:[(0,d.jsx)(aw.R6,{asChild:!0,children:(0,d.jsx)(au.$,{variant:"ghost",className:"w-full justify-start p-1.5 h-auto",children:(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-red-600 dark:text-red-400 text-xs",children:[c,(0,d.jsxs)("span",{className:"font-medium",children:[a," (",b.length,")"]}),g?(0,d.jsx)(aq.A,{className:"w-3 h-3 ml-auto"}):(0,d.jsx)(ar.A,{className:"w-3 h-3 ml-auto"})]})})}),(0,d.jsx)(aw.Ke,{className:"space-y-3 pl-4 max-h-48 overflow-y-auto scrollbar-thin scrollbar-thumb-red-200 dark:scrollbar-thumb-red-800 scrollbar-track-transparent hover:scrollbar-thumb-red-300 dark:hover:scrollbar-thumb-red-700",children:Object.entries(j).map(([a,b])=>(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[f&&(0,d.jsx)("span",{className:"text-xs font-medium text-foreground truncate",children:f(b[0])}),e&&"general"!==a&&(0,d.jsx)(au.$,{size:"sm",variant:"outline",onClick:()=>e(a),className:"h-5 px-1.5 text-xs",children:"Go to"})]}),(0,d.jsx)("div",{className:"space-y-2",children:b.map((b,c)=>(0,d.jsxs)("div",{className:"text-xs text-red-700 dark:text-red-300 bg-red-50/90 dark:bg-red-950/40 p-2 rounded border border-red-200 dark:border-red-700",children:[(0,d.jsxs)("div",{className:"font-medium mb-1",children:[b.field,":"]}),(0,d.jsx)("div",{className:"text-xs leading-relaxed",children:b.message})]},`${a}-${c}`))})]},a))})]})}function ay({errorSummary:a,onClose:b,onNavigateToNode:c,onNavigateToEdge:e}){let{setQueryState:f}=ak(),g=Object.values(a.nodeErrors).flat(),h=Object.values(a.edgeErrors).flat(),i=a.graphErrors;return(0,d.jsxs)(av.Zp,{className:"border-red-200 dark:border-red-800 bg-red-50/50 dark:bg-red-950/30 backdrop-blur-sm shadow-xl gap-2 py-4 max-h-[80vh] animate-in slide-in-from-bottom-2 duration-300",children:[(0,d.jsx)(av.aR,{className:"px-3",children:(0,d.jsxs)(av.ZB,{className:"flex items-center justify-between text-red-700 dark:text-red-400 text-sm",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(M.A,{className:"w-4 h-4"}),(0,d.jsxs)("span",{children:["Validation Errors (",a.totalErrors,")"]})]}),(0,d.jsx)(au.$,{variant:"ghost",size:"sm",onClick:b,className:"h-6 w-6 p-0",children:(0,d.jsx)(as.A,{className:"w-3 h-3"})})]})}),(0,d.jsxs)(av.Wu,{className:"space-y-2 px-3 overflow-y-auto max-h-[calc(80vh-80px)] scrollbar-thin scrollbar-thumb-red-200 dark:scrollbar-thumb-red-800 scrollbar-track-transparent hover:scrollbar-thumb-red-300 dark:hover:scrollbar-thumb-red-700",children:[(0,d.jsx)("div",{className:"text-xs text-red-600 dark:text-red-400 mb-2",children:"Fix these issues to save your graph:"}),(0,d.jsx)(ax,{title:"Agent Errors",errors:g,icon:(0,d.jsx)(at.A,{className:"w-3 h-3"}),onNavigate:a=>{f({pane:"node",nodeId:a,edgeId:null}),c?.(a)},getItemLabel:a=>`Agent (${a.nodeId})`}),(0,d.jsx)(ax,{title:"Connection Errors",errors:h,icon:(0,d.jsx)("div",{className:"w-3 h-3 border rounded-full"}),onNavigate:a=>{f({pane:"edge",nodeId:null,edgeId:a}),e?.(a)},getItemLabel:a=>`Connection (${a.edgeId})`}),(0,d.jsx)(ax,{title:"Graph Configuration Errors",errors:i,icon:(0,d.jsx)(M.A,{className:"w-3 h-3"})}),(0,d.jsx)("div",{className:"mt-2 pt-2 border-t border-red-200 dark:border-red-800",children:(0,d.jsx)("div",{className:"text-xs text-red-500 dark:text-red-400",children:'\uD83D\uDCA1 Click "Go to" buttons to navigate to issues'})})]})]})}function az(){return(0,d.jsxs)("svg",{style:{position:"absolute",top:0,left:0},children:[(0,d.jsx)("title",{children:"arrow"}),(0,d.jsx)("defs",{children:(0,d.jsx)("marker",{className:"react-flow__arrowhead !stroke-border dark:!stroke-muted-foreground",id:"marker-default",markerWidth:"12.5",markerHeight:"12.5",viewBox:"-10 -10 20 20",markerUnits:"strokeWidth",orient:"auto-start-reverse",refX:"0",refY:"0",children:(0,d.jsx)("polyline",{strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4",strokeWidth:1.5})})})]})}function aA(){return(0,d.jsxs)("svg",{style:{position:"absolute",top:0,left:0},children:[(0,d.jsx)("title",{children:"arrow"}),(0,d.jsx)("defs",{children:(0,d.jsx)("marker",{className:"react-flow__arrowhead !stroke-primary",id:"marker-selected",markerWidth:"12.5",markerHeight:"12.5",viewBox:"-10 -10 20 20",markerUnits:"strokeWidth",orient:"auto-start-reverse",refX:"0",refY:"0",children:(0,d.jsx)("polyline",{strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4",strokeWidth:1.5})})})]})}var aB=c(1245);function aC({node:a}){let{type:b,name:c,Icon:e,disabled:f}=a;return(0,d.jsxs)("div",{role:"button",tabIndex:f?-1:0,"aria-label":`Drag ${c} node`,className:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 flex font-medium items-center text-sm rounded-md p-2 justify-between gap-2 text-left h-auto w-full group group-hover:bg-muted/50 transition-all ease-in-out duration-200 cursor-grab active:cursor-grabbing",draggable:!f,onDragStart:b=>{b.dataTransfer.setData("application/reactflow",JSON.stringify(a)),b.dataTransfer.effectAllowed="move"},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(e,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("div",{className:"flex flex-col items-start min-w-0",children:(0,d.jsx)("span",{className:"truncate w-full inline-block",children:c})})]}),(0,d.jsx)(aB.A,{className:"h-4 w-4 text-muted-foreground/30 opacity-0 group-hover:opacity-100 transition-all ease-in-out duration-200"})]},b)}let aD=[ae[Z.Agent],ae[Z.ExternalAgent],ae[Z.MCPPlaceholder]];function aE(){return(0,d.jsx)("div",{className:"flex flex-col gap-2 max-w-72 w-52 min-w-0",children:aD.map(a=>(0,d.jsx)(aC,{node:a},a.type))})}var aF=c(52135),aG=c(49600),aH=c(90009),aI=c(20449),aJ=c(59072);c(12320);let aK=`
|
|
11
|
+
`,w=a=>a?"url(#marker-selected)":"url(#marker-default)",x=i?w(!!c):void 0,y=h?w(!!c):void 0;return(0,d.jsxs)(d.Fragment,{children:[i&&(0,d.jsx)(e.tE,{className:`${c?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:u,style:{strokeWidth:2,fill:"none"},markerEnd:x}),h&&(0,d.jsx)(e.tE,{className:`${c?"!stroke-primary":"!stroke-border dark:!stroke-muted-foreground"}`,path:i?v:u,style:{strokeDasharray:"5,5",strokeWidth:2,fill:"none"},markerEnd:y}),(i||h)&&(0,d.jsx)(e.rV,{children:(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${n+l/2+40}px,${o-40}px)`,pointerEvents:"none"},children:(0,d.jsx)("div",{className:"w-6 h-6 bg-background border rounded-full flex items-center justify-center border-border",children:(0,d.jsx)(p.A,{className:"w-3 h-3 text-muted-foreground"})})})})]})}},s={a2a:{type:"a2a",name:"Agent connection",Icon:m.A}},t=[];var u=c(61688),v=c(68897);let w=(0,u.v)()((0,v.lt)((a,b)=>({nodes:[],edges:[],metadata:{id:void 0,name:"",description:"",contextConfig:{name:"",description:"",contextVariables:"",requestContextSchema:""},models:void 0,stopWhen:void 0,graphPrompt:void 0,statusUpdates:void 0},dataComponentLookup:{},artifactComponentLookup:{},dirty:!1,history:[],future:[],errors:null,showErrors:!1,setInitial(b,c,d,e={},f={}){a({nodes:b,edges:c,metadata:d,dataComponentLookup:e,artifactComponentLookup:f,dirty:!1,history:[],future:[],errors:null,showErrors:!1})},setDataComponentLookup(b){a({dataComponentLookup:b})},setArtifactComponentLookup(b){a({artifactComponentLookup:b})},setNodes(b){a(a=>({nodes:b(a.nodes)}))},setEdges(b){a(a=>({edges:b(a.edges)}))},push(b,c){a(a=>({history:[...a.history,{nodes:b,edges:c}],future:[]}))},onNodesChange(b){let c=b.some(a=>"remove"===a.type||"add"===a.type||"replace"===a.type||"position"===a.type);a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}],nodes:(0,e._0)(b,a.nodes),dirty:!!c||a.dirty}))},onEdgesChange(b){let c=b.some(a=>"remove"===a.type||"add"===a.type||"replace"===a.type);a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}]})),a(a=>({history:[...a.history,{nodes:a.nodes,edges:a.edges}],edges:(0,e.zW)(b,a.edges),dirty:!!c||a.dirty}))},onConnect(b){a(a=>({edges:(0,f.rN)(b,a.edges)}))},setMetadata(b,c){a(a=>({metadata:{...a.metadata,[b]:c}}))},undo(){let{history:c}=b();if(0===c.length)return;let d=c[c.length-1];a(a=>({nodes:d.nodes,edges:d.edges,history:a.history.slice(0,-1),future:[{nodes:a.nodes,edges:a.edges},...a.future],dirty:a.dirty}))},redo(){let{future:c}=b();if(0===c.length)return;let d=c[0];a(a=>({nodes:d.nodes,edges:d.edges,future:a.future.slice(1),history:[...a.history,{nodes:a.nodes,edges:a.edges}],dirty:a.dirty}))},markSaved(){a({dirty:!1})},markUnsaved(){a({dirty:!0})},clearSelection(){a(a=>({nodes:a.nodes.map(a=>({...a,selected:!1})),edges:a.edges.map(a=>({...a,selected:!1})),dirty:a.dirty}))},deleteSelected(){a(a=>{let b=new Set(a.nodes.filter(a=>a.selected&&(a.deletable??!0)).map(a=>a.id)),c=a.edges.filter(a=>!a.selected&&!b.has(a.source)&&!b.has(a.target)),d=a.nodes.filter(a=>!b.has(a.id));return{history:[...a.history,{nodes:a.nodes,edges:a.edges}],nodes:d,edges:c,dirty:!0}})},setErrors(b){a({errors:b,showErrors:null!==b})},clearErrors(){a({errors:null,showErrors:!1})},setShowErrors(b){a({showErrors:b})},hasErrors(){let{errors:a}=b();return null!==a&&a.totalErrors>0},getNodeErrors(a){let{errors:c}=b();return c&&c.nodeErrors[a]?c.nodeErrors[a]:[]},getEdgeErrors(a){let{errors:c}=b();return c&&c.edgeErrors[a]?c.edgeErrors[a]:[]}})));class x{on(a,b){let c=this.listeners.get(a)??[];return c.push(b),this.listeners.set(a,c),()=>this.off(a,b)}off(a,b){let c=this.listeners.get(a);if(!c)return;let d=c.filter(a=>a!==b);this.listeners.set(a,d)}emit(a,b){let c=this.listeners.get(a);if(c)for(let a of c)a(b)}constructor(){this.listeners=new Map}}let y=new x;class z{constructor(a){this.name="AddNode",this.node=a}execute(){let{setNodes:a}=w.getState();a(a=>a.concat(this.node))}undo(){let{setNodes:a}=w.getState();a(a=>a.filter(a=>a.id!==this.node.id))}}class A{constructor(a,b){this.name="AddPreparedEdge",this.edge=a,this.deselectOtherEdgesIfA2A=!!b?.deselectOtherEdgesIfA2A}execute(){let{setEdges:a,setNodes:b}=w.getState();this.edge.type===q.A2A&&b(a=>a.map(a=>({...a,selected:!1}))),a(a=>{if(a.some(a=>a.id===this.edge.id))return a;let b=this.deselectOtherEdgesIfA2A&&this.edge.type===q.A2A?a.map(a=>({...a,selected:!1})):a,c=(0,f.rN)(this.edge,b);return y.emit("edgeConnected",{edgeId:this.edge.id}),c})}undo(){let{setEdges:a}=w.getState(),b=this.edge.id;a(a=>a.filter(a=>a.id!==b))}}var B=c(15614),C=c(81809),D=c(10691),E=c(75116),F=c(47155),G=c(42659),H=c(9042),I=c(57560),J=c(17058),K=c(12463);function L(){let a=w(a=>a.errors),b=w(a=>a.showErrors),c=w(a=>a.hasErrors),d=w(a=>a.getNodeErrors),e=w(a=>a.getEdgeErrors),f=w(a=>a.setErrors),g=w(a=>a.clearErrors),h=w(a=>a.setShowErrors),j=a=>d(a).length,k=a=>e(a).length,l=(0,i.useCallback)(a=>{let b=d(a),c={};for(let a of b)c[a.field]||(c[a.field]=[]),c[a.field].push(a.message);return c},[d]),m=(0,i.useCallback)((a,b)=>b in l(a),[l]),n=(0,i.useCallback)((a,b)=>{let c=l(a);return c[b]?.[0]},[l]),o=(0,i.useCallback)(a=>{let b=d(a);return b[0]?.field},[d]);return{errors:a,showErrors:b,hasErrors:c(),getNodeErrors:d,getEdgeErrors:e,getNodeErrorCount:j,getEdgeErrorCount:k,hasNodeErrors:a=>j(a)>0,hasEdgeErrors:a=>k(a)>0,getFieldErrors:l,hasFieldError:m,getFieldErrorMessage:n,getFirstErrorField:o,setErrors:f,clearErrors:g,setShowErrors:h}}var M=c(437),N=c(37671);function O({errors:a,className:b=""}){if(0===a.length)return null;let c=(0,d.jsx)("div",{className:`backdrop-blur-sm flex items-center justify-center bg-red-100 dark:bg-red-950/50 border border-red-300 dark:border-red-700 rounded-full ${b}`,children:(0,d.jsx)(M.A,{className:"text-red-600 dark:text-red-400 w-3 h-3"})});return(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:c}),(0,d.jsx)(N.TooltipContent,{side:"top",className:"max-w-xs [--bg-color:var(--color-red-50)] dark:[--bg-color:var(--color-red-950)] border-red-200 dark:border-red-700 text-red-800 dark:text-red-300 bg-red-50 dark:bg-red-950/90",children:(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"font-medium",children:["Validation Error",a.length>1?"s":""]}),a.slice(0,3).map((a,b)=>(0,d.jsxs)("div",{className:"text-xs",children:[(0,d.jsxs)("span",{className:"font-medium",children:[a.field,":"]})," ",a.message]},b)),a.length>3&&(0,d.jsxs)("div",{className:"text-xs text-red-600 dark:text-red-400",children:["...and ",a.length-3," more error",a.length-3>1?"s":""]})]})})]})})}var P=c(42723);let Q=(0,i.forwardRef)(({className:a,isSelected:b,...c},e)=>(0,d.jsx)("div",{ref:e,className:(0,P.cn)("relative rounded-lg border bg-card text-card-foreground","hover:ring-2 hover:ring-gray-700/5",b&&"ring-2 ring-primary hover:ring-primary",a),...c}));Q.displayName="BaseNode";let R=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("header",{ref:c,...b,className:(0,P.cn)("mx-0 my-0 -mb-1 flex flex-row items-center justify-between gap-2 px-4 pt-4 pb-0",a)}));R.displayName="BaseNodeHeader";let S=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("h3",{ref:c,"data-slot":"base-node-title",className:(0,P.cn)("user-select-none flex-1 font-semibold text-sm truncate",a),...b}));S.displayName="BaseNodeHeaderTitle";let T=(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,"data-slot":"base-node-content",className:(0,P.cn)("flex flex-col gap-y-2 p-4 text-foreground",a),...b}));function U({className:a,...b}){return(0,d.jsx)(e.h7,{...b,className:(0,P.cn)("!h-3 !w-3 !border-2 !border-border !bg-card dark:!bg-muted !shadow-sm",a)})}function V({selected:a,children:b}){return(0,d.jsx)("div",{className:(0,P.cn)(" px-2 py-0.5 rounded-t-md flex items-center gap-2 w-fit border border-b-0 font-medium font-mono text-xs uppercase",a?"bg-primary border-primary text-white ring-2 ring-primary":"bg-muted text-muted-foreground border-border"),children:b})}T.displayName="BaseNodeContent",(0,i.forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,"data-slot":"base-node-footer",className:(0,P.cn)("flex flex-col items-center gap-y-2 border-t px-4 pb-4 pt-3",a),...b})).displayName="BaseNodeFooter";let W=({title:a,items:b,Icon:c})=>(0,d.jsxs)("div",{className:"flex flex-col gap-3 pt-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-start gap-2",children:[(0,d.jsx)(c,{className:"size-3 text-xs text-muted-foreground"}),(0,d.jsx)("div",{className:"text-xs uppercase font-mono text-muted-foreground",children:a})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:b?.map(a=>(0,d.jsx)(K.E,{className:"text-xs",variant:"code",children:a},a))})]});var X=c(38416),Y=function(a){return a.Agent="agent",a.ExternalAgent="external-agent",a.MCP="mcp",a.MCPPlaceholder="mcp-placeholder",a}({});let Z={agent:function(a){let{data:b,selected:c,id:e}=a,{name:g,isDefault:h,description:j,models:k}=b,l=k?.base?.model,m=w(a=>a.dataComponentLookup),n=w(a=>a.artifactComponentLookup),{getNodeErrors:o,hasNodeErrors:p}=L(),q=b.id||e,r=o(q),s=p(q),t=(0,i.useMemo)(()=>b?.dataComponents?.map(a=>m[a]?.name).filter(Boolean)||[],[b?.dataComponents,m]),u=(0,i.useMemo)(()=>b?.artifactComponents?.map(a=>n[a]?.name).filter(Boolean)||[],[b?.artifactComponents,n]);return(0,d.jsxs)("div",{className:"relative",children:[h?(0,d.jsx)(V,{selected:c,children:"Default"}):null,(0,d.jsxs)(Q,{isSelected:c,className:`${h?"rounded-tl-none":""} ${s?"ring-2 ring-red-300 border-red-300":""}`,style:{width:ae},children:[(0,d.jsxs)(R,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(C.A,{className:"size-4 text-muted-foreground"}),(0,d.jsx)(S,{children:g||"Agent"})]}),(0,d.jsx)(K.E,{variant:"primary",className:"text-xs uppercase",children:"Agent"}),s&&(0,d.jsx)(O,{errors:r,className:"absolute -top-2 -right-2 w-6 h-6"})]}),(0,d.jsxs)(T,{children:[(0,d.jsx)("div",{className:`text-sm ${j?" text-muted-foreground":"text-muted-foreground/50"}`,children:j||"No description"}),k&&l?(0,d.jsxs)(K.E,{className:"text-xs max-w-full flex-1",variant:"code",children:[l?.startsWith("openai")?(0,d.jsx)(J.I,{className:"size-3 text-xs text-muted-foreground flex-shrink-0"}):l?.startsWith("anthropic")?(0,d.jsx)(H.S,{className:"size-3 text-xs flex-shrink-0"}):l?.startsWith("google")?(0,d.jsx)(I.A,{className:"size-3 text-xs flex-shrink-0"}):null,(0,d.jsx)("div",{className:"truncate w-full",children:l||""})]}):null,t?.length>0&&(0,d.jsx)(W,{title:"Data components",items:t,Icon:F.A}),u?.length>0&&(0,d.jsx)(W,{title:"Artifact components",items:u,Icon:G.A})]}),(0,d.jsx)(U,{id:aa,type:"source",position:f.yX.Top,isConnectable:!0}),(0,d.jsx)(U,{id:_,type:"source",position:f.yX.Bottom,isConnectable:!0})]})]})},"external-agent":function(a){let{data:b,selected:c,id:e}=a,{name:g,description:h}=b,{getNodeErrors:i,hasNodeErrors:j}=L(),k=b.id||e,l=i(k),m=j(k);return(0,d.jsxs)("div",{className:"relative",children:[(0,d.jsx)(V,{selected:c,children:"External"}),(0,d.jsxs)(Q,{isSelected:c,className:`rounded-tl-none ${m?"ring-2 ring-red-300 border-red-300":""}`,style:{width:ae},children:[(0,d.jsxs)(R,{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(D.A,{className:"size-4 text-muted-foreground"}),(0,d.jsx)(S,{children:g||"External agent"})]}),(0,d.jsx)(K.E,{variant:"primary",className:"text-xs uppercase",children:"Agent"}),m&&(0,d.jsx)(O,{errors:l,className:"absolute -top-2 -right-2 w-6 h-6"})]}),(0,d.jsx)(T,{children:(0,d.jsx)("div",{className:`text-sm ${h?" text-muted-foreground":"text-muted-foreground/50"}`,children:h||"No description"})}),(0,d.jsx)(U,{id:ab,type:"target",position:f.yX.Top,isConnectable:!0})]})]})},mcp:function(a){let{data:b,selected:c}=a,e=b.name||`Tool: ${b.toolId}`,g=b.imageUrl,h=b.provider;return(0,d.jsxs)(Q,{isSelected:c,className:"rounded-full min-w-40 min-h-13 max-w-3xs flex items-center justify-center",children:[(0,d.jsxs)(R,{className:"mb-0 py-3",children:[(0,d.jsx)(X.u,{imageUrl:g,name:e,provider:h||void 0,size:24,className:"mt-[1px] flex-shrink-0"}),(0,d.jsx)(S,{children:e})]}),(0,d.jsx)(U,{id:$,type:"target",position:f.yX.Top,isConnectable:!0})]})},"mcp-placeholder":function(a){let{data:b,selected:c}=a,{name:e}=b;return(0,d.jsx)(Q,{isSelected:c,className:`rounded-full border-dashed min-w-40 min-h-13 flex items-center justify-center max-w-3xs ${c?"outline-dashed outline-2 outline-gray-700 hover:outline-gray-700 ring-0 hover:ring-0":""}`,children:(0,d.jsxs)(R,{className:"mb-0 py-3",children:[(0,d.jsx)(E.A,{className:"size-4 text-muted-foreground/65"}),(0,d.jsx)(S,{className:"text-muted-foreground",children:e})]})})}},$="target-mcp",_="source-agent",aa="target-agent",ab="target-external-agent",ac={agent:{name:""},"external-agent":{name:""},mcp:{name:"MCP"},"mcp-placeholder":{name:"Select MCP server"}},ad={agent:{type:"agent",name:"Agent",Icon:C.A},"external-agent":{type:"external-agent",name:"External agent",Icon:D.A},"mcp-placeholder":{type:"mcp-placeholder",name:"MCP",Icon:E.A},mcp:{type:"mcp",name:"MCP",Icon:E.A}},ae=300;function af(a){let b=120;if(a.type===Y.Agent||a.type===Y.ExternalAgent){let c=a.data;c.description&&(b+=20),c.models?.base?.model&&(b+=30),c.dataComponents&&c.dataComponents.length>0&&(b+=60+30*Math.ceil(c.dataComponents.length/3)),c.artifactComponents&&c.artifactComponents.length>0&&(b+=60+30*Math.ceil(c.artifactComponents.length/3))}return a.type===Y.MCP&&(b=100),Math.max(b,150)}function ag(a){if(a)try{return JSON.parse(a)}catch(a){console.error("Error parsing JSON:",a);return}}var ah=c(22745);let ai=["graph","node","edge"];function aj(){let[a,b]=(0,ah.ab)({pane:(0,ah.M1)(ai),nodeId:ah.tU,edgeId:ah.tU});return{pane:a.pane,nodeId:a.nodeId,edgeId:a.edgeId,isOpen:!!a.pane,setQueryState:b,openGraphPane:()=>b({pane:"graph",nodeId:null,edgeId:null})}}var ak=c(90147);let al=(0,ak.createServerReference)("78daacc9b78c27f520a477bfc5696579d46570352e",ak.callServer,void 0,ak.findSourceMapURL,"updateFullGraphAction"),am=(0,ak.createServerReference)("70f58fd71637b3e72f0e87748553e708ed054736e7",ak.callServer,void 0,ak.findSourceMapURL,"createFullGraphAction");async function an(a,b,c,d){return d?al(a,b,d,c):am(a,b,c)}function ao(a,b){let c,d,e,f=[...b,...a.path],g="graph";"agents"===f[0]&&f[1]?(g="node",c=f[1]):"edges"===f[0]&&f[1]&&(g="edge",d=f[1]),e=a.path.join(".")||"configuration";let h=function(a,b,c){var d;let e="node"===c?"Agent":"edge"===c?"Connection":"Graph",f={instructions:"Instructions",projectId:"Project ID",baseUrl:"Host URL",name:"Name",description:"Description",model:"Model",temperature:"Temperature",maxTokens:"Max Tokens",systemPrompt:"System Prompt",tools:"Tools",dataComponents:"Data Components",artifactComponents:"Artifact Components",relationships:"Relationships",transferTargetToSource:"Transfer (Target to Source)",transferSourceToTarget:"Transfer (Source to Target)",delegateTargetToSource:"Delegate (Target to Source)",delegateSourceToTarget:"Delegate (Source to Target)",contextConfig:"Context Configuration",contextVariables:"Context Variables",requestContextSchema:"Request Context Schema"}[d=b]||d.replace(/([A-Z])/g," $1").replace(/^./,a=>a.toUpperCase());switch(a.code){case"invalid_type":if("string"===a.expected&&a.message.includes("undefined"))return`${e} is missing required field: ${f}`;return`${e} ${f} has invalid type. Expected ${a.expected}`;case"too_small":return`${e} ${f} is too short. Please provide a valid value`;case"invalid_enum_value":return`${e} ${f} has an invalid value. Please select a valid option`;case"invalid_union":if(b.includes("type")||a.message.includes("discriminator"))return`${e} type must be specified as either 'internal' or 'external'`;return`${e} configuration is incomplete. Please check all required fields`;default:return`${e} ${f}: ${a.message}`}}(a,e,g);return{type:g,nodeId:c,edgeId:d,field:e,message:h,fullPath:f,originalError:a}}var ap=c(88),aq=c(54998);function ar(a,b){if(void 0!==a.data.tempSelectedTools)return a.data.tempSelectedTools;let c=new Set,d=!1,e=!1,f=!1;return(Object.values(b).forEach(b=>{let g=b[a.data.toolId];void 0!==g&&(d=!0,Array.isArray(g)&&0===g.length?e=!0:null===g?f=!0:Array.isArray(g)&&g.forEach(a=>{c.add(a)}))}),f)?null:e?[]:d?Array.from(c):null}var as=c(67048),at=c(60320),au=c(91740),av=c(41175),aw=c(2856),ax=c(71534),ay=c(38418);function az({title:a,errors:b,icon:c,onNavigate:e,getItemLabel:f}){let[g,h]=(0,i.useState)(!1);if(0===b.length)return null;let j={};for(let a of b){let b=a.nodeId||a.edgeId||"general";j[b]||(j[b]=[]),j[b].push(a)}return(0,d.jsxs)(ay.Nt,{open:g,onOpenChange:h,children:[(0,d.jsx)(ay.R6,{asChild:!0,children:(0,d.jsx)(aw.$,{variant:"ghost",className:"w-full justify-start p-1.5 h-auto",children:(0,d.jsxs)("div",{className:"flex items-center gap-1.5 text-red-600 dark:text-red-400 text-xs",children:[c,(0,d.jsxs)("span",{className:"font-medium",children:[a," (",b.length,")"]}),g?(0,d.jsx)(as.A,{className:"w-3 h-3 ml-auto"}):(0,d.jsx)(at.A,{className:"w-3 h-3 ml-auto"})]})})}),(0,d.jsx)(ay.Ke,{className:"space-y-3 pl-4 max-h-48 overflow-y-auto scrollbar-thin scrollbar-thumb-red-200 dark:scrollbar-thumb-red-800 scrollbar-track-transparent hover:scrollbar-thumb-red-300 dark:hover:scrollbar-thumb-red-700",children:Object.entries(j).map(([a,b])=>(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[f&&(0,d.jsx)("span",{className:"text-xs font-medium text-foreground truncate",children:f(b[0])}),e&&"general"!==a&&(0,d.jsx)(aw.$,{size:"sm",variant:"outline",onClick:()=>e(a),className:"h-5 px-1.5 text-xs",children:"Go to"})]}),(0,d.jsx)("div",{className:"space-y-2",children:b.map((b,c)=>(0,d.jsxs)("div",{className:"text-xs text-red-700 dark:text-red-300 bg-red-50/90 dark:bg-red-950/40 p-2 rounded border border-red-200 dark:border-red-700",children:[(0,d.jsxs)("div",{className:"font-medium mb-1",children:[b.field,":"]}),(0,d.jsx)("div",{className:"text-xs leading-relaxed",children:b.message})]},`${a}-${c}`))})]},a))})]})}function aA({errorSummary:a,onClose:b,onNavigateToNode:c,onNavigateToEdge:e}){let{setQueryState:f}=aj(),g=Object.values(a.nodeErrors).flat(),h=Object.values(a.edgeErrors).flat(),i=a.graphErrors;return(0,d.jsxs)(ax.Zp,{className:"border-red-200 dark:border-red-800 bg-red-50/50 dark:bg-red-950/30 backdrop-blur-sm shadow-xl gap-2 py-4 max-h-[80vh] animate-in slide-in-from-bottom-2 duration-300",children:[(0,d.jsx)(ax.aR,{className:"px-3",children:(0,d.jsxs)(ax.ZB,{className:"flex items-center justify-between text-red-700 dark:text-red-400 text-sm",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(M.A,{className:"w-4 h-4"}),(0,d.jsxs)("span",{children:["Validation Errors (",a.totalErrors,")"]})]}),(0,d.jsx)(aw.$,{variant:"ghost",size:"sm",onClick:b,className:"h-6 w-6 p-0",children:(0,d.jsx)(au.A,{className:"w-3 h-3"})})]})}),(0,d.jsxs)(ax.Wu,{className:"space-y-2 px-3 overflow-y-auto max-h-[calc(80vh-80px)] scrollbar-thin scrollbar-thumb-red-200 dark:scrollbar-thumb-red-800 scrollbar-track-transparent hover:scrollbar-thumb-red-300 dark:hover:scrollbar-thumb-red-700",children:[(0,d.jsx)("div",{className:"text-xs text-red-600 dark:text-red-400 mb-2",children:"Fix these issues to save your graph:"}),(0,d.jsx)(az,{title:"Agent Errors",errors:g,icon:(0,d.jsx)(av.A,{className:"w-3 h-3"}),onNavigate:a=>{f({pane:"node",nodeId:a,edgeId:null}),c?.(a)},getItemLabel:a=>`Agent (${a.nodeId})`}),(0,d.jsx)(az,{title:"Connection Errors",errors:h,icon:(0,d.jsx)("div",{className:"w-3 h-3 border rounded-full"}),onNavigate:a=>{f({pane:"edge",nodeId:null,edgeId:a}),e?.(a)},getItemLabel:a=>`Connection (${a.edgeId})`}),(0,d.jsx)(az,{title:"Graph Configuration Errors",errors:i,icon:(0,d.jsx)(M.A,{className:"w-3 h-3"})}),(0,d.jsx)("div",{className:"mt-2 pt-2 border-t border-red-200 dark:border-red-800",children:(0,d.jsx)("div",{className:"text-xs text-red-500 dark:text-red-400",children:'\uD83D\uDCA1 Click "Go to" buttons to navigate to issues'})})]})]})}function aB(){return(0,d.jsxs)("svg",{style:{position:"absolute",top:0,left:0},children:[(0,d.jsx)("title",{children:"arrow"}),(0,d.jsx)("defs",{children:(0,d.jsx)("marker",{className:"react-flow__arrowhead !stroke-border dark:!stroke-muted-foreground",id:"marker-default",markerWidth:"12.5",markerHeight:"12.5",viewBox:"-10 -10 20 20",markerUnits:"strokeWidth",orient:"auto-start-reverse",refX:"0",refY:"0",children:(0,d.jsx)("polyline",{strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4",strokeWidth:1.5})})})]})}function aC(){return(0,d.jsxs)("svg",{style:{position:"absolute",top:0,left:0},children:[(0,d.jsx)("title",{children:"arrow"}),(0,d.jsx)("defs",{children:(0,d.jsx)("marker",{className:"react-flow__arrowhead !stroke-primary",id:"marker-selected",markerWidth:"12.5",markerHeight:"12.5",viewBox:"-10 -10 20 20",markerUnits:"strokeWidth",orient:"auto-start-reverse",refX:"0",refY:"0",children:(0,d.jsx)("polyline",{strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4",strokeWidth:1.5})})})]})}var aD=c(1245);function aE({node:a}){let{type:b,name:c,Icon:e,disabled:f}=a;return(0,d.jsxs)("div",{role:"button",tabIndex:f?-1:0,"aria-label":`Drag ${c} node`,className:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 flex font-medium items-center text-sm rounded-md p-2 justify-between gap-2 text-left h-auto w-full group group-hover:bg-muted/50 transition-all ease-in-out duration-200 cursor-grab active:cursor-grabbing",draggable:!f,onDragStart:b=>{b.dataTransfer.setData("application/reactflow",JSON.stringify(a)),b.dataTransfer.effectAllowed="move"},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(e,{className:"h-4 w-4 text-muted-foreground"}),(0,d.jsx)("div",{className:"flex flex-col items-start min-w-0",children:(0,d.jsx)("span",{className:"truncate w-full inline-block",children:c})})]}),(0,d.jsx)(aD.A,{className:"h-4 w-4 text-muted-foreground/30 opacity-0 group-hover:opacity-100 transition-all ease-in-out duration-200"})]},b)}let aF=[ad[Y.Agent],ad[Y.ExternalAgent],ad[Y.MCPPlaceholder]];function aG(){return(0,d.jsx)("div",{className:"flex flex-col gap-2 max-w-72 w-52 min-w-0",children:aF.map(a=>(0,d.jsx)(aE,{node:a},a.type))})}var aH=c(52135),aI=c(49600),aJ=c(90009),aK=c(95505),aL=c(59072);c(12320);let aM=`
|
|
12
12
|
.ikp-ai-chat-wrapper {
|
|
13
13
|
height: 100%;
|
|
14
14
|
max-height: unset;
|
|
@@ -107,31 +107,31 @@ exports.id=2124,exports.ids=[2124],exports.modules={88:(a,b,c)=>{"use strict";c.
|
|
|
107
107
|
[data-theme=dark] .ikp-ai-chat-message-name {
|
|
108
108
|
background: none;
|
|
109
109
|
}
|
|
110
|
-
`;function aL({graphId:a,projectId:b,tenantId:c,conversationId:e,setConversationId:f,startPolling:h,stopPolling:j,customHeaders:k={}}){let{INKEEP_AGENTS_RUN_API_URL:l,INKEEP_AGENTS_RUN_API_BYPASS_SECRET:m}=(0,aJ.y)(),n=(0,i.useRef)(null);return(0,d.jsx)("div",{className:"h-full flex flex-row gap-4",children:(0,d.jsx)("div",{className:"flex-1 min-w-0 h-full",children:(0,d.jsx)(aI.Po,{baseSettings:{onEvent:a=>{"assistant_message_received"===a.eventName&&(n.current=setTimeout(()=>{j(),n.current=null},5e3)),"user_message_submitted"===a.eventName&&(n.current&&(clearTimeout(n.current),n.current=null),h()),"chat_clear_button_clicked"===a.eventName&&(n.current&&(clearTimeout(n.current),n.current=null),j(),f((0,g.Ak)()))},primaryBrandColor:"#3784ff",colorMode:{sync:{target:document.documentElement,attributes:["class"],isDarkMode:a=>!!a?.class?.includes("dark")}},theme:{styles:[{key:"custom-styles",type:"style",value:aK}],colors:{gray:{50:"#fafaf9",100:"#f4f4f3",200:"#eeeceb",300:"#dedbd9",400:"#cec7c2",500:"#a9a19a",600:"#75716b",700:"#58534e",800:"#443f3e",900:"#2b2826",950:"#1a1817",1e3:"#080706"},grayDark:{950:"oklch(0.141 0.005 285.823)"}}}},aiChatSettings:{conversationId:e,graphUrl:a?`${l}/api/chat`:void 0,headers:{"x-inkeep-tenant-id":c,"x-inkeep-project-id":b,"x-inkeep-graph-id":a,Authorization:`Bearer ${m}`,...k},introMessage:"Hi! How can I help?"}})})})}var aM=c(59099),aN=c(32303),aO=c(71314),aP=c(94150),aQ=c(45809),aR=c(71771),aS=c(67466),aT=c(96032),aU=c(93622);let aV=aQ.object({headers:aQ.string().refine(a=>{try{let b=JSON.parse(a);return"object"==typeof b&&null!==b&&!Array.isArray(b)}catch{return!1}},"Must be valid JSON object").refine(a=>{try{let b=JSON.parse(a);return Object.values(b).every(a=>"string"==typeof a)}catch{return!1}},"All header values must be strings")}),aW=function({customHeaders:a,setCustomHeaders:b}){let c=Object.keys(a).length||0,[e,f]=(0,i.useState)(!1),g=(0,aP.mN)({defaultValues:{headers:JSON.stringify(a,null,2)},resolver:(0,aM.u)(aV)}),{isSubmitting:h}=g.formState,k=async({headers:a})=>{let c;if(a)try{c=JSON.parse(a)}catch(a){console.error("Error parsing JSON:",a),g.setError("headers",{message:a instanceof Error?a.message:"Invalid JSON"});return}b(c||{}),j.oR.success("Custom headers applied, you can now use them in the chat."),f(!1)};return(0,d.jsxs)(aT.lG,{open:e,onOpenChange:f,children:[(0,d.jsx)(aT.zM,{asChild:!0,children:(0,d.jsxs)(au.$,{variant:"outline",children:[c>0?(0,d.jsx)(aN.A,{className:"w-4 h-4"}):(0,d.jsx)(aO.A,{className:"w-4 h-4"}),"Custom Headers",c>0&&(0,d.jsx)(K.E,{variant:"code",children:c})]})}),(0,d.jsxs)(aT.Cf,{className:"!max-w-2xl",children:[(0,d.jsxs)(aT.c7,{children:[(0,d.jsx)(aT.L3,{children:"Custom Headers"}),(0,d.jsx)(aT.rr,{children:"Add custom headers to the chat API requests."})]}),(0,d.jsx)(aU.lV,{...g,children:(0,d.jsxs)("form",{onSubmit:g.handleSubmit(k),className:"space-y-8",children:[(0,d.jsx)(aR.u,{control:g.control,name:"headers",label:"Custom headers",children:a=>(0,d.jsx)(aS.i,{value:a.value||"",onChange:a.onChange,placeholder:"Enter headers...",...a})}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[c>0&&(0,d.jsx)(au.$,{type:"button",variant:"outline",onClick:()=>{g.reset({headers:"{}"}),b({}),f(!1),j.oR.success("Custom headers removed.")},children:"Remove headers"}),(0,d.jsx)(au.$,{type:"submit",disabled:h,children:"Apply"})]})]})})]})]})},aX=({graphId:a,projectId:b,tenantId:c,setShowPlayground:e})=>{let[f,h]=(0,i.useState)((0,g.Ak)()),[j,k]=(0,i.useState)({}),{chatActivities:l,isPolling:m,error:n,startPolling:o,stopPolling:p,retryConnection:q,refreshOnce:r}=(({conversationId:a,pollingInterval:b=1e3})=>{let[c,d]=(0,i.useState)(null),[e,f]=(0,i.useState)(!1),[g,h]=(0,i.useState)(null),[j,k]=(0,i.useState)(0),l=(0,i.useRef)(null),m=(0,i.useRef)(!0),n=(0,i.useRef)(null),o=(0,i.useCallback)(async()=>{try{h(null),n.current=new AbortController;let b=await fetch(`/api/signoz/conversations/${a}`,{signal:n.current.signal});if(!b.ok){if(404===b.status)return null;let a="Failed to fetch chat activities";try{let c=await b.json();c.error&&(a=c.error)}catch{}throw Error(a)}let c=await b.json();if(m.current&&a==a){let a=c.activities?.length||0;a!==j&&(d(c),k(a))}return c}catch(a){if(a instanceof Error&&"AbortError"===a.name)return null;throw m.current&&(h(a instanceof Error?a.message:"An error occurred"),f(!1),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null)),a}},[a,j]),p=(0,i.useCallback)(()=>{l.current||(f(!0),o().catch(()=>{}),l.current=setInterval(()=>{o().catch(()=>{})},b))},[o,b]),q=(0,i.useCallback)(()=>{f(!1),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null)},[]),r=(0,i.useCallback)(()=>{h(null),q(),p()},[p,q]),s=(0,i.useCallback)(async()=>{let a=c?.activities?.length||0,b=await o();return{hasNewActivity:(b?.activities?.length||0)>a}},[o,c?.activities?.length]);(0,i.useEffect)(()=>(m.current=!0,()=>{m.current=!1,q()}),[q]);let t=(0,i.useRef)(a);return(0,i.useEffect)(()=>{t.current!==a&&(d(null),k(0),h(null),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null),f(!1),t.current=a)}),{chatActivities:c,isPolling:e,error:g,startPolling:p,stopPolling:q,retryConnection:r,refreshOnce:s}})({conversationId:f});return(0,d.jsxs)("div",{className:"bg-background h-full w-full z-10 flex flex-col",children:[(0,d.jsxs)("div",{className:"flex min-h-0 items-center justify-between py-2 px-4 border-b flex-shrink-0",children:[(0,d.jsxs)(au.$,{variant:"ghost",size:"sm",className:"h-6",onClick:()=>e(!1),children:[(0,d.jsx)(aF.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Back to graph"})]}),(0,d.jsx)(aW,{customHeaders:j,setCustomHeaders:k})]}),(0,d.jsx)("div",{className:"flex-1 min-h-0 w-full",children:(0,d.jsxs)(aH.HK,{direction:"horizontal",children:[(0,d.jsx)(aH.wV,{order:1,children:(0,d.jsx)(aL,{conversationId:f,setConversationId:h,startPolling:o,stopPolling:p,graphId:a,projectId:b,tenantId:c,customHeaders:j},JSON.stringify(j))}),(0,d.jsx)(aH.WM,{}),(0,d.jsx)(aG.B,{isPolling:m,conversation:l,enableAutoScroll:!0,error:n,retryConnection:q,refreshOnce:r,showConversationTracesLink:!0,conversationId:f})]})})]})};var aY=c(94843),aZ=c(14053);let a$={Root:function({isOpen:a,children:b}){return(0,d.jsx)("div",{className:`relative top-0 right-0 bg-background h-full flex flex-col rounded-br-[14px] transform transition-transform duration-300 ease-in-out group z-50 ${a?"translate-x-0 w-[480px]":"translate-x-full w-0"}`,children:b})},Header:function({children:a}){return(0,d.jsx)("div",{className:"flex flex-row items-center justify-between px-6 py-2 border-l border-b flex-shrink-0 relative",children:a})},Content:function({children:a}){return(0,d.jsx)(aZ.F,{className:"border-l border-border flex-1 h-0 [&>div>div]:table-fixed [&>div>div]:w-full",children:(0,d.jsx)("div",{className:"p-6",children:a})})},CloseButton:function({onClick:a}){return(0,d.jsxs)(au.$,{variant:"ghost",size:"icon-sm",onClick:a,className:"-mr-1 text-foreground hover:text-foreground dark:text-foreground dark:hover:text-foreground",children:[(0,d.jsx)(as.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})},BackButton:function({onClick:a}){return(0,d.jsxs)(au.$,{variant:"ghost",size:"icon-sm",onClick:a,className:"-ml-1 transition-all duration-300 ease-in-out absolute left-0 opacity-0 -translate-x-6 group-hover:opacity-100 group-hover:translate-x-0 text-foreground hover:text-foreground dark:text-foreground dark:hover:text-foreground",children:[(0,d.jsx)(aF.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Back"})]})}};var a_=c(94327),a0=c(99628);let a1=(0,i.forwardRef)((a,b)=>(0,d.jsxs)(a0.A,{ref:b,...a,children:[(0,d.jsx)("path",{d:"M19 7C20.1046 7 21 6.10457 21 5C21 3.89543 20.1046 3 19 3C17.8954 3 17 3.89543 17 5C17 6.10457 17.8954 7 19 7Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,d.jsx)("path",{d:"M5 21C6.10457 21 7 20.1046 7 19C7 17.8954 6.10457 17 5 17C3.89543 17 3 17.8954 3 19C3 20.1046 3.89543 21 5 21Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,d.jsx)("path",{d:"M5 17C5 13.8174 6.26428 10.7652 8.51472 8.51472C10.7652 6.26428 13.8174 5 17 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"4 4"})]}));a1.displayName="DashedSplineIcon";var a2=c(24703),a3=c(34740);function a4({id:a,label:b,onCheckedChange:c,checked:e}){return(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(a2.S,{id:a,onCheckedChange:b=>c(a,b),checked:e}),(0,d.jsx)("div",{className:"grid gap-2",children:(0,d.jsx)(a3.J,{htmlFor:a,children:b})})]})}function a5({icon:a,title:b,description:c,options:e,onCheckedChange:f,checkedValues:g}){return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,d.jsx)("h3",{className:"font-semibold text-sm",children:b})]}),(0,d.jsx)("p",{className:"text-muted-foreground text-sm",children:c})]}),e.map(a=>(0,d.jsx)(a4,{id:a.id,label:a.label,onCheckedChange:f,checked:g?.[a.id]||!1},a.id))]})}let a6=function({selectedEdge:a}){let{updateEdgeData:b,setEdges:c}=(0,e.VH)(),f=(0,e.j7)(a.source),g=(0,e.j7)(a.target),h=w(a=>a.markUnsaved),i=a.source===a.target,j=(d,e)=>{let f;if(i){let b={};"transferSourceToTarget"===d?(b.transferSourceToTarget=e,b.transferTargetToSource=e):"delegateSourceToTarget"===d&&(b.delegateSourceToTarget=e,b.delegateTargetToSource=e),f={...a.data?.relationships,...b}}else f={...a.data?.relationships,[d]:e};let g=f.transferSourceToTarget||f.transferTargetToSource||f.delegateSourceToTarget||f.delegateTargetToSource;h(),g?b(a.id,{relationships:f}):c(b=>b.filter(b=>b.id!==a.id))},k=i?[{id:"transferSourceToTarget",label:`${f?.data.name} can transfer to itself`}]:[{id:"transferSourceToTarget",label:`${f?.data.name} can transfer to ${g?.data.name}`},{id:"transferTargetToSource",label:`${g?.data.name} can transfer to ${f?.data.name}`}],l=i?[{id:"delegateSourceToTarget",label:`${f?.data.name} can delegate to itself`}]:[{id:"delegateSourceToTarget",label:`${f?.data.name} can delegate to ${g?.data.name}`},{id:"delegateTargetToSource",label:`${g?.data.name} can delegate to ${f?.data.name}`}];return(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(a5,{icon:(0,d.jsx)(a_.A,{className:"w-4 h-4 text-muted-foreground"}),title:"Transfer relationships",description:"Transfer relationships completely relinquish control from one agent to another.",options:k,onCheckedChange:j,checkedValues:a.data?.relationships}),(0,d.jsx)("hr",{}),(0,d.jsx)(a5,{icon:(0,d.jsx)(a1,{className:"w-4 h-4 text-muted-foreground"}),title:"Delegate relationships",description:"Delegate relationships are used to pass a task from one agent to another.",options:l,onCheckedChange:j,checkedValues:a.data?.relationships})]})};function a7({heading:a,Icon:b,className:c}){return(0,d.jsxs)("div",{className:(0,P.cn)("text-sm font-medium flex items-center gap-2",c),children:[b&&(0,d.jsx)(b,{className:"size-4 text-muted-foreground"}),a]})}var a8=c(45930),a9=c(4619),ba=c(19138),bb=c(79449),bc=c(60848),bd=c(35229),be=c(39108),bf=c(84598);function bg({isExplicit:a=!1,inheritedFrom:b,tooltip:c,size:e="sm",position:f="inline"}){return a?(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:"outline",className:`
|
|
110
|
+
`;function aN({graphId:a,projectId:b,tenantId:c,conversationId:e,setConversationId:f,startPolling:h,stopPolling:j,customHeaders:k={}}){let{INKEEP_AGENTS_RUN_API_URL:l,INKEEP_AGENTS_RUN_API_BYPASS_SECRET:m}=(0,aL.y)(),n=(0,i.useRef)(null);return(0,d.jsx)("div",{className:"h-full flex flex-row gap-4",children:(0,d.jsx)("div",{className:"flex-1 min-w-0 h-full",children:(0,d.jsx)(aK.Po,{baseSettings:{onEvent:a=>{"assistant_message_received"===a.eventName&&(n.current=setTimeout(()=>{j(),n.current=null},5e3)),"user_message_submitted"===a.eventName&&(n.current&&(clearTimeout(n.current),n.current=null),h()),"chat_clear_button_clicked"===a.eventName&&(n.current&&(clearTimeout(n.current),n.current=null),j(),f((0,g.Ak)()))},primaryBrandColor:"#3784ff",colorMode:{sync:{target:document.documentElement,attributes:["class"],isDarkMode:a=>!!a?.class?.includes("dark")}},theme:{styles:[{key:"custom-styles",type:"style",value:aM}],colors:{gray:{50:"#fafaf9",100:"#f4f4f3",200:"#eeeceb",300:"#dedbd9",400:"#cec7c2",500:"#a9a19a",600:"#75716b",700:"#58534e",800:"#443f3e",900:"#2b2826",950:"#1a1817",1e3:"#080706"},grayDark:{950:"oklch(0.141 0.005 285.823)"}}}},aiChatSettings:{conversationId:e,graphUrl:a?`${l}/api/chat`:void 0,headers:{"x-inkeep-tenant-id":c,"x-inkeep-project-id":b,"x-inkeep-graph-id":a,Authorization:`Bearer ${m}`,...k},introMessage:"Hi! How can I help?"}})})})}var aO=c(59099),aP=c(32303),aQ=c(71314),aR=c(94150),aS=c(45809),aT=c(71771),aU=c(67466),aV=c(96032),aW=c(93622);let aX=aS.object({headers:aS.string().refine(a=>{try{let b=JSON.parse(a);return"object"==typeof b&&null!==b&&!Array.isArray(b)}catch{return!1}},"Must be valid JSON object").refine(a=>{try{let b=JSON.parse(a);return Object.values(b).every(a=>"string"==typeof a)}catch{return!1}},"All header values must be strings")}),aY=function({customHeaders:a,setCustomHeaders:b}){let c=Object.keys(a).length||0,[e,f]=(0,i.useState)(!1),g=(0,aR.mN)({defaultValues:{headers:JSON.stringify(a,null,2)},resolver:(0,aO.u)(aX)}),{isSubmitting:h}=g.formState,k=async({headers:a})=>{let c;if(a)try{c=JSON.parse(a)}catch(a){console.error("Error parsing JSON:",a),g.setError("headers",{message:a instanceof Error?a.message:"Invalid JSON"});return}b(c||{}),j.oR.success("Custom headers applied, you can now use them in the chat."),f(!1)};return(0,d.jsxs)(aV.lG,{open:e,onOpenChange:f,children:[(0,d.jsx)(aV.zM,{asChild:!0,children:(0,d.jsxs)(aw.$,{variant:"outline",children:[c>0?(0,d.jsx)(aP.A,{className:"w-4 h-4"}):(0,d.jsx)(aQ.A,{className:"w-4 h-4"}),"Custom Headers",c>0&&(0,d.jsx)(K.E,{variant:"code",children:c})]})}),(0,d.jsxs)(aV.Cf,{className:"!max-w-2xl",children:[(0,d.jsxs)(aV.c7,{children:[(0,d.jsx)(aV.L3,{children:"Custom Headers"}),(0,d.jsx)(aV.rr,{children:"Add custom headers to the chat API requests."})]}),(0,d.jsx)(aW.lV,{...g,children:(0,d.jsxs)("form",{onSubmit:g.handleSubmit(k),className:"space-y-8",children:[(0,d.jsx)(aT.u,{control:g.control,name:"headers",label:"Custom headers",children:a=>(0,d.jsx)(aU.i,{value:a.value||"",onChange:a.onChange,placeholder:"Enter headers...",...a})}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[c>0&&(0,d.jsx)(aw.$,{type:"button",variant:"outline",onClick:()=>{g.reset({headers:"{}"}),b({}),f(!1),j.oR.success("Custom headers removed.")},children:"Remove headers"}),(0,d.jsx)(aw.$,{type:"submit",disabled:h,children:"Apply"})]})]})})]})]})},aZ=({graphId:a,projectId:b,tenantId:c,setShowPlayground:e})=>{let[f,h]=(0,i.useState)((0,g.Ak)()),[j,k]=(0,i.useState)({}),{chatActivities:l,isPolling:m,error:n,startPolling:o,stopPolling:p,retryConnection:q,refreshOnce:r}=(({conversationId:a,pollingInterval:b=1e3})=>{let[c,d]=(0,i.useState)(null),[e,f]=(0,i.useState)(!1),[g,h]=(0,i.useState)(null),[j,k]=(0,i.useState)(0),l=(0,i.useRef)(null),m=(0,i.useRef)(!0),n=(0,i.useRef)(null),o=(0,i.useCallback)(async()=>{try{h(null),n.current=new AbortController;let b=await fetch(`/api/signoz/conversations/${a}`,{signal:n.current.signal});if(!b.ok){if(404===b.status)return null;let a="Failed to fetch chat activities";try{let c=await b.json();c.error&&(a=c.error)}catch{}throw Error(a)}let c=await b.json();if(m.current&&a==a){let a=c.activities?.length||0;a!==j&&(d(c),k(a))}return c}catch(a){if(a instanceof Error&&"AbortError"===a.name)return null;throw m.current&&(h(a instanceof Error?a.message:"An error occurred"),f(!1),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null)),a}},[a,j]),p=(0,i.useCallback)(()=>{l.current||(f(!0),o().catch(()=>{}),l.current=setInterval(()=>{o().catch(()=>{})},b))},[o,b]),q=(0,i.useCallback)(()=>{f(!1),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null)},[]),r=(0,i.useCallback)(()=>{h(null),q(),p()},[p,q]),s=(0,i.useCallback)(async()=>{let a=c?.activities?.length||0,b=await o();return{hasNewActivity:(b?.activities?.length||0)>a}},[o,c?.activities?.length]);(0,i.useEffect)(()=>(m.current=!0,()=>{m.current=!1,q()}),[q]);let t=(0,i.useRef)(a);return(0,i.useEffect)(()=>{t.current!==a&&(d(null),k(0),h(null),l.current&&(clearInterval(l.current),l.current=null),n.current&&(n.current.abort(),n.current=null),f(!1),t.current=a)}),{chatActivities:c,isPolling:e,error:g,startPolling:p,stopPolling:q,retryConnection:r,refreshOnce:s}})({conversationId:f});return(0,d.jsxs)("div",{className:"bg-background h-full w-full z-10 flex flex-col",children:[(0,d.jsxs)("div",{className:"flex min-h-0 items-center justify-between py-2 px-4 border-b flex-shrink-0",children:[(0,d.jsxs)(aw.$,{variant:"ghost",size:"sm",className:"h-6",onClick:()=>e(!1),children:[(0,d.jsx)(aH.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Back to graph"})]}),(0,d.jsx)(aY,{customHeaders:j,setCustomHeaders:k})]}),(0,d.jsx)("div",{className:"flex-1 min-h-0 w-full",children:(0,d.jsxs)(aJ.HK,{direction:"horizontal",children:[(0,d.jsx)(aJ.wV,{order:1,children:(0,d.jsx)(aN,{conversationId:f,setConversationId:h,startPolling:o,stopPolling:p,graphId:a,projectId:b,tenantId:c,customHeaders:j},JSON.stringify(j))}),(0,d.jsx)(aJ.WM,{}),(0,d.jsx)(aI.B,{isPolling:m,conversation:l,enableAutoScroll:!0,error:n,retryConnection:q,refreshOnce:r,showConversationTracesLink:!0,conversationId:f})]})})]})};var a$=c(94843),a_=c(14053);let a0={Root:function({isOpen:a,children:b}){return(0,d.jsx)("div",{className:`relative top-0 right-0 bg-background h-full flex flex-col rounded-br-[14px] transform transition-transform duration-300 ease-in-out group z-50 ${a?"translate-x-0 w-[480px]":"translate-x-full w-0"}`,children:b})},Header:function({children:a}){return(0,d.jsx)("div",{className:"flex flex-row items-center justify-between px-6 py-2 border-l border-b flex-shrink-0 relative",children:a})},Content:function({children:a}){return(0,d.jsx)(a_.F,{className:"border-l border-border flex-1 h-0 [&>div>div]:table-fixed [&>div>div]:w-full",children:(0,d.jsx)("div",{className:"p-6",children:a})})},CloseButton:function({onClick:a}){return(0,d.jsxs)(aw.$,{variant:"ghost",size:"icon-sm",onClick:a,className:"-mr-1 text-foreground hover:text-foreground dark:text-foreground dark:hover:text-foreground",children:[(0,d.jsx)(au.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Close"})]})},BackButton:function({onClick:a}){return(0,d.jsxs)(aw.$,{variant:"ghost",size:"icon-sm",onClick:a,className:"-ml-1 transition-all duration-300 ease-in-out absolute left-0 opacity-0 -translate-x-6 group-hover:opacity-100 group-hover:translate-x-0 text-foreground hover:text-foreground dark:text-foreground dark:hover:text-foreground",children:[(0,d.jsx)(aH.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{className:"sr-only",children:"Back"})]})}};var a1=c(94327),a2=c(99628);let a3=(0,i.forwardRef)((a,b)=>(0,d.jsxs)(a2.A,{ref:b,...a,children:[(0,d.jsx)("path",{d:"M19 7C20.1046 7 21 6.10457 21 5C21 3.89543 20.1046 3 19 3C17.8954 3 17 3.89543 17 5C17 6.10457 17.8954 7 19 7Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,d.jsx)("path",{d:"M5 21C6.10457 21 7 20.1046 7 19C7 17.8954 6.10457 17 5 17C3.89543 17 3 17.8954 3 19C3 20.1046 3.89543 21 5 21Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,d.jsx)("path",{d:"M5 17C5 13.8174 6.26428 10.7652 8.51472 8.51472C10.7652 6.26428 13.8174 5 17 5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",strokeDasharray:"4 4"})]}));a3.displayName="DashedSplineIcon";var a4=c(24703),a5=c(34740);function a6({id:a,label:b,onCheckedChange:c,checked:e}){return(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(a4.S,{id:a,onCheckedChange:b=>c(a,b),checked:e}),(0,d.jsx)("div",{className:"grid gap-2",children:(0,d.jsx)(a5.J,{htmlFor:a,children:b})})]})}function a7({icon:a,title:b,description:c,options:e,onCheckedChange:f,checkedValues:g}){return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a,(0,d.jsx)("h3",{className:"font-semibold text-sm",children:b})]}),(0,d.jsx)("p",{className:"text-muted-foreground text-sm",children:c})]}),e.map(a=>(0,d.jsx)(a6,{id:a.id,label:a.label,onCheckedChange:f,checked:g?.[a.id]||!1},a.id))]})}let a8=function({selectedEdge:a}){let{updateEdgeData:b,setEdges:c}=(0,e.VH)(),f=(0,e.j7)(a.source),g=(0,e.j7)(a.target),h=w(a=>a.markUnsaved),i=a.source===a.target,j=(d,e)=>{let f;if(i){let b={};"transferSourceToTarget"===d?(b.transferSourceToTarget=e,b.transferTargetToSource=e):"delegateSourceToTarget"===d&&(b.delegateSourceToTarget=e,b.delegateTargetToSource=e),f={...a.data?.relationships,...b}}else f={...a.data?.relationships,[d]:e};let g=f.transferSourceToTarget||f.transferTargetToSource||f.delegateSourceToTarget||f.delegateTargetToSource;h(),g?b(a.id,{relationships:f}):c(b=>b.filter(b=>b.id!==a.id))},k=i?[{id:"transferSourceToTarget",label:`${f?.data.name} can transfer to itself`}]:[{id:"transferSourceToTarget",label:`${f?.data.name} can transfer to ${g?.data.name}`},{id:"transferTargetToSource",label:`${g?.data.name} can transfer to ${f?.data.name}`}],l=i?[{id:"delegateSourceToTarget",label:`${f?.data.name} can delegate to itself`}]:[{id:"delegateSourceToTarget",label:`${f?.data.name} can delegate to ${g?.data.name}`},{id:"delegateTargetToSource",label:`${g?.data.name} can delegate to ${f?.data.name}`}];return(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(a7,{icon:(0,d.jsx)(a1.A,{className:"w-4 h-4 text-muted-foreground"}),title:"Transfer relationships",description:"Transfer relationships completely relinquish control from one agent to another.",options:k,onCheckedChange:j,checkedValues:a.data?.relationships}),(0,d.jsx)("hr",{}),(0,d.jsx)(a7,{icon:(0,d.jsx)(a3,{className:"w-4 h-4 text-muted-foreground"}),title:"Delegate relationships",description:"Delegate relationships are used to pass a task from one agent to another.",options:l,onCheckedChange:j,checkedValues:a.data?.relationships})]})};function a9({heading:a,Icon:b,className:c}){return(0,d.jsxs)("div",{className:(0,P.cn)("text-sm font-medium flex items-center gap-2",c),children:[b&&(0,d.jsx)(b,{className:"size-4 text-muted-foreground"}),a]})}var ba=c(45930),bb=c(4619),bc=c(19138),bd=c(30365),be=c(60848),bf=c(35229),bg=c(39108),bh=c(84598);function bi({isExplicit:a=!1,inheritedFrom:b,tooltip:c,size:e="sm",position:f="inline"}){return a?(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:"outline",className:`
|
|
111
111
|
${"sm"===e?"h-5 px-1.5 text-xs":"h-6 px-2 text-sm"}
|
|
112
112
|
${"absolute"===f?"absolute -top-2 -right-2":"inline-flex"}
|
|
113
113
|
bg-green-50 dark:bg-green-950/20 border-green-200 dark:border-green-800
|
|
114
114
|
text-green-800 dark:text-green-200 items-center gap-1
|
|
115
|
-
`,children:[(0,d.jsx)(
|
|
115
|
+
`,children:[(0,d.jsx)(bg.A,{className:"sm"===e?"h-2.5 w-2.5":"h-3 w-3"}),"md"===e&&"Explicit"]})}),(0,d.jsx)(N.TooltipContent,{children:(0,d.jsx)("p",{children:c||"This value is explicitly set at this level"})})]})}):b?(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:"outline",className:`
|
|
116
116
|
${"sm"===e?"h-5 px-1.5 text-xs":"h-6 px-2 text-sm"}
|
|
117
117
|
${"absolute"===f?"absolute -top-2 -right-2":"inline-flex"}
|
|
118
118
|
bg-blue-50 dark:bg-blue-950/20 border-blue-200 dark:border-blue-800
|
|
119
119
|
text-blue-800 dark:text-blue-200 items-center gap-1
|
|
120
|
-
`,children:[(0,d.jsx)(
|
|
120
|
+
`,children:[(0,d.jsx)(bh.A,{className:"sm"===e?"h-2.5 w-2.5":"h-3 w-3"}),"md"===e&&`From ${b}`]})}),(0,d.jsx)(N.TooltipContent,{children:(0,d.jsx)("p",{children:c||`This value is inherited from ${b} level`})})]})}):(0,d.jsx)(N.B,{children:(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:"outline",className:`
|
|
121
121
|
${"sm"===e?"h-5 px-1.5 text-xs":"h-6 px-2 text-sm"}
|
|
122
122
|
${"absolute"===f?"absolute -top-2 -right-2":"inline-flex"}
|
|
123
123
|
bg-gray-50 dark:bg-gray-950/20 border-gray-200 dark:border-gray-800
|
|
124
124
|
text-gray-600 dark:text-gray-400 items-center gap-1
|
|
125
|
-
`,children:[(0,d.jsx)(a8.A,{className:"sm"===e?"h-2.5 w-2.5":"h-3 w-3"}),"md"===e&&"Default"]})}),(0,d.jsx)(N.TooltipContent,{children:(0,d.jsx)("p",{children:c||"Using system default value"})})]})})}function bh(a,b,c,d){let e=null!=b&&""!==b,f=null!=c&&""!==c,g=null!=d&&""!==d;if("project"!==a){if(e&&f&&b===c){let b="agent"===a?"Graph":"Project";return{isExplicit:!1,inheritedFrom:b,tooltip:`This model is inherited from the ${b.toLowerCase()} level`}}if("agent"===a&&e&&!f&&g&&b===d)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This model is inherited from the project level"}}if(e)return{isExplicit:!0,tooltip:`This model is explicitly configured at the ${a} level`};switch(a){case"agent":if(f)return{isExplicit:!1,inheritedFrom:"Graph",tooltip:"Will inherit from the graph level"};if(g)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit from the project level"};break;case"graph":if(f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit from the project level"}}return{isExplicit:!1,tooltip:"Using system default configuration"}}function bi(a,b,c,d){let e=null!=c,f=null!=d;if(e&&f&&c===d){if("transferCountIs"===b&&"graph"===a)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This transfer limit is inherited from the project level"};if("stepCountIs"===b&&"agent"===a)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This step limit is inherited from the project level"}}if(e)return{isExplicit:!0,tooltip:`This ${"transferCountIs"===b?"transfer limit":"step limit"} is explicitly set at the ${a} level`};if("transferCountIs"===b){if("graph"===a&&f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit transfer limit from the project level"}}else if("stepCountIs"===b&&"agent"===a&&f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit step limit from the project level"};return{isExplicit:!1,tooltip:`Using system default (${"transferCountIs"===b?"10":"50"})`}}var bj=c(98234),bk=c(24003),bl=c(32442);function bm({nameValue:a,idValue:b,onIdChange:c,isEditing:d=!1}){(0,i.useRef)(!1),(0,i.useRef)(""),(0,i.useRef)(c),(0,i.useRef)(b)}function bn(){let{tenantId:a,projectId:b}=(0,h.useParams)(),[c,d]=(0,i.useState)(null),[e,f]=(0,i.useState)(!0),[g,j]=(0,i.useState)(null);return{project:c,loading:e,error:g}}c(87171),al.callServer,al.findSourceMapURL;var bo=c(4783);function bp({...a}){let b=(0,i.useRef)(null);return(0,d.jsx)(bl.T,{...a,ref:b,className:"w-full max-h-full resize-none h-full",autoFocus:!0})}function bq({label:a,isRequired:b=!1,...c}){return(0,d.jsx)(bo.Z,{name:c.id||"expandable-textarea",label:a,isRequired:b,compactView:(0,d.jsx)(bl.T,{...c}),expandedView:(0,d.jsx)(bp,{...c})})}let br=(0,i.forwardRef)(({id:a,name:b,label:c,value:e,onChange:f,placeholder:g,error:h,className:i="",description:j,tooltip:k,type:l="text",isRequired:m=!1,disabled:n=!1},o)=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(a3.J,{htmlFor:a,className:(0,P.cn)(h?"text-red-600":"","gap-1"),children:[c,m&&(0,d.jsx)("span",{className:"text-red-500",children:"*"}),k&&(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{children:(0,d.jsx)(a8.A,{className:"w-3 h-3 text-muted-foreground ml-1"})}),(0,d.jsx)(N.TooltipContent,{className:"break-words",children:k})]})]}),(0,d.jsx)(bj.p,{ref:o,id:a,name:b,type:l,value:e,onChange:f,placeholder:g,"data-invalid":h?"":void 0,className:`w-full data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300 ${i}`,disabled:n}),h&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:h}),j&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:j})]}));br.displayName="InputField";let bs=(0,i.forwardRef)(({id:a,name:b,label:c,value:e,onChange:f,placeholder:g,error:h,className:i="",description:j,maxHeight:k="max-h-96",disabled:l=!1},m)=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:a,className:h?"text-red-600":"",children:c}),(0,d.jsx)(bl.T,{ref:m,id:a,name:b,value:e,onChange:f,placeholder:g,"data-invalid":h?"":void 0,className:`w-full ${k} data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300 ${i}`,disabled:l}),h&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:h}),j&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:j})]}));bs.displayName="TextareaField";var bt=c(27555);function bu({title:a}){return(0,d.jsx)("h3",{className:"text-sm font-semibold",children:a})}function bv({description:a}){return(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:a})}function bw({title:a,description:b}){return(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(bu,{title:a}),(0,d.jsx)(bv,{description:b})]})}function bx({contextConfig:a,updateMetadata:b}){let{id:c,name:e,description:f,contextVariables:g,requestContextSchema:h}=a,i=(c,d)=>{b("contextConfig",{...a,[c]:d})};return(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(bw,{title:"Context configuration",description:"Configure dynamic context for this graph."}),(0,d.jsxs)("div",{className:"flex flex-col space-y-8",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"id",children:"Id"}),(0,d.jsx)(bj.p,{id:"id",value:c||"",onChange:a=>i("id",a.target.value),placeholder:"my-context"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Choose a unique identifier for this configuration. Using an existing id will replace that configuration."})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"name",children:"Name"}),(0,d.jsx)(bj.p,{id:"name",value:e,onChange:a=>i("name",a.target.value),placeholder:"My context"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"description",children:"Description"}),(0,d.jsx)(bl.T,{id:"description",value:f,onChange:a=>i("description",a.target.value),placeholder:"Context description...",className:"max-h-96"})]}),(0,d.jsx)(a9.y,{name:"contextVariables",label:"Context variables (JSON)",value:g,onChange:a=>i("contextVariables",a),placeholder:"{}",className:""}),(0,d.jsx)(a9.y,{name:"requestContextSchema",label:"Request context schema (JSON)",value:h,onChange:a=>i("requestContextSchema",a),placeholder:"{}",className:""})]})]})}let by=function(){let a=(0,h.useParams)(),b=w(a=>a.metadata),{graphId:c,tenantId:e,projectId:f}=a,{id:g,name:j,description:k,contextConfig:l,models:m,stopWhen:n,graphPrompt:o,statusUpdates:p}=b,{INKEEP_AGENTS_RUN_API_URL:q}=(0,aJ.y)(),r=`${q}/api/chat`,{project:s}=bn(),{markUnsaved:t,setMetadata:u}=w(),v=(0,i.useCallback)((...a)=>{u(...a),t()},[u,t]);return bm({nameValue:j,idValue:g,onIdChange:(0,i.useCallback)(a=>{v("id",a)},[v]),isEditing:!!c}),(0,d.jsxs)("div",{className:"space-y-8",children:[c&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"text-sm leading-none font-medium flex items-center gap-1",children:["Chat URL",(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsx)(a8.A,{className:"w-3 h-3 text-muted-foreground"})}),(0,d.jsx)(N.TooltipContent,{children:"Use this endpoint to chat with your graph or connect it to the Inkeep widget via the graphUrl prop. Supports streaming responses with the Vercel AI SDK data stream protocol."})]})]}),(0,d.jsx)(bb.r,{code:r}),(0,d.jsx)(bc.G,{href:`/${e}/projects/${f}/api-keys`,children:"Create API key"})]}),(0,d.jsx)(br,{id:"name",name:"name",label:"Name",value:j,onChange:a=>v("name",a.target.value),placeholder:"My graph",isRequired:!0}),(0,d.jsx)(br,{id:"id",name:"id",label:"Id",value:g||"",onChange:a=>v("id",a.target.value),disabled:!!c,placeholder:"my-graph",description:c?void 0:"Choose a unique identifier for this graph. Using an existing id will replace that graph.",isRequired:!0}),(0,d.jsx)(bs,{id:"description",name:"description",label:"Description",value:k,onChange:a=>v("description",a.target.value),placeholder:"This graph is used to...",className:"max-h-96"}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bq,{id:"graph-prompt",name:"graph-prompt",label:"Graph prompt",value:o||"",onChange:a=>v("graphPrompt",a.target.value),placeholder:"System-level instructions for this graph...",className:"max-h-96"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"System-level prompt that defines the intended audience and overall goal of this graph. Applied to all agents."})]}),(0,d.jsx)(bk.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(bw,{title:"Default models",description:"Set default models that will be inherited by agents that don't have their own models configured."}),(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bt.B,{value:m?.base?.model||"",inheritedValue:s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},base:a?{...m?.base||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Base model",(0,d.jsx)(bg,{...bh("graph",m?.base?.model,s?.models?.base?.model),size:"sm"})]}),tooltip:"Primary model for general agent responses"})}),(0,d.jsxs)(aw.Nt,{defaultOpen:!!m?.structuredOutput||!!m?.summarizer,className:"border rounded-md bg-muted/30 dark:bg-muted/20",children:[(0,d.jsx)(aw.R6,{asChild:!0,children:(0,d.jsxs)(au.$,{variant:"ghost",size:"sm",className:"flex items-center justify-start gap-1.5 p-0 h-auto font-normal text-xs text-foreground/80 dark:text-foreground/90 hover:text-foreground hover:!bg-transparent transition-colors group w-full py-2 px-4",children:[(0,d.jsx)(ar.A,{className:"h-3.5 w-3.5 transition-transform duration-200 group-data-[state=open]:rotate-90"}),"Advanced model options"]})}),(0,d.jsxs)(aw.Ke,{className:"space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6",children:[(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bt.B,{value:m?.structuredOutput?.model||"",inheritedValue:s?.models?.structuredOutput?.model||m?.base?.model||s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},structuredOutput:a?{...m?.structuredOutput||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Structured output model",(0,d.jsx)(bg,{...bh("graph",m?.structuredOutput?.model,s?.models?.structuredOutput?.model),size:"sm"})]}),tooltip:"Model for structured outputs and data components (defaults to base model)"})}),(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bt.B,{value:m?.summarizer?.model||"",inheritedValue:s?.models?.summarizer?.model||m?.base?.model||s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},summarizer:a?{...m?.summarizer||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Summarizer model",(0,d.jsx)(bg,{...bh("graph",m?.summarizer?.model,s?.models?.summarizer?.model),size:"sm"})]}),tooltip:"Model for summarization tasks (defaults to base model)"})})]})]}),(0,d.jsx)(bd.L,{title:"How model inheritance works:",Icon:a8.A,children:(0,d.jsx)(ba.O,{})}),m?.base?.model&&(0,d.jsx)(a9.y,{name:"base-provider-options",label:"Base model provider options",onChange:a=>{v("models",{...m||{},base:{model:m.base?.model||"",providerOptions:a}})},value:m.base.providerOptions||"",placeholder:`{
|
|
125
|
+
`,children:[(0,d.jsx)(ba.A,{className:"sm"===e?"h-2.5 w-2.5":"h-3 w-3"}),"md"===e&&"Default"]})}),(0,d.jsx)(N.TooltipContent,{children:(0,d.jsx)("p",{children:c||"Using system default value"})})]})})}function bj(a,b,c,d){let e=null!=b&&""!==b,f=null!=c&&""!==c,g=null!=d&&""!==d;if("project"!==a){if(e&&f&&b===c){let b="agent"===a?"Graph":"Project";return{isExplicit:!1,inheritedFrom:b,tooltip:`This model is inherited from the ${b.toLowerCase()} level`}}if("agent"===a&&e&&!f&&g&&b===d)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This model is inherited from the project level"}}if(e)return{isExplicit:!0,tooltip:`This model is explicitly configured at the ${a} level`};switch(a){case"agent":if(f)return{isExplicit:!1,inheritedFrom:"Graph",tooltip:"Will inherit from the graph level"};if(g)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit from the project level"};break;case"graph":if(f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit from the project level"}}return{isExplicit:!1,tooltip:"Using system default configuration"}}function bk(a,b,c,d){let e=null!=c,f=null!=d;if(e&&f&&c===d){if("transferCountIs"===b&&"graph"===a)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This transfer limit is inherited from the project level"};if("stepCountIs"===b&&"agent"===a)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"This step limit is inherited from the project level"}}if(e)return{isExplicit:!0,tooltip:`This ${"transferCountIs"===b?"transfer limit":"step limit"} is explicitly set at the ${a} level`};if("transferCountIs"===b){if("graph"===a&&f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit transfer limit from the project level"}}else if("stepCountIs"===b&&"agent"===a&&f)return{isExplicit:!1,inheritedFrom:"Project",tooltip:"Will inherit step limit from the project level"};return{isExplicit:!1,tooltip:`Using system default (${"transferCountIs"===b?"10":"50"})`}}var bl=c(98234),bm=c(24003),bn=c(32442);function bo({nameValue:a,idValue:b,onIdChange:c,isEditing:d=!1}){(0,i.useRef)(!1),(0,i.useRef)(""),(0,i.useRef)(c),(0,i.useRef)(b)}function bp(){let{tenantId:a,projectId:b}=(0,h.useParams)(),[c,d]=(0,i.useState)(null),[e,f]=(0,i.useState)(!0),[g,j]=(0,i.useState)(null);return{project:c,loading:e,error:g}}c(87171),ak.callServer,ak.findSourceMapURL;var bq=c(4783);function br({...a}){let b=(0,i.useRef)(null);return(0,d.jsx)(bn.T,{...a,ref:b,className:"w-full max-h-full resize-none h-full",autoFocus:!0})}function bs({label:a,isRequired:b=!1,...c}){return(0,d.jsx)(bq.Z,{name:c.id||"expandable-textarea",label:a,isRequired:b,compactView:(0,d.jsx)(bn.T,{...c}),expandedView:(0,d.jsx)(br,{...c})})}let bt=(0,i.forwardRef)(({id:a,name:b,label:c,value:e,onChange:f,placeholder:g,error:h,className:i="",description:j,tooltip:k,type:l="text",isRequired:m=!1,disabled:n=!1},o)=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(a5.J,{htmlFor:a,className:(0,P.cn)(h?"text-red-600":"","gap-1"),children:[c,m&&(0,d.jsx)("span",{className:"text-red-500",children:"*"}),k&&(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{children:(0,d.jsx)(ba.A,{className:"w-3 h-3 text-muted-foreground ml-1"})}),(0,d.jsx)(N.TooltipContent,{className:"break-words",children:k})]})]}),(0,d.jsx)(bl.p,{ref:o,id:a,name:b,type:l,value:e,onChange:f,placeholder:g,"data-invalid":h?"":void 0,className:`w-full data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300 ${i}`,disabled:n}),h&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:h}),j&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:j})]}));bt.displayName="InputField";let bu=(0,i.forwardRef)(({id:a,name:b,label:c,value:e,onChange:f,placeholder:g,error:h,className:i="",description:j,maxHeight:k="max-h-96",disabled:l=!1},m)=>(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:a,className:h?"text-red-600":"",children:c}),(0,d.jsx)(bn.T,{ref:m,id:a,name:b,value:e,onChange:f,placeholder:g,"data-invalid":h?"":void 0,className:`w-full ${k} data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300 ${i}`,disabled:l}),h&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:h}),j&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:j})]}));bu.displayName="TextareaField";var bv=c(27555);function bw({title:a}){return(0,d.jsx)("h3",{className:"text-sm font-semibold",children:a})}function bx({description:a}){return(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:a})}function by({title:a,description:b}){return(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(bw,{title:a}),(0,d.jsx)(bx,{description:b})]})}function bz({contextConfig:a,updateMetadata:b}){let{id:c,name:e,description:f,contextVariables:g,requestContextSchema:h}=a,i=(c,d)=>{b("contextConfig",{...a,[c]:d})};return(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(by,{title:"Context configuration",description:"Configure dynamic context for this graph."}),(0,d.jsxs)("div",{className:"flex flex-col space-y-8",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"id",children:"Id"}),(0,d.jsx)(bl.p,{id:"id",value:c||"",onChange:a=>i("id",a.target.value),placeholder:"my-context"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Choose a unique identifier for this configuration. Using an existing id will replace that configuration."})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"name",children:"Name"}),(0,d.jsx)(bl.p,{id:"name",value:e,onChange:a=>i("name",a.target.value),placeholder:"My context"})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"description",children:"Description"}),(0,d.jsx)(bn.T,{id:"description",value:f,onChange:a=>i("description",a.target.value),placeholder:"Context description...",className:"max-h-96"})]}),(0,d.jsx)(bb.y,{name:"contextVariables",label:"Context variables (JSON)",value:g,onChange:a=>i("contextVariables",a),placeholder:"{}",className:""}),(0,d.jsx)(bb.y,{name:"requestContextSchema",label:"Request context schema (JSON)",value:h,onChange:a=>i("requestContextSchema",a),placeholder:"{}",className:""})]})]})}let bA=function(){let a=(0,h.useParams)(),b=w(a=>a.metadata),{graphId:c,tenantId:e,projectId:f}=a,{id:g,name:j,description:k,contextConfig:l,models:m,stopWhen:n,graphPrompt:o,statusUpdates:p}=b,{INKEEP_AGENTS_RUN_API_URL:q}=(0,aL.y)(),r=`${q}/api/chat`,{project:s}=bp(),{markUnsaved:t,setMetadata:u}=w(),v=(0,i.useCallback)((...a)=>{u(...a),t()},[u,t]);return bo({nameValue:j,idValue:g,onIdChange:(0,i.useCallback)(a=>{v("id",a)},[v]),isEditing:!!c}),(0,d.jsxs)("div",{className:"space-y-8",children:[c&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"text-sm leading-none font-medium flex items-center gap-1",children:["Chat URL",(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsx)(ba.A,{className:"w-3 h-3 text-muted-foreground"})}),(0,d.jsx)(N.TooltipContent,{children:"Use this endpoint to chat with your graph or connect it to the Inkeep widget via the graphUrl prop. Supports streaming responses with the Vercel AI SDK data stream protocol."})]})]}),(0,d.jsx)(bd.r,{code:r}),(0,d.jsx)(be.G,{href:`/${e}/projects/${f}/api-keys`,children:"Create API key"})]}),(0,d.jsx)(bt,{id:"name",name:"name",label:"Name",value:j,onChange:a=>v("name",a.target.value),placeholder:"My graph",isRequired:!0}),(0,d.jsx)(bt,{id:"id",name:"id",label:"Id",value:g||"",onChange:a=>v("id",a.target.value),disabled:!!c,placeholder:"my-graph",description:c?void 0:"Choose a unique identifier for this graph. Using an existing id will replace that graph.",isRequired:!0}),(0,d.jsx)(bu,{id:"description",name:"description",label:"Description",value:k,onChange:a=>v("description",a.target.value),placeholder:"This graph is used to...",className:"max-h-96"}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bs,{id:"graph-prompt",name:"graph-prompt",label:"Graph prompt",value:o||"",onChange:a=>v("graphPrompt",a.target.value),placeholder:"System-level instructions for this graph...",className:"max-h-96"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"System-level prompt that defines the intended audience and overall goal of this graph. Applied to all agents."})]}),(0,d.jsx)(bm.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(by,{title:"Default models",description:"Set default models that will be inherited by agents that don't have their own models configured."}),(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:m?.base?.model||"",inheritedValue:s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},base:a?{...m?.base||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Base model",(0,d.jsx)(bi,{...bj("graph",m?.base?.model,s?.models?.base?.model),size:"sm"})]}),tooltip:"Primary model for general agent responses"})}),(0,d.jsxs)(ay.Nt,{defaultOpen:!!m?.structuredOutput||!!m?.summarizer,className:"border rounded-md bg-muted/30 dark:bg-muted/20",children:[(0,d.jsx)(ay.R6,{asChild:!0,children:(0,d.jsxs)(aw.$,{variant:"ghost",size:"sm",className:"flex items-center justify-start gap-1.5 p-0 h-auto font-normal text-xs text-foreground/80 dark:text-foreground/90 hover:text-foreground hover:!bg-transparent transition-colors group w-full py-2 px-4",children:[(0,d.jsx)(at.A,{className:"h-3.5 w-3.5 transition-transform duration-200 group-data-[state=open]:rotate-90"}),"Advanced model options"]})}),(0,d.jsxs)(ay.Ke,{className:"space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6",children:[(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:m?.structuredOutput?.model||"",inheritedValue:s?.models?.structuredOutput?.model||m?.base?.model||s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},structuredOutput:a?{...m?.structuredOutput||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Structured output model",(0,d.jsx)(bi,{...bj("graph",m?.structuredOutput?.model,s?.models?.structuredOutput?.model),size:"sm"})]}),tooltip:"Model for structured outputs and data components (defaults to base model)"})}),(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:m?.summarizer?.model||"",inheritedValue:s?.models?.summarizer?.model||m?.base?.model||s?.models?.base?.model,onValueChange:a=>{v("models",{...m||{},summarizer:a?{...m?.summarizer||{},model:a}:void 0})},label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Summarizer model",(0,d.jsx)(bi,{...bj("graph",m?.summarizer?.model,s?.models?.summarizer?.model),size:"sm"})]}),tooltip:"Model for summarization tasks (defaults to base model)"})})]})]}),(0,d.jsx)(bf.L,{title:"How model inheritance works:",Icon:ba.A,children:(0,d.jsx)(bc.O,{})}),m?.base?.model&&(0,d.jsx)(bb.y,{name:"base-provider-options",label:"Base model provider options",onChange:a=>{v("models",{...m||{},base:{model:m.base?.model||"",providerOptions:a}})},value:m.base.providerOptions||"",placeholder:`{
|
|
126
126
|
"temperature": 0.7,
|
|
127
127
|
"maxTokens": 2048
|
|
128
|
-
}`}),m?.structuredOutput?.model&&(0,d.jsx)(
|
|
128
|
+
}`}),m?.structuredOutput?.model&&(0,d.jsx)(bb.y,{name:"structured-provider-options",label:"Structured output model provider options",onChange:a=>{v("models",{...m||{},structuredOutput:{model:m.structuredOutput?.model||"",providerOptions:a}})},value:m.structuredOutput.providerOptions||"",placeholder:`{
|
|
129
129
|
"temperature": 0.1,
|
|
130
130
|
"maxTokens": 1024
|
|
131
|
-
}`}),m?.summarizer?.model&&(0,d.jsx)(
|
|
131
|
+
}`}),m?.summarizer?.model&&(0,d.jsx)(bb.y,{name:"summarizer-provider-options",label:"Summarizer model provider options",onChange:a=>{v("models",{...m||{},summarizer:{model:m.summarizer?.model||"",providerOptions:a}})},value:m.summarizer.providerOptions||"",placeholder:`{
|
|
132
132
|
"temperature": 0.3,
|
|
133
133
|
"maxTokens": 1024
|
|
134
|
-
}`})]}),(0,d.jsx)(
|
|
134
|
+
}`})]}),(0,d.jsx)(bm.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(by,{title:"Execution limits",description:"Configure graph-level execution limits for transfers between agents."}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a5.J,{htmlFor:"transfer-count",children:"Max transfers"}),(0,d.jsx)(bi,{...bk("graph","transferCountIs",n?.transferCountIs,s?.stopWhen?.transferCountIs),size:"sm"})]}),(0,d.jsx)(bl.p,{id:"transfer-count",type:"number",min:"1",max:"100",value:n?.transferCountIs||"",onChange:a=>{let b=a.target.value?parseInt(a.target.value,10):void 0;v("stopWhen",{...n||{},transferCountIs:b})},placeholder:"10"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Maximum number of agent transfers per conversation (defaults to 10 if not set)"})]}),(0,d.jsx)(bf.L,{title:"How execution limit inheritance works:",Icon:ba.A,children:(0,d.jsxs)("ul",{className:"space-y-1.5 list-disc list-outside pl-4",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"transferCountIs"}),": Project → Graph only (controls transfers between agents)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Explicit settings"})," always take precedence over inherited values"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Default fallback"}),": transferCountIs = 10 if no value is set anywhere"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Graph scope"}),": This limit applies to all agents within this graph"]})]})})]}),(0,d.jsx)(bm.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)(by,{title:"Status updates",description:"Configure structured status updates for conversation progress tracking."}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,d.jsx)(a4.S,{id:"status-updates-enabled",checked:p?.enabled??!0,onCheckedChange:a=>{v("statusUpdates",{...p||{},enabled:!0===a})}}),(0,d.jsx)(a5.J,{htmlFor:"status-updates-enabled",children:"Enable status updates"})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Send structured status updates during conversation execution"})]}),(p?.enabled??!0)&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"status-updates-prompt",children:"Status updates prompt"}),(0,d.jsx)(bn.T,{id:"status-updates-prompt",value:p?.prompt||"",onChange:a=>{v("statusUpdates",{...p||{},prompt:a.target.value})},placeholder:"Generate a status update describing the current progress...",className:"max-h-32"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Custom prompt for generating status updates (optional)"})]}),(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(a5.J,{children:"Update frequency type"}),(0,d.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,d.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,d.jsx)(a4.S,{id:"event-based-updates",checked:!!p?.numEvents,onCheckedChange:a=>{if(a)v("statusUpdates",{...p||{},numEvents:p?.numEvents||10});else{let a={...p};delete a.numEvents,v("statusUpdates",a)}}}),(0,d.jsx)(a5.J,{htmlFor:"event-based-updates",children:"Event-based updates"})]}),(0,d.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,d.jsx)(a4.S,{id:"time-based-updates",checked:!!p?.timeInSeconds,onCheckedChange:a=>{if(a)v("statusUpdates",{...p||{},timeInSeconds:p?.timeInSeconds||30});else{let a={...p};delete a.timeInSeconds,v("statusUpdates",a)}}}),(0,d.jsx)(a5.J,{htmlFor:"time-based-updates",children:"Time-based updates"})]})]})]}),p?.numEvents&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"num-events",children:"Number of events"}),(0,d.jsx)(bl.p,{id:"num-events",type:"number",min:"1",max:"100",value:p.numEvents||"",onChange:a=>{let b=a.target.value?parseInt(a.target.value,10):void 0;v("statusUpdates",{...p||{},numEvents:b})},placeholder:"10"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Number of events/steps between status updates (default: 10)"})]}),p?.timeInSeconds&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"time-in-seconds",children:"Time interval (seconds)"}),(0,d.jsx)(bl.p,{id:"time-in-seconds",type:"number",min:"1",max:"600",value:p.timeInSeconds||"",onChange:a=>{let b=a.target.value?parseInt(a.target.value,10):void 0;v("statusUpdates",{...p||{},timeInSeconds:b})},placeholder:"30"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Time interval in seconds between status updates (default: 30)"})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bb.y,{name:"status-components",label:"Status components configuration",onChange:a=>{v("statusUpdates",{...p||{},statusComponents:a})},value:p?.statusComponents||"",placeholder:`[
|
|
135
135
|
{
|
|
136
136
|
"id": "tool_call_summary",
|
|
137
137
|
"name": "Tool Call",
|
|
@@ -156,13 +156,13 @@ exports.id=2124,exports.ids=[2124],exports.modules={88:(a,b,c)=>{"use strict";c.
|
|
|
156
156
|
"required": ["tool_name", "summary"]
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
]`}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Define structured components for status updates. Each component has an id, name, description, and JSON schema."})]})]})]})]}),(0,d.jsx)(
|
|
159
|
+
]`}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Define structured components for status updates. Each component has an id, name, description, and JSON schema."})]})]})]})]}),(0,d.jsx)(bm.Separator,{}),(0,d.jsx)(bz,{contextConfig:l,updateMetadata:v})]})};function bB({selectedNodeId:a,errorHelpers:b}){let{updateNodeData:c}=(0,e.VH)(),d=w(a=>a.markUnsaved),f=(0,i.useRef)({}),g=(0,i.useCallback)((a,b)=>{b?f.current[a]=b:delete f.current[a]},[]),h=(0,i.useCallback)(a=>b?.getFieldErrorMessage(a),[b]),j=(0,i.useCallback)((b,e)=>{c(a,{[b]:e}),d()},[a,c,d]),k=(0,i.useCallback)(a=>{let{name:b,value:c}=a.target;j(b,c)},[j]),l=(0,i.useCallback)((a,b)=>{a.split(".").length,j(a,b)},[j]),m=(0,i.useCallback)((a,b,c)=>{let d=a.split(".");if(1===d.length)j(a,b);else{let[a,...e]=d,f={...c?.[a]||{}},g=f;for(let a=0;a<e.length-1;a++){let b=e[a];b in g&&null!==g[b]&&void 0!==g[b]||(g[b]={}),g=g[b]}let h=e[e.length-1];if(null==b||""===b){if(delete g[h],0===Object.keys(f).length||0===Object.keys(g).length)return void j(a,null)}else g[h]=b;j(a,f)}},[j]);return{updateField:j,updatePath:l,updateNestedPath:m,handleInputChange:k,getFieldError:h,setFieldRef:g,markUnsaved:d}}var bC=c(66155),bD=c(63337),bE=c(39729),bF=c(63284),bG=c(61678),bH=c.n(bG);function bI({message:a,actionText:b,actionHref:c}){return(0,d.jsxs)("div",{className:"flex flex-col gap-2 h-full justify-center items-center",children:[(0,d.jsx)("p",{className:"text-sm text-gray-400 dark:text-white/50",children:a}),(0,d.jsx)("div",{className:"inline-block",children:c&&(0,d.jsxs)(bH(),{target:"_blank",rel:"noopener noreferrer",href:c,className:"font-mono gap-2 text-xs flex items-center uppercase font-medium text-gray-500 hover:text-gray-700",children:[b,(0,d.jsx)(bF.A,{className:"w-4 h-4"})]})})]})}function bJ({selectedComponents:a,handleToggle:b,availableComponents:c,emptyStateMessage:e,emptyStateActionText:f,emptyStateActionHref:g,placeholder:h="Select components..."}){let[j,k]=(0,i.useState)(!1);return(0,d.jsx)("div",{className:"flex w-full",children:(0,d.jsxs)(bE.AM,{open:j,onOpenChange:k,children:[(0,d.jsx)(bE.Wv,{asChild:!0,children:(0,d.jsxs)(aw.$,{variant:"outline",role:"combobox","aria-expanded":j,className:"w-full justify-between bg-transparent text-gray-700",children:[0===a.length?(0,d.jsx)("div",{className:"text-muted-foreground",children:h}):`${a.length} selected`,(0,d.jsx)(bC.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,d.jsx)(bE.hl,{className:"w-[var(--radix-popover-trigger-width)] p-0",children:(0,d.jsxs)(bD.uB,{children:[(0,d.jsx)(bD.G7,{placeholder:"Search components..."}),(0,d.jsx)(bD.xL,{children:(0,d.jsx)(bI,{message:e||"No components found.",actionText:f,actionHref:g})}),(0,d.jsx)(bD.oI,{className:"max-h-64",children:(0,d.jsx)(bD.L$,{children:c.map(({id:c,name:e,description:f})=>(0,d.jsxs)(bD.h_,{onSelect:()=>b(c),className:"flex items-start gap-3 p-3 group cursor-pointer",children:[(0,d.jsx)(a4.S,{checked:a.includes(c),className:"mt-0.5 [&_svg]:!text-primary-foreground"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,d.jsx)("span",{className:"font-medium",children:e})}),f&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:f})]})]},c))})})]})})]})})}function bK({label:a,count:b}){return(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a5.J,{children:a}),(0,d.jsx)(K.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:b})]})}function bL({selectedComponents:a,componentLookup:b,handleToggle:c}){return(0,d.jsx)("div",{className:"space-y-2",children:(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:a.map(a=>{let e=b[a];return(0,d.jsxs)(K.E,{variant:"code",className:"text-xs",children:[e?.name||a,(0,d.jsx)(aw.$,{variant:"ghost",size:"icon-sm",className:" size-3 ml-1",onClick:()=>c(a),children:(0,d.jsx)(au.A,{className:"size-3"})})]},a)})})})}function bM({label:a,componentLookup:b,selectedComponents:c,onSelectionChange:e,emptyStateMessage:f,emptyStateActionText:g,emptyStateActionHref:h,placeholder:i="Select components..."}){let j=a=>{e(c.includes(a)?c.filter(b=>b!==a):[...c,a])};return(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(bK,{label:a,count:c.length}),c.length>0&&(0,d.jsx)(bL,{selectedComponents:c,componentLookup:b,handleToggle:j})]}),(0,d.jsx)(bJ,{selectedComponents:c,handleToggle:j,availableComponents:Object.values(b),emptyStateMessage:f,emptyStateActionText:g,emptyStateActionHref:h,placeholder:i})]})}function bN({models:a,updatePath:b,projectModels:c,graphModels:e}){let f=a?.structuredOutput||a?.summarizer;return a?.base||a?.structuredOutput||a?.summarizer,(0,d.jsxs)("div",{className:"space-y-8",children:[(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:a?.base?.model||"",onValueChange:a=>{b("models.base.model",a||void 0)},inheritedValue:e?.base?.model||c?.base?.model,label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Base model",(0,d.jsx)(bi,{...bj("agent",a?.base?.model,e?.base?.model,c?.base?.model),size:"sm"})]}),tooltip:"Primary model for general agent responses"})}),(0,d.jsxs)(ay.Nt,{defaultOpen:!!f,className:"border rounded-md bg-muted/30 dark:bg-muted/20",children:[(0,d.jsx)(ay.R6,{asChild:!0,children:(0,d.jsxs)(aw.$,{variant:"ghost",size:"sm",className:"flex items-center justify-start gap-1.5 p-0 h-auto font-normal text-xs text-foreground/80 dark:text-foreground/90 hover:text-foreground hover:!bg-transparent transition-colors group w-full py-2 px-4",children:[(0,d.jsx)(at.A,{className:"h-3.5 w-3.5 transition-transform duration-200 group-data-[state=open]:rotate-90"}),"Advanced Model Options"]})}),(0,d.jsxs)(ay.Ke,{className:"space-y-8 mt-4 data-[state=closed]:animate-[collapsible-up_200ms_ease-out] data-[state=open]:animate-[collapsible-down_200ms_ease-out] overflow-hidden px-4 pb-6",children:[(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:a?.structuredOutput?.model||"",onValueChange:a=>{b("models.structuredOutput.model",a||void 0)},inheritedValue:e?.structuredOutput?.model||c?.structuredOutput?.model||a?.base?.model||e?.base?.model||c?.base?.model,label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Structured output model",(0,d.jsx)(bi,{...bj("agent",a?.structuredOutput?.model,e?.structuredOutput?.model,c?.structuredOutput?.model),size:"sm"})]}),tooltip:"The model used for structured output and data components (defaults to base model)"})}),(0,d.jsx)("div",{className:"relative",children:(0,d.jsx)(bv.B,{value:a?.summarizer?.model||"",onValueChange:a=>{b("models.summarizer.model",a||void 0)},inheritedValue:e?.summarizer?.model||c?.summarizer?.model||a?.base?.model||e?.base?.model||c?.base?.model,label:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:["Summarizer model",(0,d.jsx)(bi,{...bj("agent",a?.summarizer?.model,e?.summarizer?.model,c?.summarizer?.model),size:"sm"})]}),tooltip:"The model used for summarization tasks (defaults to base model)"})})]})]}),a?.base?.model&&(0,d.jsx)(bb.y,{name:"base-provider-options",label:"Base model provider options",onChange:a=>{b("models.base.providerOptions",a)},value:a?.base?.providerOptions||"",placeholder:`{
|
|
160
160
|
"temperature": 0.7,
|
|
161
161
|
"maxTokens": 2048
|
|
162
|
-
}`}),a?.structuredOutput?.model&&(0,d.jsx)(
|
|
162
|
+
}`}),a?.structuredOutput?.model&&(0,d.jsx)(bb.y,{name:"structured-provider-options",label:"Structured output model provider options",onChange:a=>{b("models.structuredOutput.providerOptions",a)},value:a?.structuredOutput?.providerOptions||"",placeholder:`{
|
|
163
163
|
"temperature": 0.1,
|
|
164
164
|
"maxTokens": 1024
|
|
165
|
-
}`}),a?.summarizer?.model&&(0,d.jsx)(
|
|
165
|
+
}`}),a?.summarizer?.model&&(0,d.jsx)(bb.y,{name:"summarizer-provider-options",label:"Summarizer model provider options",onChange:a=>{b("models.summarizer.providerOptions",a)},value:a?.summarizer?.providerOptions||"",placeholder:`{
|
|
166
166
|
"temperature": 0.3,
|
|
167
167
|
"maxTokens": 1024
|
|
168
|
-
}`}),(0,d.jsx)(bd.L,{title:"How model inheritance works:",Icon:a8.A,children:(0,d.jsx)(ba.O,{})})]})}function bM({selectedNode:a,dataComponentLookup:b,artifactComponentLookup:c,errorHelpers:e}){let{tenantId:f,projectId:g}=(0,h.useParams)(),j=a.data?.dataComponents||[],k=a.data?.artifactComponents||[],{project:l}=bn(),m=w(a=>a.metadata),{updatePath:n,updateNestedPath:o,getFieldError:p,setFieldRef:q}=bz({selectedNodeId:a.id,errorHelpers:e}),r=(0,i.useCallback)((b,c)=>{o(b,c,a.data)},[o,a.data]),s=(0,i.useCallback)(a=>{n("id",a)},[n]);return bm({nameValue:a.data.name,idValue:a.data.id,onIdChange:s,isEditing:!1}),(0,d.jsxs)("div",{className:"space-y-8 flex flex-col",children:[(0,d.jsx)(br,{ref:a=>q("name",a),id:"name",name:"name",label:"Name",value:a.data.name||"",onChange:a=>n("name",a.target.value),placeholder:"Support agent",error:p("name"),isRequired:!0}),(0,d.jsx)(br,{ref:a=>q("id",a),id:"id",name:"id",label:"Id",value:a.data.id||"",onChange:a=>n("id",a.target.value),placeholder:"my-agent",error:p("id"),description:"Choose a unique identifier for this agent. Using an existing id will replace that agent.",isRequired:!0}),(0,d.jsx)(bs,{ref:a=>q("description",a),id:"description",name:"description",label:"Description",value:a.data.description||"",onChange:a=>n("description",a.target.value),placeholder:"This agent is responsible for...",error:p("description")}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bq,{ref:a=>q("prompt",a),id:"prompt",name:"prompt",value:a.data.prompt||"",onChange:a=>n("prompt",a.target.value),placeholder:"You are a helpful assistant...","data-invalid":e?.hasFieldError("prompt")?"":void 0,className:"w-full max-h-96 data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300",label:"Prompt",isRequired:!0}),p("prompt")&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:p("prompt")})]}),(0,d.jsx)(bL,{models:a.data.models,updatePath:r,projectModels:l?.models,graphModels:m?.models}),(0,d.jsx)(bk.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8 ",children:[(0,d.jsx)(bw,{title:"Execution limits",description:"Configure agent-level execution limits for steps within this agent."}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a3.J,{htmlFor:"step-count",children:"Max steps"}),(0,d.jsx)(bg,{...bi("agent","stepCountIs",a.data.stopWhen?.stepCountIs,l?.stopWhen?.stepCountIs),size:"sm"})]}),(0,d.jsx)(bj.p,{id:"step-count",type:"number",min:"1",max:"1000",value:a.data.stopWhen?.stepCountIs||"",onChange:b=>{let c=b.target.value?parseInt(b.target.value,10):void 0;n("stopWhen",{...a.data.stopWhen||{},stepCountIs:c})},placeholder:"50"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Maximum number of execution steps for this agent (defaults to 50 if not set)"})]}),(0,d.jsx)(bd.L,{title:"How execution limit inheritance works:",Icon:a8.A,children:(0,d.jsxs)("ul",{className:"space-y-1.5 list-disc list-outside pl-4",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"stepCountIs"}),": Project → Agent only (agent-level execution limit)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Explicit settings"})," always take precedence over inherited values"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Agent scope"}),": This limit applies only to this specific agent's execution steps"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Independent from transfers"}),": Steps are counted per agent, transfers are counted per conversation"]})]})})]}),(0,d.jsx)(bk.Separator,{}),(0,d.jsx)(bK,{label:"Data components",componentLookup:b,selectedComponents:j,onSelectionChange:a=>{n("dataComponents",a)},emptyStateMessage:"No data components found.",emptyStateActionText:"Create data component",emptyStateActionHref:`/${f}/projects/${g}/data-components/new`,placeholder:"Select data components..."}),(0,d.jsx)(bK,{label:"Artifact components",componentLookup:c,selectedComponents:k,onSelectionChange:a=>{n("artifactComponents",a)},emptyStateMessage:"No artifact components found.",emptyStateActionText:"Create artifact component",emptyStateActionHref:`/${f}/projects/${g}/artifact-components/new`,placeholder:"Select artifact components..."})]})}function bN({selectedNode:a,errorHelpers:b}){let{handleInputChange:c,getFieldError:e,setFieldRef:f}=bz({selectedNodeId:a.id,errorHelpers:b}),g=(0,i.useCallback)(a=>{c({target:{name:"id",value:a}})},[c]);return bm({nameValue:a.data.name,idValue:a.data.id,onIdChange:g,isEditing:!1}),(0,d.jsxs)("div",{className:"space-y-8 flex flex-col",children:[(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"External agents are agents external to a graph that can communicate using the A2A (Agent-to-Agent) protocol. External agents enable you to delegate tasks between graphs within the agent framework or to third-party services."}),(0,d.jsx)(br,{ref:a=>f("name",a),id:"name",name:"name",label:"Name",value:a.data.name||"",onChange:c,placeholder:"Support agent",error:e("name")}),(0,d.jsx)(br,{ref:a=>f("id",a),id:"id",name:"id",label:"Id",value:a.data.id||"",onChange:c,placeholder:"my-external-agent",error:e("id"),description:"Choose a unique identifier for this agent. Using an existing id will replace that agent.",isRequired:!0}),(0,d.jsx)(bs,{ref:a=>f("description",a),id:"description",name:"description",label:"Description",value:a.data.description||"",onChange:c,placeholder:"This agent is responsible for...",error:e("description")}),(0,d.jsx)(br,{ref:a=>f("baseUrl",a),id:"baseUrl",name:"baseUrl",label:"Host URL",value:a.data.baseUrl||"",onChange:c,placeholder:"https://api.example.com/agent",error:e("baseUrl"),tooltip:"This URL is used to discover the agent's capabilities and communicate with it using the A2A protocol. For locally hosted graphs defined with the agent-framework this would be: http://localhost:3002/tenants/:tenantId/projects/:projectId/agents/:graphId"})]})}var bO=c(54998);function bP({selectedNode:a,selectedToolsLookup:b}){let{updateNodeData:c}=(0,e.VH)(),{tenantId:f,projectId:g}=(0,h.useParams)(),i=(0,bO.O)({availableTools:a.data.availableTools,activeTools:a.data.config?.mcp?.activeTools}),j=w(a=>a.markUnsaved),k=(()=>{if(void 0!==a.data.tempSelectedTools)return a.data.tempSelectedTools;let c=new Set,d=!1,e=!1,f=!1;return(Object.values(b).forEach(b=>{let g=b[a.data.id];void 0!==g&&(d=!0,Array.isArray(g)&&0===g.length?e=!0:null===g?f=!0:Array.isArray(g)&&g.forEach(a=>{c.add(a)}))}),f)?null:e?[]:d?Array.from(c):null})(),l=b=>{let{name:d,value:e}=b.target;a&&(c(a.id,{[d]:e}),j())},m=null;try{m=(0,Y.T)(a.data).type}catch(a){console.error(a)}return(0,d.jsxs)("div",{className:"space-y-8",children:[a.data.imageUrl&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(X.u,{imageUrl:a.data.imageUrl,name:a.data.name,provider:m||void 0,size:32,className:"rounded-lg"}),(0,d.jsx)("span",{className:"font-medium text-sm truncate",children:a.data.name})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"node-id",children:"Id"}),(0,d.jsx)(bj.p,{id:"node-id",value:a.data.id,disabled:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"name",children:"Name"}),(0,d.jsx)(bj.p,{id:"name",name:"name",value:a.data.name||"",onChange:l,placeholder:"MCP server",className:"w-full",disabled:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"url",children:"URL"}),(0,d.jsx)(bj.p,{id:"url",name:"url",value:a.data.config?.mcp?.server?.url||"",onChange:l,placeholder:"https://mcp.inkeep.com",disabled:!0,className:"w-full"})]}),a.data.imageUrl&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a3.J,{htmlFor:"imageUrl",children:"Image URL"}),(0,d.jsx)(bj.p,{id:"imageUrl",name:"imageUrl",value:a.data.imageUrl||"",onChange:l,placeholder:"https://example.com/icon.png",disabled:!0,className:"w-full"})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a3.J,{children:"Selected tools"}),(0,d.jsx)(K.E,{variant:"code",className:"border-none px-2 text-[10px] text-gray-700 dark:text-gray-300",children:null===k?i?.length??0:k.filter(a=>i?.some(b=>b.name===a)).length})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Click to select/deselect"}),i&&i.length>0&&(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:i.map(b=>{let e=null===k||k.includes(b.name);return(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:e?"primary":"code",className:`flex items-center gap-1 cursor-pointer transition-colors ${e?"hover:bg-primary/10":"bg-transparent dark:bg-transparent dark:hover:bg-muted/50 hover:bg-muted/100"}`,onClick:()=>(b=>{let d,e=null===k?i?.map(a=>a.name)||[]:[...k];d=e.includes(b)?e.filter(a=>a!==b):[...e,b];let f=i?.map(a=>a.name)||[],g=d;d.length===f.length&&f.every(a=>d.includes(a))&&(g=null),c(a.id,{...a.data,tempSelectedTools:g}),j()})(b.name),children:[b.name,e&&(0,d.jsx)("span",{className:"text-xs",children:(0,d.jsx)(be.A,{className:"w-2.5 h-2.5"})})]})}),(0,d.jsx)(N.TooltipContent,{className:"max-w-xs text-sm",children:(0,d.jsx)("div",{className:"line-clamp-4",children:b.description})})]},b.name)})})]}),(0,d.jsx)(bc.G,{href:`/${f}/projects/${g}/mcp-servers/${a.data.id}/edit`,children:"Edit MCP Server"})]})}var bQ=c(50727),bR=c(49413);function bS({title:a}){return(0,d.jsx)("div",{children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-sm font-medium mb-2",children:a}),(0,d.jsx)("div",{className:"flex flex-col gap-2 min-w-0 min-h-0",children:[1,2,3].map(a=>(0,d.jsx)(bR.E,{className:"w-full h-[72px] rounded-lg"},a))})]})})}function bT({mcp:a,onClick:b}){let c=a.config?.mcp?.server,{id:e,name:f,availableTools:g,imageUrl:h,config:i}=a,j=(0,bO.O)({availableTools:g,activeTools:i?.mcp?.activeTools}),k=j?.length??0;return(0,d.jsx)(au.$,{variant:"unstyled",size:"unstyled",type:"button",className:"w-full p-3 rounded-lg border cursor-pointer transition-colors border-border hover:bg-muted/50 text-left inline-block",id:e,onClick:()=>b(a),children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(X.u,{imageUrl:h,name:f,provider:f,size:32,className:"flex-shrink-0 mt-0.5"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-1 gap-2 min-w-0 truncate",children:[(0,d.jsx)("span",{className:"font-medium text-sm truncate",children:f}),g&&(0,d.jsx)("div",{children:(0,d.jsx)(K.E,{variant:"code",className:"text-2xs flex-shrink-0",children:1===k?"1 tool":`${k} tools`})})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:c?.url})]})]})},e)}function bU({selectedNode:a}){let{updateNode:b}=(0,e.VH)(),{tenantId:c,projectId:f}=(0,h.useParams)(),{tools:g,isLoading:k,error:l}=(()=>{let[a,b]=(0,i.useState)([]),[c,d]=(0,i.useState)(!0),[e,f]=(0,i.useState)(null),{tenantId:g,projectId:k}=(0,h.useParams)();return(0,i.useEffect)(()=>{(async()=>{try{d(!0),f(null);let a=await (0,bQ.i)(g,k);b(a)}catch(b){let a=b instanceof Error?b.message:"Failed to load MCP tools";f(a),j.oR.error(a)}finally{d(!1)}})()},[g,k]),{tools:a,isLoading:c,error:e}})(),m=c=>{b(a.id,{type:Z.MCP,data:{...c}})};return k?(0,d.jsx)(bS,{title:"Select MCP server"}):l?(0,d.jsx)(bG,{message:"Something went wrong.",actionText:"Create MCP server",actionHref:`/${c}/projects/${f}/mcp-servers/new`}):g?.length?(0,d.jsx)("div",{children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-sm font-medium mb-2",children:"Select MCP server"}),(0,d.jsx)("div",{className:"flex flex-col gap-2 min-w-0 min-h-0",children:g.map(a=>(0,d.jsx)(bT,{mcp:a,onClick:m},a.id))})]})}):(0,d.jsx)(bG,{message:"No MCP servers found.",actionText:"Create MCP server",actionHref:`/${c}/projects/${f}/mcp-servers/new`})}function bV({selectedNodeId:a,selectedEdgeId:b,onClose:c,backToGraph:f,isOpen:g,dataComponentLookup:h,artifactComponentLookup:j,selectedToolsLookup:k}){let l=(0,e.j7)(a||""),m=(0,e.Yu)(),{hasFieldError:n,getFieldErrorMessage:o,getFirstErrorField:p}=L(),q=(0,i.useMemo)(()=>b?m.find(a=>a.id===b):null,[b,m]),{heading:r,HeadingIcon:t}=(0,i.useMemo)(()=>{let a,b="";if(l){let c=ae[l?.type];b=c?.name||"Node",a=c?.Icon}else if(q){let c=s[q?.type||"default"];b=c?.name||"Connection",a=c?.Icon}else b="Graph",a=aY.A;return{heading:b,HeadingIcon:a}},[l,q]),u=(0,i.useMemo)(()=>{if(l){let a=l?.type,b=l.data?.id||l.id,c={hasFieldError:a=>n(b,a),getFieldErrorMessage:a=>o(b,a),getFirstErrorField:()=>p(b)};switch(a){case Z.Agent:return(0,d.jsx)(bM,{selectedNode:l,dataComponentLookup:h,artifactComponentLookup:j,errorHelpers:c});case Z.ExternalAgent:return(0,d.jsx)(bN,{selectedNode:l,errorHelpers:c});case Z.MCPPlaceholder:return(0,d.jsx)(bU,{selectedNode:l});case Z.MCP:return(0,d.jsx)(bP,{selectedNode:l,selectedToolsLookup:k});default:return null}}return q?(0,d.jsx)(a6,{selectedEdge:q}):(0,d.jsx)(by,{})},[l,q,h,j,n,o,p,k]),v=(0,i.useMemo)(()=>l||q,[l,q]);return(0,d.jsx)(a$.Root,{isOpen:g,children:g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(a$.Header,{children:[(0,d.jsxs)("div",{className:"flex items-center relative",children:[v&&(0,d.jsx)(a$.BackButton,{onClick:f}),(0,d.jsx)(a7,{heading:r,Icon:t,className:v?"transition-all duration-300 ease-in-out group-hover:translate-x-8":""})]}),(0,d.jsx)(a$.CloseButton,{onClick:c})]}),(0,d.jsx)(a$.Content,{children:u})]})})}var bW=c(69944),bX=c(8067);function bY({onSubmit:a,isPreviewDisabled:b,toggleSidePane:c,setShowPlayground:e}){let f=w(a=>a.dirty),g=(0,d.jsxs)(au.$,{disabled:f||b,variant:"outline",type:"button",onClick:()=>e(!0),children:[(0,d.jsx)(bW.A,{className:"w-4 h-4 text-muted-foreground"}),"Try it"]});return(0,d.jsxs)("div",{className:"flex gap-2",children:[f||b?(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("div",{children:g})}),(0,d.jsx)(N.TooltipContent,{children:f?"Please save your changes before trying the graph.":"Please save the graph to try it."})]}):g,(0,d.jsx)(au.$,{onClick:a,variant:f?"default":"outline",disabled:!f&&!b,children:b?"Save":"Save changes"}),(0,d.jsxs)(au.$,{type:"button",variant:"ghost",onClick:c,children:[(0,d.jsx)("span",{className:"sr-only",children:"Toggle side pane"}),(0,d.jsx)(bX.A,{className:"w-4 h-4"})]})]})}function bZ({graph:a,dataComponentLookup:b={},artifactComponentLookup:c={},toolLookup:k={}}){let[m,n]=(0,i.useState)(!1),o=(0,h.useRouter)(),{tenantId:p,projectId:s}=(0,h.useParams)(),u=(0,i.useMemo)(()=>[{id:(0,g.Ak)(),type:Z.Agent,position:{x:0,y:0},data:{name:"",isDefault:!0},deletable:!1}],[]),{nodes:v,edges:x}=(0,i.useMemo)(()=>a?function(a,b){let c=[],d=[],e=Object.keys(a.agents);for(let b of e){let d=a.agents[b],e=b===a.defaultAgentId,f="external"===d.type,g={id:b,type:f?Z.ExternalAgent:Z.Agent,position:{x:0,y:0},data:f?{id:d.id,name:d.name,description:d.description,baseUrl:d.baseUrl,type:d.type}:{id:d.id,name:d.name,isDefault:e,prompt:d.prompt,description:d.description,dataComponents:d.dataComponents,artifactComponents:d.artifactComponents,models:d.models?{base:d.models.base?{model:d.models.base.model??"",providerOptions:d.models.base.providerOptions?(0,P.S_)(d.models.base.providerOptions):void 0}:void 0,structuredOutput:d.models.structuredOutput?{model:d.models.structuredOutput.model??"",providerOptions:d.models.structuredOutput.providerOptions?(0,P.S_)(d.models.structuredOutput.providerOptions):void 0}:void 0,summarizer:d.models.summarizer?{model:d.models.summarizer.model??"",providerOptions:d.models.summarizer.providerOptions?(0,P.S_)(d.models.summarizer.providerOptions):void 0}:void 0}:void 0,stopWhen:d.stopWhen?{stepCountIs:d.stopWhen.stepCountIs}:void 0,type:d.type,tools:d.canUse?d.canUse.map(a=>a.toolId):[],selectedTools:d.canUse?d.canUse.reduce((a,b)=>(b.toolSelection&&(a[b.toolId]=b.toolSelection),a),{}):void 0},deletable:!e};c.push(g)}for(let f of e){let e=a.agents[f];if("canUse"in e&&e.canUse&&e.canUse.length>0){let h=a.tools;if(h)for(let a of e.canUse){let b=a.toolId,e=h[b];if(!e){console.warn(`Tool with ID ${b} not found in tools object`);continue}let i=(0,g.Ak)(),j={id:i,type:Z.MCP,position:{x:0,y:0},data:{id:e.id,...e}};c.push(j);let k={id:`edge-${i}-${f}`,type:q.Default,source:f,sourceHandle:aa,target:i,targetHandle:_};d.push(k)}else for(let a of e.canUse){let e=a.toolId,h=b?.[e],i=(0,g.Ak)(),j={id:i,type:Z.MCP,position:{x:0,y:0},data:h?{id:h.id,name:h.name,description:"",type:"mcp",config:h.config||{},status:h.status,availableTools:h.availableTools,selectedTools:a.toolSelection}:{id:e,name:e,description:"Project-scoped tool",type:"project-scoped",config:{}}};c.push(j);let k={id:`edge-${i}-${f}`,type:q.Default,source:f,sourceHandle:aa,target:i,targetHandle:_};d.push(k)}}}let f=new Set;for(let b of e){let c=a.agents[b];if("canTransferTo"in c&&c.canTransferTo){for(let e of c.canTransferTo)if(a.agents[e]){let g=b===e,h=g?`self-${b}`:[b,e].sort().join("-");if(!f.has(h)){f.add(h);let i=a.agents[e],j="canTransferTo"in c&&c.canTransferTo?.includes(e)||!1,k="canTransferTo"in i&&i.canTransferTo?.includes(b)||!1,l="canDelegateTo"in c&&c.canDelegateTo?.includes(e)||!1,m="canDelegateTo"in i&&i.canDelegateTo?.includes(b)||!1,n="external"===i.type,o={id:g?`edge-self-${b}`:`edge-${e}-${b}`,type:g?q.SelfLoop:n?q.A2AExternal:q.A2A,source:b,sourceHandle:aa,target:e,targetHandle:n?ac:ab,selected:!1,data:{relationships:{transferTargetToSource:k,transferSourceToTarget:j,delegateTargetToSource:m,delegateSourceToTarget:l}}};d.push(o)}}}if("canDelegateTo"in c&&c.canDelegateTo){for(let e of c.canDelegateTo)if(a.agents[e]){let g=b===e,h=g?`self-${b}`:[b,e].sort().join("-");if(!f.has(h)){f.add(h);let i=a.agents[e],j="canTransferTo"in c&&c.canTransferTo?.includes(e)||!1,k="canTransferTo"in i&&i.canTransferTo?.includes(b)||!1,l="canDelegateTo"in c&&c.canDelegateTo?.includes(e)||!1,m="canDelegateTo"in i&&i.canDelegateTo?.includes(b)||!1,n="external"===i.type,o={id:g?`edge-self-${b}`:`edge-${e}-${b}`,type:g?q.SelfLoop:n?q.A2AExternal:q.A2A,source:b,sourceHandle:aa,target:e,targetHandle:n?ac:ab,selected:!1,data:{relationships:{transferTargetToSource:k,transferSourceToTarget:j,delegateTargetToSource:m,delegateSourceToTarget:l}}};d.push(o)}}}}return{nodes:function(a,b){let c=new B.graphlib.Graph;for(let b of(c.setGraph({rankdir:"TB",nodesep:150,ranksep:150,edgesep:80,marginx:50,marginy:50}),c.setDefaultEdgeLabel(()=>({})),a)){let a=ag(b);c.setNode(b.id,{width:af,height:a})}for(let a of b)c.setEdge(a.source,a.target);return B.layout(c),a.map(a=>{let b=c.node(a.id),d=ag(a);return{...a,position:{x:b.x-af/2,y:b.y-d/2}}})}(c,d),edges:d}}(a,k):{nodes:u,edges:t},[a,k,u]),y=(0,i.useMemo)(()=>{if(!a?.agents)return{};let b={};return Object.entries(a.agents).forEach(([a,c])=>{"selectedTools"in c&&c.selectedTools&&(b[a]=c.selectedTools)}),b},[a?.agents]),{screenToFlowPosition:C}=(0,e.VH)(),{nodes:D,edges:E,setNodes:F,setEdges:G,onNodesChange:H,onEdgesChange:I,metadata:J,setMetadata:K,setInitial:M,markSaved:N,clearSelection:O,markUnsaved:Q}=w(),{nodeId:R,edgeId:S,setQueryState:T,openGraphPane:U,isOpen:V}=ak(),{errors:W,showErrors:X,setErrors:Y,clearErrors:ae,setShowErrors:ai}=L(),aj=(0,i.useCallback)(a=>{Q();let b=a.source===a.target,c={id:b?`edge-self-${a.source}`:function(a,b){let[c,d]=[a,b].sort();return`edge-${c}-${d}`}(a.source,a.target),...a},{sourceHandle:d,targetHandle:e}=a;b?c={...c,type:q.SelfLoop,selected:!0,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!0,delegateTargetToSource:!1,delegateSourceToTarget:!1}}}:(d===aa||d===ab)&&(e===ab||e===aa)?c={...c,type:q.A2A,selected:!0,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!0,delegateTargetToSource:!1,delegateSourceToTarget:!1}}}:(d===aa||d===ab)&&e===ac&&(c={...c,type:q.A2AExternal,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!0}}}),requestAnimationFrame(()=>{l.execute(new A(c,{deselectOtherEdgesIfA2A:!0}))})},[]),al=(0,i.useCallback)(({sourceHandle:a,targetHandle:b})=>a!==_||b!==_,[]),am=(0,i.useCallback)(a=>{a.preventDefault(),a.dataTransfer.dropEffect="move"},[]),an=(0,i.useCallback)(a=>{a.preventDefault();let b=a.dataTransfer.getData("application/reactflow");if(!b)return;let c=JSON.parse(b),d=C({x:a.clientX,y:a.clientY}),e={id:(0,g.Ak)(),type:c.type,position:d,selected:!0,data:{...ad[c.type]}};O(),l.execute(new z(e))},[C,O]),aq=(0,i.useCallback)(({nodes:a,edges:b})=>{let c=1===a.length?a[0]:null,d=1===b.length&&(b[0]?.type===q.A2A||b[0]?.type===q.SelfLoop)?b[0]:null,e=V?"graph":null;T({pane:c?"node":d?"edge":e,nodeId:c?c.id:null,edgeId:d?d.id:null},{history:"replace"})},[T,V]);(0,e.p4)({onChange:aq});let{undo:ar,redo:as,deleteSelected:at}=w();(0,i.useCallback)(a=>{if(a.target?.classList.contains("react-flow__node")){if((a.metaKey||a.ctrlKey)&&"z"===a.key.toLowerCase()){a.preventDefault(),a.shiftKey?as():ar();return}if("Delete"===a.key||"Backspace"===a.key){let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||b.isContentEditable)||(a.preventDefault(),at())}}},[ar,as,at]);let au=(0,i.useCallback)(()=>{G(a=>a.map(a=>({...a,selected:!1}))),F(a=>a.map(a=>({...a,selected:!1}))),T({pane:null,nodeId:null,edgeId:null})},[T,G,F]),av=(0,i.useCallback)(()=>{G(a=>a.map(a=>({...a,selected:!1}))),F(a=>a.map(a=>({...a,selected:!1}))),T({pane:"graph",nodeId:null,edgeId:null})},[T,G,F]),aw=(0,i.useCallback)(a=>{let b=D.find(b=>b.id===a||b.data?.id===a);b&&(F(a=>a.map(a=>({...a,selected:a.id===b.id}))),G(a=>a.map(a=>({...a,selected:!1}))),T({pane:"node",nodeId:b.id,edgeId:null}))},[F,G,D,T]),ax=(0,i.useCallback)(a=>{let b=E.find(b=>b.id===a);b&&(G(a=>a.map(a=>({...a,selected:a.id===b.id}))),F(a=>a.map(a=>({...a,selected:!1}))),T({pane:"edge",nodeId:null,edgeId:b.id}))},[G,F,E,T]),aB=(0,i.useCallback)(async()=>{let d=function(a,b,c,d,e){let f={},h=new Set,i=new Set,j="";for(let b of a)if(b.type===Z.Agent){let a=b.data.id||b.id,c=b.data.dataComponents||[],d=b.data.artifactComponents||[];c.forEach(a=>{h.add(a)}),d.forEach(a=>{i.add(a)});let e=function(a){if(a&&"object"==typeof a&&Object.values(a).some(a=>null!=a&&""!==String(a).trim()))return{base:a.base?{model:a.base.model,providerOptions:ah(a.base.providerOptions)}:void 0,structuredOutput:a.structuredOutput?{model:a.structuredOutput.model,providerOptions:ah(a.structuredOutput.providerOptions)}:void 0,summarizer:a.summarizer?{model:a.summarizer.model,providerOptions:ah(a.summarizer.providerOptions)}:void 0}}(b.data.models),g=b.data.stopWhen,k=b.data.tools||[],l=b.data.selectedTools||{},m=k.map(a=>({toolId:a,toolSelection:l[a]||null})),n={id:a,name:b.data.name,description:b.data.description||"",prompt:b.data.prompt,canUse:m,canTransferTo:[],canDelegateTo:[],dataComponents:c,artifactComponents:d,...e&&{models:e},type:"internal",...g&&{stopWhen:g}};b.data.isDefault&&(j=a),f[a]=n}else if(b.type===Z.ExternalAgent){let a=b.data.id||b.id,c={id:a,name:b.data.name,description:b.data.description||"",baseUrl:b.data.baseUrl,type:"external"};b.data.isDefault&&(j=a),f[a]=c}else b.type===Z.MCP&&console.log("Skipping MCP tool node during graph serialization (tools are project-scoped)");for(let c of b)if(c.type===q.A2A||c.type===q.A2AExternal||c.type===q.SelfLoop){let b=a.find(a=>a.id===c.source),d=a.find(a=>a.id===c.target),e=b?.data.id||b?.id,g=d?.data.id||d?.id,h=f[e],i=f[g];if(h&&i&&c.data?.relationships){let a=c.data.relationships,b=(a,b,c)=>{if("canUse"in a){a[b]||(a[b]=[]);let d=a[b];d&&!d.includes(c)&&d.push(c)}};a.transferSourceToTarget&&b(h,"canTransferTo",g),a.transferTargetToSource&&b(i,"canTransferTo",e),a.delegateSourceToTarget&&b(h,"canDelegateTo",g),a.delegateTargetToSource&&b(i,"canDelegateTo",e)}}else if(c.type===q.Default){let b=a.find(a=>a.id===c.source),d=f[b?.data.id||b?.id],e=a.find(a=>a.id===c.target);if(d&&e&&"internal"===d.type){let a=e.data.id;d.canUse.find(b=>b.toolId===a)||d.canUse.push({toolId:a,toolSelection:null});let b=e.data.tempSelectedTools;if(void 0!==b){let c=d.canUse.find(b=>b.toolId===a);c&&(null===b?c.toolSelection=null:c.toolSelection=b)}}}let k=ah(c?.contextConfig?.contextVariables),l=ah(c?.contextConfig?.requestContextSchema),m=c?.contextConfig&&(c.contextConfig.name&&""!==c.contextConfig.name.trim()||c.contextConfig.description&&""!==c.contextConfig.description.trim()||k&&"object"==typeof k&&null!==k&&Object.keys(k).length>0||l&&"object"==typeof l&&null!==l&&Object.keys(l).length>0),n={};d&&h.forEach(a=>{let b=d[a];b&&(n[a]=b)});let o={};e&&i.forEach(a=>{let b=e[a];b&&(o[a]=b)});let p={id:c?.id||(0,g.Ak)(),name:c?.name||"Untitled Graph",description:c?.description||void 0,defaultAgentId:j,agents:f};if(c?.models&&(p.models={base:c.models.base?{model:c.models.base.model,providerOptions:ah(c.models.base.providerOptions)}:void 0,structuredOutput:c.models.structuredOutput?{model:c.models.structuredOutput.model,providerOptions:ah(c.models.structuredOutput.providerOptions)}:void 0,summarizer:c.models.summarizer?{model:c.models.summarizer.model,providerOptions:ah(c.models.summarizer.providerOptions)}:void 0}),c?.stopWhen&&(p.stopWhen=c.stopWhen),c?.graphPrompt&&(p.graphPrompt=c.graphPrompt),c?.statusUpdates){let a=ah(c.statusUpdates.statusComponents);p.statusUpdates={...c.statusUpdates,statusComponents:a}}if(m&&c?.contextConfig){let a=c.contextConfig.id||(0,g.Ak)();p.contextConfigId=a,p.contextConfig={id:a,name:c.contextConfig.name||"",description:c.contextConfig.description||"",requestContextSchema:l,contextVariables:k}}return p}(D,E,J,b,c),e=await ao(p,s,d,a?.id);if(e.success)ae(),j.oR.success("Graph saved",{closeButton:!0}),N(),!a?.id&&e.data?.id&&(K("id",e.data.id),o.push(`/${p}/projects/${s}/graphs/${e.data.id}`));else try{let a=function(a){try{let c=JSON.parse(a),d=[];for(let a of c)if("invalid_union"===a.code&&a.errors&&a.path)for(let b of a.errors)for(let c of b){let b=ap(c,a.path);b&&d.push(b)}else if(a.path){let b=ap(a,a.path);b&&d.push(b)}var b=d;let e={},f={},g=[];for(let a of b)switch(a.type){case"node":a.nodeId&&(e[a.nodeId]||(e[a.nodeId]=[]),e[a.nodeId].push(a));break;case"edge":a.edgeId&&(f[a.edgeId]||(f[a.edgeId]=[]),f[a.edgeId].push(a));break;case"graph":g.push(a)}return{totalErrors:b.length,nodeErrors:e,edgeErrors:f,graphErrors:g,allErrors:b}}catch{return{totalErrors:1,nodeErrors:{},edgeErrors:{},graphErrors:[{type:"graph",field:"unknown",message:"An unknown validation error occurred",fullPath:[],originalError:{code:"unknown",message:a,path:[]}}],allErrors:[]}}}(e.error);Y(a);let b=function(a){let{totalErrors:b,nodeErrors:c,edgeErrors:d,graphErrors:e}=a;if(0===b)return"";let f=[],g=Object.keys(c).length,h=Object.keys(d).length,i=e.length;g>0&&f.push(`${g} agent${g>1?"s":""}`),h>0&&f.push(`${h} connection${h>1?"s":""}`),i>0&&f.push(`${i} graph setting${i>1?"s":""}`);let j=f.join(", ");return`Validation failed for ${j}. Check the highlighted items for details.`}(a);j.oR.error(b||"Failed to save graph - validation errors found")}catch(a){console.error("Failed to parse validation errors:",a),j.oR.error("Failed to save graph",{closeButton:!0})}},[D,E,J,b,c,N,K,o,a?.id,p,s,ae,Y]);return(0,d.jsxs)("div",{className:"w-full h-full relative bg-muted/20 dark:bg-background flex rounded-b-[14px] overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex-1 h-full relative transition-all duration-300 ease-in-out",children:[(0,d.jsx)(az,{}),(0,d.jsx)(aA,{}),(0,d.jsxs)(e.Gc,{defaultEdgeOptions:{type:"default"},nodeTypes:$,edgeTypes:r,nodes:D,edges:E,onNodesChange:H,onEdgesChange:I,onConnect:aj,onDrop:an,onDragOver:am,fitView:!0,snapToGrid:!0,snapGrid:[20,20],fitViewOptions:{maxZoom:1},connectionMode:f.WZ.Loose,isValidConnection:al,children:[(0,d.jsx)(e.VS,{color:"#a8a29e",gap:20}),(0,d.jsx)(e.H2,{className:"text-foreground",showInteractive:!1}),(0,d.jsx)(e.Zk,{position:"top-left",children:(0,d.jsx)(aE,{})}),(0,d.jsx)(e.Zk,{position:"top-right",children:(0,d.jsx)(bY,{onSubmit:aB,isPreviewDisabled:!a?.id,toggleSidePane:V?au:U,setShowPlayground:()=>{au(),n(!0)}})}),W&&X&&(0,d.jsx)(e.Zk,{position:"bottom-left",className:"max-w-sm !left-8 mb-4",children:(0,d.jsx)(ay,{errorSummary:W,onClose:()=>ai(!1),onNavigateToNode:aw,onNavigateToEdge:ax})})]})]}),(0,d.jsx)(bV,{selectedNodeId:R,selectedEdgeId:S,isOpen:V,onClose:au,backToGraph:av,dataComponentLookup:b,artifactComponentLookup:c,selectedToolsLookup:y}),m&&a?.id&&(0,d.jsx)(aX,{graphId:a?.id,projectId:s,tenantId:p,setShowPlayground:n})]})}function b$({graph:a,dataComponentLookup:b,artifactComponentLookup:c,toolLookup:f}){return(0,d.jsx)(e.Ln,{children:(0,d.jsx)(bZ,{graph:a,dataComponentLookup:b,artifactComponentLookup:c,toolLookup:f})})}},64418:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/graphs/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/graphs/error.tsx","default")},66124:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f(){return(0,d.jsx)(e.A,{description:"Something went wrong."})}},73913:(a,b,c)=>{"use strict";c.d(b,{r:()=>g});var d=c(59111),e=c(24146),f=c(14450);function g({provider:a,fallback:b=!1,className:c,size:g=20}){let[h,i]=(0,f.useState)(!1),[j,k]=(0,f.useState)(!1),l=(a=>{let b=a.toLowerCase().replace(/[^a-z0-9-]/g,"-");return`/assets/provider-icons/${b}.svg`})(a);return(0,d.jsxs)("div",{className:`inline-flex items-center justify-center relative ${c||""}`,style:{width:g,height:g},children:[j&&(0,d.jsx)("div",{className:"absolute",children:b||((a,b)=>{let c=a.charAt(0),e=Math.max(8,Math.floor(.6*("string"==typeof b?Number.parseInt(b,10)||20:b)));return(0,d.jsx)("div",{className:"rounded-sm bg-gray-100 dark:bg-muted/50 text-muted-foreground font-medium flex items-center justify-center",style:{width:b,height:b,fontSize:`${e}px`,lineHeight:1},children:c})})(a,g)}),(0,d.jsx)(e.default,{src:l,alt:`${a} icon`,width:"string"==typeof g?Number.parseInt(g,10)||20:g,height:"string"==typeof g?Number.parseInt(g,10)||20:g,onLoad:()=>{i(!0)},onError:()=>{k(!0)},style:{maxWidth:"100%",maxHeight:"100%",opacity:h&&!j?1:0},unoptimized:!0},a)]})}},79449:(a,b,c)=>{"use strict";c.d(b,{r:()=>l});var d=c(59111),e=c(39108),f=c(52287),g=c(14450),h=c(42723),i=c(2856);function j({textToCopy:a,className:b,variant:c="ghost",size:j="icon-sm",iconClassName:k}){let{isCopied:l,copyToClipboard:m}=function({timeout:a=2e3}){let[b,c]=g.useState(!1);return{isCopied:b,copyToClipboard:a=>{}}}({});return(0,d.jsxs)(i.$,{variant:c,size:j,className:(0,h.cn)("backdrop-blur-sm bg-card/90 hover:bg-card border border-border shadow-sm",b),onClick:()=>m(a),children:[l?(0,d.jsx)(e.A,{className:(0,h.cn)("w-4 h-4 text-green-600 dark:text-green-400",k)}):(0,d.jsx)(f.A,{className:(0,h.cn)("!w-3 !h-3 text-muted-foreground dark:text-foreground",k)}),(0,d.jsx)("span",{className:"sr-only",children:"Copy"})]})}var k=c(14053);function l({code:a}){return(0,d.jsx)("div",{className:"flex items-center gap-2 relative bg-muted/50 dark:bg-muted/30 rounded-md border",children:(0,d.jsxs)(k.F,{dir:"ltr",className:"w-full",children:[(0,d.jsx)("pre",{className:"text-sm text-foreground/90 px-3 pr-8 py-2 font-mono",children:a}),(0,d.jsx)(j,{className:"absolute right-1 top-1/2 -translate-y-1/2",textToCopy:a}),(0,d.jsx)(k.$,{orientation:"horizontal"})]})})}},86585:(a,b,c)=>{"use strict";c.d(b,{DI:()=>h,Xo:()=>j,oj:()=>i,tk:()=>k});var d=c(1274);c(2082);var e=c(70839),f=c(90610),g=c(67175);async function h(a,b){try{let c=await (0,f.Vg)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{let d=await (0,f.y$)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c){try{let d=await (0,f.b5)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a,b,c){try{return await (0,f.Ty)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i,j,k]),(0,d.A)(h,"607f5ee4db321fe440ff2a215bcae40d69cb10f27a",null),(0,d.A)(i,"708a5820434473acf4a5140ea590980f2fb73df044",null),(0,d.A)(j,"7085fdceafe8b4c0eb3e41578b6029aebc6d28600d",null),(0,d.A)(k,"70f71fe3190bce6fb836a1ddd61a212a81cfee9ce7",null)},88287:(a,b,c)=>{Promise.resolve().then(c.bind(c,66124))},90127:(a,b,c)=>{"use strict";c.d(b,{Fs:()=>j,Hn:()=>h,Qs:()=>i,bO:()=>k});var d=c(1274);c(2082);var e=c(70839),f=c(40780),g=c(67175);async function h(a,b){try{let c=await (0,f.Z3)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{let d=await (0,f.EN)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c){try{let d=await (0,f.df)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a,b,c){try{return await (0,f.nD)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i,j,k]),(0,d.A)(h,"60a2611cb014a3bcb5cdb27b19c951743cfee30bb8",null),(0,d.A)(i,"7082fc3a0a03fcfe74aa148418f8b8778b9c963b02",null),(0,d.A)(j,"70d851ffda2d8bafa81addf5dbf762004b51f0bcce",null),(0,d.A)(k,"7001482f3ab6c884363356254df98d04bf0bcac16b",null)},90610:(a,b,c)=>{"use strict";c.d(b,{Ty:()=>k,Vg:()=>g,_2:()=>h,b5:()=>j,y$:()=>i});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components`);return{...c,data:c.data.map(a=>({...a,summaryProps:a.summaryProps||{},fullProps:a.fullProps||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`);return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"60f3249d4c25decc3d598725ab8864c51687825c19",null),(0,d.A)(h,"70f17575b4647b6c5936609a50fae4a121a0f0e6a3",null),(0,d.A)(i,"705444828aee215d8262ced353896f6b9443ec77f5",null),(0,d.A)(j,"70e2b5e708d5bef778f837922041ffff46eb512311",null),(0,d.A)(k,"70157c415756a003b605907c8cd837b3ad8b309b13",null)},97010:(a,b,c)=>{"use strict";c.d(b,{Graph:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Graph() from the server but Graph is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/graph/graph.tsx","Graph")}};
|
|
168
|
+
}`}),(0,d.jsx)(bf.L,{title:"How model inheritance works:",Icon:ba.A,children:(0,d.jsx)(bc.O,{})})]})}function bO({selectedNode:a,dataComponentLookup:b,artifactComponentLookup:c,errorHelpers:e}){let{tenantId:f,projectId:g}=(0,h.useParams)(),j=a.data?.dataComponents||[],k=a.data?.artifactComponents||[],{project:l}=bp(),m=w(a=>a.metadata),{updatePath:n,updateNestedPath:o,getFieldError:p,setFieldRef:q}=bB({selectedNodeId:a.id,errorHelpers:e}),r=(0,i.useCallback)((b,c)=>{o(b,c,a.data)},[o,a.data]),s=(0,i.useCallback)(a=>{n("id",a)},[n]);return bo({nameValue:a.data.name,idValue:a.data.id,onIdChange:s,isEditing:!1}),(0,d.jsxs)("div",{className:"space-y-8 flex flex-col",children:[(0,d.jsx)(bt,{ref:a=>q("name",a),id:"name",name:"name",label:"Name",value:a.data.name||"",onChange:a=>n("name",a.target.value),placeholder:"Support agent",error:p("name"),isRequired:!0}),(0,d.jsx)(bt,{ref:a=>q("id",a),id:"id",name:"id",label:"Id",value:a.data.id||"",onChange:a=>n("id",a.target.value),placeholder:"my-agent",error:p("id"),description:"Choose a unique identifier for this agent. Using an existing id will replace that agent.",isRequired:!0}),(0,d.jsx)(bu,{ref:a=>q("description",a),id:"description",name:"description",label:"Description",value:a.data.description||"",onChange:a=>n("description",a.target.value),placeholder:"This agent is responsible for...",error:p("description")}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bs,{ref:a=>q("prompt",a),id:"prompt",name:"prompt",value:a.data.prompt||"",onChange:a=>n("prompt",a.target.value),placeholder:"You are a helpful assistant...","data-invalid":e?.hasFieldError("prompt")?"":void 0,className:"w-full max-h-96 data-invalid:border-red-300 data-invalid:focus-visible:border-red-300 data-invalid:focus-visible:ring-red-300",label:"Prompt",isRequired:!0}),p("prompt")&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:p("prompt")})]}),(0,d.jsx)(bN,{models:a.data.models,updatePath:r,projectModels:l?.models,graphModels:m?.models}),(0,d.jsx)(bm.Separator,{}),(0,d.jsxs)("div",{className:"space-y-8 ",children:[(0,d.jsx)(by,{title:"Execution limits",description:"Configure agent-level execution limits for steps within this agent."}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(a5.J,{htmlFor:"step-count",children:"Max steps"}),(0,d.jsx)(bi,{...bk("agent","stepCountIs",a.data.stopWhen?.stepCountIs,l?.stopWhen?.stepCountIs),size:"sm"})]}),(0,d.jsx)(bl.p,{id:"step-count",type:"number",min:"1",max:"1000",value:a.data.stopWhen?.stepCountIs||"",onChange:b=>{let c=b.target.value?parseInt(b.target.value,10):void 0;n("stopWhen",{...a.data.stopWhen||{},stepCountIs:c})},placeholder:"50"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Maximum number of execution steps for this agent (defaults to 50 if not set)"})]}),(0,d.jsx)(bf.L,{title:"How execution limit inheritance works:",Icon:ba.A,children:(0,d.jsxs)("ul",{className:"space-y-1.5 list-disc list-outside pl-4",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"stepCountIs"}),": Project → Agent only (agent-level execution limit)"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Explicit settings"})," always take precedence over inherited values"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Agent scope"}),": This limit applies only to this specific agent's execution steps"]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("span",{className:"font-medium",children:"Independent from transfers"}),": Steps are counted per agent, transfers are counted per conversation"]})]})})]}),(0,d.jsx)(bm.Separator,{}),(0,d.jsx)(bM,{label:"Data components",componentLookup:b,selectedComponents:j,onSelectionChange:a=>{n("dataComponents",a)},emptyStateMessage:"No data components found.",emptyStateActionText:"Create data component",emptyStateActionHref:`/${f}/projects/${g}/data-components/new`,placeholder:"Select data components..."}),(0,d.jsx)(bM,{label:"Artifact components",componentLookup:c,selectedComponents:k,onSelectionChange:a=>{n("artifactComponents",a)},emptyStateMessage:"No artifact components found.",emptyStateActionText:"Create artifact component",emptyStateActionHref:`/${f}/projects/${g}/artifact-components/new`,placeholder:"Select artifact components..."})]})}function bP({selectedNode:a,errorHelpers:b}){let{handleInputChange:c,getFieldError:e,setFieldRef:f}=bB({selectedNodeId:a.id,errorHelpers:b}),g=(0,i.useCallback)(a=>{c({target:{name:"id",value:a}})},[c]);return bo({nameValue:a.data.name,idValue:a.data.id,onIdChange:g,isEditing:!1}),(0,d.jsxs)("div",{className:"space-y-8 flex flex-col",children:[(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"External agents are agents external to a graph that can communicate using the A2A (Agent-to-Agent) protocol. External agents enable you to delegate tasks between graphs within the agent framework or to third-party services."}),(0,d.jsx)(bt,{ref:a=>f("name",a),id:"name",name:"name",label:"Name",value:a.data.name||"",onChange:c,placeholder:"Support agent",error:e("name")}),(0,d.jsx)(bt,{ref:a=>f("id",a),id:"id",name:"id",label:"Id",value:a.data.id||"",onChange:c,placeholder:"my-external-agent",error:e("id"),description:"Choose a unique identifier for this agent. Using an existing id will replace that agent.",isRequired:!0}),(0,d.jsx)(bu,{ref:a=>f("description",a),id:"description",name:"description",label:"Description",value:a.data.description||"",onChange:c,placeholder:"This agent is responsible for...",error:e("description")}),(0,d.jsx)(bt,{ref:a=>f("baseUrl",a),id:"baseUrl",name:"baseUrl",label:"Host URL",value:a.data.baseUrl||"",onChange:c,placeholder:"https://api.example.com/agent",error:e("baseUrl"),tooltip:"This URL is used to discover the agent's capabilities and communicate with it using the A2A protocol. For locally hosted graphs defined with the agent-framework this would be: http://localhost:3002/tenants/:tenantId/projects/:projectId/agents/:graphId"})]})}function bQ({selectedNode:a,selectedToolsLookup:b,toolLookup:c}){let{updateNodeData:f}=(0,e.VH)(),{tenantId:g,projectId:i}=(0,h.useParams)(),j=w(a=>a.markUnsaved),k=c[a.data.toolId],l=k?.availableTools,m=(0,aq.O)({availableTools:l,activeTools:k?.config?.mcp?.activeTools});if(!k)return(0,d.jsx)("div",{className:"flex items-center justify-center p-4",children:(0,d.jsxs)("div",{className:"text-sm text-muted-foreground",children:["Tool data not found for ",a.data.toolId]})});let n=ar(a,b),o=n&&Array.isArray(n)?n.filter(a=>!m?.some(b=>b.name===a)):[],p=b=>{let c,d=null===n?m?.map(a=>a.name)||[]:[...n];c=d.includes(b)?d.filter(a=>a!==b):[...d,b];let e=m?.map(a=>a.name)||[],g=c;c.length===e.length&&e.every(a=>c.includes(a))&&(g=null),f(a.id,{...a.data,tempSelectedTools:g}),j()},q=b=>{let{name:c,value:d}=b.target;a&&(f(a.id,{[c]:d}),j())},r=null;try{r=k?(0,ap.T)(k).type:null}catch(a){console.error(a)}return(0,d.jsxs)("div",{className:"space-y-8",children:[k?.imageUrl&&(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(X.u,{imageUrl:k.imageUrl,name:k.name,provider:r||void 0,size:32,className:"rounded-lg"}),(0,d.jsx)("span",{className:"font-medium text-sm truncate",children:k.name})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"node-id",children:"Id"}),(0,d.jsx)(bl.p,{id:"node-id",value:a.data.toolId,disabled:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"name",children:"Name"}),(0,d.jsx)(bl.p,{id:"name",name:"name",value:k?.name||"",onChange:q,placeholder:"MCP server",className:"w-full",disabled:!0})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"url",children:"URL"}),(0,d.jsx)(bl.p,{id:"url",name:"url",value:k?.config?.mcp?.server?.url||"",onChange:q,placeholder:"https://mcp.inkeep.com",disabled:!0,className:"w-full"})]}),k?.imageUrl&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(a5.J,{htmlFor:"imageUrl",children:"Image URL"}),(0,d.jsx)(bl.p,{id:"imageUrl",name:"imageUrl",value:k.imageUrl||"",onChange:q,placeholder:"https://example.com/icon.png",disabled:!0,className:"w-full"})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(a5.J,{children:"Selected tools"}),(0,d.jsx)(K.E,{variant:"code",className:"border-none px-2 text-[10px] text-gray-700 dark:text-gray-300",children:null===n?m?.length??0:n.length})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Click to select/deselect"}),m&&m.length>0||o.length>0?(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[m?.map(a=>{let b=null===n||n.includes(a.name);return(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:b?"primary":"code",className:`flex items-center gap-1 cursor-pointer transition-colors ${b?"hover:bg-primary/10":"bg-transparent dark:bg-transparent dark:hover:bg-muted/50 hover:bg-muted/100"}`,onClick:()=>p(a.name),children:[a.name,b&&(0,d.jsx)("span",{className:"text-xs",children:(0,d.jsx)(bg.A,{className:"w-2.5 h-2.5"})})]})}),(0,d.jsx)(N.TooltipContent,{className:"max-w-xs text-sm",children:(0,d.jsx)("div",{className:"line-clamp-4",children:a.description})})]},a.name)}),o.map(a=>(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsxs)(K.E,{variant:"warning",className:"flex items-center gap-1 cursor-pointer transition-colors hover:bg-primary/10 normal-case",onClick:()=>p(a),children:[a,(0,d.jsx)("span",{className:"text-xs",children:(0,d.jsx)(M.A,{className:"w-2.5 h-2.5"})})]})}),(0,d.jsx)(N.TooltipContent,{className:"max-w-xs text-sm",children:(0,d.jsx)("div",{className:"line-clamp-4",children:"This tool was selected but is not available in the MCP server. Click to remove it from the selection."})})]},`orphaned-${a}`))]}):null]}),(0,d.jsx)(be.G,{href:`/${g}/projects/${i}/mcp-servers/${a.data.toolId}/edit`,children:"Edit MCP Server"})]})}var bR=c(65574),bS=c(49413);function bT({title:a}){return(0,d.jsx)("div",{children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-sm font-medium mb-2",children:a}),(0,d.jsx)("div",{className:"flex flex-col gap-2 min-w-0 min-h-0",children:[1,2,3].map(a=>(0,d.jsx)(bS.E,{className:"w-full h-[72px] rounded-lg"},a))})]})})}function bU({mcp:a,onClick:b}){let c=a.config?.mcp?.server,{id:e,name:f,availableTools:g,imageUrl:h,config:i}=a,j=(0,aq.O)({availableTools:g,activeTools:i?.mcp?.activeTools}),k=j?.length??0;return(0,d.jsx)(aw.$,{variant:"unstyled",size:"unstyled",type:"button",className:"w-full p-3 rounded-lg border cursor-pointer transition-colors border-border hover:bg-muted/50 text-left inline-block",id:e,onClick:()=>b(a),children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(X.u,{imageUrl:h,name:f,provider:f,size:32,className:"flex-shrink-0 mt-0.5"}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-1 gap-2 min-w-0 truncate",children:[(0,d.jsx)("span",{className:"font-medium text-sm truncate",children:f}),g&&(0,d.jsx)("div",{children:(0,d.jsx)(K.E,{variant:"code",className:"text-2xs flex-shrink-0",children:1===k?"1 tool":`${k} tools`})})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:c?.url})]})]})},e)}function bV({selectedNode:a}){let{updateNode:b}=(0,e.VH)(),{tenantId:c,projectId:f}=(0,h.useParams)(),{tools:g,isLoading:k,error:l}=(()=>{let[a,b]=(0,i.useState)([]),[c,d]=(0,i.useState)(!0),[e,f]=(0,i.useState)(null),{tenantId:g,projectId:k}=(0,h.useParams)();return(0,i.useEffect)(()=>{(async()=>{try{d(!0),f(null);let a=await (0,bR.i)(g,k);b(a)}catch(b){let a=b instanceof Error?b.message:"Failed to load MCP tools";f(a),j.oR.error(a)}finally{d(!1)}})()},[g,k]),{tools:a,isLoading:c,error:e}})(),m=c=>{b(a.id,{type:Y.MCP,data:{toolId:c.id}})};return k?(0,d.jsx)(bT,{title:"Select MCP server"}):l?(0,d.jsx)(bI,{message:"Something went wrong.",actionText:"Create MCP server",actionHref:`/${c}/projects/${f}/mcp-servers/new`}):g?.length?(0,d.jsx)("div",{children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h3",{className:"text-sm font-medium mb-2",children:"Select MCP server"}),(0,d.jsx)("div",{className:"flex flex-col gap-2 min-w-0 min-h-0",children:g.map(a=>(0,d.jsx)(bU,{mcp:a,onClick:m},a.id))})]})}):(0,d.jsx)(bI,{message:"No MCP servers found.",actionText:"Create MCP server",actionHref:`/${c}/projects/${f}/mcp-servers/new`})}function bW({selectedNodeId:a,selectedEdgeId:b,onClose:c,backToGraph:f,isOpen:g,dataComponentLookup:h,artifactComponentLookup:j,selectedToolsLookup:k,toolLookup:l}){let m=(0,e.j7)(a||""),n=(0,e.Yu)(),{hasFieldError:o,getFieldErrorMessage:p,getFirstErrorField:q}=L(),r=(0,i.useMemo)(()=>b?n.find(a=>a.id===b):null,[b,n]),{heading:t,HeadingIcon:u}=(0,i.useMemo)(()=>{let a,b="";if(m){let c=ad[m?.type];b=c?.name||"Node",a=c?.Icon}else if(r){let c=s[r?.type||"default"];b=c?.name||"Connection",a=c?.Icon}else b="Graph",a=a$.A;return{heading:b,HeadingIcon:a}},[m,r]),v=(0,i.useMemo)(()=>{if(m){let a=m?.type,b=m.data?.id||m.id,c={hasFieldError:a=>o(b,a),getFieldErrorMessage:a=>p(b,a),getFirstErrorField:()=>q(b)};switch(a){case Y.Agent:return(0,d.jsx)(bO,{selectedNode:m,dataComponentLookup:h,artifactComponentLookup:j,errorHelpers:c});case Y.ExternalAgent:return(0,d.jsx)(bP,{selectedNode:m,errorHelpers:c});case Y.MCPPlaceholder:return(0,d.jsx)(bV,{selectedNode:m});case Y.MCP:return(0,d.jsx)(bQ,{selectedNode:m,selectedToolsLookup:k,toolLookup:l});default:return null}}return r?(0,d.jsx)(a8,{selectedEdge:r}):(0,d.jsx)(bA,{})},[m,r,h,j,o,p,q,k,l]),w=(0,i.useMemo)(()=>m||r,[m,r]);return(0,d.jsx)(a0.Root,{isOpen:g,children:g&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(a0.Header,{children:[(0,d.jsxs)("div",{className:"flex items-center relative",children:[w&&(0,d.jsx)(a0.BackButton,{onClick:f}),(0,d.jsx)(a9,{heading:t,Icon:u,className:w?"transition-all duration-300 ease-in-out group-hover:translate-x-8":""})]}),(0,d.jsx)(a0.CloseButton,{onClick:c})]}),(0,d.jsx)(a0.Content,{children:v})]})})}var bX=c(69944),bY=c(8067);function bZ({onSubmit:a,isPreviewDisabled:b,toggleSidePane:c,setShowPlayground:e}){let f=w(a=>a.dirty),g=(0,d.jsxs)(aw.$,{disabled:f||b,variant:"outline",type:"button",onClick:()=>e(!0),children:[(0,d.jsx)(bX.A,{className:"w-4 h-4 text-muted-foreground"}),"Try it"]});return(0,d.jsxs)("div",{className:"flex gap-2",children:[f||b?(0,d.jsxs)(N.Tooltip,{children:[(0,d.jsx)(N.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("div",{children:g})}),(0,d.jsx)(N.TooltipContent,{children:f?"Please save your changes before trying the graph.":"Please save the graph to try it."})]}):g,(0,d.jsx)(aw.$,{onClick:a,variant:f?"default":"outline",disabled:!f&&!b,children:b?"Save":"Save changes"}),(0,d.jsxs)(aw.$,{type:"button",variant:"ghost",onClick:c,children:[(0,d.jsx)("span",{className:"sr-only",children:"Toggle side pane"}),(0,d.jsx)(bY.A,{className:"w-4 h-4"})]})]})}function b$({graph:a,dataComponentLookup:b={},artifactComponentLookup:c={},toolLookup:k={}}){let[m,n]=(0,i.useState)(!1),o=(0,h.useRouter)(),{tenantId:p,projectId:s}=(0,h.useParams)(),u=(0,i.useMemo)(()=>[{id:(0,g.Ak)(),type:Y.Agent,position:{x:0,y:0},data:{name:"",isDefault:!0},deletable:!1}],[]),v=(0,i.useCallback)(a=>a.map(a=>{if(a.type===Y.MCP&&a.data&&"toolId"in a.data){let b=k[a.data.toolId];if(b){let c=null;return c=(0,ap.T)(b).type,{...a,data:{...a.data,name:b.name,imageUrl:b.imageUrl,provider:c}}}}return a}),[k]),{nodes:x,edges:y}=(0,i.useMemo)(()=>{let b=a?function(a){let b=[],c=[],d=Object.keys(a.agents);for(let c of d){let d=a.agents[c],e=c===a.defaultAgentId,f="external"===d.type,g={id:c,type:f?Y.ExternalAgent:Y.Agent,position:{x:0,y:0},data:f?{id:d.id,name:d.name,description:d.description,baseUrl:d.baseUrl,type:d.type}:{id:d.id,name:d.name,isDefault:e,prompt:d.prompt,description:d.description,dataComponents:d.dataComponents,artifactComponents:d.artifactComponents,models:d.models?{base:d.models.base?{model:d.models.base.model??"",providerOptions:d.models.base.providerOptions?(0,P.S_)(d.models.base.providerOptions):void 0}:void 0,structuredOutput:d.models.structuredOutput?{model:d.models.structuredOutput.model??"",providerOptions:d.models.structuredOutput.providerOptions?(0,P.S_)(d.models.structuredOutput.providerOptions):void 0}:void 0,summarizer:d.models.summarizer?{model:d.models.summarizer.model??"",providerOptions:d.models.summarizer.providerOptions?(0,P.S_)(d.models.summarizer.providerOptions):void 0}:void 0}:void 0,stopWhen:d.stopWhen?{stepCountIs:d.stopWhen.stepCountIs}:void 0,type:d.type,tools:d.canUse?d.canUse.map(a=>a.toolId):[],selectedTools:d.canUse?d.canUse.reduce((a,b)=>(b.toolSelection&&(a[b.toolId]=b.toolSelection),a),{}):void 0},deletable:!e};b.push(g)}for(let e of d){let d=a.agents[e];if("canUse"in d&&d.canUse&&d.canUse.length>0){let f=a.tools;if(f)for(let a of d.canUse){let d=a.toolId,h=f[d];if(!h){console.warn(`Tool with ID ${d} not found in tools object`);continue}let i=(0,g.Ak)(),j={id:i,type:Y.MCP,position:{x:0,y:0},data:{toolId:h.id}};b.push(j);let k={id:`edge-${i}-${e}`,type:q.Default,source:e,sourceHandle:_,target:i,targetHandle:$};c.push(k)}else for(let a of d.canUse){let d=a.toolId,f=(0,g.Ak)(),h={id:f,type:Y.MCP,position:{x:0,y:0},data:{toolId:d}};b.push(h);let i={id:`edge-${f}-${e}`,type:q.Default,source:e,sourceHandle:_,target:f,targetHandle:$};c.push(i)}}}let e=new Set;for(let b of d){let d=a.agents[b];if("canTransferTo"in d&&d.canTransferTo){for(let f of d.canTransferTo)if(a.agents[f]){let g=b===f,h=g?`self-${b}`:[b,f].sort().join("-");if(!e.has(h)){e.add(h);let i=a.agents[f],j="canTransferTo"in d&&d.canTransferTo?.includes(f)||!1,k="canTransferTo"in i&&i.canTransferTo?.includes(b)||!1,l="canDelegateTo"in d&&d.canDelegateTo?.includes(f)||!1,m="canDelegateTo"in i&&i.canDelegateTo?.includes(b)||!1,n="external"===i.type,o={id:g?`edge-self-${b}`:`edge-${f}-${b}`,type:g?q.SelfLoop:n?q.A2AExternal:q.A2A,source:b,sourceHandle:_,target:f,targetHandle:n?ab:aa,selected:!1,data:{relationships:{transferTargetToSource:k,transferSourceToTarget:j,delegateTargetToSource:m,delegateSourceToTarget:l}}};c.push(o)}}}if("canDelegateTo"in d&&d.canDelegateTo){for(let f of d.canDelegateTo)if(a.agents[f]){let g=b===f,h=g?`self-${b}`:[b,f].sort().join("-");if(!e.has(h)){e.add(h);let i=a.agents[f],j="canTransferTo"in d&&d.canTransferTo?.includes(f)||!1,k="canTransferTo"in i&&i.canTransferTo?.includes(b)||!1,l="canDelegateTo"in d&&d.canDelegateTo?.includes(f)||!1,m="canDelegateTo"in i&&i.canDelegateTo?.includes(b)||!1,n="external"===i.type,o={id:g?`edge-self-${b}`:`edge-${f}-${b}`,type:g?q.SelfLoop:n?q.A2AExternal:q.A2A,source:b,sourceHandle:_,target:f,targetHandle:n?ab:aa,selected:!1,data:{relationships:{transferTargetToSource:k,transferSourceToTarget:j,delegateTargetToSource:m,delegateSourceToTarget:l}}};c.push(o)}}}}return{nodes:function(a,b){let c=new B.graphlib.Graph;for(let b of(c.setGraph({rankdir:"TB",nodesep:150,ranksep:150,edgesep:80,marginx:50,marginy:50}),c.setDefaultEdgeLabel(()=>({})),a)){let a=af(b);c.setNode(b.id,{width:ae,height:a})}for(let a of b)c.setEdge(a.source,a.target);return B.layout(c),a.map(a=>{let b=c.node(a.id),d=af(a);return{...a,position:{x:b.x-ae/2,y:b.y-d/2}}})}(b,c),edges:c}}(a):{nodes:u,edges:t};return{...b,nodes:v(b.nodes)}},[a,v,u]),C=(0,i.useMemo)(()=>{if(!a?.agents)return{};let b={};return Object.entries(a.agents).forEach(([a,c])=>{if("canUse"in c&&c.canUse){let d={};c.canUse.forEach(a=>{a.toolSelection&&(d[a.toolId]=a.toolSelection)}),Object.keys(d).length>0&&(b[a]=d)}}),b},[a?.agents]),{screenToFlowPosition:D}=(0,e.VH)(),{nodes:E,edges:F,setNodes:G,setEdges:H,onNodesChange:I,onEdgesChange:J,metadata:K,setMetadata:M,setInitial:N,markSaved:O,clearSelection:Q,markUnsaved:R}=w(),S=(0,i.useMemo)(()=>v(E),[E,v]),{nodeId:T,edgeId:U,setQueryState:V,openGraphPane:W,isOpen:X}=aj(),{errors:ad,showErrors:ah,setErrors:ai,clearErrors:ak,setShowErrors:al}=L(),am=(0,i.useCallback)(a=>{R();let b=a.source===a.target,c={id:b?`edge-self-${a.source}`:function(a,b){let[c,d]=[a,b].sort();return`edge-${c}-${d}`}(a.source,a.target),...a},{sourceHandle:d,targetHandle:e}=a;b?c={...c,type:q.SelfLoop,selected:!0,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!0,delegateTargetToSource:!1,delegateSourceToTarget:!1}}}:(d===_||d===aa)&&(e===aa||e===_)?c={...c,type:q.A2A,selected:!0,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!0,delegateTargetToSource:!1,delegateSourceToTarget:!1}}}:(d===_||d===aa)&&e===ab&&(c={...c,type:q.A2AExternal,data:{relationships:{transferTargetToSource:!1,transferSourceToTarget:!1,delegateTargetToSource:!1,delegateSourceToTarget:!0}}}),requestAnimationFrame(()=>{l.execute(new A(c,{deselectOtherEdgesIfA2A:!0}))})},[]),as=(0,i.useCallback)(({sourceHandle:a,targetHandle:b})=>a!==$||b!==$,[]),at=(0,i.useCallback)(a=>{a.preventDefault(),a.dataTransfer.dropEffect="move"},[]),au=(0,i.useCallback)(a=>{a.preventDefault();let b=a.dataTransfer.getData("application/reactflow");if(!b)return;let c=JSON.parse(b),d=D({x:a.clientX,y:a.clientY}),e={id:(0,g.Ak)(),type:c.type,position:d,selected:!0,data:{...ac[c.type]}};Q(),l.execute(new z(e))},[D,Q]),av=(0,i.useCallback)(({nodes:a,edges:b})=>{let c=1===a.length?a[0]:null,d=1===b.length&&(b[0]?.type===q.A2A||b[0]?.type===q.SelfLoop)?b[0]:null,e=X?"graph":null;V({pane:c?"node":d?"edge":e,nodeId:c?c.id:null,edgeId:d?d.id:null},{history:"replace"})},[V,X]);(0,e.p4)({onChange:av});let{undo:aw,redo:ax,deleteSelected:ay}=w();(0,i.useCallback)(a=>{if(a.target?.classList.contains("react-flow__node")){if((a.metaKey||a.ctrlKey)&&"z"===a.key.toLowerCase()){a.preventDefault(),a.shiftKey?ax():aw();return}if("Delete"===a.key||"Backspace"===a.key){let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||b.isContentEditable)||(a.preventDefault(),ay())}}},[aw,ax,ay]);let az=(0,i.useCallback)(()=>{H(a=>a.map(a=>({...a,selected:!1}))),G(a=>a.map(a=>({...a,selected:!1}))),V({pane:null,nodeId:null,edgeId:null})},[V,H,G]),aD=(0,i.useCallback)(()=>{H(a=>a.map(a=>({...a,selected:!1}))),G(a=>a.map(a=>({...a,selected:!1}))),V({pane:"graph",nodeId:null,edgeId:null})},[V,H,G]),aE=(0,i.useCallback)(a=>{let b=S.find(b=>b.id===a||b.data?.id===a);b&&(G(a=>a.map(a=>({...a,selected:a.id===b.id}))),H(a=>a.map(a=>({...a,selected:!1}))),V({pane:"node",nodeId:b.id,edgeId:null}))},[G,H,S,V]),aF=(0,i.useCallback)(a=>{let b=F.find(b=>b.id===a);b&&(H(a=>a.map(a=>({...a,selected:a.id===b.id}))),G(a=>a.map(a=>({...a,selected:!1}))),V({pane:"edge",nodeId:null,edgeId:b.id}))},[H,G,F,V]),aH=(0,i.useCallback)(async()=>{let d=function(a,b,c){let d=function(a,b,c){let d=[];for(let e of a.filter(a=>a.type===Y.MCP)){let a=c[e.data.toolId];if(!a)continue;let f=(0,aq.O)({availableTools:a.availableTools,activeTools:a.config?.mcp?.activeTools}),g=ar(e,b),h=g&&Array.isArray(g)?g.filter(a=>!f?.some(b=>b.name===a)):[];h.length>0&&d.push({nodeId:e.data.toolId,nodeName:e.data.name||a.name||"Unnamed MCP Server",orphanedTools:h})}let e=d.reduce((a,b)=>a+b.orphanedTools.length,0);return{hasOrphanedTools:d.length>0,orphanedToolsByNode:d,totalOrphanedCount:e}}(a,b,c);return d.hasOrphanedTools?function(a){let b=a.orphanedToolsByNode.length,c=a.totalOrphanedCount;if(1===b){let b=a.orphanedToolsByNode[0],d=b.orphanedTools.join(", ");return`The MCP server "${b.nodeName}" has ${c} selected ${c>1?"tools":"tool"} that ${c>1?"are":"is"} no longer available: ${d}. ${c>1?"These tools":"This tool"} will not be available at runtime. Please update your tool selections.`}return`${b} MCP servers have a total of ${c} selected tools that are no longer available. These orphaned tools will not be available at runtime. Please update your tool selections.`}(d):null}(S,C,k);d&&j.oR.warning(d,{closeButton:!0,duration:6e3});let e=function(a,b,c,d,e,f){let h={},i=new Set,j=new Set,k="";for(let c of a)if(c.type===Y.Agent){let d=c.data.id||c.id,e=c.data.dataComponents||[],g=c.data.artifactComponents||[];e.forEach(a=>{i.add(a)}),g.forEach(a=>{j.add(a)});let l=function(a){if(a&&"object"==typeof a&&Object.values(a).some(a=>null!=a&&""!==String(a).trim()))return{base:a.base?{model:a.base.model,providerOptions:ag(a.base.providerOptions)}:void 0,structuredOutput:a.structuredOutput?{model:a.structuredOutput.model,providerOptions:ag(a.structuredOutput.providerOptions)}:void 0,summarizer:a.summarizer?{model:a.summarizer.model,providerOptions:ag(a.summarizer.providerOptions)}:void 0}}(c.data.models),m=c.data.stopWhen,n=[];for(let e of b.filter(b=>b.source===c.id&&a.some(a=>a.id===b.target&&a.type===Y.MCP))){let b=a.find(a=>a.id===e.target);if(b&&b.type===Y.MCP){let a=b.data.toolId;if(a){let c=b.data.tempSelectedTools,e=null;void 0!==c?Array.isArray(c)?e=c:null===c&&(e=null):e=f&&f[d]&&void 0!==f[d][a]?f[d][a]:null,n.push({toolId:a,toolSelection:e})}}}let o={id:d,name:c.data.name,description:c.data.description||"",prompt:c.data.prompt,canUse:n,canTransferTo:[],canDelegateTo:[],dataComponents:e,artifactComponents:g,...l&&{models:l},type:"internal",...m&&{stopWhen:m}};c.data.isDefault&&(k=d),h[d]=o}else if(c.type===Y.ExternalAgent){let a=c.data.id||c.id,b={id:a,name:c.data.name,description:c.data.description||"",baseUrl:c.data.baseUrl,type:"external"};c.data.isDefault&&(k=a),h[a]=b}for(let c of b)if(c.type===q.A2A||c.type===q.A2AExternal||c.type===q.SelfLoop){let b=a.find(a=>a.id===c.source),d=a.find(a=>a.id===c.target),e=b?.data.id||b?.id,f=d?.data.id||d?.id,g=h[e],i=h[f];if(g&&i&&c.data?.relationships){let a=c.data.relationships,b=(a,b,c)=>{if("canUse"in a){a[b]||(a[b]=[]);let d=a[b];d&&!d.includes(c)&&d.push(c)}};a.transferSourceToTarget&&b(g,"canTransferTo",f),a.transferTargetToSource&&b(i,"canTransferTo",e),a.delegateSourceToTarget&&b(g,"canDelegateTo",f),a.delegateTargetToSource&&b(i,"canDelegateTo",e)}}let l=ag(c?.contextConfig?.contextVariables),m=ag(c?.contextConfig?.requestContextSchema),n=c?.contextConfig&&(c.contextConfig.name&&""!==c.contextConfig.name.trim()||c.contextConfig.description&&""!==c.contextConfig.description.trim()||l&&"object"==typeof l&&null!==l&&Object.keys(l).length>0||m&&"object"==typeof m&&null!==m&&Object.keys(m).length>0),o={};d&&i.forEach(a=>{let b=d[a];b&&(o[a]=b)});let p={};e&&j.forEach(a=>{let b=e[a];b&&(p[a]=b)});let r={id:c?.id||(0,g.Ak)(),name:c?.name||"Untitled Graph",description:c?.description||void 0,defaultAgentId:k,agents:h};if(c?.models&&(r.models={base:c.models.base?{model:c.models.base.model,providerOptions:ag(c.models.base.providerOptions)}:void 0,structuredOutput:c.models.structuredOutput?{model:c.models.structuredOutput.model,providerOptions:ag(c.models.structuredOutput.providerOptions)}:void 0,summarizer:c.models.summarizer?{model:c.models.summarizer.model,providerOptions:ag(c.models.summarizer.providerOptions)}:void 0}),c?.stopWhen&&(r.stopWhen=c.stopWhen),c?.graphPrompt&&(r.graphPrompt=c.graphPrompt),c?.statusUpdates){let a=ag(c.statusUpdates.statusComponents);r.statusUpdates={...c.statusUpdates,statusComponents:a}}if(n&&c?.contextConfig){let a=c.contextConfig.id||(0,g.Ak)();r.contextConfigId=a,r.contextConfig={id:a,name:c.contextConfig.name||"",description:c.contextConfig.description||"",requestContextSchema:m,contextVariables:l}}return r}(S,F,K,b,c,C),f=await an(p,s,e,a?.id);if(f.success)ak(),j.oR.success("Graph saved",{closeButton:!0}),O(),!a?.id&&f.data?.id&&(M("id",f.data.id),o.push(`/${p}/projects/${s}/graphs/${f.data.id}`));else try{let a=function(a){try{let c=JSON.parse(a),d=[];for(let a of c)if("invalid_union"===a.code&&a.errors&&a.path)for(let b of a.errors)for(let c of b){let b=ao(c,a.path);b&&d.push(b)}else if(a.path){let b=ao(a,a.path);b&&d.push(b)}var b=d;let e={},f={},g=[];for(let a of b)switch(a.type){case"node":a.nodeId&&(e[a.nodeId]||(e[a.nodeId]=[]),e[a.nodeId].push(a));break;case"edge":a.edgeId&&(f[a.edgeId]||(f[a.edgeId]=[]),f[a.edgeId].push(a));break;case"graph":g.push(a)}return{totalErrors:b.length,nodeErrors:e,edgeErrors:f,graphErrors:g,allErrors:b}}catch{return{totalErrors:1,nodeErrors:{},edgeErrors:{},graphErrors:[{type:"graph",field:"unknown",message:"An unknown validation error occurred",fullPath:[],originalError:{code:"unknown",message:a,path:[]}}],allErrors:[]}}}(f.error);ai(a);let b=function(a){let{totalErrors:b,nodeErrors:c,edgeErrors:d,graphErrors:e}=a;if(0===b)return"";let f=[],g=Object.keys(c).length,h=Object.keys(d).length,i=e.length;g>0&&f.push(`${g} agent${g>1?"s":""}`),h>0&&f.push(`${h} connection${h>1?"s":""}`),i>0&&f.push(`${i} graph setting${i>1?"s":""}`);let j=f.join(", ");return`Validation failed for ${j}. Check the highlighted items for details.`}(a);j.oR.error(b||"Failed to save graph - validation errors found")}catch(a){console.error("Failed to parse validation errors:",a),j.oR.error("Failed to save graph",{closeButton:!0})}},[S,F,K,b,c,O,M,o,a?.id,p,s,ak,ai,C,k]);return(0,d.jsxs)("div",{className:"w-full h-full relative bg-muted/20 dark:bg-background flex rounded-b-[14px] overflow-hidden",children:[(0,d.jsxs)("div",{className:"flex-1 h-full relative transition-all duration-300 ease-in-out",children:[(0,d.jsx)(aB,{}),(0,d.jsx)(aC,{}),(0,d.jsxs)(e.Gc,{defaultEdgeOptions:{type:"default"},nodeTypes:Z,edgeTypes:r,nodes:S,edges:F,onNodesChange:I,onEdgesChange:J,onConnect:am,onDrop:au,onDragOver:at,fitView:!0,snapToGrid:!0,snapGrid:[20,20],fitViewOptions:{maxZoom:1},connectionMode:f.WZ.Loose,isValidConnection:as,children:[(0,d.jsx)(e.VS,{color:"#a8a29e",gap:20}),(0,d.jsx)(e.H2,{className:"text-foreground",showInteractive:!1}),(0,d.jsx)(e.Zk,{position:"top-left",children:(0,d.jsx)(aG,{})}),(0,d.jsx)(e.Zk,{position:"top-right",children:(0,d.jsx)(bZ,{onSubmit:aH,isPreviewDisabled:!a?.id,toggleSidePane:X?az:W,setShowPlayground:()=>{az(),n(!0)}})}),ad&&ah&&(0,d.jsx)(e.Zk,{position:"bottom-left",className:"max-w-sm !left-8 mb-4",children:(0,d.jsx)(aA,{errorSummary:ad,onClose:()=>al(!1),onNavigateToNode:aE,onNavigateToEdge:aF})})]})]}),(0,d.jsx)(bW,{selectedNodeId:T,selectedEdgeId:U,isOpen:X,onClose:az,backToGraph:aD,dataComponentLookup:b,artifactComponentLookup:c,selectedToolsLookup:C,toolLookup:k}),m&&a?.id&&(0,d.jsx)(aZ,{graphId:a?.id,projectId:s,tenantId:p,setShowPlayground:n})]})}function b_({graph:a,dataComponentLookup:b,artifactComponentLookup:c,toolLookup:f}){return(0,d.jsx)(e.Ln,{children:(0,d.jsx)(b$,{graph:a,dataComponentLookup:b,artifactComponentLookup:c,toolLookup:f})})}},64418:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/graphs/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/app/[tenantId]/projects/[projectId]/graphs/error.tsx","default")},65574:(a,b,c)=>{"use strict";c.d(b,{i:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7c1dbab6d100244531f9b83369ff25eef5a556104a",d.callServer,void 0,d.findSourceMapURL,"fetchMCPTools")},66124:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(59111),e=c(43433);function f(){return(0,d.jsx)(e.A,{description:"Something went wrong."})}},71682:(a,b,c)=>{"use strict";c.d(b,{i:()=>j});var d=c(59111),e=c(39108),f=c(52287),g=c(14450),h=c(42723),i=c(2856);function j({textToCopy:a,className:b,variant:c="ghost",size:j="icon-sm",iconClassName:k}){let{isCopied:l,copyToClipboard:m}=function({timeout:a=2e3}){let[b,c]=g.useState(!1);return{isCopied:b,copyToClipboard:a=>{}}}({});return(0,d.jsxs)(i.$,{variant:c,size:j,className:(0,h.cn)("backdrop-blur-sm bg-card/90 hover:bg-card border border-border shadow-sm",b),onClick:()=>m(a),children:[l?(0,d.jsx)(e.A,{className:(0,h.cn)("w-4 h-4 text-green-600 dark:text-green-400",k)}):(0,d.jsx)(f.A,{className:(0,h.cn)("!w-3 !h-3 text-muted-foreground dark:text-foreground",k)}),(0,d.jsx)("span",{className:"sr-only",children:"Copy"})]})}},73913:(a,b,c)=>{"use strict";c.d(b,{r:()=>g});var d=c(59111),e=c(24146),f=c(14450);function g({provider:a,fallback:b=!1,className:c,size:g=20}){let[h,i]=(0,f.useState)(!1),[j,k]=(0,f.useState)(!1),l=(a=>{let b=a.toLowerCase().replace(/[^a-z0-9-]/g,"-");return`/assets/provider-icons/${b}.svg`})(a);return(0,d.jsxs)("div",{className:`inline-flex items-center justify-center relative ${c||""}`,style:{width:g,height:g},children:[j&&(0,d.jsx)("div",{className:"absolute",children:b||((a,b)=>{let c=a.charAt(0),e=Math.max(8,Math.floor(.6*("string"==typeof b?Number.parseInt(b,10)||20:b)));return(0,d.jsx)("div",{className:"rounded-sm bg-gray-100 dark:bg-muted/50 text-muted-foreground font-medium flex items-center justify-center",style:{width:b,height:b,fontSize:`${e}px`,lineHeight:1},children:c})})(a,g)}),(0,d.jsx)(e.default,{src:l,alt:`${a} icon`,width:"string"==typeof g?Number.parseInt(g,10)||20:g,height:"string"==typeof g?Number.parseInt(g,10)||20:g,onLoad:()=>{i(!0)},onError:()=>{k(!0)},style:{maxWidth:"100%",maxHeight:"100%",opacity:h&&!j?1:0},unoptimized:!0},a)]})}},86585:(a,b,c)=>{"use strict";c.d(b,{DI:()=>h,Xo:()=>j,oj:()=>i,tk:()=>k});var d=c(1274);c(2082);var e=c(70839),f=c(90610),g=c(67175);async function h(a,b){try{let c=await (0,f.Vg)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{let d=await (0,f.y$)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c){try{let d=await (0,f.b5)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a,b,c){try{return await (0,f.Ty)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/artifact-components/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i,j,k]),(0,d.A)(h,"60649546c5dc13dba1f6f86f11fc17f039362f1a57",null),(0,d.A)(i,"7064bbfab690cf3080bd5a4da2517b3517d4cf438d",null),(0,d.A)(j,"70db29d71faf85eecef8ef3074ad96c5c51fc23bf3",null),(0,d.A)(k,"70d34b69b3df129e859dc9560db723949062efd557",null)},88287:(a,b,c)=>{Promise.resolve().then(c.bind(c,66124))},90127:(a,b,c)=>{"use strict";c.d(b,{Fs:()=>j,Hn:()=>h,Qs:()=>i,bO:()=>k});var d=c(1274);c(2082);var e=c(70839),f=c(40780),g=c(67175);async function h(a,b){try{let c=await (0,f.Z3)(a,b);return{success:!0,data:c.data}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function i(a,b,c){try{let d=await (0,f.EN)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function j(a,b,c){try{let d=await (0,f.df)(a,b,c);return(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components/${c.id}`),{success:!0,data:d}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}async function k(a,b,c){try{return await (0,f.nD)(a,b,c),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components`),(0,e.revalidatePath)(`/${a}/projects/${b}/data-components/${c}`),{success:!0}}catch(a){if(a instanceof g.h)return{success:!1,error:a.message,code:a.error.code};return{success:!1,error:a instanceof Error?a.message:"Unknown error occurred",code:"unknown_error"}}}(0,c(95454).D)([h,i,j,k]),(0,d.A)(h,"60abc698f197a5222ca68af07a1026627a66e38b72",null),(0,d.A)(i,"70134bd6cc9dbe0030c6f92a56cfe021c5709b7d53",null),(0,d.A)(j,"703a07be4a896b9bf37894f21d35747d4c933276b0",null),(0,d.A)(k,"70fb637887c6f353722cb0e04eb7574b5accb6df14",null)},90610:(a,b,c)=>{"use strict";c.d(b,{Ty:()=>k,Vg:()=>g,_2:()=>h,b5:()=>j,y$:()=>i});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b){(0,f.M2)(a),(0,f.nt)(b);let c=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components`);return{...c,data:c.data.map(a=>({...a,summaryProps:a.summaryProps||{},fullProps:a.fullProps||{}}))}}async function h(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`);return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function i(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components`,{method:"POST",body:JSON.stringify(c)});return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function j(a,b,c){(0,f.M2)(a),(0,f.nt)(b);let d=await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c.id}`,{method:"PUT",body:JSON.stringify(c)});return{...d.data,summaryProps:d.data.summaryProps||{},fullProps:d.data.fullProps||{}}}async function k(a,b,c){(0,f.M2)(a),(0,f.nt)(b),await (0,e.J)(`tenants/${a}/projects/${b}/artifact-components/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"6007bd0447fa05773afdb031d1335c72ec1428a54a",null),(0,d.A)(h,"702e5af87b4c7b2a20ba6a94f61cd6867d8dcacbf3",null),(0,d.A)(i,"703f95d748e33c4e39170d07c71dcbed79b290c318",null),(0,d.A)(j,"70bb178f62857123734dc60e2f1d507b2e6bb864c5",null),(0,d.A)(k,"70166d03abf035ee6652e15f61c36001228e57a3a6",null)},97010:(a,b,c)=>{"use strict";c.d(b,{Graph:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call Graph() from the server but Graph is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/agents/agents/agents-manage-ui/src/components/graph/graph.tsx","Graph")}};
|