@datalayer/agent-runtimes 0.0.10 → 0.0.12
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/README.md +2 -2
- package/lib/Agent.d.ts +29 -0
- package/lib/Agent.js +131 -0
- package/lib/AgentLexical.d.ts +34 -0
- package/lib/AgentLexical.js +296 -0
- package/lib/AgentNotebook.d.ts +19 -0
- package/lib/AgentNotebook.js +192 -0
- package/lib/agent-lexical-main.d.ts +1 -0
- package/lib/agent-lexical-main.js +11 -0
- package/lib/agent-main.d.ts +1 -0
- package/lib/agent-main.js +11 -0
- package/lib/agent-notebook-main.d.ts +1 -0
- package/lib/agent-notebook-main.js +12 -0
- package/lib/components/AgentConfiguration.d.ts +33 -21
- package/lib/components/AgentConfiguration.js +76 -21
- package/lib/components/chat/components/AgentDetails.d.ts +3 -1
- package/lib/components/chat/components/AgentDetails.js +164 -6
- package/lib/components/chat/components/Chat.d.ts +29 -3
- package/lib/components/chat/components/Chat.js +64 -59
- package/lib/components/chat/components/ChatFloating.d.ts +34 -12
- package/lib/components/chat/components/ChatFloating.js +54 -21
- package/lib/components/chat/components/ChatInline.d.ts +5 -1
- package/lib/components/chat/components/ChatInline.js +8 -1
- package/lib/components/chat/components/ChatSidebar.d.ts +6 -1
- package/lib/components/chat/components/ChatSidebar.js +2 -2
- package/lib/components/chat/components/ChatStandalone.d.ts +6 -1
- package/lib/components/chat/components/ChatStandalone.js +2 -2
- package/lib/components/chat/components/ContextDistribution.js +2 -2
- package/lib/components/chat/components/ContextInspector.js +4 -2
- package/lib/components/chat/components/ContextPanel.js +1 -6
- package/lib/components/chat/components/base/ChatBase.d.ts +49 -8
- package/lib/components/chat/components/base/ChatBase.js +544 -149
- package/lib/components/chat/components/base/InputPrompt.d.ts +42 -0
- package/lib/components/chat/components/base/InputPrompt.js +131 -0
- package/lib/components/chat/components/index.d.ts +3 -3
- package/lib/components/chat/components/index.js +1 -1
- package/lib/components/chat/components/parts/ReasoningPart.js +2 -4
- package/lib/components/chat/components/parts/TextPart.js +2 -70
- package/lib/components/chat/components/styles/streamdownStyles.d.ts +23 -0
- package/lib/components/chat/components/styles/streamdownStyles.js +319 -0
- package/lib/components/chat/index.d.ts +1 -1
- package/lib/components/chat/index.js +1 -1
- package/lib/components/chat/inference/DatalayerInferenceProvider.js +16 -12
- package/lib/components/chat/inference/SelfHostedInferenceProvider.js +16 -12
- package/lib/components/chat/protocols/AGUIAdapter.d.ts +10 -3
- package/lib/components/chat/protocols/AGUIAdapter.js +123 -44
- package/lib/components/chat/types/tool.d.ts +5 -2
- package/lib/components/index.d.ts +2 -19
- package/lib/components/index.js +1 -10
- package/lib/config/index.d.ts +0 -3
- package/lib/config/index.js +0 -3
- package/lib/examples/A2UiRestaurantExample.js +1 -1
- package/lib/examples/AgentRuntimeChatExample.d.ts +15 -0
- package/lib/examples/AgentRuntimeChatExample.js +126 -0
- package/lib/examples/{AgentSpaceFormExample.d.ts → AgentRuntimeFormExample.d.ts} +3 -3
- package/lib/examples/{AgentSpaceFormExample.js → AgentRuntimeFormExample.js} +61 -17
- package/lib/examples/AgentRuntimeLexicalExample.js +6 -3
- package/lib/examples/AgentRuntimeLexicalSidebarExample.js +8 -1
- package/lib/examples/AgentRuntimeNotebookExample.js +6 -5
- package/lib/examples/CopilotKitNotebookExample.js +2 -2
- package/lib/examples/JupyterNotebookExample.js +2 -2
- package/lib/{components → examples/components}/Header.d.ts +2 -1
- package/lib/{components → examples/components}/HeaderControls.js +1 -1
- package/lib/{components → examples/components}/LexicalEditor.d.ts +6 -1
- package/lib/{components → examples/components}/LexicalEditor.js +4 -4
- package/lib/{components → examples/components}/MainContent.d.ts +1 -1
- package/lib/{components → examples/components}/MainContent.js +7 -5
- package/lib/examples/components/index.d.ts +16 -0
- package/lib/examples/components/index.js +13 -0
- package/lib/examples/example-selector.js +2 -1
- package/lib/examples/index.d.ts +1 -1
- package/lib/examples/index.js +1 -1
- package/lib/examples/main.js +2 -2
- package/lib/examples/stores/examplesStore.d.ts +2 -23
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -0
- package/lib/lexical/ChatInlinePlugin.d.ts +13 -2
- package/lib/lexical/ChatInlinePlugin.js +41 -179
- package/lib/lexical/index.d.ts +1 -0
- package/lib/lexical/index.js +1 -0
- package/lib/lexical/useChatInlineToolbarItems.d.ts +28 -0
- package/lib/lexical/useChatInlineToolbarItems.js +163 -0
- package/lib/runtime/useAgentRuntime.d.ts +1 -1
- package/lib/runtime/useAgentRuntime.js +1 -1
- package/lib/specs/agents/codeai/agents.d.ts +28 -0
- package/lib/specs/agents/codeai/agents.js +151 -0
- package/lib/specs/agents/codeai/index.d.ts +1 -0
- package/lib/specs/agents/codeai/index.js +5 -0
- package/lib/{config → specs/agents/codemode-paper}/agents.d.ts +4 -6
- package/lib/specs/agents/codemode-paper/agents.js +308 -0
- package/lib/specs/agents/codemode-paper/index.d.ts +1 -0
- package/lib/specs/agents/codemode-paper/index.js +5 -0
- package/lib/specs/agents/datalayer-ai/agents.d.ts +31 -0
- package/lib/{config → specs/agents/datalayer-ai}/agents.js +42 -184
- package/lib/specs/agents/datalayer-ai/index.d.ts +1 -0
- package/lib/specs/agents/datalayer-ai/index.js +5 -0
- package/lib/specs/agents/index.d.ts +21 -0
- package/lib/specs/agents/index.js +47 -0
- package/lib/specs/envvars.d.ts +29 -0
- package/lib/specs/envvars.js +125 -0
- package/lib/specs/index.d.ts +5 -0
- package/lib/specs/index.js +9 -0
- package/lib/{config → specs}/mcpServers.d.ts +2 -1
- package/lib/{config → specs}/mcpServers.js +47 -1
- package/lib/specs/models.d.ts +68 -0
- package/lib/specs/models.js +239 -0
- package/lib/{config → specs}/skills.d.ts +2 -0
- package/lib/{config → specs}/skills.js +6 -0
- package/lib/state/substates/AIAgentState.d.ts +0 -1
- package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.d.ts +11 -22
- package/lib/tools/adapters/agent-runtimes/AgentRuntimesToolAdapter.js +5 -5
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.d.ts +6 -6
- package/lib/tools/adapters/agent-runtimes/lexicalHooks.js +4 -4
- package/lib/tools/adapters/agent-runtimes/notebookHooks.d.ts +6 -6
- package/lib/tools/adapters/agent-runtimes/notebookHooks.js +4 -4
- package/lib/{types.d.ts → types/Types.d.ts} +42 -8
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/package.json +11 -5
- package/scripts/codegen/generate_agents.py +608 -157
- package/scripts/codegen/generate_envvars.py +302 -0
- package/scripts/codegen/generate_mcp_servers.py +33 -21
- package/scripts/codegen/generate_models.py +486 -0
- package/scripts/codegen/generate_skills.py +21 -8
- package/style/primer-primitives.css +22 -0
- package/lib/components/chat/components/elements/ChatInputPrompt.d.ts +0 -37
- package/lib/components/chat/components/elements/ChatInputPrompt.js +0 -150
- /package/lib/{components → examples/components}/FooterMetrics.d.ts +0 -0
- /package/lib/{components → examples/components}/FooterMetrics.js +0 -0
- /package/lib/{components → examples/components}/Header.js +0 -0
- /package/lib/{components → examples/components}/HeaderControls.d.ts +0 -0
- /package/lib/{components → examples/components}/MockFileBrowser.d.ts +0 -0
- /package/lib/{components → examples/components}/MockFileBrowser.js +0 -0
- /package/lib/{components → examples/components}/SessionTabs.d.ts +0 -0
- /package/lib/{components → examples/components}/SessionTabs.js +0 -0
- /package/lib/{components → examples/components}/TimeTravel.d.ts +0 -0
- /package/lib/{components → examples/components}/TimeTravel.js +0 -0
- /package/lib/{types.js → types/Types.js} +0 -0
|
@@ -2,28 +2,23 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
import { ALPHAVANTAGE_MCP_SERVER,
|
|
6
|
-
import {
|
|
5
|
+
import { ALPHAVANTAGE_MCP_SERVER, FILESYSTEM_MCP_SERVER, GOOGLE_WORKSPACE_MCP_SERVER, KAGGLE_MCP_SERVER, TAVILY_MCP_SERVER, } from '../../mcpServers';
|
|
6
|
+
import { GITHUB_SKILL_SPEC } from '../../skills';
|
|
7
7
|
// ============================================================================
|
|
8
8
|
// MCP Server Lookup
|
|
9
9
|
// ============================================================================
|
|
10
10
|
const MCP_SERVER_MAP = {
|
|
11
11
|
alphavantage: ALPHAVANTAGE_MCP_SERVER,
|
|
12
|
-
chart: CHART_MCP_SERVER,
|
|
13
12
|
filesystem: FILESYSTEM_MCP_SERVER,
|
|
14
|
-
github: GITHUB_MCP_SERVER,
|
|
15
13
|
'google-workspace': GOOGLE_WORKSPACE_MCP_SERVER,
|
|
16
14
|
kaggle: KAGGLE_MCP_SERVER,
|
|
17
|
-
slack: SLACK_MCP_SERVER,
|
|
18
15
|
tavily: TAVILY_MCP_SERVER,
|
|
19
16
|
};
|
|
20
17
|
/**
|
|
21
18
|
* Map skill IDs to SkillSpec objects, converting to AgentSkillSpec shape.
|
|
22
19
|
*/
|
|
23
20
|
const SKILL_MAP = {
|
|
24
|
-
crawl: CRAWL_SKILL_SPEC,
|
|
25
21
|
github: GITHUB_SKILL_SPEC,
|
|
26
|
-
pdf: PDF_SKILL_SPEC,
|
|
27
22
|
};
|
|
28
23
|
function toAgentSkillSpec(skill) {
|
|
29
24
|
return {
|
|
@@ -39,55 +34,20 @@ function toAgentSkillSpec(skill) {
|
|
|
39
34
|
// ============================================================================
|
|
40
35
|
// Agent Specs
|
|
41
36
|
// ============================================================================
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
name: 'Crawler Agent (MCP)',
|
|
45
|
-
description: `Web crawling and research agent that searches the web and GitHub repositories for information.`,
|
|
46
|
-
tags: ['web', 'search', 'research', 'crawler', 'github'],
|
|
47
|
-
enabled: false,
|
|
48
|
-
mcpServers: [MCP_SERVER_MAP['tavily'], MCP_SERVER_MAP['github']],
|
|
49
|
-
skills: [],
|
|
50
|
-
environmentName: 'ai-agents-env',
|
|
51
|
-
icon: 'globe',
|
|
52
|
-
color: '#10B981',
|
|
53
|
-
suggestions: [
|
|
54
|
-
'Search the web for recent news about AI agents',
|
|
55
|
-
'Find trending open-source Python projects on GitHub',
|
|
56
|
-
'Research best practices for building RAG applications',
|
|
57
|
-
'Compare popular JavaScript frameworks in 2024',
|
|
58
|
-
],
|
|
59
|
-
systemPrompt: `You are a web crawling and research assistant with access to Tavily search and GitHub tools. Use Tavily to search the web for current information and search GitHub repositories for relevant projects. Synthesize information from multiple sources and provide clear summaries with sources cited.
|
|
60
|
-
`,
|
|
61
|
-
systemPromptCodemode: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
62
|
-
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
63
|
-
Use this to see what MCP servers you can access.
|
|
64
|
-
|
|
65
|
-
2. **search_tools** - Progressive tool discovery by natural language query
|
|
66
|
-
Use this to find relevant tools before executing tasks.
|
|
67
|
-
|
|
68
|
-
3. **get_tool_details** - Get full tool schema and documentation
|
|
69
|
-
Use this to understand tool parameters before calling them.
|
|
70
|
-
|
|
71
|
-
4. **execute_code** - Run Python code that composes multiple tools
|
|
72
|
-
Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox.
|
|
73
|
-
Variables, functions, and state PERSIST between execute_code calls.
|
|
74
|
-
Import tools using: \`from generated.servers.<server_name> import <function_name>\`
|
|
75
|
-
NEVER use \`import *\` - always use explicit named imports.
|
|
76
|
-
|
|
77
|
-
## Recommended Workflow 1. **Discover**: Use list_servers and search_tools to find relevant tools 2. **Understand**: Use get_tool_details to check parameters 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed
|
|
78
|
-
## Token Efficiency When possible, chain multiple tool calls in a single execute_code block. This reduces output tokens by processing intermediate results in code rather than returning them. If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important.
|
|
79
|
-
`,
|
|
80
|
-
};
|
|
37
|
+
// Datalayer Ai Agents
|
|
38
|
+
// ============================================================================
|
|
81
39
|
export const CRAWLER_AGENT_SPEC = {
|
|
82
|
-
id: 'crawler',
|
|
40
|
+
id: 'datalayer-ai/crawler',
|
|
83
41
|
name: 'Crawler Agent',
|
|
84
42
|
description: `Web crawling and research agent that searches the web and GitHub repositories for information.`,
|
|
85
43
|
tags: ['web', 'search', 'research', 'crawler', 'github'],
|
|
86
44
|
enabled: false,
|
|
45
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
87
46
|
mcpServers: [MCP_SERVER_MAP['tavily']],
|
|
88
47
|
skills: [toAgentSkillSpec(SKILL_MAP['github'])],
|
|
89
48
|
environmentName: 'ai-agents-env',
|
|
90
49
|
icon: 'globe',
|
|
50
|
+
emoji: '🌐',
|
|
91
51
|
color: '#10B981',
|
|
92
52
|
suggestions: [
|
|
93
53
|
'Search the web for recent news about AI agents',
|
|
@@ -95,9 +55,10 @@ export const CRAWLER_AGENT_SPEC = {
|
|
|
95
55
|
'Research best practices for building RAG applications',
|
|
96
56
|
'Compare popular JavaScript frameworks in 2024',
|
|
97
57
|
],
|
|
58
|
+
sandboxVariant: 'jupyter',
|
|
98
59
|
systemPrompt: `You are a web crawling and research assistant with access to Tavily search and GitHub tools. Use Tavily to search the web for current information and search GitHub repositories for relevant projects. Synthesize information from multiple sources and provide clear summaries with sources cited.
|
|
99
60
|
`,
|
|
100
|
-
|
|
61
|
+
systemPromptCodemodeAddons: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
101
62
|
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
102
63
|
Use this to see what MCP servers you can access.
|
|
103
64
|
|
|
@@ -118,11 +79,12 @@ export const CRAWLER_AGENT_SPEC = {
|
|
|
118
79
|
`,
|
|
119
80
|
};
|
|
120
81
|
export const DATA_ACQUISITION_AGENT_SPEC = {
|
|
121
|
-
id: 'data-acquisition',
|
|
82
|
+
id: 'datalayer-ai/data-acquisition',
|
|
122
83
|
name: 'Data Acquisition Agent',
|
|
123
84
|
description: `Acquires and manages data from various sources including Kaggle datasets and local filesystem operations.`,
|
|
124
85
|
tags: ['data', 'acquisition', 'kaggle', 'filesystem'],
|
|
125
86
|
enabled: true,
|
|
87
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
126
88
|
mcpServers: [
|
|
127
89
|
MCP_SERVER_MAP['kaggle'],
|
|
128
90
|
MCP_SERVER_MAP['filesystem'],
|
|
@@ -131,6 +93,7 @@ export const DATA_ACQUISITION_AGENT_SPEC = {
|
|
|
131
93
|
skills: [toAgentSkillSpec(SKILL_MAP['github'])],
|
|
132
94
|
environmentName: 'ai-agents-env',
|
|
133
95
|
icon: 'database',
|
|
96
|
+
emoji: '📊',
|
|
134
97
|
color: '#3B82F6',
|
|
135
98
|
suggestions: [
|
|
136
99
|
'Find popular machine learning datasets on Kaggle',
|
|
@@ -138,48 +101,10 @@ export const DATA_ACQUISITION_AGENT_SPEC = {
|
|
|
138
101
|
'List available files in my workspace',
|
|
139
102
|
'Search Kaggle for time series forecasting competitions',
|
|
140
103
|
],
|
|
104
|
+
sandboxVariant: 'jupyter',
|
|
141
105
|
systemPrompt: `You are a data acquisition specialist with access to Kaggle datasets and filesystem tools. You can search for datasets, download data, read and write files, and help users prepare data for analysis. Guide users through finding relevant datasets and organizing their workspace efficiently.
|
|
142
106
|
`,
|
|
143
|
-
|
|
144
|
-
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
145
|
-
Use this to see what MCP servers you can access.
|
|
146
|
-
|
|
147
|
-
2. **search_tools** - Progressive tool discovery by natural language query
|
|
148
|
-
Use this to find relevant tools before executing tasks.
|
|
149
|
-
|
|
150
|
-
3. **get_tool_details** - Get full tool schema and documentation
|
|
151
|
-
Use this to understand tool parameters before calling them.
|
|
152
|
-
|
|
153
|
-
4. **execute_code** - Run Python code that composes multiple tools
|
|
154
|
-
Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox.
|
|
155
|
-
Variables, functions, and state PERSIST between execute_code calls.
|
|
156
|
-
Import tools using: \`from generated.servers.<server_name> import <function_name>\`
|
|
157
|
-
NEVER use \`import *\` - always use explicit named imports.
|
|
158
|
-
|
|
159
|
-
## Recommended Workflow 1. **Discover**: Use list_servers and search_tools to find relevant tools 2. **Understand**: Use get_tool_details to check parameters 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed
|
|
160
|
-
## Token Efficiency When possible, chain multiple tool calls in a single execute_code block. This reduces output tokens by processing intermediate results in code rather than returning them. If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important.
|
|
161
|
-
`,
|
|
162
|
-
};
|
|
163
|
-
export const FINANCIAL_VIZ_AGENT_SPEC = {
|
|
164
|
-
id: 'financial-viz',
|
|
165
|
-
name: 'Financial Visualization Agent (Viz)',
|
|
166
|
-
description: `Analyzes financial market data and creates visualizations and charts.`,
|
|
167
|
-
tags: ['finance', 'stocks', 'visualization', 'charts'],
|
|
168
|
-
enabled: false,
|
|
169
|
-
mcpServers: [MCP_SERVER_MAP['alphavantage'], MCP_SERVER_MAP['chart']],
|
|
170
|
-
skills: [],
|
|
171
|
-
environmentName: 'ai-agents-env',
|
|
172
|
-
icon: 'trending-up',
|
|
173
|
-
color: '#F59E0B',
|
|
174
|
-
suggestions: [
|
|
175
|
-
'Show me the stock price history for AAPL',
|
|
176
|
-
'Create a chart comparing MSFT and GOOGL over the last year',
|
|
177
|
-
'Analyze the trading volume trends for Tesla',
|
|
178
|
-
'Get the latest market news for tech stocks',
|
|
179
|
-
],
|
|
180
|
-
systemPrompt: `You are a financial market analyst with access to Alpha Vantage market data and chart generation tools. You can fetch stock prices, analyze trading volumes, create visualizations, and track market trends. Provide clear insights with relevant data points and generate charts to illustrate patterns.
|
|
181
|
-
`,
|
|
182
|
-
systemPromptCodemode: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
107
|
+
systemPromptCodemodeAddons: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
183
108
|
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
184
109
|
Use this to see what MCP servers you can access.
|
|
185
110
|
|
|
@@ -200,15 +125,17 @@ export const FINANCIAL_VIZ_AGENT_SPEC = {
|
|
|
200
125
|
`,
|
|
201
126
|
};
|
|
202
127
|
export const FINANCIAL_AGENT_SPEC = {
|
|
203
|
-
id: 'financial',
|
|
128
|
+
id: 'datalayer-ai/financial',
|
|
204
129
|
name: 'Financial Visualization Agent',
|
|
205
130
|
description: `Analyzes financial market data and creates visualizations and charts.`,
|
|
206
131
|
tags: ['finance', 'stocks', 'visualization', 'charts'],
|
|
207
132
|
enabled: false,
|
|
133
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
208
134
|
mcpServers: [MCP_SERVER_MAP['alphavantage']],
|
|
209
135
|
skills: [],
|
|
210
136
|
environmentName: 'ai-agents-env',
|
|
211
137
|
icon: 'trending-up',
|
|
138
|
+
emoji: '📈',
|
|
212
139
|
color: '#F59E0B',
|
|
213
140
|
suggestions: [
|
|
214
141
|
'Show me the stock price history for AAPL',
|
|
@@ -216,48 +143,10 @@ export const FINANCIAL_AGENT_SPEC = {
|
|
|
216
143
|
'Analyze the trading volume trends for Tesla',
|
|
217
144
|
'Get the latest market news for tech stocks',
|
|
218
145
|
],
|
|
146
|
+
sandboxVariant: 'jupyter',
|
|
219
147
|
systemPrompt: `You are a financial market analyst with access to Alpha Vantage market data tools. You can fetch stock prices, analyze trading volumes, create visualizations, and track market trends. Provide clear insights with relevant data points and suggest visualization approaches when appropriate.
|
|
220
148
|
`,
|
|
221
|
-
|
|
222
|
-
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
223
|
-
Use this to see what MCP servers you can access.
|
|
224
|
-
|
|
225
|
-
2. **search_tools** - Progressive tool discovery by natural language query
|
|
226
|
-
Use this to find relevant tools before executing tasks.
|
|
227
|
-
|
|
228
|
-
3. **get_tool_details** - Get full tool schema and documentation
|
|
229
|
-
Use this to understand tool parameters before calling them.
|
|
230
|
-
|
|
231
|
-
4. **execute_code** - Run Python code that composes multiple tools
|
|
232
|
-
Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox.
|
|
233
|
-
Variables, functions, and state PERSIST between execute_code calls.
|
|
234
|
-
Import tools using: \`from generated.servers.<server_name> import <function_name>\`
|
|
235
|
-
NEVER use \`import *\` - always use explicit named imports.
|
|
236
|
-
|
|
237
|
-
## Recommended Workflow 1. **Discover**: Use list_servers and search_tools to find relevant tools 2. **Understand**: Use get_tool_details to check parameters 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed
|
|
238
|
-
## Token Efficiency When possible, chain multiple tool calls in a single execute_code block. This reduces output tokens by processing intermediate results in code rather than returning them. If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important.
|
|
239
|
-
`,
|
|
240
|
-
};
|
|
241
|
-
export const GITHUB_AGENT_MCP_AGENT_SPEC = {
|
|
242
|
-
id: 'github-agent-mcp',
|
|
243
|
-
name: 'GitHub Agent',
|
|
244
|
-
description: `Manages GitHub repositories, issues, and pull requests with email notification capabilities.`,
|
|
245
|
-
tags: ['github', 'git', 'code', 'email'],
|
|
246
|
-
enabled: false,
|
|
247
|
-
mcpServers: [MCP_SERVER_MAP['github'], MCP_SERVER_MAP['google-workspace']],
|
|
248
|
-
skills: [],
|
|
249
|
-
environmentName: 'ai-agents-env',
|
|
250
|
-
icon: 'git-branch',
|
|
251
|
-
color: '#6366F1',
|
|
252
|
-
suggestions: [
|
|
253
|
-
'List my open pull requests across all repositories',
|
|
254
|
-
'Create an issue for a bug I found in datalayer/ui',
|
|
255
|
-
'Show recent commits on the main branch',
|
|
256
|
-
'Search for repositories related to Jupyter notebooks',
|
|
257
|
-
],
|
|
258
|
-
systemPrompt: `You are a GitHub assistant with access to GitHub repository tools and Google Workspace for email notifications. You can list and search repositories, issues, and pull requests, create new issues, review PRs, search code, and send email notifications. Always confirm repository names before creating issues/PRs and provide clear summaries when listing multiple items.
|
|
259
|
-
`,
|
|
260
|
-
systemPromptCodemode: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
149
|
+
systemPromptCodemodeAddons: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
261
150
|
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
262
151
|
Use this to see what MCP servers you can access.
|
|
263
152
|
|
|
@@ -278,15 +167,17 @@ export const GITHUB_AGENT_MCP_AGENT_SPEC = {
|
|
|
278
167
|
`,
|
|
279
168
|
};
|
|
280
169
|
export const GITHUB_AGENT_SPEC = {
|
|
281
|
-
id: 'github-agent',
|
|
170
|
+
id: 'datalayer-ai/github-agent',
|
|
282
171
|
name: 'GitHub Agent',
|
|
283
172
|
description: `Manages GitHub repositories, issues, and pull requests with email notification capabilities.`,
|
|
284
173
|
tags: ['github', 'git', 'code', 'email'],
|
|
285
174
|
enabled: false,
|
|
175
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
286
176
|
mcpServers: [MCP_SERVER_MAP['google-workspace']],
|
|
287
177
|
skills: [toAgentSkillSpec(SKILL_MAP['github'])],
|
|
288
178
|
environmentName: 'ai-agents-env',
|
|
289
179
|
icon: 'git-branch',
|
|
180
|
+
emoji: '🐙',
|
|
290
181
|
color: '#6366F1',
|
|
291
182
|
suggestions: [
|
|
292
183
|
'List my open pull requests across all repositories',
|
|
@@ -294,48 +185,10 @@ export const GITHUB_AGENT_SPEC = {
|
|
|
294
185
|
'Show recent commits on the main branch',
|
|
295
186
|
'Search for repositories related to Jupyter notebooks',
|
|
296
187
|
],
|
|
188
|
+
sandboxVariant: 'jupyter',
|
|
297
189
|
systemPrompt: `You are a GitHub assistant with access to GitHub skills and Google Workspace for email notifications. You can list and search repositories, issues, and pull requests, create new issues, review PRs, search code, and send email notifications. Always confirm repository names before creating issues/PRs and provide clear summaries when listing multiple items.
|
|
298
190
|
`,
|
|
299
|
-
|
|
300
|
-
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
301
|
-
Use this to see what MCP servers you can access.
|
|
302
|
-
|
|
303
|
-
2. **search_tools** - Progressive tool discovery by natural language query
|
|
304
|
-
Use this to find relevant tools before executing tasks.
|
|
305
|
-
|
|
306
|
-
3. **get_tool_details** - Get full tool schema and documentation
|
|
307
|
-
Use this to understand tool parameters before calling them.
|
|
308
|
-
|
|
309
|
-
4. **execute_code** - Run Python code that composes multiple tools
|
|
310
|
-
Use this for complex multi-step operations. Code runs in a PERSISTENT sandbox.
|
|
311
|
-
Variables, functions, and state PERSIST between execute_code calls.
|
|
312
|
-
Import tools using: \`from generated.servers.<server_name> import <function_name>\`
|
|
313
|
-
NEVER use \`import *\` - always use explicit named imports.
|
|
314
|
-
|
|
315
|
-
## Recommended Workflow 1. **Discover**: Use list_servers and search_tools to find relevant tools 2. **Understand**: Use get_tool_details to check parameters 3. **Execute**: Use execute_code to perform multi-step tasks, calling tools as needed
|
|
316
|
-
## Token Efficiency When possible, chain multiple tool calls in a single execute_code block. This reduces output tokens by processing intermediate results in code rather than returning them. If you want to examine results, print subsets, preview (maximum 20 first characters) and/or counts instead of full data, this is really important.
|
|
317
|
-
`,
|
|
318
|
-
};
|
|
319
|
-
export const INFORMATION_ROUTING_AGENT_SPEC = {
|
|
320
|
-
id: 'information-routing',
|
|
321
|
-
name: 'Information Routing Agent',
|
|
322
|
-
description: `Routes information between Google Drive and Slack, managing document workflows and team communication.`,
|
|
323
|
-
tags: ['workflow', 'communication', 'gdrive', 'slack'],
|
|
324
|
-
enabled: false,
|
|
325
|
-
mcpServers: [MCP_SERVER_MAP['google-workspace'], MCP_SERVER_MAP['slack']],
|
|
326
|
-
skills: [],
|
|
327
|
-
environmentName: 'ai-agents-env',
|
|
328
|
-
icon: 'share-2',
|
|
329
|
-
color: '#EC4899',
|
|
330
|
-
suggestions: [
|
|
331
|
-
'Find documents shared with me in Google Drive',
|
|
332
|
-
"Send a summary of today's meeting notes to the",
|
|
333
|
-
'List recent files in my Drive folder',
|
|
334
|
-
'Post a reminder to Slack about the upcoming deadline',
|
|
335
|
-
],
|
|
336
|
-
systemPrompt: `You are an information routing specialist with access to Google Drive and Slack tools. You can find and manage documents in Drive, send messages to Slack channels, and automate workflows between these platforms. Help users coordinate team communication and document management efficiently. Use "#" to denote Slack channels. Do not use file extension when referring to Google Drive documents.
|
|
337
|
-
`,
|
|
338
|
-
systemPromptCodemode: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
191
|
+
systemPromptCodemodeAddons: `## IMPORTANT: Be Honest About Your Capabilities NEVER claim to have tools or capabilities you haven't verified.
|
|
339
192
|
## Core Codemode Tools Use these 4 tools to accomplish any task: 1. **list_servers** - List available MCP servers
|
|
340
193
|
Use this to see what MCP servers you can access.
|
|
341
194
|
|
|
@@ -356,15 +209,17 @@ export const INFORMATION_ROUTING_AGENT_SPEC = {
|
|
|
356
209
|
`,
|
|
357
210
|
};
|
|
358
211
|
export const SIMPLE_AGENT_SPEC = {
|
|
359
|
-
id: 'simple',
|
|
212
|
+
id: 'datalayer-ai/simple',
|
|
360
213
|
name: 'A Simple Agent',
|
|
361
214
|
description: `A simple conversational agent. No tools, no MCP servers, no skills — just a helpful AI assistant you can chat with.`,
|
|
362
215
|
tags: ['simple', 'chat', 'assistant'],
|
|
363
216
|
enabled: true,
|
|
217
|
+
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
364
218
|
mcpServers: [],
|
|
365
219
|
skills: [],
|
|
366
220
|
environmentName: 'ai-agents-env',
|
|
367
221
|
icon: 'share-2',
|
|
222
|
+
emoji: '🤖',
|
|
368
223
|
color: '#6366F1',
|
|
369
224
|
suggestions: [
|
|
370
225
|
'Tell me a joke',
|
|
@@ -372,23 +227,21 @@ export const SIMPLE_AGENT_SPEC = {
|
|
|
372
227
|
'Help me brainstorm ideas for a weekend project',
|
|
373
228
|
'Summarize the key points of a topic I describe',
|
|
374
229
|
],
|
|
230
|
+
sandboxVariant: 'jupyter',
|
|
375
231
|
systemPrompt: `You are a helpful, friendly AI assistant. You do not have access to any external tools, MCP servers, or skills. Answer questions using your training knowledge, be concise, and let the user know if a question is outside your knowledge.
|
|
376
232
|
`,
|
|
377
|
-
|
|
233
|
+
systemPromptCodemodeAddons: undefined,
|
|
378
234
|
};
|
|
379
235
|
// ============================================================================
|
|
380
236
|
// Agent Specs Registry
|
|
381
237
|
// ============================================================================
|
|
382
238
|
export const AGENT_SPECS = {
|
|
383
|
-
|
|
384
|
-
crawler: CRAWLER_AGENT_SPEC,
|
|
385
|
-
'data-acquisition': DATA_ACQUISITION_AGENT_SPEC,
|
|
386
|
-
'financial
|
|
387
|
-
|
|
388
|
-
'
|
|
389
|
-
'github-agent': GITHUB_AGENT_SPEC,
|
|
390
|
-
'information-routing': INFORMATION_ROUTING_AGENT_SPEC,
|
|
391
|
-
simple: SIMPLE_AGENT_SPEC,
|
|
239
|
+
// Datalayer Ai
|
|
240
|
+
'datalayer-ai/crawler': CRAWLER_AGENT_SPEC,
|
|
241
|
+
'datalayer-ai/data-acquisition': DATA_ACQUISITION_AGENT_SPEC,
|
|
242
|
+
'datalayer-ai/financial': FINANCIAL_AGENT_SPEC,
|
|
243
|
+
'datalayer-ai/github-agent': GITHUB_AGENT_SPEC,
|
|
244
|
+
'datalayer-ai/simple': SIMPLE_AGENT_SPEC,
|
|
392
245
|
};
|
|
393
246
|
/**
|
|
394
247
|
* Get an agent specification by ID.
|
|
@@ -398,9 +251,14 @@ export function getAgentSpecs(agentId) {
|
|
|
398
251
|
}
|
|
399
252
|
/**
|
|
400
253
|
* List all available agent specifications.
|
|
254
|
+
*
|
|
255
|
+
* @param prefix - If provided, only return specs whose ID starts with this prefix.
|
|
401
256
|
*/
|
|
402
|
-
export function listAgentSpecs() {
|
|
403
|
-
|
|
257
|
+
export function listAgentSpecs(prefix) {
|
|
258
|
+
const specs = Object.values(AGENT_SPECS);
|
|
259
|
+
return prefix !== undefined
|
|
260
|
+
? specs.filter(s => s.id.startsWith(prefix))
|
|
261
|
+
: specs;
|
|
404
262
|
}
|
|
405
263
|
/**
|
|
406
264
|
* Collect all required environment variables for an agent spec.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './agents';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Library - Subfolder Organization.
|
|
3
|
+
*
|
|
4
|
+
* THIS FILE IS AUTO-GENERATED. DO NOT EDIT MANUALLY.
|
|
5
|
+
*/
|
|
6
|
+
import type { AgentSpec } from '../../types';
|
|
7
|
+
export declare const AGENT_SPECS: Record<string, AgentSpec>;
|
|
8
|
+
/**
|
|
9
|
+
* Get an agent specification by ID.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getAgentSpecs(agentId: string): AgentSpec | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* List all available agent specifications.
|
|
14
|
+
*
|
|
15
|
+
* @param prefix - If provided, only return specs whose ID starts with this prefix.
|
|
16
|
+
*/
|
|
17
|
+
export declare function listAgentSpecs(prefix?: string): AgentSpec[];
|
|
18
|
+
/**
|
|
19
|
+
* Collect all required environment variables for an agent spec.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getAgentSpecRequiredEnvVars(spec: AgentSpec): string[];
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
import { AGENT_SPECS as CODEAI_AGENTS } from './codeai';
|
|
6
|
+
import { AGENT_SPECS as CODEMODE_PAPER_AGENTS } from './codemode-paper';
|
|
7
|
+
import { AGENT_SPECS as DATALAYER_AI_AGENTS } from './datalayer-ai';
|
|
8
|
+
// Merge all agent specs from subfolders
|
|
9
|
+
export const AGENT_SPECS = {
|
|
10
|
+
...CODEAI_AGENTS,
|
|
11
|
+
...CODEMODE_PAPER_AGENTS,
|
|
12
|
+
...DATALAYER_AI_AGENTS,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Get an agent specification by ID.
|
|
16
|
+
*/
|
|
17
|
+
export function getAgentSpecs(agentId) {
|
|
18
|
+
return AGENT_SPECS[agentId];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* List all available agent specifications.
|
|
22
|
+
*
|
|
23
|
+
* @param prefix - If provided, only return specs whose ID starts with this prefix.
|
|
24
|
+
*/
|
|
25
|
+
export function listAgentSpecs(prefix) {
|
|
26
|
+
const specs = Object.values(AGENT_SPECS);
|
|
27
|
+
return prefix !== undefined
|
|
28
|
+
? specs.filter(s => s.id.startsWith(prefix))
|
|
29
|
+
: specs;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Collect all required environment variables for an agent spec.
|
|
33
|
+
*/
|
|
34
|
+
export function getAgentSpecRequiredEnvVars(spec) {
|
|
35
|
+
const vars = new Set();
|
|
36
|
+
for (const server of spec.mcpServers) {
|
|
37
|
+
for (const v of server.requiredEnvVars ?? []) {
|
|
38
|
+
vars.add(v);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (const skill of spec.skills) {
|
|
42
|
+
for (const v of skill.requiredEnvVars ?? []) {
|
|
43
|
+
vars.add(v);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return Array.from(vars);
|
|
47
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment Variable Catalog
|
|
3
|
+
*
|
|
4
|
+
* Predefined environment variable specifications.
|
|
5
|
+
*
|
|
6
|
+
* This file is AUTO-GENERATED from YAML specifications.
|
|
7
|
+
* DO NOT EDIT MANUALLY - run 'make specs' to regenerate.
|
|
8
|
+
*/
|
|
9
|
+
export interface EnvvarSpec {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
registrationUrl?: string;
|
|
14
|
+
tags: string[];
|
|
15
|
+
icon?: string;
|
|
16
|
+
emoji?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const ALPHAVANTAGE_API_KEY_SPEC: EnvvarSpec;
|
|
19
|
+
export declare const GITHUB_TOKEN_SPEC: EnvvarSpec;
|
|
20
|
+
export declare const GOOGLE_OAUTH_CLIENT_ID_SPEC: EnvvarSpec;
|
|
21
|
+
export declare const GOOGLE_OAUTH_CLIENT_SECRET_SPEC: EnvvarSpec;
|
|
22
|
+
export declare const HF_TOKEN_SPEC: EnvvarSpec;
|
|
23
|
+
export declare const KAGGLE_TOKEN_SPEC: EnvvarSpec;
|
|
24
|
+
export declare const SLACK_BOT_TOKEN_SPEC: EnvvarSpec;
|
|
25
|
+
export declare const SLACK_CHANNEL_IDS_SPEC: EnvvarSpec;
|
|
26
|
+
export declare const SLACK_TEAM_ID_SPEC: EnvvarSpec;
|
|
27
|
+
export declare const TAVILY_API_KEY_SPEC: EnvvarSpec;
|
|
28
|
+
export declare const ENVVAR_CATALOG: Record<string, EnvvarSpec>;
|
|
29
|
+
export declare function getEnvvarSpec(envvarId: string): EnvvarSpec;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// Environment Variable Definitions
|
|
7
|
+
// ============================================================================
|
|
8
|
+
export const ALPHAVANTAGE_API_KEY_SPEC = {
|
|
9
|
+
id: 'ALPHAVANTAGE_API_KEY',
|
|
10
|
+
name: 'Alpha Vantage API Key',
|
|
11
|
+
description: 'API key for accessing Alpha Vantage financial market data and stock information. Provides real-time and historical stock prices, forex data, and cryptocurrency information.',
|
|
12
|
+
registrationUrl: 'https://www.alphavantage.co/support/#api-key',
|
|
13
|
+
tags: ['authentication', 'api-key', 'finance', 'stocks', 'market-data'],
|
|
14
|
+
icon: 'key',
|
|
15
|
+
emoji: '🔑',
|
|
16
|
+
};
|
|
17
|
+
export const GITHUB_TOKEN_SPEC = {
|
|
18
|
+
id: 'GITHUB_TOKEN',
|
|
19
|
+
name: 'GitHub Token',
|
|
20
|
+
description: 'GitHub API token for repository management and code operations. Required for GitHub MCP server and GitHub skill to interact with GitHub repositories programmatically.',
|
|
21
|
+
registrationUrl: 'https://github.com/settings/tokens',
|
|
22
|
+
tags: ['authentication', 'token', 'github', 'git', 'mcp-server', 'skill'],
|
|
23
|
+
icon: 'key',
|
|
24
|
+
emoji: '🔑',
|
|
25
|
+
};
|
|
26
|
+
export const GOOGLE_OAUTH_CLIENT_ID_SPEC = {
|
|
27
|
+
id: 'GOOGLE_OAUTH_CLIENT_ID',
|
|
28
|
+
name: 'Google OAuth Client ID',
|
|
29
|
+
description: 'OAuth 2.0 client ID for Google Workspace authentication. Required for Google Drive, Gmail, Calendar, and Docs integration through the Google Workspace MCP server.',
|
|
30
|
+
registrationUrl: 'https://console.cloud.google.com/apis/credentials',
|
|
31
|
+
tags: ['authentication', 'oauth', 'google', 'workspace', 'client-id'],
|
|
32
|
+
icon: 'key',
|
|
33
|
+
emoji: '🔑',
|
|
34
|
+
};
|
|
35
|
+
export const GOOGLE_OAUTH_CLIENT_SECRET_SPEC = {
|
|
36
|
+
id: 'GOOGLE_OAUTH_CLIENT_SECRET',
|
|
37
|
+
name: 'Google OAuth Client Secret',
|
|
38
|
+
description: 'OAuth 2.0 client secret for Google Workspace authentication. Used in conjunction with client ID for secure API access to Google services.',
|
|
39
|
+
registrationUrl: 'https://console.cloud.google.com/apis/credentials',
|
|
40
|
+
tags: [
|
|
41
|
+
'authentication',
|
|
42
|
+
'oauth',
|
|
43
|
+
'google',
|
|
44
|
+
'workspace',
|
|
45
|
+
'client-secret',
|
|
46
|
+
'security',
|
|
47
|
+
],
|
|
48
|
+
icon: 'lock',
|
|
49
|
+
emoji: '🔒',
|
|
50
|
+
};
|
|
51
|
+
export const HF_TOKEN_SPEC = {
|
|
52
|
+
id: 'HF_TOKEN',
|
|
53
|
+
name: 'Hugging Face Token',
|
|
54
|
+
description: 'Access token for Hugging Face API. Required for Hugging Face MCP server authentication. Create a READ token from your settings.',
|
|
55
|
+
registrationUrl: 'https://huggingface.co/settings/tokens',
|
|
56
|
+
tags: ['authentication', 'api-key', 'huggingface', 'machine-learning'],
|
|
57
|
+
icon: 'key',
|
|
58
|
+
emoji: '🔑',
|
|
59
|
+
};
|
|
60
|
+
export const KAGGLE_TOKEN_SPEC = {
|
|
61
|
+
id: 'KAGGLE_TOKEN',
|
|
62
|
+
name: 'Kaggle API Token',
|
|
63
|
+
description: 'API token for accessing Kaggle datasets, competitions, notebooks, and models. Required for Kaggle MCP server authentication.',
|
|
64
|
+
registrationUrl: 'https://www.kaggle.com/settings/account',
|
|
65
|
+
tags: ['authentication', 'api-key', 'kaggle', 'data'],
|
|
66
|
+
icon: 'key',
|
|
67
|
+
emoji: '🔑',
|
|
68
|
+
};
|
|
69
|
+
export const SLACK_BOT_TOKEN_SPEC = {
|
|
70
|
+
id: 'SLACK_BOT_TOKEN',
|
|
71
|
+
name: 'Slack Bot Token',
|
|
72
|
+
description: 'OAuth token for Slack bot authentication. Required for Slack MCP server to send messages, manage channels, and interact with workspace members.',
|
|
73
|
+
registrationUrl: 'https://api.slack.com/apps',
|
|
74
|
+
tags: ['authentication', 'oauth', 'token', 'slack', 'messaging', 'bot'],
|
|
75
|
+
icon: 'key',
|
|
76
|
+
emoji: '🔑',
|
|
77
|
+
};
|
|
78
|
+
export const SLACK_CHANNEL_IDS_SPEC = {
|
|
79
|
+
id: 'SLACK_CHANNEL_IDS',
|
|
80
|
+
name: 'Slack Channel IDs',
|
|
81
|
+
description: 'Comma-separated list of Slack channel IDs that the bot is allowed to access. Restricts bot operations to specific channels for security and organization.',
|
|
82
|
+
tags: ['configuration', 'slack', 'channels', 'identifier'],
|
|
83
|
+
icon: 'hash',
|
|
84
|
+
emoji: undefined,
|
|
85
|
+
};
|
|
86
|
+
export const SLACK_TEAM_ID_SPEC = {
|
|
87
|
+
id: 'SLACK_TEAM_ID',
|
|
88
|
+
name: 'Slack Team ID',
|
|
89
|
+
description: 'Unique identifier for the Slack workspace (team). Required to specify which workspace the bot should connect to.',
|
|
90
|
+
registrationUrl: 'https://api.slack.com/apps',
|
|
91
|
+
tags: ['configuration', 'slack', 'workspace', 'identifier'],
|
|
92
|
+
icon: 'organization',
|
|
93
|
+
emoji: '🏢',
|
|
94
|
+
};
|
|
95
|
+
export const TAVILY_API_KEY_SPEC = {
|
|
96
|
+
id: 'TAVILY_API_KEY',
|
|
97
|
+
name: 'Tavily API Key',
|
|
98
|
+
description: 'API key for Tavily web search and research capabilities. Required for web crawling, content extraction, and search operations.',
|
|
99
|
+
registrationUrl: 'https://tavily.com/api-keys',
|
|
100
|
+
tags: ['authentication', 'api-key', 'search', 'web', 'research'],
|
|
101
|
+
icon: 'key',
|
|
102
|
+
emoji: '🔑',
|
|
103
|
+
};
|
|
104
|
+
// ============================================================================
|
|
105
|
+
// Environment Variable Catalog
|
|
106
|
+
// ============================================================================
|
|
107
|
+
export const ENVVAR_CATALOG = {
|
|
108
|
+
ALPHAVANTAGE_API_KEY: ALPHAVANTAGE_API_KEY_SPEC,
|
|
109
|
+
GITHUB_TOKEN: GITHUB_TOKEN_SPEC,
|
|
110
|
+
GOOGLE_OAUTH_CLIENT_ID: GOOGLE_OAUTH_CLIENT_ID_SPEC,
|
|
111
|
+
GOOGLE_OAUTH_CLIENT_SECRET: GOOGLE_OAUTH_CLIENT_SECRET_SPEC,
|
|
112
|
+
HF_TOKEN: HF_TOKEN_SPEC,
|
|
113
|
+
KAGGLE_TOKEN: KAGGLE_TOKEN_SPEC,
|
|
114
|
+
SLACK_BOT_TOKEN: SLACK_BOT_TOKEN_SPEC,
|
|
115
|
+
SLACK_CHANNEL_IDS: SLACK_CHANNEL_IDS_SPEC,
|
|
116
|
+
SLACK_TEAM_ID: SLACK_TEAM_ID_SPEC,
|
|
117
|
+
TAVILY_API_KEY: TAVILY_API_KEY_SPEC,
|
|
118
|
+
};
|
|
119
|
+
export function getEnvvarSpec(envvarId) {
|
|
120
|
+
const spec = ENVVAR_CATALOG[envvarId];
|
|
121
|
+
if (!spec) {
|
|
122
|
+
throw new Error(`Unknown environment variable: ${envvarId}`);
|
|
123
|
+
}
|
|
124
|
+
return spec;
|
|
125
|
+
}
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* This file is AUTO-GENERATED from YAML specifications.
|
|
7
7
|
* DO NOT EDIT MANUALLY - run 'make specs' to regenerate.
|
|
8
8
|
*/
|
|
9
|
-
import type { MCPServer } from '../types';
|
|
9
|
+
import type { MCPServer } from '../types/Types';
|
|
10
10
|
export declare const ALPHAVANTAGE_MCP_SERVER: MCPServer;
|
|
11
11
|
export declare const CHART_MCP_SERVER: MCPServer;
|
|
12
12
|
export declare const FILESYSTEM_MCP_SERVER: MCPServer;
|
|
13
13
|
export declare const GITHUB_MCP_SERVER: MCPServer;
|
|
14
14
|
export declare const GOOGLE_WORKSPACE_MCP_SERVER: MCPServer;
|
|
15
|
+
export declare const HUGGINGFACE_MCP_SERVER: MCPServer;
|
|
15
16
|
export declare const KAGGLE_MCP_SERVER: MCPServer;
|
|
16
17
|
export declare const SLACK_MCP_SERVER: MCPServer;
|
|
17
18
|
export declare const TAVILY_MCP_SERVER: MCPServer;
|