@inkeep/agents-manage-ui 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/agents-manage-ui/.next/BUILD_ID +1 -1
- package/.next/standalone/agents-manage-ui/.next/app-build-manifest.json +76 -76
- package/.next/standalone/agents-manage-ui/.next/app-path-routes-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/build-manifest.json +2 -2
- package/.next/standalone/agents-manage-ui/.next/prerender-manifest.json +15 -15
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/api-keys/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/artifact-components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/new/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/credentials/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/data-components/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/[graphId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/graphs/page.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page.js.nft.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/[projectId]/page.js +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 +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/[tenantId]/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/_not-found.rsc +8 -8
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/api/signoz/route_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app/page.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/app-paths-manifest.json +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2124.js +3 -3
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2769.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3547.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/{6992.js → 3919.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4965.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/5232.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8449.js +2 -2
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8752.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8896.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/chunks/9384.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/server/pages/404.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/pages/500.html +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/agents-manage-ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-3fa2630d8e8ff958.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6520-4df0430d4459b313.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7126-dc0f7e520e0bccaa.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{7143-4f763bc38004e627.js → 7143-de3bf969c411ad87.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-9a3a48098dc0dfeb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/{8675-4c7d3c3828d84535.js → 9465-c8ffc958d5878141.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-7dc9010ab38b6e05.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-2b23c75554453276.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-2b23c75554453276.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/{page-40d1360e37d37109.js → page-549a9aa5a0c0ef91.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-ab1868bb3fcb1ae4.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-4e044256f93e1756.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-3932274bb9efe3eb.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-2c9e5e1c857aad78.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-b8c475c5956e4555.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-b8c475c5956e4555.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/page-24cdbd3de106100c.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/graphs/{page-8ace8753502148be.js → page-caa7219afb2851cb.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/[mcpServerId]/edit/{page-02feacd52d06239a.js → page-3f4f88e46d2e216a.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/new/{page-a393f3437852e5f9.js → page-b7ac42e4484d256d.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/mcp-servers/{page-5c0b6a43b3000e09.js → page-87ab4c1e732f6fd7.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/settings/{page-8be4791ce624489e.js → page-6495add19278d4de.js} +1 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-dc513a7a569a5899.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-0ab18f48972ea1c2.js +1 -0
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-3d17340df7e9b349.js +1 -0
- package/.next/standalone/agents-manage-ui/package.json +1 -1
- package/.next/standalone/packages/agents-core/package.json +1 -1
- package/package.json +4 -4
- package/src/components/graph/graph.tsx +57 -7
- package/src/components/graph/sidepane/nodes/mcp-node-editor.tsx +68 -0
- package/src/components/graph/sidepane/sidepane.tsx +5 -0
- package/src/components/projects/form/project-form.tsx +1 -0
- package/src/features/graph/domain/__tests__/serialize.test.ts +4 -0
- package/src/features/graph/domain/deserialize.ts +12 -1
- package/src/features/graph/domain/serialize.ts +29 -8
- package/src/lib/api/signoz-stats.ts +10 -10
- package/.next/standalone/agents-manage-ui/.next/server/chunks/2184.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/3645.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/4370.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/6726.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/server/chunks/8389.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6497-b90b21b559925fc6.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6705-978d47db41063bdb.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/6709-d1f3493d1e80cb0e.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/7167-8d05e2e8db9def49.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/api-keys/page-79109cbb97bd2fe5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/[artifactComponentId]/page-c0ed5ffd69a57af5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/artifact-components/new/page-c0ed5ffd69a57af5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/[credentialId]/page-7d5dcfc0e775458a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/bearer/page-ad3217b28b09b5a5.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/new/providers/[providerId]/page-0ef881f4f392086a.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/credentials/page-e7239c0637ac7efa.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/[dataComponentId]/page-736bec9f0541e08f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/new/page-736bec9f0541e08f.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/data-components/page-21d8913c3297829c.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/[projectId]/traces/page-555f353076460fa9.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/[tenantId]/projects/page-544544e7fd94b1de.js +0 -1
- package/.next/standalone/agents-manage-ui/.next/static/chunks/app/layout-48d40ad8a53bfc9b.js +0 -1
- /package/.next/standalone/agents-manage-ui/.next/static/{vo7pWHFkBgZcQOQOKotiJ → 2X91Cyw1Ng3_181QvGSNq}/_buildManifest.js +0 -0
- /package/.next/standalone/agents-manage-ui/.next/static/{vo7pWHFkBgZcQOQOKotiJ → 2X91Cyw1Ng3_181QvGSNq}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/agents-manage-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"use-stick-to-bottom": "^1.1.1",
|
|
82
82
|
"zod": "^4.1.5",
|
|
83
83
|
"zustand": "^5.0.7",
|
|
84
|
-
"@inkeep/agents-core": "^0.
|
|
85
|
-
"@inkeep/agents-manage-api": "^0.
|
|
86
|
-
"@inkeep/agents-run-api": "^0.
|
|
84
|
+
"@inkeep/agents-core": "^0.8.0",
|
|
85
|
+
"@inkeep/agents-manage-api": "^0.8.0",
|
|
86
|
+
"@inkeep/agents-run-api": "^0.8.0"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
89
|
"@tailwindcss/postcss": "^4",
|
|
@@ -34,6 +34,38 @@ import { formatJsonField } from '@/lib/utils';
|
|
|
34
34
|
import { getErrorSummaryMessage, parseGraphValidationErrors } from '@/lib/utils/graph-error-parser';
|
|
35
35
|
import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
|
|
36
36
|
import { detectOrphanedToolsAndGetWarning } from '@/lib/utils/orphaned-tools-detector';
|
|
37
|
+
|
|
38
|
+
// Type for agent tool configuration lookup including both selection and headers
|
|
39
|
+
export type AgentToolConfig = {
|
|
40
|
+
toolSelection?: string[];
|
|
41
|
+
headers?: Record<string, string>;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type AgentToolConfigLookup = Record<string, Record<string, AgentToolConfig>>;
|
|
45
|
+
|
|
46
|
+
// Utility function to derive selectedToolsLookup from agentToolConfigLookup
|
|
47
|
+
export function getSelectedToolsLookup(
|
|
48
|
+
agentToolConfigLookup: AgentToolConfigLookup
|
|
49
|
+
): Record<string, Record<string, string[]>> {
|
|
50
|
+
const selectedToolsLookup: Record<string, Record<string, string[]>> = {};
|
|
51
|
+
|
|
52
|
+
Object.entries(agentToolConfigLookup).forEach(([agentId, toolsMap]) => {
|
|
53
|
+
const selectedToolsMap: Record<string, string[]> = {};
|
|
54
|
+
|
|
55
|
+
Object.entries(toolsMap).forEach(([toolId, config]) => {
|
|
56
|
+
if (config.toolSelection) {
|
|
57
|
+
selectedToolsMap[toolId] = config.toolSelection;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
if (Object.keys(selectedToolsMap).length > 0) {
|
|
62
|
+
selectedToolsLookup[agentId] = selectedToolsMap;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
return selectedToolsLookup;
|
|
67
|
+
}
|
|
68
|
+
|
|
37
69
|
import { EdgeType, edgeTypes, initialEdges } from './configuration/edge-types';
|
|
38
70
|
import type { ContextConfig } from './configuration/graph-types';
|
|
39
71
|
import {
|
|
@@ -134,17 +166,28 @@ function Flow({
|
|
|
134
166
|
};
|
|
135
167
|
}, [graph, enrichNodes, initialNodes]);
|
|
136
168
|
|
|
137
|
-
// Create
|
|
138
|
-
const
|
|
139
|
-
if (!graph?.agents) return {} as
|
|
169
|
+
// Create agent tool configuration lookup from graph data
|
|
170
|
+
const agentToolConfigLookup = useMemo((): AgentToolConfigLookup => {
|
|
171
|
+
if (!graph?.agents) return {} as AgentToolConfigLookup;
|
|
140
172
|
|
|
141
|
-
const lookup:
|
|
173
|
+
const lookup: AgentToolConfigLookup = {};
|
|
142
174
|
Object.entries(graph.agents).forEach(([agentId, agentData]) => {
|
|
143
175
|
if ('canUse' in agentData && agentData.canUse) {
|
|
144
|
-
const toolsMap: Record<string,
|
|
176
|
+
const toolsMap: Record<string, AgentToolConfig> = {};
|
|
145
177
|
agentData.canUse.forEach((tool) => {
|
|
178
|
+
const config: AgentToolConfig = {};
|
|
179
|
+
|
|
146
180
|
if (tool.toolSelection) {
|
|
147
|
-
|
|
181
|
+
config.toolSelection = tool.toolSelection;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (tool.headers) {
|
|
185
|
+
config.headers = tool.headers;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Only add to map if we have either toolSelection or headers
|
|
189
|
+
if (config.toolSelection || config.headers) {
|
|
190
|
+
toolsMap[tool.toolId] = config;
|
|
148
191
|
}
|
|
149
192
|
});
|
|
150
193
|
if (Object.keys(toolsMap).length > 0) {
|
|
@@ -155,6 +198,11 @@ function Flow({
|
|
|
155
198
|
return lookup;
|
|
156
199
|
}, [graph?.agents]);
|
|
157
200
|
|
|
201
|
+
// Derive selectedToolsLookup from agentToolConfigLookup for backward compatibility
|
|
202
|
+
const selectedToolsLookup = useMemo(() => {
|
|
203
|
+
return getSelectedToolsLookup(agentToolConfigLookup);
|
|
204
|
+
}, [agentToolConfigLookup]);
|
|
205
|
+
|
|
158
206
|
const { screenToFlowPosition } = useReactFlow();
|
|
159
207
|
const {
|
|
160
208
|
nodes: storeNodes,
|
|
@@ -504,7 +552,7 @@ function Flow({
|
|
|
504
552
|
metadata,
|
|
505
553
|
dataComponentLookup,
|
|
506
554
|
artifactComponentLookup,
|
|
507
|
-
|
|
555
|
+
agentToolConfigLookup
|
|
508
556
|
);
|
|
509
557
|
|
|
510
558
|
const res = await saveGraph(
|
|
@@ -555,6 +603,7 @@ function Flow({
|
|
|
555
603
|
clearErrors,
|
|
556
604
|
setErrors,
|
|
557
605
|
selectedToolsLookup,
|
|
606
|
+
agentToolConfigLookup,
|
|
558
607
|
toolLookup,
|
|
559
608
|
]);
|
|
560
609
|
|
|
@@ -622,6 +671,7 @@ function Flow({
|
|
|
622
671
|
dataComponentLookup={dataComponentLookup}
|
|
623
672
|
artifactComponentLookup={artifactComponentLookup}
|
|
624
673
|
selectedToolsLookup={selectedToolsLookup}
|
|
674
|
+
agentToolConfigLookup={agentToolConfigLookup}
|
|
625
675
|
toolLookup={toolLookup}
|
|
626
676
|
/>
|
|
627
677
|
{showPlayground && graph?.id && (
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type Node, useReactFlow } from '@xyflow/react';
|
|
2
2
|
import { Check, CircleAlert } from 'lucide-react';
|
|
3
3
|
import { useParams } from 'next/navigation';
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
5
|
import { getActiveTools } from '@/app/utils/active-tools';
|
|
6
|
+
import { ExpandableJsonEditor } from '@/components/form/expandable-json-editor';
|
|
5
7
|
import { MCPToolImage } from '@/components/mcp-servers/mcp-tool-image';
|
|
6
8
|
import { Badge } from '@/components/ui/badge';
|
|
7
9
|
import { ExternalLink } from '@/components/ui/external-link';
|
|
@@ -13,16 +15,19 @@ import type { MCPTool } from '@/lib/types/tools';
|
|
|
13
15
|
import { getToolTypeAndName } from '@/lib/utils/mcp-utils';
|
|
14
16
|
import { getCurrentSelectedToolsForNode } from '@/lib/utils/orphaned-tools-detector';
|
|
15
17
|
import type { MCPNodeData } from '../../configuration/node-types';
|
|
18
|
+
import type { AgentToolConfigLookup } from '../../graph';
|
|
16
19
|
|
|
17
20
|
interface MCPServerNodeEditorProps {
|
|
18
21
|
selectedNode: Node<MCPNodeData>;
|
|
19
22
|
selectedToolsLookup: Record<string, Record<string, string[]>>;
|
|
23
|
+
agentToolConfigLookup: AgentToolConfigLookup;
|
|
20
24
|
toolLookup: Record<string, MCPTool>;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
export function MCPServerNodeEditor({
|
|
24
28
|
selectedNode,
|
|
25
29
|
selectedToolsLookup,
|
|
30
|
+
agentToolConfigLookup,
|
|
26
31
|
toolLookup,
|
|
27
32
|
}: MCPServerNodeEditorProps) {
|
|
28
33
|
const { updateNodeData } = useReactFlow();
|
|
@@ -34,6 +39,32 @@ export function MCPServerNodeEditor({
|
|
|
34
39
|
// All hooks must be called before any early returns
|
|
35
40
|
const markUnsaved = useGraphStore((state) => state.markUnsaved);
|
|
36
41
|
|
|
42
|
+
// Get current headers for this tool from all agents
|
|
43
|
+
const getCurrentHeaders = useCallback((): Record<string, string> => {
|
|
44
|
+
// First check if we have temporary headers stored on the node
|
|
45
|
+
if ((selectedNode.data as any).tempHeaders !== undefined) {
|
|
46
|
+
return (selectedNode.data as any).tempHeaders;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Otherwise, get from the database/initial state - find any agent that has headers for this tool
|
|
50
|
+
for (const agentId in agentToolConfigLookup) {
|
|
51
|
+
const toolConfig = agentToolConfigLookup[agentId]?.[selectedNode.data.toolId];
|
|
52
|
+
if (toolConfig?.headers) {
|
|
53
|
+
return toolConfig.headers;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return {};
|
|
57
|
+
}, [agentToolConfigLookup, selectedNode.data]);
|
|
58
|
+
|
|
59
|
+
// Local state for headers input (allows invalid JSON while typing)
|
|
60
|
+
const [headersInputValue, setHeadersInputValue] = useState('{}');
|
|
61
|
+
|
|
62
|
+
// Sync input value when external headers change
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
const newHeaders = getCurrentHeaders();
|
|
65
|
+
setHeadersInputValue(JSON.stringify(newHeaders, null, 2));
|
|
66
|
+
}, [getCurrentHeaders]);
|
|
67
|
+
|
|
37
68
|
// Only use toolLookup - single source of truth
|
|
38
69
|
const toolData = toolLookup[selectedNode.data.toolId];
|
|
39
70
|
|
|
@@ -104,6 +135,32 @@ export function MCPServerNodeEditor({
|
|
|
104
135
|
}
|
|
105
136
|
};
|
|
106
137
|
|
|
138
|
+
const handleHeadersChange = (value: string) => {
|
|
139
|
+
// Always update the input state (allows user to type invalid JSON)
|
|
140
|
+
setHeadersInputValue(value);
|
|
141
|
+
|
|
142
|
+
// Only save to node data if the JSON is valid
|
|
143
|
+
try {
|
|
144
|
+
const parsedHeaders = value.trim() === '' ? {} : JSON.parse(value);
|
|
145
|
+
|
|
146
|
+
if (
|
|
147
|
+
typeof parsedHeaders === 'object' &&
|
|
148
|
+
parsedHeaders !== null &&
|
|
149
|
+
!Array.isArray(parsedHeaders)
|
|
150
|
+
) {
|
|
151
|
+
// Valid format - save to node data
|
|
152
|
+
updateNodeData(selectedNode.id, {
|
|
153
|
+
...selectedNode.data,
|
|
154
|
+
tempHeaders: parsedHeaders,
|
|
155
|
+
});
|
|
156
|
+
markUnsaved();
|
|
157
|
+
}
|
|
158
|
+
} catch {
|
|
159
|
+
// Invalid JSON - don't save, but allow user to continue typing
|
|
160
|
+
// The ExpandableJsonEditor will show the validation error
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
107
164
|
let provider = null;
|
|
108
165
|
try {
|
|
109
166
|
provider = toolData ? getToolTypeAndName(toolData).type : null;
|
|
@@ -244,6 +301,17 @@ export function MCPServerNodeEditor({
|
|
|
244
301
|
) : null}
|
|
245
302
|
</div>
|
|
246
303
|
|
|
304
|
+
<div className="space-y-2">
|
|
305
|
+
<ExpandableJsonEditor
|
|
306
|
+
name="headers"
|
|
307
|
+
label="Headers (JSON)"
|
|
308
|
+
value={headersInputValue}
|
|
309
|
+
onChange={handleHeadersChange}
|
|
310
|
+
placeholder='{"X-Your-Header": "your-value", "Content-Type": "application/json"}'
|
|
311
|
+
className=""
|
|
312
|
+
/>
|
|
313
|
+
</div>
|
|
314
|
+
|
|
247
315
|
<ExternalLink
|
|
248
316
|
href={`/${tenantId}/projects/${projectId}/mcp-servers/${selectedNode.data.toolId}/edit`}
|
|
249
317
|
>
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
NodeType,
|
|
16
16
|
nodeTypeMap,
|
|
17
17
|
} from '../configuration/node-types';
|
|
18
|
+
import type { AgentToolConfigLookup } from '../graph';
|
|
18
19
|
import EdgeEditor from './edges/edge-editor';
|
|
19
20
|
import { Heading } from './heading';
|
|
20
21
|
import MetadataEditor from './metadata/metadata-editor';
|
|
@@ -32,6 +33,7 @@ interface SidePaneProps {
|
|
|
32
33
|
dataComponentLookup: Record<string, DataComponent>;
|
|
33
34
|
artifactComponentLookup: Record<string, ArtifactComponent>;
|
|
34
35
|
selectedToolsLookup: Record<string, Record<string, string[]>>;
|
|
36
|
+
agentToolConfigLookup: AgentToolConfigLookup;
|
|
35
37
|
toolLookup: Record<string, MCPTool>;
|
|
36
38
|
}
|
|
37
39
|
|
|
@@ -44,6 +46,7 @@ export function SidePane({
|
|
|
44
46
|
dataComponentLookup,
|
|
45
47
|
artifactComponentLookup,
|
|
46
48
|
selectedToolsLookup,
|
|
49
|
+
agentToolConfigLookup,
|
|
47
50
|
toolLookup,
|
|
48
51
|
}: SidePaneProps) {
|
|
49
52
|
const selectedNode = useNodesData(selectedNodeId || '');
|
|
@@ -114,6 +117,7 @@ export function SidePane({
|
|
|
114
117
|
<MCPServerNodeEditor
|
|
115
118
|
selectedNode={selectedNode as Node<MCPNodeData>}
|
|
116
119
|
selectedToolsLookup={selectedToolsLookup}
|
|
120
|
+
agentToolConfigLookup={agentToolConfigLookup}
|
|
117
121
|
toolLookup={toolLookup}
|
|
118
122
|
/>
|
|
119
123
|
);
|
|
@@ -135,6 +139,7 @@ export function SidePane({
|
|
|
135
139
|
getFieldErrorMessage,
|
|
136
140
|
getFirstErrorField,
|
|
137
141
|
selectedToolsLookup,
|
|
142
|
+
agentToolConfigLookup,
|
|
138
143
|
toolLookup,
|
|
139
144
|
]);
|
|
140
145
|
|
|
@@ -236,6 +236,7 @@ describe('serializeGraphData', () => {
|
|
|
236
236
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
237
237
|
toolId: 'mcp1',
|
|
238
238
|
toolSelection: ['tool1', 'tool2'],
|
|
239
|
+
headers: {},
|
|
239
240
|
});
|
|
240
241
|
});
|
|
241
242
|
|
|
@@ -281,6 +282,7 @@ describe('serializeGraphData', () => {
|
|
|
281
282
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
282
283
|
toolId: 'mcp1',
|
|
283
284
|
toolSelection: null,
|
|
285
|
+
headers: {},
|
|
284
286
|
});
|
|
285
287
|
});
|
|
286
288
|
|
|
@@ -324,6 +326,7 @@ describe('serializeGraphData', () => {
|
|
|
324
326
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
325
327
|
toolId: 'mcp1',
|
|
326
328
|
toolSelection: [],
|
|
329
|
+
headers: {},
|
|
327
330
|
});
|
|
328
331
|
});
|
|
329
332
|
|
|
@@ -410,6 +413,7 @@ describe('serializeGraphData', () => {
|
|
|
410
413
|
expect((result.agents.agent1 as any).canUse[0]).toEqual({
|
|
411
414
|
toolId: 'mcp1',
|
|
412
415
|
toolSelection: null, // null means all tools are selected
|
|
416
|
+
headers: {},
|
|
413
417
|
});
|
|
414
418
|
});
|
|
415
419
|
});
|
|
@@ -162,7 +162,7 @@ export function deserializeGraphData(data: FullGraphDefinition): TransformResult
|
|
|
162
162
|
? { stepCountIs: internalAgent.stopWhen.stepCountIs }
|
|
163
163
|
: undefined,
|
|
164
164
|
type: agent.type,
|
|
165
|
-
// Convert canUse back to tools
|
|
165
|
+
// Convert canUse back to tools, selectedTools, headers for UI
|
|
166
166
|
tools: internalAgent.canUse ? internalAgent.canUse.map((item) => item.toolId) : [],
|
|
167
167
|
selectedTools: internalAgent.canUse
|
|
168
168
|
? internalAgent.canUse.reduce(
|
|
@@ -175,6 +175,17 @@ export function deserializeGraphData(data: FullGraphDefinition): TransformResult
|
|
|
175
175
|
{} as Record<string, string[]>
|
|
176
176
|
)
|
|
177
177
|
: undefined,
|
|
178
|
+
headers: internalAgent.canUse
|
|
179
|
+
? internalAgent.canUse.reduce(
|
|
180
|
+
(acc, item) => {
|
|
181
|
+
if (item.headers) {
|
|
182
|
+
acc[item.toolId] = item.headers;
|
|
183
|
+
}
|
|
184
|
+
return acc;
|
|
185
|
+
},
|
|
186
|
+
{} as Record<string, Record<string, string>>
|
|
187
|
+
)
|
|
188
|
+
: undefined,
|
|
178
189
|
};
|
|
179
190
|
})();
|
|
180
191
|
|
|
@@ -4,6 +4,7 @@ import type { A2AEdgeData } from '@/components/graph/configuration/edge-types';
|
|
|
4
4
|
import { EdgeType } from '@/components/graph/configuration/edge-types';
|
|
5
5
|
import type { GraphMetadata } from '@/components/graph/configuration/graph-types';
|
|
6
6
|
import { NodeType } from '@/components/graph/configuration/node-types';
|
|
7
|
+
import type { AgentToolConfigLookup } from '@/components/graph/graph';
|
|
7
8
|
import type { ArtifactComponent } from '@/lib/api/artifact-components';
|
|
8
9
|
import type { DataComponent } from '@/lib/api/data-components';
|
|
9
10
|
import type { FullGraphDefinition } from '@/lib/types/graph-full';
|
|
@@ -86,7 +87,7 @@ export function serializeGraphData(
|
|
|
86
87
|
metadata?: GraphMetadata,
|
|
87
88
|
dataComponentLookup?: Record<string, DataComponent>,
|
|
88
89
|
artifactComponentLookup?: Record<string, ArtifactComponent>,
|
|
89
|
-
|
|
90
|
+
agentToolConfigLookup?: AgentToolConfigLookup
|
|
90
91
|
): FullGraphDefinition {
|
|
91
92
|
const agents: Record<string, ExtendedAgent> = {};
|
|
92
93
|
// Note: Tools are now project-scoped and not included in graph serialization
|
|
@@ -113,7 +114,11 @@ export function serializeGraphData(
|
|
|
113
114
|
const stopWhen = (node.data as any).stopWhen;
|
|
114
115
|
|
|
115
116
|
// Build canUse array from edges connecting this agent to MCP nodes
|
|
116
|
-
const canUse: Array<{
|
|
117
|
+
const canUse: Array<{
|
|
118
|
+
toolId: string;
|
|
119
|
+
toolSelection?: string[] | null;
|
|
120
|
+
headers?: Record<string, string>;
|
|
121
|
+
}> = [];
|
|
117
122
|
|
|
118
123
|
// Find edges from this agent to MCP nodes
|
|
119
124
|
const agentToMcpEdges = edges.filter(
|
|
@@ -142,22 +147,38 @@ export function serializeGraphData(
|
|
|
142
147
|
}
|
|
143
148
|
} else {
|
|
144
149
|
// No changes made to tool selection - preserve existing selection
|
|
145
|
-
if (
|
|
146
|
-
selectedToolsLookup &&
|
|
147
|
-
selectedToolsLookup[agentId] &&
|
|
148
|
-
selectedToolsLookup[agentId][toolId] !== undefined
|
|
149
|
-
) {
|
|
150
|
+
if (agentToolConfigLookup?.[agentId]?.[toolId]?.toolSelection) {
|
|
150
151
|
// Get existing selection from saved data
|
|
151
|
-
toolSelection =
|
|
152
|
+
toolSelection = agentToolConfigLookup[agentId][toolId].toolSelection;
|
|
152
153
|
} else {
|
|
153
154
|
// Default to all tools selected when no existing data found
|
|
154
155
|
toolSelection = null;
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
|
|
159
|
+
const tempHeaders = (mcpNode.data as any).tempHeaders;
|
|
160
|
+
let toolHeaders: Record<string, string> = {};
|
|
161
|
+
|
|
162
|
+
if (tempHeaders !== undefined) {
|
|
163
|
+
if (
|
|
164
|
+
typeof tempHeaders === 'object' &&
|
|
165
|
+
tempHeaders !== null &&
|
|
166
|
+
!Array.isArray(tempHeaders)
|
|
167
|
+
) {
|
|
168
|
+
toolHeaders = tempHeaders;
|
|
169
|
+
}
|
|
170
|
+
} else {
|
|
171
|
+
// No changes made to headers - preserve existing headers
|
|
172
|
+
if (agentToolConfigLookup?.[agentId]?.[toolId]?.headers) {
|
|
173
|
+
// Get existing headers from saved data
|
|
174
|
+
toolHeaders = agentToolConfigLookup[agentId][toolId].headers;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
158
178
|
canUse.push({
|
|
159
179
|
toolId,
|
|
160
180
|
toolSelection,
|
|
181
|
+
headers: toolHeaders,
|
|
161
182
|
});
|
|
162
183
|
}
|
|
163
184
|
}
|
|
@@ -112,7 +112,7 @@ const asTypedFilterValue = (v: string): FilterValue => {
|
|
|
112
112
|
}
|
|
113
113
|
};
|
|
114
114
|
|
|
115
|
-
const
|
|
115
|
+
const byFirstActivity = (a: number = 0, b: number = 0) => b - a;
|
|
116
116
|
|
|
117
117
|
type Series = {
|
|
118
118
|
labels?: Record<string, string>;
|
|
@@ -202,12 +202,12 @@ class SigNozStatsAPI {
|
|
|
202
202
|
});
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
//
|
|
206
|
-
const
|
|
205
|
+
// first seen map
|
|
206
|
+
const firstSeen = new Map<string, number>();
|
|
207
207
|
for (const s of lastActivitySeries) {
|
|
208
208
|
const id = s.labels?.[SPAN_KEYS.CONVERSATION_ID];
|
|
209
209
|
if (!id) continue;
|
|
210
|
-
|
|
210
|
+
firstSeen.set(id, numberFromSeries(s));
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
// first user message per conversation (min timestamp already grouped)
|
|
@@ -260,9 +260,9 @@ class SigNozStatsAPI {
|
|
|
260
260
|
);
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
// sort by
|
|
263
|
+
// sort by first activity
|
|
264
264
|
stats.sort((a, b) =>
|
|
265
|
-
|
|
265
|
+
byFirstActivity(firstSeen.get(a.conversationId), firstSeen.get(b.conversationId))
|
|
266
266
|
);
|
|
267
267
|
|
|
268
268
|
if (!pagination) return stats;
|
|
@@ -1004,7 +1004,7 @@ class SigNozStatsAPI {
|
|
|
1004
1004
|
lastActivity: {
|
|
1005
1005
|
dataSource: DATA_SOURCES.TRACES,
|
|
1006
1006
|
queryName: QUERY_EXPRESSIONS.LAST_ACTIVITY,
|
|
1007
|
-
aggregateOperator: AGGREGATE_OPERATORS.
|
|
1007
|
+
aggregateOperator: AGGREGATE_OPERATORS.MIN,
|
|
1008
1008
|
aggregateAttribute: {
|
|
1009
1009
|
key: SPAN_KEYS.TIMESTAMP,
|
|
1010
1010
|
...QUERY_FIELD_CONFIGS.INT64_TAG_COLUMN,
|
|
@@ -1017,7 +1017,7 @@ class SigNozStatsAPI {
|
|
|
1017
1017
|
},
|
|
1018
1018
|
],
|
|
1019
1019
|
expression: QUERY_EXPRESSIONS.LAST_ACTIVITY,
|
|
1020
|
-
reduceTo: REDUCE_OPERATIONS.
|
|
1020
|
+
reduceTo: REDUCE_OPERATIONS.MIN,
|
|
1021
1021
|
stepInterval: QUERY_DEFAULTS.STEP_INTERVAL,
|
|
1022
1022
|
orderBy: [{ columnName: SPAN_KEYS.TIMESTAMP, order: ORDER_DIRECTIONS.DESC }],
|
|
1023
1023
|
offset: QUERY_DEFAULTS.OFFSET,
|
|
@@ -1596,7 +1596,7 @@ class SigNozStatsAPI {
|
|
|
1596
1596
|
lastActivity: {
|
|
1597
1597
|
dataSource: DATA_SOURCES.TRACES,
|
|
1598
1598
|
queryName: QUERY_EXPRESSIONS.LAST_ACTIVITY,
|
|
1599
|
-
aggregateOperator: AGGREGATE_OPERATORS.
|
|
1599
|
+
aggregateOperator: AGGREGATE_OPERATORS.MIN,
|
|
1600
1600
|
aggregateAttribute: {
|
|
1601
1601
|
key: SPAN_KEYS.TIMESTAMP,
|
|
1602
1602
|
...QUERY_FIELD_CONFIGS.INT64_TAG_COLUMN,
|
|
@@ -1621,7 +1621,7 @@ class SigNozStatsAPI {
|
|
|
1621
1621
|
},
|
|
1622
1622
|
],
|
|
1623
1623
|
expression: QUERY_EXPRESSIONS.LAST_ACTIVITY,
|
|
1624
|
-
reduceTo: REDUCE_OPERATIONS.
|
|
1624
|
+
reduceTo: REDUCE_OPERATIONS.MIN,
|
|
1625
1625
|
stepInterval: QUERY_DEFAULTS.STEP_INTERVAL,
|
|
1626
1626
|
orderBy: [{ columnName: SPAN_KEYS.TIMESTAMP, order: ORDER_DIRECTIONS.DESC }],
|
|
1627
1627
|
offset: QUERY_DEFAULTS.OFFSET,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2184,exports.ids=[2184],exports.modules={6461:(a,b,c)=>{let d,e;c.d(b,{Ak:()=>g});var f=c(77598);function g(a=21){var b;b=a|=0,!d||d.length<b?(d=Buffer.allocUnsafe(128*b),f.webcrypto.getRandomValues(d),e=0):e+b>d.length&&(f.webcrypto.getRandomValues(d),e=0),e+=b;let c="";for(let b=e-a;b<e;b++)c+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&d[b]];return c}},12463:(a,b,c)=>{c.d(b,{E:()=>i});var d=c(59111),e=c(98848),f=c(53433),g=c(42723);let h=(0,f.F)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",primary:"border border-primary/50 text-primary bg-primary/5 rounded-sm p-0.5 px-1.5 font-mono",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",code:"text-xs text-muted-foreground border bg-muted/80 dark:bg-muted/50 rounded-sm p-0.5 px-1.5 font-mono",success:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-emerald-50 border-emerald-200 text-emerald-800 dark:text-emerald-300 dark:bg-emerald-950/40 uppercase",error:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-red-50 border-red-200 text-red-800 dark:border-red-700 dark:text-red-300 dark:bg-red-950/40 uppercase",warning:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-amber-50 border-amber-200 text-amber-800 dark:border-amber-700 dark:text-amber-300 dark:bg-amber-950/40 uppercase",sky:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-sky-50 border-sky-200 text-sky-800 dark:border-sky-700 dark:text-sky-300 dark:bg-sky-950/40",violet:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-violet-50 border-violet-200 text-violet-800 dark:border-violet-700 dark:text-violet-300 dark:bg-violet-950/40",orange:"text-xs text-muted-foreground border rounded-sm p-0.5 px-1.5 font-mono bg-orange-50 border-orange-200 text-orange-800 dark:border-orange-700 dark:text-orange-300 dark:bg-orange-950/40"}},defaultVariants:{variant:"default"}});function i({className:a,variant:b,asChild:c=!1,...f}){let i=c?e.DX:"span";return(0,d.jsx)(i,{"data-slot":"badge",className:(0,g.cn)(h({variant:b}),a),...f})}},24703:(a,b,c)=>{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"})})})}},44515:(a,b,c)=>{c.d(b,{Y:()=>e});var d=c(90147);let e=(0,d.createServerReference)("7837bcd6c0f68f97330ca60d418191f9df67674bb0",d.callServer,void 0,d.findSourceMapURL,"updateMCPTool")},47858:(a,b,c)=>{c.d(b,{MCPServerForm:()=>C});var d=c(59111),e=c(59099),f=c(35558),g=c(6461),h=c(485),i=c(94150),j=c(68156),k=c(17130),l=c(55124),m=c(2856),n=c(93622),o=c(44515),p=c(90147);let q=(0,p.createServerReference)("708909a5bb930ab476041551f7b9800d98917d0d83",p.callServer,void 0,p.findSourceMapURL,"createMCPTool");var r=c(91740),s=c(39108),t=c(14450),u=c(12463),v=c(24703),w=c(37671);function x({control:a,name:b,label:c,availableTools:e=[],description:f,disabled:g=!1}){let{field:{value:h,onChange:j},fieldState:{error:k}}=(0,i.as)({name:b,control:a}),l=(0,t.useMemo)(()=>"object"==typeof h&&null!==h&&"type"in h?"all"===h.type?{type:"all"}:"selective"===h.type&&Array.isArray(h.tools)?{type:"selective",tools:h.tools}:{type:"selective",tools:[]}:{type:"selective",tools:[]},[h]),o=()=>{j({type:"all"})},p=()=>{j({type:"selective",tools:[]})},q=(a,b)=>{if("all"===l.type){let c=e.map(a=>a.name).filter(b=>b!==a);j({type:"selective",tools:b?[...c,a]:c})}else j({type:"selective",tools:b?[...l.tools.filter(b=>b!==a),a]:l.tools.filter(b=>b!==a)})},x=()=>{switch(l.type){case"all":return e.length;case"selective":return l.tools.filter(a=>e.some(b=>b.name===a)).length;default:return 0}},y=x()===e.length;return(0,d.jsx)(n.zB,{control:a,name:b,render:()=>(0,d.jsxs)(n.eI,{children:[(0,d.jsxs)(n.lR,{children:[c,(0,d.jsx)(u.E,{variant:"code",className:"border-none px-2 text-[10px] text-muted-foreground",children:x()})]}),f&&(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:f}),(0,d.jsxs)("div",{className:"mt-2",children:[0===e.length&&(0,d.jsx)("div",{className:"text-sm text-muted-foreground border rounded-md p-3 py-2 bg-gray-100/80 dark:bg-sidebar",children:"No tools available from this server"}),e.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 justify-between py-3 px-6 rounded-t-lg border border-b-0",children:[(0,d.jsxs)("div",{className:"text-sm",children:[x()," ",(0,d.jsxs)("span",{className:"text-gray-400 dark:text-white/40",children:["/ ",e.length," tool",1===e.length?"":"s"]})]}),y?(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:p,disabled:g,children:[(0,d.jsx)(r.A,{className:"w-4 h-4 text-muted-foreground"}),"Deselect all"]}):(0,d.jsxs)(m.$,{type:"button",variant:"outline",size:"sm",onClick:o,disabled:g,children:[(0,d.jsx)(s.A,{className:"w-4 h-4 text-muted-foreground"}),"Select all"]})]}),(0,d.jsx)("div",{className:"max-h-96 overflow-y-auto border rounded-lg rounded-t-none scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent",children:e.map(a=>{let b=(a=>{switch(l.type){case"all":return e.some(b=>b.name===a);case"selective":return l.tools.includes(a)&&e.some(b=>b.name===a);default:return!1}})(a.name);return(0,d.jsxs)("div",{className:"space-y-2 flex items-start gap-6 border-b last:border-b-0 py-4 px-6 relative",children:[(0,d.jsx)("div",{className:"flex items-center h-[22px]",children:(0,d.jsx)(v.S,{checked:b,disabled:g,className:"mb-0",onClick:()=>!g&&q(a.name,!b)})}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(u.E,{variant:b?"primary":"code",className:`font-mono font-medium text-xs cursor-pointer transition-colors ${g?"opacity-50 cursor-not-allowed":""}`,onClick:()=>!g&&q(a.name,!b),children:a.name}),(0,d.jsxs)(w.Tooltip,{delayDuration:800,children:[(0,d.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,d.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-1",children:a.description})}),(0,d.jsx)(w.TooltipContent,{side:"bottom",align:"start",children:a.description})]})]})]},a.name)})})]})]}),(0,d.jsx)(n.C5,{children:k?.message})]})})}var y=c(45809);let z=y.discriminatedUnion("type",[y.object({type:y.literal("all")}),y.object({type:y.literal("selective"),tools:y.array(y.string())})]),A=y.object({name:y.string().min(1,"Name is required."),config:y.object({type:y.literal("mcp"),mcp:y.object({server:y.object({url:y.string().url("Must be a valid URL.")}),transport:y.object({type:y.nativeEnum(f.o7)}),toolsConfig:z.default({type:"all"})})}),credentialReferenceId:y.string().nullish(),imageUrl:y.string().optional()}),B={name:"",config:{type:"mcp",mcp:{server:{url:""},transport:{type:f.o7.streamableHttp},toolsConfig:{type:"all"}}},imageUrl:"",credentialReferenceId:"none"};function C({initialData:a,mode:b="create",tool:c,credentials:p,tenantId:r,projectId:s}){let t=(0,h.useRouter)(),u=(0,i.mN)({resolver:(0,e.u)(A),defaultValues:{...B,...a}}),{isSubmitting:v}=u.formState,w=async a=>{try{let d={...a,credentialReferenceId:"none"===a.credentialReferenceId?null:a.credentialReferenceId,config:{...a.config,mcp:{...a.config.mcp,activeTools:(a=>{if("all"===a.type)return;let b=c?.availableTools?.map(a=>a.name)||[];return a.tools.filter(a=>b.includes(a))})(a.config.mcp.toolsConfig)}}};if("update"===b&&c)await (0,o.Y)(r,s,c.id,d),j.oR.success("MCP server updated successfully"),t.push(`/${r}/projects/${s}/mcp-servers/${c.id}`);else{let a=await q(r,s,{...d,id:(0,g.Ak)()});j.oR.success("MCP server created successfully"),t.push(`/${r}/projects/${s}/mcp-servers/${a.id}`)}}catch(a){console.error(`Failed to ${b} MCP tool:`,a),j.oR.error(`Failed to ${b} MCP server. Please try again.`)}};return(0,d.jsx)(n.lV,{...u,children:(0,d.jsxs)("form",{onSubmit:u.handleSubmit(w),className:"space-y-8",children:[(0,d.jsx)(k.a,{control:u.control,name:"name",label:"Name",placeholder:"MCP server",isRequired:!0}),(0,d.jsx)(k.a,{control:u.control,name:"config.mcp.server.url",label:"URL",placeholder:"https://api.example.com/mcp",isRequired:!0}),(0,d.jsx)(l.U,{control:u.control,selectTriggerClassName:"w-full",name:"config.mcp.transport.type",label:"Transport type",placeholder:"Select transport type",options:[{value:f.o7.streamableHttp,label:"Streamable HTTP"},{value:f.o7.sse,label:"Server-Sent Events (SSE)"}]}),(0,d.jsx)(k.a,{control:u.control,name:"imageUrl",label:"Image URL (optional)",placeholder:"https://example.com/icon.png or data:image/png;base64,..."}),(0,d.jsx)(l.U,{control:u.control,selectTriggerClassName:"w-full",name:"credentialReferenceId",label:"Credential",placeholder:"Select a credential",options:[{value:"none",label:"No Authentication"},...p.map(a=>({value:a.id,label:a.id}))]}),"update"===b&&(0,d.jsx)(x,{control:u.control,name:"config.mcp.toolsConfig",label:"Tools",availableTools:c?.availableTools||[],description:"Select which tools should be enabled for this MCP server"}),(0,d.jsx)(m.$,{type:"submit",disabled:v,children:"update"===b?"Save":"Create"})]})})}},49540:(a,b,c)=>{c.d(b,{bq:()=>l,eb:()=>n,gC:()=>m,l6:()=>j,yv:()=>k});var d=c(59111),e=c(41404),f=c(67048),g=c(39108),h=c(25773),i=c(42723);function j({...a}){return(0,d.jsx)(e.bL,{"data-slot":"select",...a})}function k({...a}){return(0,d.jsx)(e.WT,{"data-slot":"select-value",...a})}function l({className:a,size:b="default",children:c,...g}){return(0,d.jsxs)(e.l9,{"data-slot":"select-trigger","data-size":b,className:(0,i.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 font-normal normal-case",a),...g,children:[c,(0,d.jsx)(e.In,{asChild:!0,children:(0,d.jsx)(f.A,{className:"size-4 opacity-50"})})]})}function m({className:a,children:b,position:c="popper",...f}){return(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{"data-slot":"select-content",className:(0,i.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto scrollbar-thin scrollbar-thumb-muted-foreground/30 dark:scrollbar-thumb-muted-foreground/50 scrollbar-track-transparent rounded-md border shadow-md","popper"===c&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:c,...f,children:[(0,d.jsx)(o,{}),(0,d.jsx)(e.LM,{className:(0,i.cn)("p-1","popper"===c&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:b}),(0,d.jsx)(p,{})]})})}function n({className:a,children:b,...c}){return(0,d.jsxs)(e.q7,{"data-slot":"select-item",className:(0,i.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(e.VF,{children:(0,d.jsx)(g.A,{className:"size-4"})})}),(0,d.jsx)(e.p4,{children:b})]})}function o({className:a,...b}){return(0,d.jsx)(e.PP,{"data-slot":"select-scroll-up-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(h.A,{className:"size-4"})})}function p({className:a,...b}){return(0,d.jsx)(e.wn,{"data-slot":"select-scroll-down-button",className:(0,i.cn)("flex cursor-default items-center justify-center py-1",a),...b,children:(0,d.jsx)(f.A,{className:"size-4"})})}},51006:(a,b,c)=>{c.d(b,{C1:()=>x,bL:()=>v});var d=c(14450),e=c(90890),f=c(2102),g=c(13254),h=c(19975),i=c(82087),j=c(22871),k=c(66261),l=c(6118),m=c(59111),n="Checkbox",[o,p]=(0,f.A)(n),[q,r]=o(n);function s(a){let{__scopeCheckbox:b,checked:c,children:e,defaultChecked:f,disabled:g,form:i,name:j,onCheckedChange:k,required:l,value:o="on",internal_do_not_use_render:p}=a,[r,s]=(0,h.i)({prop:c,defaultProp:f??!1,onChange:k,caller:n}),[t,u]=d.useState(null),[v,w]=d.useState(null),x=d.useRef(!1),y=!t||!!i||!!t.closest("form"),z={checked:r,disabled:g,setChecked:s,control:t,setControl:u,name:j,form:i,value:o,hasConsumerStoppedPropagationRef:x,required:l,defaultChecked:!A(f)&&f,isFormControl:y,bubbleInput:v,setBubbleInput:w};return(0,m.jsx)(q,{scope:b,...z,children:"function"==typeof p?p(z):e})}var t="CheckboxTrigger",u=d.forwardRef(({__scopeCheckbox:a,onKeyDown:b,onClick:c,...f},h)=>{let{control:i,value:j,disabled:k,checked:n,required:o,setControl:p,setChecked:q,hasConsumerStoppedPropagationRef:s,isFormControl:u,bubbleInput:v}=r(t,a),w=(0,e.s)(h,p),x=d.useRef(n);return d.useEffect(()=>{let a=i?.form;if(a){let b=()=>q(x.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[i,q]),(0,m.jsx)(l.sG.button,{type:"button",role:"checkbox","aria-checked":A(n)?"mixed":n,"aria-required":o,"data-state":B(n),"data-disabled":k?"":void 0,disabled:k,value:j,...f,ref:w,onKeyDown:(0,g.mK)(b,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,g.mK)(c,a=>{q(a=>!!A(a)||!a),v&&u&&(s.current=a.isPropagationStopped(),s.current||a.stopPropagation())})})});u.displayName=t;var v=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,name:d,checked:e,defaultChecked:f,required:g,disabled:h,value:i,onCheckedChange:j,form:k,...l}=a;return(0,m.jsx)(s,{__scopeCheckbox:c,checked:e,defaultChecked:f,disabled:h,required:g,onCheckedChange:j,name:d,form:k,value:i,internal_do_not_use_render:({isFormControl:a})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(u,{...l,ref:b,__scopeCheckbox:c}),a&&(0,m.jsx)(z,{__scopeCheckbox:c})]})})});v.displayName=n;var w="CheckboxIndicator",x=d.forwardRef((a,b)=>{let{__scopeCheckbox:c,forceMount:d,...e}=a,f=r(w,c);return(0,m.jsx)(k.C,{present:d||A(f.checked)||!0===f.checked,children:(0,m.jsx)(l.sG.span,{"data-state":B(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:b,style:{pointerEvents:"none",...a.style}})})});x.displayName=w;var y="CheckboxBubbleInput",z=d.forwardRef(({__scopeCheckbox:a,...b},c)=>{let{control:f,hasConsumerStoppedPropagationRef:g,checked:h,defaultChecked:k,required:n,disabled:o,name:p,value:q,form:s,bubbleInput:t,setBubbleInput:u}=r(y,a),v=(0,e.s)(c,u),w=(0,i.Z)(h),x=(0,j.X)(f);d.useEffect(()=>{if(!t)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!g.current;if(w!==h&&a){let c=new Event("click",{bubbles:b});t.indeterminate=A(h),a.call(t,!A(h)&&h),t.dispatchEvent(c)}},[t,w,h,g]);let z=d.useRef(!A(h)&&h);return(0,m.jsx)(l.sG.input,{type:"checkbox","aria-hidden":!0,defaultChecked:k??z.current,required:n,disabled:o,name:p,value:q,form:s,...b,tabIndex:-1,ref:v,style:{...b.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function A(a){return"indeterminate"===a}function B(a){return A(a)?"indeterminate":a?"checked":"unchecked"}z.displayName=y},55124:(a,b,c)=>{c.d(b,{U:()=>g});var d=c(59111),e=c(49540),f=c(71771);function g({control:a,name:b,label:c,placeholder:g,options:h,disabled:i=!1,selectTriggerClassName:j,isRequired:k=!1}){return(0,d.jsx)(f.u,{control:a,name:b,label:c,isRequired:k,children:a=>(0,d.jsxs)(e.l6,{onValueChange:a.onChange,defaultValue:a.value,disabled:i,children:[(0,d.jsx)(e.bq,{disabled:i,className:j,children:(0,d.jsx)(e.yv,{placeholder:g})}),(0,d.jsx)(e.gC,{children:h.map(a=>(0,d.jsx)(e.eb,{value:a.value,disabled:a.disabled,children:a.label},a.value))})]})})}},72969:(a,b,c)=>{c.d(b,{MCPServerForm:()=>d});let d=(0,c(60241).registerClientReference)(function(){throw Error("Attempted to call MCPServerForm() from the server but MCPServerForm 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/mcp-servers/form/mcp-server-form.tsx","MCPServerForm")},81097:(a,b,c)=>{c.d(b,{$Y:()=>g,GO:()=>i,K3:()=>h,h9:()=>k,nZ:()=>j});var d=c(1274);c(2082);var e=c(53842),f=c(41979);async function g(a,b,c=1,d=50){(0,f.M2)(a),(0,f.nt)(b);let h=new URLSearchParams({page:c.toString(),limit:d.toString()});return(await (0,e.J)(`tenants/${a}/projects/${b}/credentials?${h}`)).data}async function h(a,b,c){return(0,f.M2)(a),(0,f.nt)(b),(await (0,e.J)(`tenants/${a}/projects/${b}/credentials/${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}/credentials`,{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}/credentials/${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}/credentials/${c}`,{method:"DELETE"})}(0,c(95454).D)([g,h,i,j,k]),(0,d.A)(g,"7891fd526a9ec186f60c4ccea635f7b3fb7d511802",null),(0,d.A)(h,"701a7dc2b80ea2d0fdef2b14deef1188914d45d66e",null),(0,d.A)(i,"70e2601d9b2240b931b383ed3ead15db0e5410d848",null),(0,d.A)(j,"78c7f53c947af9bbf31eb19e770b0d6ef64a8700e1",null),(0,d.A)(k,"7089c2812c4e846a21cb864fe95a293e45a163f7ab",null)}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=3645,exports.ids=[3645],exports.modules={8636:(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]/not-found.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]/not-found.tsx","default")},29160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(72669),e=c(95460),f=c(54637);let g="force-dynamic";async function h({children:a,params:b}){let{tenantId:c,projectId:g}=await b;try{await (0,f.Sw)(c,g)}catch(a){(0,e.notFound)()}return(0,d.jsx)(d.Fragment,{children:a})}},35859:(a,b,c)=>{Promise.resolve().then(c.bind(c,8636))},37830:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(59111),e=c(437),f=c(485);c(14450);var g=c(2856);function h(){let a=(0,f.useParams)(),b=(0,f.useRouter)(),c=a.tenantId,h=a.projectId;return(0,d.jsx)("div",{className:"flex min-h-[400px] flex-col items-center justify-center p-8",children:(0,d.jsxs)("div",{className:"text-center max-w-md",children:[(0,d.jsx)("div",{className:"mb-4 flex justify-center",children:(0,d.jsx)(e.A,{className:"h-12 w-12 text-muted-foreground"})}),(0,d.jsx)("h1",{className:"text-2xl font-semibold mb-2",children:"Project Not Found"}),(0,d.jsxs)("p",{className:"text-muted-foreground mb-6",children:['The project "',h,"\" does not exist or you don't have access to it."]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mb-6",children:"Redirecting to projects list in 3 seconds..."}),(0,d.jsx)(g.$,{onClick:()=>b.push(`/${c}/projects`),variant:"default",children:"Go to Projects List"})]})})}},40585:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"404b3cfcf5bf68fb5a6299d0e50c472d41623a93b1":()=>d.bW,"608f7b1dbe4f1f5cd0e729a04b7611550552de6b0a":()=>d.gL,"60bac25bbb9f6b05cc7326c4aca5291eccafb50020":()=>d.Dv,"60e5cab5a1905acbaa6bcf6a04c6ce410fee109eb4":()=>d.qf,"70a8db66a7fba9985e90e81ff846bf5769762bc2d7":()=>d.Tg});var d=c(72025)},45622:()=>{},61664:(a,b,c)=>{"use strict";c.d(b,{AY:()=>bt,o7:()=>f,O_:()=>bo,K_:()=>bu});var d=c(32463);let e=["transfer","delegate"],f={streamableHttp:"streamable_http",sse:"sse"},g={memory:"memory",keychain:"keychain",nango:"nango"};var h=c(41135),i=c(4445),j=c(61234),k=c(66603),l=c(84379),m=c(60510),n=c(30480),o=c(27786),p=c(82390),q=c(57103),r=c(23241),s=c(5540);let t=(0,l.D)("projects",{tenantId:(0,m.Qq)("tenant_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),models:(0,m.Qq)("models",{mode:"json"}).$type(),stopWhen:(0,m.Qq)("stop_when",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.id]})]),u=(0,l.D)("agent_graph",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description"),defaultAgentId:(0,m.Qq)("default_agent_id"),contextConfigId:(0,m.Qq)("context_config_id"),models:(0,m.Qq)("models",{mode:"json"}).$type(),statusUpdates:(0,m.Qq)("status_updates",{mode:"json"}).$type(),graphPrompt:(0,m.Qq)("graph_prompt"),stopWhen:(0,m.Qq)("stop_when",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"agent_graph_project_fk"}).onDelete("cascade")]),v=(0,l.D)("context_configs",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),requestContextSchema:(0,p.av)("request_context_schema",{mode:"json"}).$type(),contextVariables:(0,p.av)("context_variables",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"context_configs_project_fk"}).onDelete("cascade")]),w=(0,l.D)("context_cache",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),conversationId:(0,m.Qq)("conversation_id").notNull(),contextConfigId:(0,m.Qq)("context_config_id").notNull(),contextVariableKey:(0,m.Qq)("context_variable_key").notNull(),value:(0,p.av)("value",{mode:"json"}).$type().notNull(),requestHash:(0,m.Qq)("request_hash"),fetchedAt:(0,m.Qq)("fetched_at").notNull(),fetchSource:(0,m.Qq)("fetch_source"),fetchDurationMs:(0,q.nd)("fetch_duration_ms"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"context_cache_project_fk"}).onDelete("cascade"),(0,r.Pe)("context_cache_lookup_idx").on(a.conversationId,a.contextConfigId,a.contextVariableKey)]),x=(0,l.D)("agents",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),prompt:(0,m.Qq)("prompt").notNull(),conversationHistoryConfig:(0,m.Qq)("conversation_history_config",{mode:"json"}).$type(),models:(0,m.Qq)("models",{mode:"json"}).$type(),stopWhen:(0,m.Qq)("stop_when",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[u.tenantId,u.projectId,u.id],name:"agents_graph_fk"}).onDelete("cascade")]),y=(0,l.D)("agent_relations",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),id:(0,m.Qq)("id").notNull(),sourceAgentId:(0,m.Qq)("source_agent_id").notNull(),targetAgentId:(0,m.Qq)("target_agent_id"),externalAgentId:(0,m.Qq)("external_agent_id"),relationType:(0,m.Qq)("relation_type"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[u.tenantId,u.projectId,u.id],name:"agent_relations_graph_fk"}).onDelete("cascade")]),z=(0,l.D)("external_agents",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),baseUrl:(0,m.Qq)("base_url").notNull(),credentialReferenceId:(0,m.Qq)("credential_reference_id"),headers:(0,p.av)("headers",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[u.tenantId,u.projectId,u.id],name:"external_agents_graph_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.credentialReferenceId],foreignColumns:[M.tenantId,M.projectId,M.id],name:"external_agents_credential_reference_fk"}).onDelete("set null")]),A=(0,l.D)("tasks",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),contextId:(0,m.Qq)("context_id").notNull(),status:(0,m.Qq)("status").notNull(),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),agentId:(0,m.Qq)("agent_id").notNull(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"tasks_project_fk"}).onDelete("cascade")]),B=(0,l.D)("task_relations",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),parentTaskId:(0,m.Qq)("parent_task_id").notNull(),childTaskId:(0,m.Qq)("child_task_id").notNull(),relationType:(0,m.Qq)("relation_type").default("parent_child"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"task_relations_project_fk"}).onDelete("cascade")]),C=(0,l.D)("data_components",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),props:(0,p.av)("props",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"data_components_project_fk"}).onDelete("cascade")]),D=(0,l.D)("agent_data_components",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),agentId:(0,m.Qq)("agent_id").notNull(),id:(0,m.Qq)("id").notNull(),dataComponentId:(0,m.Qq)("data_component_id").notNull(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[x.tenantId,x.projectId,x.graphId,x.id],name:"agent_data_components_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.dataComponentId],foreignColumns:[C.tenantId,C.projectId,C.id],name:"agent_data_components_data_component_fk"}).onDelete("cascade")]),E=(0,l.D)("artifact_components",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),description:(0,m.Qq)("description").notNull(),summaryProps:(0,p.av)("summary_props",{mode:"json"}).$type(),fullProps:(0,p.av)("full_props",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"artifact_components_project_fk"}).onDelete("cascade")]),F=(0,l.D)("agent_artifact_components",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),agentId:(0,m.Qq)("agent_id").notNull(),id:(0,m.Qq)("id").notNull(),artifactComponentId:(0,m.Qq)("artifact_component_id").notNull(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[x.tenantId,x.projectId,x.graphId,x.id],name:"agent_artifact_components_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.artifactComponentId],foreignColumns:[E.tenantId,E.projectId,E.id],name:"agent_artifact_components_artifact_component_fk"}).onDelete("cascade")]),G=(0,l.D)("tools",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),name:(0,m.Qq)("name").notNull(),config:(0,p.av)("config",{mode:"json"}).$type().notNull(),credentialReferenceId:(0,m.Qq)("credential_reference_id"),headers:(0,p.av)("headers",{mode:"json"}).$type(),imageUrl:(0,m.Qq)("image_url"),capabilities:(0,p.av)("capabilities",{mode:"json"}).$type(),lastError:(0,m.Qq)("last_error"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"tools_project_fk"}).onDelete("cascade")]),H=(0,l.D)("agent_tool_relations",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),agentId:(0,m.Qq)("agent_id").notNull(),id:(0,m.Qq)("id").notNull(),toolId:(0,m.Qq)("tool_id").notNull(),selectedTools:(0,p.av)("selected_tools",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.graphId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId,a.agentId],foreignColumns:[x.tenantId,x.projectId,x.graphId,x.id],name:"agent_tool_relations_agent_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.toolId],foreignColumns:[G.tenantId,G.projectId,G.id],name:"agent_tool_relations_tool_fk"}).onDelete("cascade")]),I=(0,l.D)("conversations",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),userId:(0,m.Qq)("user_id"),activeAgentId:(0,m.Qq)("active_agent_id").notNull(),title:(0,m.Qq)("title"),lastContextResolution:(0,m.Qq)("last_context_resolution"),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"conversations_project_fk"}).onDelete("cascade")]),J=(0,l.D)("messages",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),conversationId:(0,m.Qq)("conversation_id").notNull(),role:(0,m.Qq)("role").notNull(),fromAgentId:(0,m.Qq)("from_agent_id"),toAgentId:(0,m.Qq)("to_agent_id"),fromExternalAgentId:(0,m.Qq)("from_external_agent_id"),toExternalAgentId:(0,m.Qq)("to_external_agent_id"),content:(0,p.av)("content",{mode:"json"}).$type().notNull(),visibility:(0,m.Qq)("visibility").notNull().default("user-facing"),messageType:(0,m.Qq)("message_type").notNull().default("chat"),agentId:(0,m.Qq)("agent_id"),taskId:(0,m.Qq)("task_id"),parentMessageId:(0,m.Qq)("parent_message_id"),a2aTaskId:(0,m.Qq)("a2a_task_id"),a2aSessionId:(0,m.Qq)("a2a_session_id"),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"messages_project_fk"}).onDelete("cascade")]),K=(0,l.D)("ledger_artifacts",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),taskId:(0,m.Qq)("task_id"),contextId:(0,m.Qq)("context_id").notNull(),type:(0,m.Qq)("type").notNull().default("source"),name:(0,m.Qq)("name"),description:(0,m.Qq)("description"),parts:(0,p.av)("parts",{mode:"json"}).$type(),metadata:(0,p.av)("metadata",{mode:"json"}).$type(),summary:(0,m.Qq)("summary"),mime:(0,p.av)("mime",{mode:"json"}).$type(),visibility:(0,m.Qq)("visibility").default("context"),allowedAgents:(0,p.av)("allowed_agents",{mode:"json"}).$type(),derivedFrom:(0,m.Qq)("derived_from"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"ledger_artifacts_project_fk"}).onDelete("cascade")]),L=(0,l.D)("api_keys",{id:(0,m.Qq)("id").primaryKey(),tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),graphId:(0,m.Qq)("graph_id").notNull(),publicId:(0,m.Qq)("public_id").notNull().unique(),keyHash:(0,m.Qq)("key_hash").notNull(),keyPrefix:(0,m.Qq)("key_prefix").notNull(),name:(0,m.Qq)("name"),lastUsedAt:(0,m.Qq)("last_used_at"),expiresAt:(0,m.Qq)("expires_at"),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"api_keys_project_fk"}).onDelete("cascade"),(0,o.mt)({columns:[a.tenantId,a.projectId,a.graphId],foreignColumns:[u.tenantId,u.projectId,u.id],name:"api_keys_graph_fk"}).onDelete("cascade"),(0,r.Pe)("api_keys_tenant_graph_idx").on(a.tenantId,a.graphId),(0,r.Pe)("api_keys_prefix_idx").on(a.keyPrefix),(0,r.Pe)("api_keys_public_id_idx").on(a.publicId)]),M=(0,l.D)("credential_references",{tenantId:(0,m.Qq)("tenant_id").notNull(),projectId:(0,m.Qq)("project_id").notNull(),id:(0,m.Qq)("id").notNull(),type:(0,m.Qq)("type").notNull(),credentialStoreId:(0,m.Qq)("credential_store_id").notNull(),retrievalParams:(0,p.av)("retrieval_params",{mode:"json"}).$type(),createdAt:(0,m.Qq)("created_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`),updatedAt:(0,m.Qq)("updated_at").notNull().default((0,j.ll)`CURRENT_TIMESTAMP`)},a=>[(0,n.ie)({columns:[a.tenantId,a.projectId,a.id]}),(0,o.mt)({columns:[a.tenantId,a.projectId],foreignColumns:[t.tenantId,t.id],name:"credential_references_project_fk"}).onDelete("cascade")]);(0,r.Pe)("ledger_artifacts_task_id_idx").on(K.taskId),(0,r.Pe)("ledger_artifacts_context_id_idx").on(K.contextId),(0,s.Am)("ledger_artifacts_task_context_name_unique").on(K.taskId,K.contextId,K.name),(0,k.K1)(A,({one:a,many:b})=>({project:a(t,{fields:[A.tenantId,A.projectId],references:[t.tenantId,t.id]}),parentRelations:b(B,{relationName:"childTask"}),childRelations:b(B,{relationName:"parentTask"}),agent:a(x,{fields:[A.agentId],references:[x.id]}),messages:b(J),ledgerArtifacts:b(K)})),(0,k.K1)(t,({many:a})=>({agents:a(x),agentGraphs:a(u),tools:a(G),contextConfigs:a(v),externalAgents:a(z),conversations:a(I),tasks:a(A),dataComponents:a(C),artifactComponents:a(E),ledgerArtifacts:a(K),credentialReferences:a(M)})),(0,k.K1)(B,({one:a})=>({parentTask:a(A,{fields:[B.parentTaskId],references:[A.id],relationName:"parentTask"}),childTask:a(A,{fields:[B.childTaskId],references:[A.id],relationName:"childTask"})})),(0,k.K1)(v,({many:a,one:b})=>({project:b(t,{fields:[v.tenantId,v.projectId],references:[t.tenantId,t.id]}),graphs:a(u),cache:a(w)})),(0,k.K1)(w,({one:a})=>({contextConfig:a(v,{fields:[w.contextConfigId],references:[v.id]})})),(0,k.K1)(x,({many:a,one:b})=>({project:b(t,{fields:[x.tenantId,x.projectId],references:[t.tenantId,t.id]}),tasks:a(A),defaultForGraphs:a(u),sourceRelations:a(y,{relationName:"sourceRelations"}),targetRelations:a(y,{relationName:"targetRelations"}),sentMessages:a(J,{relationName:"sentMessages"}),receivedMessages:a(J,{relationName:"receivedMessages"}),associatedMessages:a(J,{relationName:"associatedAgent"}),toolRelations:a(H),dataComponentRelations:a(D),artifactComponentRelations:a(F)})),(0,k.K1)(u,({one:a})=>({project:a(t,{fields:[u.tenantId,u.projectId],references:[t.tenantId,t.id]}),defaultAgent:a(x,{fields:[u.defaultAgentId],references:[x.id]}),contextConfig:a(v,{fields:[u.contextConfigId],references:[v.id]})})),(0,k.K1)(z,({one:a,many:b})=>({project:a(t,{fields:[z.tenantId,z.projectId],references:[t.tenantId,t.id]}),agentRelations:b(y),credentialReference:a(M,{fields:[z.credentialReferenceId],references:[M.id]})})),(0,k.K1)(L,({one:a})=>({project:a(t,{fields:[L.tenantId,L.projectId],references:[t.tenantId,t.id]}),graph:a(u,{fields:[L.graphId],references:[u.id]})})),(0,k.K1)(H,({one:a})=>({agent:a(x,{fields:[H.agentId],references:[x.id]}),tool:a(G,{fields:[H.toolId],references:[G.id]})})),(0,k.K1)(M,({many:a})=>({tools:a(G)})),(0,k.K1)(G,({one:a,many:b})=>({project:a(t,{fields:[G.tenantId,G.projectId],references:[t.tenantId,t.id]}),agentRelations:b(H),credentialReference:a(M,{fields:[G.credentialReferenceId],references:[M.id]})})),(0,k.K1)(I,({one:a,many:b})=>({project:a(t,{fields:[I.tenantId,I.projectId],references:[t.tenantId,t.id]}),messages:b(J),activeAgent:a(x,{fields:[I.activeAgentId],references:[x.id]})})),(0,k.K1)(J,({one:a,many:b})=>({conversation:a(I,{fields:[J.conversationId],references:[I.id]}),agent:a(x,{fields:[J.agentId],references:[x.id],relationName:"associatedAgent"}),fromAgent:a(x,{fields:[J.fromAgentId],references:[x.id],relationName:"sentMessages"}),toAgent:a(x,{fields:[J.toAgentId],references:[x.id],relationName:"receivedMessages"}),fromExternalAgent:a(z,{fields:[J.fromExternalAgentId],references:[z.id],relationName:"receivedExternalMessages"}),toExternalAgent:a(z,{fields:[J.toExternalAgentId],references:[z.id],relationName:"sentExternalMessages"}),task:a(A,{fields:[J.taskId],references:[A.id]}),parentMessage:a(J,{fields:[J.parentMessageId],references:[J.id],relationName:"parentChild"}),childMessages:b(J,{relationName:"parentChild"})})),(0,k.K1)(E,({many:a})=>({agentRelations:a(F)})),(0,k.K1)(F,({one:a})=>({agent:a(x,{fields:[F.agentId],references:[x.id]}),artifactComponent:a(E,{fields:[F.artifactComponentId],references:[E.id]})})),(0,k.K1)(C,({many:a,one:b})=>({project:b(t,{fields:[C.tenantId,C.projectId],references:[t.tenantId,t.id]}),agentRelations:a(D)})),(0,k.K1)(D,({one:a})=>({agent:a(x,{fields:[D.agentId],references:[x.id]}),dataComponent:a(C,{fields:[D.dataComponentId],references:[C.id]})})),(0,k.K1)(K,({one:a})=>({project:a(t,{fields:[K.tenantId,K.projectId],references:[t.tenantId,t.id]}),task:a(A,{fields:[K.taskId],references:[A.id]})})),(0,k.K1)(y,({one:a})=>({graph:a(u,{fields:[y.graphId],references:[u.id]}),sourceAgent:a(x,{fields:[y.sourceAgentId],references:[x.id],relationName:"sourceRelations"}),targetAgent:a(x,{fields:[y.targetAgentId],references:[x.id],relationName:"targetRelations"}),externalAgent:a(z,{fields:[y.externalAgentId],references:[z.id]})}));let N=h.z.object({transferCountIs:h.z.number().min(1).max(100).optional(),stepCountIs:h.z.number().min(1).max(1e3).optional()}),O=N.pick({transferCountIs:!0});N.pick({stepCountIs:!0});let P=h.z.string().min(1).max(255).regex(/^[a-zA-Z0-9\-_.]+$/,{message:"ID must contain only letters, numbers, hyphens, underscores, and dots"}).openapi({description:"Resource identifier",example:"resource_789"}),Q=h.z.object({model:h.z.string().optional(),providerOptions:h.z.record(h.z.string(),h.z.unknown()).optional()}),R=h.z.object({base:Q.optional(),structuredOutput:Q.optional(),summarizer:Q.optional()}),S=h.z.object({base:Q,structuredOutput:Q.optional(),summarizer:Q.optional()}),T=a=>a.omit({tenantId:!0,projectId:!0}),U=a=>a.omit({tenantId:!0,projectId:!0}),V=a=>a.omit({tenantId:!0,projectId:!0}).partial(),W=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}),X=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}),Y=a=>a.omit({tenantId:!0,projectId:!0,graphId:!0}).partial(),Z=(0,i.aJ)(x),$=(0,i.r)(x).extend({id:P,models:R.optional()}),_=$.partial(),aa=W(Z),ab=X($);Y(_);let ac=(0,i.aJ)(y),ad=(0,i.r)(y).extend({id:P,graphId:P,sourceAgentId:P,targetAgentId:P.optional(),externalAgentId:P.optional()}),ae=ad.partial();W(ac),X(ad).extend({relationType:h.z.enum(e)}).refine(a=>null!=a.targetAgentId!=(null!=a.externalAgentId),{message:"Must specify exactly one of targetAgentId or externalAgentId",path:["targetAgentId","externalAgentId"]}),Y(ae).extend({relationType:h.z.enum(e).optional()}).refine(a=>{let b=null!=a.targetAgentId,c=null!=a.externalAgentId;return!b&&!c||b!==c},{message:"Must specify exactly one of targetAgentId or externalAgentId when updating agent relationships",path:["targetAgentId","externalAgentId"]}),h.z.object({sourceAgentId:h.z.string().optional(),targetAgentId:h.z.string().optional(),externalAgentId:h.z.string().optional()}),U((0,i.r)(y).extend({id:P,graphId:P,sourceAgentId:P,externalAgentId:P}));let af=(0,i.aJ)(u),ag=(0,i.r)(u).extend({id:P}),ah=ag.partial();T(af);let ai=U(ag).extend({id:P});V(ah);let aj=(0,i.aJ)(A),ak=(0,i.r)(A).extend({id:P,conversationId:P.optional()}),al=ak.partial();T(aj),U(ak),V(al);let am=(0,i.aJ)(B),an=(0,i.r)(B).extend({id:P,parentTaskId:P,childTaskId:P}),ao=an.partial();T(am),U(an),V(ao);let ap=h.z.string().optional().refine(a=>{if(!a)return!0;if(a.startsWith("data:image/")){let b=a.split(",")[1];return!!b&&b.length<14e5}try{let b=new URL(a);return"http:"===b.protocol||"https:"===b.protocol}catch{return!1}},{message:"Image URL must be a valid HTTP(S) URL or a base64 data URL (max 1MB)"}),aq=h.z.object({type:h.z.enum(f),requestInit:h.z.record(h.z.string(),h.z.unknown()).optional(),eventSourceInit:h.z.record(h.z.string(),h.z.unknown()).optional(),reconnectionOptions:h.z.custom().optional(),sessionId:h.z.string().optional()}),ar=h.z.enum(["healthy","unhealthy","unknown","needs_auth"]),as=h.z.object({name:h.z.string(),description:h.z.string().optional(),inputSchema:h.z.record(h.z.string(),h.z.unknown()).optional()}),at=(0,i.aJ)(G),au=(0,i.r)(G).extend({id:P,imageUrl:ap}),av=(0,i.aJ)(I),aw=(0,i.r)(I).extend({id:P,contextConfigId:P.optional()}),ax=aw.partial();T(av),U(aw),V(ax);let ay=(0,i.aJ)(J),az=(0,i.r)(J).extend({id:P,conversationId:P,taskId:P.optional()}),aA=az.partial();T(ay),U(az),V(aA);let aB=(0,i.aJ)(w),aC=(0,i.r)(w),aD=aC.partial();T(aB),U(aC),V(aD);let aE=(0,i.aJ)(C),aF=(0,i.r)(C).extend({id:P});aF.omit({createdAt:!0,updatedAt:!0});let aG=aF.partial();T(aE);let aH=U(aF);V(aG);let aI=(0,i.aJ)(D),aJ=(0,i.r)(D),aK=aJ.partial();W(aI),aJ.omit({tenantId:!0,projectId:!0,id:!0,createdAt:!0}),Y(aK);let aL=(0,i.aJ)(E),aM=(0,i.r)(E).extend({id:P}),aN=aM.partial();T(aL);let aO=aM.omit({tenantId:!0,projectId:!0,createdAt:!0,updatedAt:!0});V(aN);let aP=(0,i.aJ)(F),aQ=(0,i.r)(F).extend({id:P,agentId:P,artifactComponentId:P}),aR=aQ.partial();W(aP),aQ.omit({tenantId:!0,projectId:!0,id:!0,createdAt:!0}),Y(aR);let aS=(0,i.aJ)(z).extend({credentialReferenceId:h.z.string().nullable().optional(),headers:h.z.record(h.z.string(),h.z.string()).nullable().optional()}),aT=(0,i.r)(z).extend({id:P}),aU=aT.partial(),aV=W(aS),aW=X(aT);Y(aU),h.z.discriminatedUnion("type",[aa.extend({type:h.z.literal("internal")}),aV.extend({type:h.z.literal("external")})]);let aX=(0,i.aJ)(L),aY=(0,i.r)(L).extend({id:P,graphId:P});aY.partial().omit({tenantId:!0,projectId:!0,id:!0,publicId:!0,keyHash:!0,keyPrefix:!0,createdAt:!0});let aZ=aX.omit({tenantId:!0,projectId:!0,keyHash:!0});h.z.object({data:h.z.object({apiKey:aZ,key:h.z.string().describe("The full API key (shown only once)")})}),aY.omit({tenantId:!0,projectId:!0,id:!0,publicId:!0,keyHash:!0,keyPrefix:!0,lastUsedAt:!0});let a$=h.z.object({id:h.z.string(),tenantId:h.z.string(),projectId:h.z.string(),type:h.z.string(),credentialStoreId:h.z.string(),retrievalParams:h.z.record(h.z.string(),h.z.unknown()).nullish(),createdAt:h.z.string(),updatedAt:h.z.string()}),a_=(0,i.r)(M).extend({id:P,type:h.z.string(),credentialStoreId:P,retrievalParams:h.z.record(h.z.string(),h.z.unknown()).nullish()}),a0=a_.partial();T(a$).extend({type:h.z.enum(g),tools:h.z.array(at).optional()});let a1=U(a_).extend({type:h.z.enum(g)});V(a0).extend({type:h.z.enum(g).optional()}),au.extend({imageUrl:ap,availableTools:h.z.array(as).optional(),status:ar.default("unknown"),version:h.z.string().optional(),createdAt:h.z.date(),updatedAt:h.z.date()}).omit({config:!0,tenantId:!0,projectId:!0,status:!0,version:!0,createdAt:!0,updatedAt:!0,credentialReferenceId:!0}).extend({tenantId:h.z.string().optional(),projectId:h.z.string().optional(),description:h.z.string().optional(),serverUrl:h.z.url(),activeTools:h.z.array(h.z.string()).optional(),mcpType:h.z.enum({nango:"nango",generic:"generic"}).optional(),transport:aq.optional(),credential:a1.optional()});let a2=au.partial();T(at);let a3=U(au);V(a2);let a4=h.z.object({url:h.z.string().min(1,"URL is required"),method:h.z.enum(["GET","POST","PUT","DELETE","PATCH"]).optional().default("GET"),headers:h.z.record(h.z.string(),h.z.string()).optional(),body:h.z.record(h.z.string(),h.z.unknown()).optional(),transform:h.z.string().optional(),timeout:h.z.number().min(0).optional().default(1e4).optional()});h.z.object({id:h.z.string().min(1,"Fetch definition ID is required"),name:h.z.string().optional(),trigger:h.z.enum(["initialization","invocation"]),fetchConfig:a4,responseSchema:h.z.any().optional(),defaultValue:h.z.unknown().optional(),credential:a1.optional()});let a5=(0,i.aJ)(v).extend({requestContextSchema:h.z.unknown().optional()}),a6=(0,i.r)(v).extend({id:P,requestContextSchema:h.z.unknown().optional()}).omit({createdAt:!0,updatedAt:!0}),a7=a6.partial();T(a5);let a8=U(a6);V(a7);let a9=(0,i.aJ)(H),ba=(0,i.r)(H).extend({id:P,agentId:P,toolId:P,selectedTools:h.z.array(h.z.string()).nullish()}),bb=ba.partial();W(a9),X(ba),Y(bb);let bc=(0,i.aJ)(K),bd=(0,i.r)(K),be=bd.partial();T(bc),U(bd),V(be);let bf=h.z.object({type:h.z.string(),description:h.z.string().optional(),detailsSchema:h.z.object({type:h.z.literal("object"),properties:h.z.record(h.z.string(),h.z.any()),required:h.z.array(h.z.string()).optional()}).optional()}),bg=h.z.object({enabled:h.z.boolean().optional(),numEvents:h.z.number().min(1).max(100).optional(),timeInSeconds:h.z.number().min(1).max(600).optional(),prompt:h.z.string().max(2e3,"Custom prompt cannot exceed 2000 characters").optional(),statusComponents:h.z.array(bf).optional()}),bh=h.z.object({toolId:h.z.string(),toolSelection:h.z.array(h.z.string()).nullable().optional()}),bi=ab.extend({type:h.z.literal("internal"),canUse:h.z.array(bh),dataComponents:h.z.array(h.z.string()).optional(),artifactComponents:h.z.array(h.z.string()).optional(),canTransferTo:h.z.array(h.z.string()).optional(),canDelegateTo:h.z.array(h.z.string()).optional()});ai.extend({agents:h.z.record(h.z.string(),h.z.union([bi,aW])),contextConfig:h.z.optional(a8),statusUpdates:h.z.optional(bg),models:R.optional(),stopWhen:O.optional(),graphPrompt:h.z.string().max(5e3,"Graph prompt cannot exceed 5000 characters").optional()});let bj=ai.extend({agents:h.z.record(h.z.string(),h.z.discriminatedUnion("type",[bi,aW.extend({type:h.z.literal("external")})])),models:R.optional(),stopWhen:O.optional(),graphPrompt:h.z.string().max(5e3,"Graph prompt cannot exceed 5000 characters").optional()});h.z.object({page:h.z.coerce.number().min(1).default(1),limit:h.z.coerce.number().min(1).max(100).default(10),total:h.z.number(),pages:h.z.number()}),h.z.object({error:h.z.string(),message:h.z.string().optional(),details:h.z.unknown().optional()}),h.z.object({exists:h.z.boolean()}),h.z.object({message:h.z.string(),removed:h.z.boolean()});let bk=(0,i.aJ)(t),bl=(0,i.r)(t).extend({models:S.optional(),stopWhen:N.optional()}).omit({createdAt:!0,updatedAt:!0}),bm=bl.partial();bk.omit({tenantId:!0});let bn=bl.omit({tenantId:!0});bm.omit({tenantId:!0}),bn.extend({graphs:h.z.record(h.z.string(),bj),tools:h.z.record(h.z.string(),a3),dataComponents:h.z.record(h.z.string(),aH).optional(),artifactComponents:h.z.record(h.z.string(),aO).optional(),contextConfig:h.z.record(h.z.string(),a8).optional(),statusUpdates:h.z.optional(bg),credentialReferences:h.z.record(h.z.string(),a1).optional(),createdAt:h.z.string().optional(),updatedAt:h.z.string().optional()}),h.z.object({"x-inkeep-tenant-id":h.z.string().optional().openapi({description:"Tenant identifier",example:"tenant_123"}),"x-inkeep-project-id":h.z.string().optional().openapi({description:"Project identifier",example:"project_456"}),"x-inkeep-graph-id":h.z.string().optional().openapi({description:"Graph identifier",example:"graph_789"})}),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"})}).openapi("TenantParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"})}).openapi("TenantProjectParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),graphId:h.z.string().openapi({description:"Graph identifier",example:"graph_789"})}).openapi("TenantProjectGraphParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),graphId:h.z.string().openapi({description:"Graph identifier",example:"graph_789"}),id:P}).openapi("TenantProjectGraphIdParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),projectId:h.z.string().openapi({description:"Project identifier",example:"project_456"}),id:P}).openapi("TenantProjectIdParams"),h.z.object({tenantId:h.z.string().openapi({description:"Tenant identifier",example:"tenant_123"}),id:P}).openapi("TenantIdParams"),h.z.object({id:P}).openapi("IdParams"),h.z.object({page:h.z.coerce.number().min(1).default(1),limit:h.z.coerce.number().min(1).max(100).default(10)});let bo=d.object({tenantId:d.string()});bo.extend({projectId:d.string()}).extend({id:d.string()}),d.object({id:d.string()}),d.object({page:d.coerce.number().min(1).default(1),limit:d.coerce.number().min(1).max(100).default(10),total:d.number(),pages:d.number()}),d.object({error:d.string(),message:d.string().optional(),details:d.unknown().optional()});let bp=d.object({model:d.string().optional(),structuredOutput:d.string().optional(),summarizer:d.string().optional(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()});d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),prompt:d.string().optional(),model:bp.optional(),tools:d.array(d.string()).optional(),dataComponents:d.array(d.string()).optional(),artifactComponents:d.array(d.string()).optional(),canTransferTo:d.array(d.string()).optional(),canDelegateTo:d.array(d.string()).optional(),type:d.enum(["internal","external"]).optional()}),d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),type:d.enum(["mcp","hosted"]),config:d.record(d.string(),d.unknown()),credentialReferenceId:d.string().optional()});let bq=d.object({id:d.string(),tenantId:d.string(),projectId:d.string(),graphId:d.string(),publicId:d.string(),keyHash:d.string(),keyPrefix:d.string(),name:d.string().optional(),lastUsedAt:d.string().optional(),expiresAt:d.string().optional(),createdAt:d.string(),updatedAt:d.string()});d.object({data:d.object({apiKey:bq,key:d.string()})}),d.object({id:d.string(),tenantId:d.string().optional(),projectId:d.string().optional(),type:d.enum(g),credentialStoreId:d.string(),retrievalParams:d.record(d.string(),d.unknown()).nullish()}),d.object({id:d.string(),name:d.string(),description:d.string().optional(),props:d.record(d.string(),d.unknown())}),d.object({id:d.string(),name:d.string(),description:d.string().optional(),summaryProps:d.record(d.string(),d.unknown()),fullProps:d.record(d.string(),d.unknown())});let br=d.object({id:d.string().optional(),name:d.string().optional(),description:d.string().optional(),type:d.string().optional(),config:d.record(d.string(),d.unknown()).optional()}),bs=d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),baseUrl:d.string(),type:d.literal("external").optional()}),bt=d.object({id:d.string().optional(),name:d.string(),description:d.string().optional(),defaultAgentId:d.string().optional()}).extend({agents:d.record(d.string(),d.union([bi,bs.extend({id:d.string()})])),contextConfig:d.optional(br),models:d.object({base:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional(),structuredOutput:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional(),summarizer:d.object({model:d.string(),providerOptions:d.record(d.string(),d.record(d.string(),d.unknown())).optional()}).optional()}).optional(),stopWhen:d.object({transferCountIs:d.number().min(1).max(100).optional()}).optional(),graphPrompt:d.string().max(5e3).optional(),statusUpdates:d.object({enabled:d.boolean().optional(),numEvents:d.number().min(1).max(100).optional(),timeInSeconds:d.number().min(1).max(600).optional(),prompt:d.string().max(2e3).optional(),statusComponents:d.array(d.object({type:d.string(),description:d.string().optional(),detailsSchema:d.object({type:d.literal("object"),properties:d.record(d.string(),d.any()),required:d.array(d.string()).optional()}).optional()})).optional()}).optional()});function bu(a){return a.toLowerCase().replace(/[^a-zA-Z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,255)}d.string().min(1).max(255).regex(/^[a-zA-Z0-9\-_.]+$/,{message:"ID must contain only letters, numbers, hyphens, underscores, and dots"})},92478:()=>{},96107:(a,b,c)=>{Promise.resolve().then(c.bind(c,37830))}};
|