@datalayer/agent-runtimes 1.0.3 → 1.0.4
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 +13 -131
- package/lib/chat/Chat.d.ts +3 -1
- package/lib/chat/Chat.js +2 -2
- package/lib/chat/base/ChatBase.js +52 -1
- package/lib/chat/messages/ChatMessageList.js +17 -4
- package/lib/client/AgentsMixin.d.ts +48 -1
- package/lib/client/AgentsMixin.js +109 -0
- package/lib/components/NotificationEventCard.js +51 -26
- package/lib/components/OutputCard.js +21 -7
- package/lib/components/ToolApprovalCard.js +20 -2
- package/lib/examples/AgentCheckpointsExample.js +2 -8
- package/lib/examples/AgentCodemodeExample.js +3 -9
- package/lib/examples/AgentEvalsExample.js +3 -9
- package/lib/examples/AgentGuardrailsExample.js +3 -9
- package/lib/examples/AgentMemoryExample.js +3 -9
- package/lib/examples/AgentMonitoringExample.js +3 -9
- package/lib/examples/AgentNotificationsExample.js +2 -8
- package/lib/examples/AgentOutputsExample.js +3 -9
- package/lib/examples/AgentSandboxExample.js +3 -9
- package/lib/examples/AgentSkillsExample.js +3 -9
- package/lib/examples/AgentToolApprovalsExample.js +89 -24
- package/lib/examples/AgentTriggersExample.js +604 -37
- package/lib/examples/ChatExample.js +2 -10
- package/lib/examples/components/ErrorView.d.ts +14 -0
- package/lib/examples/components/ErrorView.js +20 -0
- package/lib/examples/components/index.d.ts +2 -0
- package/lib/examples/components/index.js +1 -0
- package/lib/examples/main.d.ts +1 -0
- package/lib/examples/main.js +1 -0
- package/lib/protocols/VercelAIAdapter.d.ts +2 -0
- package/lib/protocols/VercelAIAdapter.js +86 -20
- package/lib/shims/json5.d.ts +4 -0
- package/lib/shims/json5.js +8 -0
- package/lib/specs/agents/agents.js +241 -1390
- package/lib/specs/agents/index.js +1 -3
- package/lib/specs/envvars.js +20 -27
- package/lib/specs/evals.js +6 -6
- package/lib/specs/events.d.ts +10 -2
- package/lib/specs/events.js +84 -126
- package/lib/specs/frontendTools.js +2 -2
- package/lib/specs/guardrails.d.ts +7 -0
- package/lib/specs/guardrails.js +159 -240
- package/lib/specs/mcpServers.js +6 -35
- package/lib/specs/memory.d.ts +2 -0
- package/lib/specs/memory.js +17 -4
- package/lib/specs/models.js +5 -25
- package/lib/specs/notifications.js +18 -102
- package/lib/specs/outputs.js +9 -15
- package/lib/specs/skills.js +18 -18
- package/lib/specs/teams/index.js +1 -3
- package/lib/specs/teams/teams.js +348 -468
- package/lib/specs/tools.js +6 -3
- package/lib/specs/triggers.js +11 -61
- package/lib/types/tools.d.ts +2 -0
- package/package.json +1 -1
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/generate_agents.py +4 -1
- package/scripts/codegen/generate_events.py +12 -4
- package/scripts/codegen/generate_tools.py +20 -0
- package/style/primer-primitives.css +1 -6
- package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_envvars.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_guardrails.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_mcp_servers.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_memory.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_models.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_notifications.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_outputs.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_skills.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_teams.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_tools.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_triggers.cpython-313.pyc +0 -0
|
@@ -11,42 +11,42 @@ import { JUPYTER_NOTEBOOK_FRONTEND_TOOL_SPEC_0_0_1, LEXICAL_DOCUMENT_FRONTEND_TO
|
|
|
11
11
|
// ============================================================================
|
|
12
12
|
const MCP_SERVER_MAP = {
|
|
13
13
|
'alphavantage:0.0.1': ALPHAVANTAGE_MCP_SERVER_0_0_1,
|
|
14
|
-
alphavantage: ALPHAVANTAGE_MCP_SERVER_0_0_1,
|
|
14
|
+
'alphavantage': ALPHAVANTAGE_MCP_SERVER_0_0_1,
|
|
15
15
|
'chart:0.0.1': CHART_MCP_SERVER_0_0_1,
|
|
16
|
-
chart: CHART_MCP_SERVER_0_0_1,
|
|
16
|
+
'chart': CHART_MCP_SERVER_0_0_1,
|
|
17
17
|
'earthdata:0.0.1': EARTHDATA_MCP_SERVER_0_0_1,
|
|
18
|
-
earthdata: EARTHDATA_MCP_SERVER_0_0_1,
|
|
18
|
+
'earthdata': EARTHDATA_MCP_SERVER_0_0_1,
|
|
19
19
|
'eurus:0.0.1': EURUS_MCP_SERVER_0_0_1,
|
|
20
|
-
eurus: EURUS_MCP_SERVER_0_0_1,
|
|
20
|
+
'eurus': EURUS_MCP_SERVER_0_0_1,
|
|
21
21
|
'filesystem:0.0.1': FILESYSTEM_MCP_SERVER_0_0_1,
|
|
22
|
-
filesystem: FILESYSTEM_MCP_SERVER_0_0_1,
|
|
22
|
+
'filesystem': FILESYSTEM_MCP_SERVER_0_0_1,
|
|
23
23
|
'github:0.0.1': GITHUB_MCP_SERVER_0_0_1,
|
|
24
|
-
github: GITHUB_MCP_SERVER_0_0_1,
|
|
24
|
+
'github': GITHUB_MCP_SERVER_0_0_1,
|
|
25
25
|
'google-workspace:0.0.1': GOOGLE_WORKSPACE_MCP_SERVER_0_0_1,
|
|
26
26
|
'google-workspace': GOOGLE_WORKSPACE_MCP_SERVER_0_0_1,
|
|
27
27
|
'kaggle:0.0.1': KAGGLE_MCP_SERVER_0_0_1,
|
|
28
|
-
kaggle: KAGGLE_MCP_SERVER_0_0_1,
|
|
28
|
+
'kaggle': KAGGLE_MCP_SERVER_0_0_1,
|
|
29
29
|
'salesforce:0.0.1': SALESFORCE_MCP_SERVER_0_0_1,
|
|
30
|
-
salesforce: SALESFORCE_MCP_SERVER_0_0_1,
|
|
30
|
+
'salesforce': SALESFORCE_MCP_SERVER_0_0_1,
|
|
31
31
|
'slack:0.0.1': SLACK_MCP_SERVER_0_0_1,
|
|
32
|
-
slack: SLACK_MCP_SERVER_0_0_1,
|
|
32
|
+
'slack': SLACK_MCP_SERVER_0_0_1,
|
|
33
33
|
'tavily:0.0.1': TAVILY_MCP_SERVER_0_0_1,
|
|
34
|
-
tavily: TAVILY_MCP_SERVER_0_0_1,
|
|
34
|
+
'tavily': TAVILY_MCP_SERVER_0_0_1,
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
37
|
* Map skill IDs to SkillSpec objects, converting to AgentSkillSpec shape.
|
|
38
38
|
*/
|
|
39
39
|
const SKILL_MAP = {
|
|
40
40
|
'crawl:0.0.1': CRAWL_SKILL_SPEC_0_0_1,
|
|
41
|
-
crawl: CRAWL_SKILL_SPEC_0_0_1,
|
|
41
|
+
'crawl': CRAWL_SKILL_SPEC_0_0_1,
|
|
42
42
|
'events:0.0.1': EVENTS_SKILL_SPEC_0_0_1,
|
|
43
|
-
events: EVENTS_SKILL_SPEC_0_0_1,
|
|
43
|
+
'events': EVENTS_SKILL_SPEC_0_0_1,
|
|
44
44
|
'github:0.0.1': GITHUB_SKILL_SPEC_0_0_1,
|
|
45
|
-
github: GITHUB_SKILL_SPEC_0_0_1,
|
|
45
|
+
'github': GITHUB_SKILL_SPEC_0_0_1,
|
|
46
46
|
'jokes:0.0.1': JOKES_SKILL_SPEC_0_0_1,
|
|
47
|
-
jokes: JOKES_SKILL_SPEC_0_0_1,
|
|
47
|
+
'jokes': JOKES_SKILL_SPEC_0_0_1,
|
|
48
48
|
'pdf:0.0.1': PDF_SKILL_SPEC_0_0_1,
|
|
49
|
-
pdf: PDF_SKILL_SPEC_0_0_1,
|
|
49
|
+
'pdf': PDF_SKILL_SPEC_0_0_1,
|
|
50
50
|
'text-summarizer:0.0.1': TEXT_SUMMARIZER_SKILL_SPEC_0_0_1,
|
|
51
51
|
'text-summarizer': TEXT_SUMMARIZER_SKILL_SPEC_0_0_1,
|
|
52
52
|
};
|
|
@@ -89,30 +89,13 @@ export const ANALYZE_CAMPAIGN_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
89
89
|
version: '0.0.1',
|
|
90
90
|
name: 'Analyze Campaign Performance',
|
|
91
91
|
description: `A multi-agent team that unifies marketing data from Google Ads, Meta, TikTok, LinkedIn, GA4, CRM, and email platforms. Normalises metrics into a unified view, detects performance anomalies in real time, and generates budget reallocation recommendations to maximise ROAS.`,
|
|
92
|
-
tags: [
|
|
93
|
-
'marketing',
|
|
94
|
-
'media',
|
|
95
|
-
'campaigns',
|
|
96
|
-
'analytics',
|
|
97
|
-
'advertising',
|
|
98
|
-
'social-media',
|
|
99
|
-
],
|
|
92
|
+
tags: ['marketing', 'media', 'campaigns', 'analytics', 'advertising', 'social-media'],
|
|
100
93
|
enabled: false,
|
|
101
94
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
102
|
-
mcpServers: [
|
|
103
|
-
|
|
104
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
105
|
-
],
|
|
106
|
-
skills: [
|
|
107
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
108
|
-
toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']),
|
|
109
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
110
|
-
],
|
|
95
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
96
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
111
97
|
tools: [],
|
|
112
|
-
frontendTools: [
|
|
113
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
114
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
115
|
-
],
|
|
98
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
116
99
|
environmentName: 'ai-agents-env',
|
|
117
100
|
icon: 'megaphone',
|
|
118
101
|
emoji: '📢',
|
|
@@ -122,7 +105,7 @@ export const ANALYZE_CAMPAIGN_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
122
105
|
'Which campaigns have abnormal CPA trends?',
|
|
123
106
|
'Generate a budget reallocation recommendation',
|
|
124
107
|
'Compare ROAS across Google Ads vs Meta this month',
|
|
125
|
-
|
|
108
|
+
'What\'s the projected impact of shifting 20% budget to TikTok?',
|
|
126
109
|
],
|
|
127
110
|
welcomeMessage: "Hello! I'm the Campaign Performance Analytics team. We unify data from all your ad platforms, normalise metrics, detect anomalies in real time, and recommend budget reallocations to maximise your ROAS across channels.\n",
|
|
128
111
|
welcomeNotebook: undefined,
|
|
@@ -134,73 +117,16 @@ export const ANALYZE_CAMPAIGN_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
134
117
|
goal: `Unify marketing data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email platforms. Normalise metrics into a single cross-channel view with unified CPA, ROAS, and CTR definitions. Detect performance anomalies in real time and generate budget reallocation recommendations to maximise ROAS.`,
|
|
135
118
|
protocol: 'vercel-ai',
|
|
136
119
|
uiExtension: 'a2ui',
|
|
137
|
-
trigger: {
|
|
138
|
-
type: 'schedule',
|
|
139
|
-
cron: '0 */4 * * *',
|
|
140
|
-
description: 'Every 4 hours for cross-platform campaign data sync and analysis',
|
|
141
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
142
|
-
},
|
|
120
|
+
trigger: { "type": "schedule", "cron": "0 */4 * * *", "description": "Every 4 hours for cross-platform campaign data sync and analysis", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
143
121
|
modelConfig: undefined,
|
|
144
122
|
mcpServerTools: undefined,
|
|
145
|
-
guardrails: [
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
permissions: {
|
|
151
|
-
'read:data': true,
|
|
152
|
-
'write:data': false,
|
|
153
|
-
'execute:code': true,
|
|
154
|
-
'access:internet': true,
|
|
155
|
-
'send:email': false,
|
|
156
|
-
'deploy:production': false,
|
|
157
|
-
},
|
|
158
|
-
data_handling: { pii_detection: true, pii_action: 'redact' },
|
|
159
|
-
approval_policy: {
|
|
160
|
-
require_manual_approval_for: [
|
|
161
|
-
'Pausing campaigns with daily spend above $1,000',
|
|
162
|
-
'Budget reallocation above 20% of channel spend',
|
|
163
|
-
'Any automated bid adjustments',
|
|
164
|
-
],
|
|
165
|
-
auto_approved: [
|
|
166
|
-
'Data collection and metric normalisation',
|
|
167
|
-
'Anomaly detection and alerting',
|
|
168
|
-
'Report generation',
|
|
169
|
-
],
|
|
170
|
-
},
|
|
171
|
-
token_limits: { per_run: '50K', per_day: '400K', per_month: '5M' },
|
|
172
|
-
},
|
|
173
|
-
],
|
|
174
|
-
evals: [
|
|
175
|
-
{
|
|
176
|
-
name: 'Data Ingestion Completeness',
|
|
177
|
-
category: 'coding',
|
|
178
|
-
task_count: 400,
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
name: 'Anomaly Detection Precision',
|
|
182
|
-
category: 'reasoning',
|
|
183
|
-
task_count: 300,
|
|
184
|
-
},
|
|
185
|
-
{ name: 'ROAS Optimisation Impact', category: 'coding', task_count: 200 },
|
|
186
|
-
],
|
|
187
|
-
codemode: { enabled: true, token_reduction: '~85%', speedup: '~2× faster' },
|
|
188
|
-
output: {
|
|
189
|
-
formats: ['Dashboard', 'PDF', 'Spreadsheet'],
|
|
190
|
-
template: 'Campaign Performance Report',
|
|
191
|
-
storage: '/outputs/campaign-analytics/',
|
|
192
|
-
},
|
|
193
|
-
advanced: {
|
|
194
|
-
cost_limit: '$5.00 per run',
|
|
195
|
-
time_limit: '600 seconds',
|
|
196
|
-
max_iterations: 40,
|
|
197
|
-
validation: 'All metrics must reconcile with platform-reported figures within 2%. Budget recommendations must not exceed total allocated budget.\n',
|
|
198
|
-
},
|
|
123
|
+
guardrails: [{ "name": "Marketing Analytics Agent", "identity_provider": "google", "identity_name": "marketing-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": true, "send:email": false, "deploy:production": false }, "data_handling": { "pii_detection": true, "pii_action": "redact" }, "approval_policy": { "require_manual_approval_for": ["Pausing campaigns with daily spend above $1,000", "Budget reallocation above 20% of channel spend", "Any automated bid adjustments"], "auto_approved": ["Data collection and metric normalisation", "Anomaly detection and alerting", "Report generation"] }, "token_limits": { "per_run": "50K", "per_day": "400K", "per_month": "5M" } }],
|
|
124
|
+
evals: [{ "name": "Data Ingestion Completeness", "category": "coding", "task_count": 400 }, { "name": "Anomaly Detection Precision", "category": "reasoning", "task_count": 300 }, { "name": "ROAS Optimisation Impact", "category": "coding", "task_count": 200 }],
|
|
125
|
+
codemode: { "enabled": true, "token_reduction": "~85%", "speedup": "~2× faster" },
|
|
126
|
+
output: { "formats": ["Dashboard", "PDF", "Spreadsheet"], "template": "Campaign Performance Report", "storage": "/outputs/campaign-analytics/" },
|
|
127
|
+
advanced: { "cost_limit": "$5.00 per run", "time_limit": "600 seconds", "max_iterations": 40, "validation": "All metrics must reconcile with platform-reported figures within 2%. Budget recommendations must not exceed total allocated budget.\n" },
|
|
199
128
|
authorizationPolicy: '',
|
|
200
|
-
notifications: {
|
|
201
|
-
email: 'marketing@company.com',
|
|
202
|
-
slack: '#campaign-analytics',
|
|
203
|
-
},
|
|
129
|
+
notifications: { "email": "marketing@company.com", "slack": "#campaign-analytics" },
|
|
204
130
|
memory: 'ephemeral',
|
|
205
131
|
};
|
|
206
132
|
export const ANALYZE_SUPPORT_TICKETS_AGENT_SPEC_0_0_1 = {
|
|
@@ -211,20 +137,10 @@ export const ANALYZE_SUPPORT_TICKETS_AGENT_SPEC_0_0_1 = {
|
|
|
211
137
|
tags: ['analytics', 'data', 'support', 'tickets'],
|
|
212
138
|
enabled: false,
|
|
213
139
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
214
|
-
mcpServers: [
|
|
215
|
-
|
|
216
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
217
|
-
],
|
|
218
|
-
skills: [
|
|
219
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
220
|
-
toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']),
|
|
221
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
222
|
-
],
|
|
140
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
141
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
223
142
|
tools: [],
|
|
224
|
-
frontendTools: [
|
|
225
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
226
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
227
|
-
],
|
|
143
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
228
144
|
environmentName: 'ai-agents-env',
|
|
229
145
|
icon: 'issue-opened',
|
|
230
146
|
emoji: '🎫',
|
|
@@ -245,51 +161,16 @@ export const ANALYZE_SUPPORT_TICKETS_AGENT_SPEC_0_0_1 = {
|
|
|
245
161
|
goal: `Triage incoming support tickets by urgency, categorize by topic and sentiment, identify recurring patterns, and generate resolution recommendations with escalation paths for critical issues.`,
|
|
246
162
|
protocol: 'vercel-ai',
|
|
247
163
|
uiExtension: 'a2ui',
|
|
248
|
-
trigger: {
|
|
249
|
-
type: 'schedule',
|
|
250
|
-
cron: '0 */2 * * *',
|
|
251
|
-
description: 'Every 2 hours',
|
|
252
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
253
|
-
},
|
|
164
|
+
trigger: { "type": "schedule", "cron": "0 */2 * * *", "description": "Every 2 hours", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
254
165
|
modelConfig: undefined,
|
|
255
166
|
mcpServerTools: undefined,
|
|
256
|
-
guardrails: [
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
permissions: {
|
|
262
|
-
'read:data': true,
|
|
263
|
-
'write:data': false,
|
|
264
|
-
'execute:code': true,
|
|
265
|
-
'access:internet': true,
|
|
266
|
-
'send:email': false,
|
|
267
|
-
'deploy:production': false,
|
|
268
|
-
},
|
|
269
|
-
token_limits: { per_run: '40K', per_day: '400K', per_month: '4M' },
|
|
270
|
-
},
|
|
271
|
-
],
|
|
272
|
-
evals: [
|
|
273
|
-
{ name: 'Triage Accuracy', category: 'reasoning', task_count: 400 },
|
|
274
|
-
{ name: 'Pattern Detection', category: 'coding', task_count: 200 },
|
|
275
|
-
],
|
|
276
|
-
codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5× faster' },
|
|
277
|
-
output: {
|
|
278
|
-
formats: ['JSON', 'Dashboard'],
|
|
279
|
-
template: 'Support Ticket Analysis Report',
|
|
280
|
-
storage: '/outputs/support-analysis/',
|
|
281
|
-
},
|
|
282
|
-
advanced: {
|
|
283
|
-
cost_limit: '$4.00 per run',
|
|
284
|
-
time_limit: '300 seconds',
|
|
285
|
-
max_iterations: 40,
|
|
286
|
-
validation: 'All tickets must receive a priority classification',
|
|
287
|
-
},
|
|
167
|
+
guardrails: [{ "name": "Restricted Viewer", "identity_provider": "datalayer", "identity_name": "support-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": true, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "40K", "per_day": "400K", "per_month": "4M" } }],
|
|
168
|
+
evals: [{ "name": "Triage Accuracy", "category": "reasoning", "task_count": 400 }, { "name": "Pattern Detection", "category": "coding", "task_count": 200 }],
|
|
169
|
+
codemode: { "enabled": true, "token_reduction": "~80%", "speedup": "~1.5× faster" },
|
|
170
|
+
output: { "formats": ["JSON", "Dashboard"], "template": "Support Ticket Analysis Report", "storage": "/outputs/support-analysis/" },
|
|
171
|
+
advanced: { "cost_limit": "$4.00 per run", "time_limit": "300 seconds", "max_iterations": 40, "validation": "All tickets must receive a priority classification" },
|
|
288
172
|
authorizationPolicy: '',
|
|
289
|
-
notifications: {
|
|
290
|
-
email: 'patricia.j@company.com',
|
|
291
|
-
slack: '#support-analysis',
|
|
292
|
-
},
|
|
173
|
+
notifications: { "email": "patricia.j@company.com", "slack": "#support-analysis" },
|
|
293
174
|
memory: 'ephemeral',
|
|
294
175
|
};
|
|
295
176
|
export const AUDIT_INVENTORY_LEVELS_AGENT_SPEC_0_0_1 = {
|
|
@@ -300,19 +181,10 @@ export const AUDIT_INVENTORY_LEVELS_AGENT_SPEC_0_0_1 = {
|
|
|
300
181
|
tags: ['finance', 'automation', 'inventory', 'supply-chain'],
|
|
301
182
|
enabled: false,
|
|
302
183
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
303
|
-
mcpServers: [
|
|
304
|
-
|
|
305
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
306
|
-
],
|
|
307
|
-
skills: [
|
|
308
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
309
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
310
|
-
],
|
|
184
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
185
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
311
186
|
tools: [],
|
|
312
|
-
frontendTools: [
|
|
313
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
314
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
315
|
-
],
|
|
187
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
316
188
|
environmentName: 'ai-agents-env',
|
|
317
189
|
icon: 'package',
|
|
318
190
|
emoji: '📦',
|
|
@@ -333,48 +205,16 @@ export const AUDIT_INVENTORY_LEVELS_AGENT_SPEC_0_0_1 = {
|
|
|
333
205
|
goal: `Monitor inventory levels across all warehouses every 6 hours. Detect discrepancies between system and physical counts, forecast demand by SKU, generate reorder recommendations, and compile audit reports with findings.`,
|
|
334
206
|
protocol: 'vercel-ai',
|
|
335
207
|
uiExtension: 'a2ui',
|
|
336
|
-
trigger: {
|
|
337
|
-
type: 'schedule',
|
|
338
|
-
cron: '0 */6 * * *',
|
|
339
|
-
description: 'Every 6 hours',
|
|
340
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
341
|
-
},
|
|
208
|
+
trigger: { "type": "schedule", "cron": "0 */6 * * *", "description": "Every 6 hours", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
342
209
|
modelConfig: undefined,
|
|
343
210
|
mcpServerTools: undefined,
|
|
344
|
-
guardrails: [
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
permissions: {
|
|
350
|
-
'read:data': true,
|
|
351
|
-
'write:data': true,
|
|
352
|
-
'execute:code': true,
|
|
353
|
-
'access:internet': true,
|
|
354
|
-
'send:email': true,
|
|
355
|
-
'deploy:production': false,
|
|
356
|
-
},
|
|
357
|
-
token_limits: { per_run: '100K', per_day: '800K', per_month: '8M' },
|
|
358
|
-
},
|
|
359
|
-
],
|
|
360
|
-
evals: [
|
|
361
|
-
{ name: 'Inventory Accuracy', category: 'coding', task_count: 500 },
|
|
362
|
-
{ name: 'Forecast Precision', category: 'reasoning', task_count: 300 },
|
|
363
|
-
],
|
|
364
|
-
codemode: { enabled: true, token_reduction: '~90%', speedup: '~2× faster' },
|
|
365
|
-
output: {
|
|
366
|
-
formats: ['PDF', 'Spreadsheet', 'Dashboard'],
|
|
367
|
-
template: 'Inventory Audit Report',
|
|
368
|
-
storage: '/outputs/inventory-audit/',
|
|
369
|
-
},
|
|
370
|
-
advanced: {
|
|
371
|
-
cost_limit: '$12.00 per run',
|
|
372
|
-
time_limit: '900 seconds',
|
|
373
|
-
max_iterations: 80,
|
|
374
|
-
validation: 'All warehouse counts must reconcile within 2% tolerance',
|
|
375
|
-
},
|
|
211
|
+
guardrails: [{ "name": "Google Workspace Agent", "identity_provider": "google", "identity_name": "inventory-bot@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": true, "send:email": true, "deploy:production": false }, "token_limits": { "per_run": "100K", "per_day": "800K", "per_month": "8M" } }],
|
|
212
|
+
evals: [{ "name": "Inventory Accuracy", "category": "coding", "task_count": 500 }, { "name": "Forecast Precision", "category": "reasoning", "task_count": 300 }],
|
|
213
|
+
codemode: { "enabled": true, "token_reduction": "~90%", "speedup": "~2× faster" },
|
|
214
|
+
output: { "formats": ["PDF", "Spreadsheet", "Dashboard"], "template": "Inventory Audit Report", "storage": "/outputs/inventory-audit/" },
|
|
215
|
+
advanced: { "cost_limit": "$12.00 per run", "time_limit": "900 seconds", "max_iterations": 80, "validation": "All warehouse counts must reconcile within 2% tolerance" },
|
|
376
216
|
authorizationPolicy: '',
|
|
377
|
-
notifications: { email:
|
|
217
|
+
notifications: { "email": "linda.m@company.com", "slack": "#inventory-ops" },
|
|
378
218
|
memory: 'ephemeral',
|
|
379
219
|
};
|
|
380
220
|
export const AUTOMATE_REGULATORY_REPORTING_AGENT_SPEC_0_0_1 = {
|
|
@@ -385,19 +225,10 @@ export const AUTOMATE_REGULATORY_REPORTING_AGENT_SPEC_0_0_1 = {
|
|
|
385
225
|
tags: ['finance', 'compliance', 'regulatory', 'risk', 'banking', 'audit'],
|
|
386
226
|
enabled: false,
|
|
387
227
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
388
|
-
mcpServers: [
|
|
389
|
-
|
|
390
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
391
|
-
],
|
|
392
|
-
skills: [
|
|
393
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
394
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
395
|
-
],
|
|
228
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
229
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
396
230
|
tools: [],
|
|
397
|
-
frontendTools: [
|
|
398
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
399
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
400
|
-
],
|
|
231
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
401
232
|
environmentName: 'ai-agents-env',
|
|
402
233
|
icon: 'shield-check',
|
|
403
234
|
emoji: '🏦',
|
|
@@ -419,69 +250,16 @@ export const AUTOMATE_REGULATORY_REPORTING_AGENT_SPEC_0_0_1 = {
|
|
|
419
250
|
goal: `Automate end-to-end regulatory reporting: ingest data from trading and accounting systems, compute risk-weighted assets and capital ratios, reconcile positions, validate against Basel III/IV, MiFID II, and SOX rules, and generate submission-ready compliance reports with full audit trails.`,
|
|
420
251
|
protocol: 'vercel-ai',
|
|
421
252
|
uiExtension: 'a2ui',
|
|
422
|
-
trigger: {
|
|
423
|
-
type: 'schedule',
|
|
424
|
-
cron: '0 6 3 * *',
|
|
425
|
-
description: 'Monthly on the 3rd at 06:00 for regulatory reporting deadlines',
|
|
426
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
427
|
-
},
|
|
253
|
+
trigger: { "type": "schedule", "cron": "0 6 3 * *", "description": "Monthly on the 3rd at 06:00 for regulatory reporting deadlines", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
428
254
|
modelConfig: undefined,
|
|
429
255
|
mcpServerTools: undefined,
|
|
430
|
-
guardrails: [
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
permissions: {
|
|
436
|
-
'read:data': true,
|
|
437
|
-
'write:data': false,
|
|
438
|
-
'execute:code': true,
|
|
439
|
-
'access:internet': false,
|
|
440
|
-
'send:email': false,
|
|
441
|
-
'deploy:production': false,
|
|
442
|
-
},
|
|
443
|
-
data_scope: {
|
|
444
|
-
allowed_systems: [
|
|
445
|
-
'trading-platform',
|
|
446
|
-
'risk-engine',
|
|
447
|
-
'accounting-ledger',
|
|
448
|
-
],
|
|
449
|
-
denied_fields: ['*SSN*', '*TaxId*', '*Password*'],
|
|
450
|
-
},
|
|
451
|
-
data_handling: { pii_detection: true, pii_action: 'redact' },
|
|
452
|
-
token_limits: { per_run: '120K', per_day: '600K', per_month: '6M' },
|
|
453
|
-
},
|
|
454
|
-
],
|
|
455
|
-
evals: [
|
|
456
|
-
{ name: 'Risk Metric Accuracy', category: 'coding', task_count: 500 },
|
|
457
|
-
{
|
|
458
|
-
name: 'Regulatory Rule Compliance',
|
|
459
|
-
category: 'reasoning',
|
|
460
|
-
task_count: 300,
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
name: 'Reconciliation Break Detection',
|
|
464
|
-
category: 'coding',
|
|
465
|
-
task_count: 200,
|
|
466
|
-
},
|
|
467
|
-
],
|
|
468
|
-
codemode: { enabled: true, token_reduction: '~90%', speedup: '~2× faster' },
|
|
469
|
-
output: {
|
|
470
|
-
formats: ['PDF', 'XBRL'],
|
|
471
|
-
template: 'Regulatory Compliance Report',
|
|
472
|
-
storage: '/outputs/regulatory-reporting/',
|
|
473
|
-
},
|
|
474
|
-
advanced: {
|
|
475
|
-
cost_limit: '$15.00 per run',
|
|
476
|
-
time_limit: '1200 seconds',
|
|
477
|
-
max_iterations: 60,
|
|
478
|
-
validation: 'All risk metrics must reconcile with source system totals within 0.01% tolerance. Capital ratios must pass Basel III/IV threshold checks.\n',
|
|
479
|
-
},
|
|
256
|
+
guardrails: [{ "name": "Compliance Data Handler", "identity_provider": "datalayer", "identity_name": "compliance-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "data_scope": { "allowed_systems": ["trading-platform", "risk-engine", "accounting-ledger"], "denied_fields": ["*SSN*", "*TaxId*", "*Password*"] }, "data_handling": { "pii_detection": true, "pii_action": "redact" }, "token_limits": { "per_run": "120K", "per_day": "600K", "per_month": "6M" } }],
|
|
257
|
+
evals: [{ "name": "Risk Metric Accuracy", "category": "coding", "task_count": 500 }, { "name": "Regulatory Rule Compliance", "category": "reasoning", "task_count": 300 }, { "name": "Reconciliation Break Detection", "category": "coding", "task_count": 200 }],
|
|
258
|
+
codemode: { "enabled": true, "token_reduction": "~90%", "speedup": "~2× faster" },
|
|
259
|
+
output: { "formats": ["PDF", "XBRL"], "template": "Regulatory Compliance Report", "storage": "/outputs/regulatory-reporting/" },
|
|
260
|
+
advanced: { "cost_limit": "$15.00 per run", "time_limit": "1200 seconds", "max_iterations": 60, "validation": "All risk metrics must reconcile with source system totals within 0.01% tolerance. Capital ratios must pass Basel III/IV threshold checks.\n" },
|
|
480
261
|
authorizationPolicy: '',
|
|
481
|
-
notifications: {
|
|
482
|
-
email: 'compliance@company.com',
|
|
483
|
-
slack: '#regulatory-reporting',
|
|
484
|
-
},
|
|
262
|
+
notifications: { "email": "compliance@company.com", "slack": "#regulatory-reporting" },
|
|
485
263
|
memory: 'ephemeral',
|
|
486
264
|
};
|
|
487
265
|
export const CLASSIFY_ROUTE_EMAILS_AGENT_SPEC_0_0_1 = {
|
|
@@ -493,15 +271,9 @@ export const CLASSIFY_ROUTE_EMAILS_AGENT_SPEC_0_0_1 = {
|
|
|
493
271
|
enabled: false,
|
|
494
272
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
495
273
|
mcpServers: [MCP_SERVER_MAP['slack:0.0.1']],
|
|
496
|
-
skills: [
|
|
497
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
498
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
499
|
-
],
|
|
274
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
500
275
|
tools: [],
|
|
501
|
-
frontendTools: [
|
|
502
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
503
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
504
|
-
],
|
|
276
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
505
277
|
environmentName: 'ai-agents-env',
|
|
506
278
|
icon: 'mail',
|
|
507
279
|
emoji: '📬',
|
|
@@ -516,62 +288,16 @@ export const CLASSIFY_ROUTE_EMAILS_AGENT_SPEC_0_0_1 = {
|
|
|
516
288
|
goal: `Classify incoming emails by intent (inquiry, complaint, order, support), assign priority (critical/high/medium/low), extract key entities (sender, subject, account ID, product), and route to the correct department queue. Flag urgent items for immediate human review.`,
|
|
517
289
|
protocol: 'vercel-ai',
|
|
518
290
|
uiExtension: 'a2ui',
|
|
519
|
-
trigger: {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
},
|
|
525
|
-
modelConfig: { temperature: 0.1, max_tokens: 2048 },
|
|
526
|
-
mcpServerTools: [
|
|
527
|
-
{
|
|
528
|
-
server: 'Email Gateway',
|
|
529
|
-
tools: [
|
|
530
|
-
{ name: 'fetch_email', approval: 'auto' },
|
|
531
|
-
{ name: 'parse_headers', approval: 'auto' },
|
|
532
|
-
{ name: 'extract_attachments', approval: 'auto' },
|
|
533
|
-
],
|
|
534
|
-
},
|
|
535
|
-
{
|
|
536
|
-
server: 'Routing Engine',
|
|
537
|
-
tools: [
|
|
538
|
-
{ name: 'assign_queue', approval: 'auto' },
|
|
539
|
-
{ name: 'set_priority', approval: 'auto' },
|
|
540
|
-
{ name: 'escalate_to_human', approval: 'manual' },
|
|
541
|
-
],
|
|
542
|
-
},
|
|
543
|
-
],
|
|
544
|
-
guardrails: [
|
|
545
|
-
{
|
|
546
|
-
name: 'Default Platform User',
|
|
547
|
-
identity_provider: 'datalayer',
|
|
548
|
-
identity_name: 'email-router@acme.com',
|
|
549
|
-
permissions: {
|
|
550
|
-
'read:data': true,
|
|
551
|
-
'write:data': true,
|
|
552
|
-
'execute:code': false,
|
|
553
|
-
'access:internet': true,
|
|
554
|
-
'send:email': false,
|
|
555
|
-
'deploy:production': false,
|
|
556
|
-
},
|
|
557
|
-
token_limits: { per_run: '10K', per_day: '500K', per_month: '5M' },
|
|
558
|
-
},
|
|
559
|
-
],
|
|
560
|
-
evals: [
|
|
561
|
-
{ name: 'Classification Accuracy', category: 'reasoning', task_count: 500 },
|
|
562
|
-
{ name: 'Priority Detection', category: 'reasoning', task_count: 300 },
|
|
563
|
-
{ name: 'Entity Extraction', category: 'coding', task_count: 400 },
|
|
564
|
-
],
|
|
291
|
+
trigger: { "type": "event", "event": "email_received", "description": "Triggered on each incoming email via webhook", "prompt": "Handle the 'email_received' event and execute the workflow end-to-end." },
|
|
292
|
+
modelConfig: { "temperature": 0.1, "max_tokens": 2048 },
|
|
293
|
+
mcpServerTools: [{ "server": "Email Gateway", "tools": [{ "name": "fetch_email", "approval": "auto" }, { "name": "parse_headers", "approval": "auto" }, { "name": "extract_attachments", "approval": "auto" }] }, { "server": "Routing Engine", "tools": [{ "name": "assign_queue", "approval": "auto" }, { "name": "set_priority", "approval": "auto" }, { "name": "escalate_to_human", "approval": "manual" }] }],
|
|
294
|
+
guardrails: [{ "name": "Default Platform User", "identity_provider": "datalayer", "identity_name": "email-router@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": false, "access:internet": true, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "10K", "per_day": "500K", "per_month": "5M" } }],
|
|
295
|
+
evals: [{ "name": "Classification Accuracy", "category": "reasoning", "task_count": 500 }, { "name": "Priority Detection", "category": "reasoning", "task_count": 300 }, { "name": "Entity Extraction", "category": "coding", "task_count": 400 }],
|
|
565
296
|
codemode: undefined,
|
|
566
|
-
output: {
|
|
567
|
-
type: 'JSON',
|
|
568
|
-
formats: ['JSON'],
|
|
569
|
-
template: 'email-classification-v1',
|
|
570
|
-
storage: 's3://acme-email-logs/',
|
|
571
|
-
},
|
|
297
|
+
output: { "type": "JSON", "formats": ["JSON"], "template": "email-classification-v1", "storage": "s3://acme-email-logs/" },
|
|
572
298
|
advanced: undefined,
|
|
573
299
|
authorizationPolicy: undefined,
|
|
574
|
-
notifications: { slack:
|
|
300
|
+
notifications: { "slack": "#email-routing", "email": "ops@acme.com" },
|
|
575
301
|
memory: 'ephemeral',
|
|
576
302
|
};
|
|
577
303
|
export const COMPREHENSIVE_SALES_ANALYTICS_AGENT_SPEC_0_0_1 = {
|
|
@@ -582,20 +308,10 @@ export const COMPREHENSIVE_SALES_ANALYTICS_AGENT_SPEC_0_0_1 = {
|
|
|
582
308
|
tags: ['sales', 'analytics', 'kpi', 'monitoring', 'horizontal'],
|
|
583
309
|
enabled: false,
|
|
584
310
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
585
|
-
mcpServers: [
|
|
586
|
-
|
|
587
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
588
|
-
],
|
|
589
|
-
skills: [
|
|
590
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
591
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
592
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
593
|
-
],
|
|
311
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
312
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
594
313
|
tools: [],
|
|
595
|
-
frontendTools: [
|
|
596
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
597
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
598
|
-
],
|
|
314
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
599
315
|
environmentName: 'ai-agents-env',
|
|
600
316
|
icon: 'graph',
|
|
601
317
|
emoji: '📈',
|
|
@@ -613,42 +329,13 @@ export const COMPREHENSIVE_SALES_ANALYTICS_AGENT_SPEC_0_0_1 = {
|
|
|
613
329
|
trigger: undefined,
|
|
614
330
|
modelConfig: undefined,
|
|
615
331
|
mcpServerTools: undefined,
|
|
616
|
-
guardrails: [
|
|
617
|
-
|
|
618
|
-
name: 'Sales Analytics Team',
|
|
619
|
-
identity_provider: 'datalayer',
|
|
620
|
-
identity_name: 'sales-analytics@acme.com',
|
|
621
|
-
permissions: {
|
|
622
|
-
'read:data': true,
|
|
623
|
-
'write:data': true,
|
|
624
|
-
'execute:code': true,
|
|
625
|
-
'access:internet': true,
|
|
626
|
-
'send:email': true,
|
|
627
|
-
'deploy:production': false,
|
|
628
|
-
},
|
|
629
|
-
token_limits: { per_run: '100K', per_day: '1M', per_month: '10M' },
|
|
630
|
-
},
|
|
631
|
-
],
|
|
632
|
-
evals: [
|
|
633
|
-
{ name: 'KPI Accuracy', category: 'coding', task_count: 500 },
|
|
634
|
-
{
|
|
635
|
-
name: 'Anomaly Detection Precision',
|
|
636
|
-
category: 'reasoning',
|
|
637
|
-
task_count: 350,
|
|
638
|
-
},
|
|
639
|
-
{ name: 'Trend Forecast Accuracy', category: 'reasoning', task_count: 300 },
|
|
640
|
-
{ name: 'Report Quality', category: 'reasoning', task_count: 200 },
|
|
641
|
-
],
|
|
332
|
+
guardrails: [{ "name": "Sales Analytics Team", "identity_provider": "datalayer", "identity_name": "sales-analytics@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": true, "send:email": true, "deploy:production": false }, "token_limits": { "per_run": "100K", "per_day": "1M", "per_month": "10M" } }],
|
|
333
|
+
evals: [{ "name": "KPI Accuracy", "category": "coding", "task_count": 500 }, { "name": "Anomaly Detection Precision", "category": "reasoning", "task_count": 350 }, { "name": "Trend Forecast Accuracy", "category": "reasoning", "task_count": 300 }, { "name": "Report Quality", "category": "reasoning", "task_count": 200 }],
|
|
642
334
|
codemode: undefined,
|
|
643
|
-
output: {
|
|
644
|
-
type: 'PDF',
|
|
645
|
-
formats: ['PDF', 'Dashboard', 'JSON'],
|
|
646
|
-
template: 'executive-sales-dashboard-v2',
|
|
647
|
-
storage: 's3://acme-sales-reports/',
|
|
648
|
-
},
|
|
335
|
+
output: { "type": "PDF", "formats": ["PDF", "Dashboard", "JSON"], "template": "executive-sales-dashboard-v2", "storage": "s3://acme-sales-reports/" },
|
|
649
336
|
advanced: undefined,
|
|
650
337
|
authorizationPolicy: undefined,
|
|
651
|
-
notifications: { slack:
|
|
338
|
+
notifications: { "slack": "#sales-analytics", "email": "leadership@acme.com" },
|
|
652
339
|
memory: 'ephemeral',
|
|
653
340
|
};
|
|
654
341
|
export const CRAWLER_AGENT_SPEC_0_0_1 = {
|
|
@@ -660,15 +347,9 @@ export const CRAWLER_AGENT_SPEC_0_0_1 = {
|
|
|
660
347
|
enabled: true,
|
|
661
348
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
662
349
|
mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
|
|
663
|
-
skills: [
|
|
664
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
665
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
666
|
-
],
|
|
350
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
667
351
|
tools: [],
|
|
668
|
-
frontendTools: [
|
|
669
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
670
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
671
|
-
],
|
|
352
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
672
353
|
environmentName: 'ai-agents-env',
|
|
673
354
|
icon: 'globe',
|
|
674
355
|
emoji: '🌐',
|
|
@@ -705,7 +386,7 @@ export const CRAWLER_AGENT_SPEC_0_0_1 = {
|
|
|
705
386
|
## 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.
|
|
706
387
|
`,
|
|
707
388
|
goal: undefined,
|
|
708
|
-
protocol:
|
|
389
|
+
protocol: 'vercel-ai',
|
|
709
390
|
uiExtension: undefined,
|
|
710
391
|
trigger: undefined,
|
|
711
392
|
modelConfig: undefined,
|
|
@@ -727,20 +408,10 @@ export const DATA_ACQUISITION_AGENT_SPEC_0_0_1 = {
|
|
|
727
408
|
tags: ['data', 'acquisition', 'kaggle', 'filesystem'],
|
|
728
409
|
enabled: true,
|
|
729
410
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
730
|
-
mcpServers: [
|
|
731
|
-
|
|
732
|
-
MCP_SERVER_MAP['filesystem:0.0.1'],
|
|
733
|
-
MCP_SERVER_MAP['tavily:0.0.1'],
|
|
734
|
-
],
|
|
735
|
-
skills: [
|
|
736
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
737
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
738
|
-
],
|
|
411
|
+
mcpServers: [MCP_SERVER_MAP['kaggle:0.0.1'], MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['tavily:0.0.1']],
|
|
412
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
739
413
|
tools: [],
|
|
740
|
-
frontendTools: [
|
|
741
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
742
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
743
|
-
],
|
|
414
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
744
415
|
environmentName: 'ai-agents-env',
|
|
745
416
|
icon: 'database',
|
|
746
417
|
emoji: '📊',
|
|
@@ -777,7 +448,7 @@ export const DATA_ACQUISITION_AGENT_SPEC_0_0_1 = {
|
|
|
777
448
|
## 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.
|
|
778
449
|
`,
|
|
779
450
|
goal: undefined,
|
|
780
|
-
protocol:
|
|
451
|
+
protocol: 'vercel-ai',
|
|
781
452
|
uiExtension: undefined,
|
|
782
453
|
trigger: undefined,
|
|
783
454
|
modelConfig: undefined,
|
|
@@ -800,22 +471,9 @@ export const DEMO_FULL_AGENT_SPEC_0_0_1 = {
|
|
|
800
471
|
enabled: true,
|
|
801
472
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
802
473
|
mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
|
|
803
|
-
skills: [
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
807
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
808
|
-
toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1']),
|
|
809
|
-
toAgentSkillSpec(SKILL_MAP['jokes:0.0.1']),
|
|
810
|
-
],
|
|
811
|
-
tools: [
|
|
812
|
-
TOOL_MAP['runtime-echo:0.0.1'],
|
|
813
|
-
TOOL_MAP['runtime-sensitive-echo:0.0.1'],
|
|
814
|
-
],
|
|
815
|
-
frontendTools: [
|
|
816
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
817
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
818
|
-
],
|
|
474
|
+
skills: [toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1']), toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['text-summarizer:0.0.1']), toAgentSkillSpec(SKILL_MAP['jokes:0.0.1'])],
|
|
475
|
+
tools: [TOOL_MAP['runtime-echo:0.0.1'], TOOL_MAP['runtime-sensitive-echo:0.0.1']],
|
|
476
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
819
477
|
environmentName: 'ai-agents-env',
|
|
820
478
|
icon: 'shield',
|
|
821
479
|
emoji: '🛡️',
|
|
@@ -824,10 +482,10 @@ export const DEMO_FULL_AGENT_SPEC_0_0_1 = {
|
|
|
824
482
|
'list your tools',
|
|
825
483
|
'Search the web for the latest news on AI agents using Tavily.',
|
|
826
484
|
'List my public GitHub repositories and summarize the most active ones.',
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
485
|
+
'Echo with text \'hello\' and reason \'audit\', then share the result.',
|
|
486
|
+
'Echo \'hello world\' and share the result in a short sentence.',
|
|
487
|
+
'Call the runtime_sensitive_echo tool with text \'hello\' and reason \'audit\', then reply with the tool result.',
|
|
488
|
+
'Call the runtime_echo tool with text \'hello world\', then reply with the tool result.',
|
|
831
489
|
'Tell me a joke using your skills.',
|
|
832
490
|
],
|
|
833
491
|
welcomeMessage: "Hi! I'm the Tool Approval Demo agent. I have two echo tools — one runs immediately, the other requires your approval before executing. I can also search the web with Tavily and tell jokes using my skills.\n",
|
|
@@ -838,7 +496,7 @@ export const DEMO_FULL_AGENT_SPEC_0_0_1 = {
|
|
|
838
496
|
`,
|
|
839
497
|
systemPromptCodemodeAddons: undefined,
|
|
840
498
|
goal: undefined,
|
|
841
|
-
protocol:
|
|
499
|
+
protocol: 'vercel-ai',
|
|
842
500
|
uiExtension: undefined,
|
|
843
501
|
trigger: undefined,
|
|
844
502
|
modelConfig: undefined,
|
|
@@ -875,14 +533,10 @@ export const DEMO_ONE_TRIGGER_APPROVAL_AGENT_SPEC_0_0_1 = {
|
|
|
875
533
|
sandboxVariant: 'jupyter',
|
|
876
534
|
systemPrompt: undefined,
|
|
877
535
|
systemPromptCodemodeAddons: undefined,
|
|
878
|
-
goal: `Call runtime_sensitive_echo exactly once with message=
|
|
879
|
-
protocol:
|
|
536
|
+
goal: `Call runtime_sensitive_echo exactly once with message='Tool approval demo executed' and reason='audit'. Do not call any other tool.`,
|
|
537
|
+
protocol: 'vercel-ai',
|
|
880
538
|
uiExtension: undefined,
|
|
881
|
-
trigger: {
|
|
882
|
-
type: 'once',
|
|
883
|
-
description: 'Run once with approval and terminate',
|
|
884
|
-
prompt: "Call runtime_sensitive_echo exactly once with message='Tool approval demo executed' and reason='audit'. Do not call any other tool.",
|
|
885
|
-
},
|
|
539
|
+
trigger: { "type": "once", "description": "Run once with approval and terminate", "prompt": "Call runtime_sensitive_echo exactly once with message='Tool approval demo executed' and reason='audit'. Do not call any other tool." },
|
|
886
540
|
modelConfig: undefined,
|
|
887
541
|
mcpServerTools: undefined,
|
|
888
542
|
guardrails: undefined,
|
|
@@ -903,10 +557,7 @@ export const DEMO_ONE_TRIGGER_AGENT_SPEC_0_0_1 = {
|
|
|
903
557
|
enabled: true,
|
|
904
558
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
905
559
|
mcpServers: [],
|
|
906
|
-
skills: [
|
|
907
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
908
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
909
|
-
],
|
|
560
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
910
561
|
tools: [TOOL_MAP['runtime-echo:0.0.1']],
|
|
911
562
|
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1']],
|
|
912
563
|
environmentName: 'ai-agents-env',
|
|
@@ -921,13 +572,9 @@ export const DEMO_ONE_TRIGGER_AGENT_SPEC_0_0_1 = {
|
|
|
921
572
|
systemPrompt: undefined,
|
|
922
573
|
systemPromptCodemodeAddons: undefined,
|
|
923
574
|
goal: `Run a one-shot task: list the user's top 3 public and top 3 private GitHub repositories, ranked by recent activity, and provide a brief summary of each.`,
|
|
924
|
-
protocol:
|
|
575
|
+
protocol: 'vercel-ai',
|
|
925
576
|
uiExtension: undefined,
|
|
926
|
-
trigger: {
|
|
927
|
-
type: 'once',
|
|
928
|
-
description: 'Run once and terminate',
|
|
929
|
-
prompt: "List the user's top 3 public and top 3 private GitHub repositories, ranked by recent activity, and provide a brief summary of each.",
|
|
930
|
-
},
|
|
577
|
+
trigger: { "type": "once", "description": "Run once and terminate", "prompt": "List the user's top 3 public and top 3 private GitHub repositories, ranked by recent activity, and provide a brief summary of each." },
|
|
931
578
|
modelConfig: undefined,
|
|
932
579
|
mcpServerTools: undefined,
|
|
933
580
|
guardrails: undefined,
|
|
@@ -950,10 +597,7 @@ export const DEMO_SIMPLE_AGENT_SPEC_0_0_1 = {
|
|
|
950
597
|
mcpServers: [],
|
|
951
598
|
skills: [toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
952
599
|
tools: [TOOL_MAP['runtime-echo:0.0.1']],
|
|
953
|
-
frontendTools: [
|
|
954
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
955
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
956
|
-
],
|
|
600
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
957
601
|
environmentName: 'ai-agents-env',
|
|
958
602
|
icon: 'agent',
|
|
959
603
|
emoji: '🤖',
|
|
@@ -972,7 +616,7 @@ export const DEMO_SIMPLE_AGENT_SPEC_0_0_1 = {
|
|
|
972
616
|
`,
|
|
973
617
|
systemPromptCodemodeAddons: undefined,
|
|
974
618
|
goal: undefined,
|
|
975
|
-
protocol:
|
|
619
|
+
protocol: 'vercel-ai',
|
|
976
620
|
uiExtension: undefined,
|
|
977
621
|
trigger: undefined,
|
|
978
622
|
modelConfig: undefined,
|
|
@@ -991,28 +635,13 @@ export const END_OF_MONTH_SALES_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
991
635
|
version: '0.0.1',
|
|
992
636
|
name: 'End of Month Sales Performance',
|
|
993
637
|
description: `Consolidates and analyzes end-of-month retail sales data directly from Salesforce. Computes revenue performance vs targets by SKU, detects anomalies in bookings and discounting, explains variances by region/segment/product/SKU, and generates executive-ready sales performance reports with full data lineage.`,
|
|
994
|
-
tags: [
|
|
995
|
-
'analytics',
|
|
996
|
-
'sales',
|
|
997
|
-
'revenue',
|
|
998
|
-
'performance',
|
|
999
|
-
'crm',
|
|
1000
|
-
'finance',
|
|
1001
|
-
'retail',
|
|
1002
|
-
'sku',
|
|
1003
|
-
],
|
|
638
|
+
tags: ['analytics', 'sales', 'revenue', 'performance', 'crm', 'finance', 'retail', 'sku'],
|
|
1004
639
|
enabled: false,
|
|
1005
640
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1006
641
|
mcpServers: [MCP_SERVER_MAP['salesforce:0.0.1']],
|
|
1007
|
-
skills: [
|
|
1008
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
1009
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1010
|
-
],
|
|
642
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1011
643
|
tools: [],
|
|
1012
|
-
frontendTools: [
|
|
1013
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1014
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1015
|
-
],
|
|
644
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1016
645
|
environmentName: 'ai-agents-env',
|
|
1017
646
|
icon: 'graph',
|
|
1018
647
|
emoji: '📊',
|
|
@@ -1023,7 +652,7 @@ export const END_OF_MONTH_SALES_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
1023
652
|
'Show top and bottom performing SKUs this month',
|
|
1024
653
|
'Explain the top drivers of variance this month',
|
|
1025
654
|
'Detect unusual discounting patterns by SKU',
|
|
1026
|
-
|
|
655
|
+
'Compare this month\'s performance vs last month',
|
|
1027
656
|
'Show aggregated performance by sales segment',
|
|
1028
657
|
'Break down revenue by SKU category',
|
|
1029
658
|
],
|
|
@@ -1037,148 +666,16 @@ export const END_OF_MONTH_SALES_PERFORMANCE_AGENT_SPEC_0_0_1 = {
|
|
|
1037
666
|
goal: `Consolidate, validate, and analyze end-of-month Salesforce retail sales data. Compute revenue performance vs targets by SKU, detect anomalies in bookings and discounting, explain variances by region/segment/product/SKU, and generate an executive-ready PDF performance report with full data lineage.`,
|
|
1038
667
|
protocol: 'vercel-ai',
|
|
1039
668
|
uiExtension: 'a2ui',
|
|
1040
|
-
trigger: {
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
},
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
{
|
|
1049
|
-
server: 'Salesforce MCP',
|
|
1050
|
-
tools: [
|
|
1051
|
-
{ name: 'fetch_closed_won_opportunities', approval: 'auto' },
|
|
1052
|
-
{ name: 'fetch_pipeline_snapshot', approval: 'auto' },
|
|
1053
|
-
{ name: 'fetch_accounts', approval: 'auto' },
|
|
1054
|
-
{ name: 'fetch_sales_targets', approval: 'auto' },
|
|
1055
|
-
{ name: 'compute_kpis', approval: 'auto' },
|
|
1056
|
-
{ name: 'fetch_sku_performance', approval: 'auto' },
|
|
1057
|
-
{ name: 'detect_revenue_anomalies', approval: 'auto' },
|
|
1058
|
-
{ name: 'export_deal_level_details', approval: 'manual' },
|
|
1059
|
-
{ name: 'generate_sales_report', approval: 'auto' },
|
|
1060
|
-
],
|
|
1061
|
-
},
|
|
1062
|
-
],
|
|
1063
|
-
guardrails: [
|
|
1064
|
-
{
|
|
1065
|
-
name: 'Sales Performance Read-Only Analyst',
|
|
1066
|
-
identity_provider: 'datalayer',
|
|
1067
|
-
identity_name: 'sales-bot@acme.com',
|
|
1068
|
-
permissions: {
|
|
1069
|
-
'read:data': true,
|
|
1070
|
-
'write:data': false,
|
|
1071
|
-
'execute:code': true,
|
|
1072
|
-
'access:internet': false,
|
|
1073
|
-
'send:email': false,
|
|
1074
|
-
'deploy:production': false,
|
|
1075
|
-
},
|
|
1076
|
-
data_scope: {
|
|
1077
|
-
allowed_systems: ['salesforce'],
|
|
1078
|
-
allowed_objects: [
|
|
1079
|
-
'Opportunity',
|
|
1080
|
-
'Account',
|
|
1081
|
-
'User',
|
|
1082
|
-
'Product2',
|
|
1083
|
-
'PricebookEntry',
|
|
1084
|
-
],
|
|
1085
|
-
denied_objects: [
|
|
1086
|
-
'Contact',
|
|
1087
|
-
'Lead',
|
|
1088
|
-
'Case',
|
|
1089
|
-
'Task',
|
|
1090
|
-
'Event',
|
|
1091
|
-
'EmailMessage',
|
|
1092
|
-
'Attachment',
|
|
1093
|
-
'ContentDocument',
|
|
1094
|
-
'ContentVersion',
|
|
1095
|
-
],
|
|
1096
|
-
denied_fields: [
|
|
1097
|
-
'Account.Phone',
|
|
1098
|
-
'Account.BillingStreet',
|
|
1099
|
-
'Account.ShippingStreet',
|
|
1100
|
-
'Account.Website',
|
|
1101
|
-
'Opportunity.Description',
|
|
1102
|
-
'Opportunity.NextStep',
|
|
1103
|
-
'Opportunity.Private_Notes__c',
|
|
1104
|
-
'*SSN*',
|
|
1105
|
-
'*Bank*',
|
|
1106
|
-
'*IBAN*',
|
|
1107
|
-
],
|
|
1108
|
-
},
|
|
1109
|
-
data_handling: {
|
|
1110
|
-
default_aggregation: true,
|
|
1111
|
-
allow_row_level_output: false,
|
|
1112
|
-
max_rows_in_output: 0,
|
|
1113
|
-
max_deal_appendix_rows: 25,
|
|
1114
|
-
redact_fields: ['Account.Name', 'Opportunity.Name'],
|
|
1115
|
-
hash_fields: ['Account.Id', 'Opportunity.Id'],
|
|
1116
|
-
pii_detection: true,
|
|
1117
|
-
pii_action: 'redact',
|
|
1118
|
-
},
|
|
1119
|
-
approval_policy: {
|
|
1120
|
-
require_manual_approval_for: [
|
|
1121
|
-
'Any output containing Account.Name or Opportunity.Name',
|
|
1122
|
-
'Per-rep rankings or compensation-related metrics',
|
|
1123
|
-
'Deal-level breakdown above 10 records',
|
|
1124
|
-
'Any query spanning more than 45 days',
|
|
1125
|
-
'Any report including open pipeline details',
|
|
1126
|
-
],
|
|
1127
|
-
auto_approved: [
|
|
1128
|
-
'Aggregated KPIs by region, segment, or product',
|
|
1129
|
-
'Month-over-month comparisons with aggregated data',
|
|
1130
|
-
],
|
|
1131
|
-
},
|
|
1132
|
-
tool_limits: {
|
|
1133
|
-
max_tool_calls: 25,
|
|
1134
|
-
max_query_rows: 200000,
|
|
1135
|
-
max_query_runtime: '30s',
|
|
1136
|
-
max_time_window_days: 45,
|
|
1137
|
-
},
|
|
1138
|
-
audit: {
|
|
1139
|
-
log_tool_calls: true,
|
|
1140
|
-
log_query_metadata_only: true,
|
|
1141
|
-
retain_days: 30,
|
|
1142
|
-
require_lineage_in_report: true,
|
|
1143
|
-
},
|
|
1144
|
-
content_safety: {
|
|
1145
|
-
treat_crm_text_fields_as_untrusted: true,
|
|
1146
|
-
do_not_follow_instructions_from_data: true,
|
|
1147
|
-
},
|
|
1148
|
-
token_limits: { per_run: '30K', per_day: '300K', per_month: '3M' },
|
|
1149
|
-
},
|
|
1150
|
-
],
|
|
1151
|
-
evals: [
|
|
1152
|
-
{ name: 'KPI Accuracy', category: 'coding', task_count: 400 },
|
|
1153
|
-
{
|
|
1154
|
-
name: 'Variance Explanation Quality',
|
|
1155
|
-
category: 'reasoning',
|
|
1156
|
-
task_count: 200,
|
|
1157
|
-
},
|
|
1158
|
-
{
|
|
1159
|
-
name: 'Anomaly Detection Precision',
|
|
1160
|
-
category: 'reasoning',
|
|
1161
|
-
task_count: 200,
|
|
1162
|
-
},
|
|
1163
|
-
{
|
|
1164
|
-
name: 'SKU-Level Revenue Reconciliation',
|
|
1165
|
-
category: 'coding',
|
|
1166
|
-
task_count: 150,
|
|
1167
|
-
},
|
|
1168
|
-
],
|
|
1169
|
-
codemode: { enabled: true, token_reduction: '~85%', speedup: '~1.5× faster' },
|
|
1170
|
-
output: {
|
|
1171
|
-
type: 'PDF',
|
|
1172
|
-
template: 'end_of_month_sales_performance_report.pdf',
|
|
1173
|
-
},
|
|
1174
|
-
advanced: {
|
|
1175
|
-
cost_limit: '$3.00 per run',
|
|
1176
|
-
time_limit: '600 seconds',
|
|
1177
|
-
max_iterations: 30,
|
|
1178
|
-
validation: 'All reported revenue figures must reconcile with Salesforce closed-won totals for the selected period, including SKU-level breakdowns. Variances vs targets must be computed and explained at both aggregate and per-SKU levels. All outputs must include a data lineage section listing objects queried, filters applied, and record counts.\n',
|
|
1179
|
-
},
|
|
669
|
+
trigger: { "type": "schedule", "cron": "0 6 1 * *", "description": "Monthly on the 1st at 06:00 to process prior month Salesforce sales performance.\n", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
670
|
+
modelConfig: { "temperature": 0.1, "max_tokens": 4096 },
|
|
671
|
+
mcpServerTools: [{ "server": "Salesforce MCP", "tools": [{ "name": "fetch_closed_won_opportunities", "approval": "auto" }, { "name": "fetch_pipeline_snapshot", "approval": "auto" }, { "name": "fetch_accounts", "approval": "auto" }, { "name": "fetch_sales_targets", "approval": "auto" }, { "name": "compute_kpis", "approval": "auto" }, { "name": "fetch_sku_performance", "approval": "auto" }, { "name": "detect_revenue_anomalies", "approval": "auto" }, { "name": "export_deal_level_details", "approval": "manual" }, { "name": "generate_sales_report", "approval": "auto" }] }],
|
|
672
|
+
guardrails: [{ "name": "Sales Performance Read-Only Analyst", "identity_provider": "datalayer", "identity_name": "sales-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "data_scope": { "allowed_systems": ["salesforce"], "allowed_objects": ["Opportunity", "Account", "User", "Product2", "PricebookEntry"], "denied_objects": ["Contact", "Lead", "Case", "Task", "Event", "EmailMessage", "Attachment", "ContentDocument", "ContentVersion"], "denied_fields": ["Account.Phone", "Account.BillingStreet", "Account.ShippingStreet", "Account.Website", "Opportunity.Description", "Opportunity.NextStep", "Opportunity.Private_Notes__c", "*SSN*", "*Bank*", "*IBAN*"] }, "data_handling": { "default_aggregation": true, "allow_row_level_output": false, "max_rows_in_output": 0, "max_deal_appendix_rows": 25, "redact_fields": ["Account.Name", "Opportunity.Name"], "hash_fields": ["Account.Id", "Opportunity.Id"], "pii_detection": true, "pii_action": "redact" }, "approval_policy": { "require_manual_approval_for": ["Any output containing Account.Name or Opportunity.Name", "Per-rep rankings or compensation-related metrics", "Deal-level breakdown above 10 records", "Any query spanning more than 45 days", "Any report including open pipeline details"], "auto_approved": ["Aggregated KPIs by region, segment, or product", "Month-over-month comparisons with aggregated data"] }, "tool_limits": { "max_tool_calls": 25, "max_query_rows": 200000, "max_query_runtime": "30s", "max_time_window_days": 45 }, "audit": { "log_tool_calls": true, "log_query_metadata_only": true, "retain_days": 30, "require_lineage_in_report": true }, "content_safety": { "treat_crm_text_fields_as_untrusted": true, "do_not_follow_instructions_from_data": true }, "token_limits": { "per_run": "30K", "per_day": "300K", "per_month": "3M" } }],
|
|
673
|
+
evals: [{ "name": "KPI Accuracy", "category": "coding", "task_count": 400 }, { "name": "Variance Explanation Quality", "category": "reasoning", "task_count": 200 }, { "name": "Anomaly Detection Precision", "category": "reasoning", "task_count": 200 }, { "name": "SKU-Level Revenue Reconciliation", "category": "coding", "task_count": 150 }],
|
|
674
|
+
codemode: { "enabled": true, "token_reduction": "~85%", "speedup": "~1.5× faster" },
|
|
675
|
+
output: { "type": "PDF", "template": "end_of_month_sales_performance_report.pdf" },
|
|
676
|
+
advanced: { "cost_limit": "$3.00 per run", "time_limit": "600 seconds", "max_iterations": 30, "validation": "All reported revenue figures must reconcile with Salesforce closed-won totals for the selected period, including SKU-level breakdowns. Variances vs targets must be computed and explained at both aggregate and per-SKU levels. All outputs must include a data lineage section listing objects queried, filters applied, and record counts.\n" },
|
|
1180
677
|
authorizationPolicy: '',
|
|
1181
|
-
notifications: { email:
|
|
678
|
+
notifications: { "email": "cro@company.com", "slack": "#sales-performance" },
|
|
1182
679
|
memory: 'ephemeral',
|
|
1183
680
|
};
|
|
1184
681
|
export const EXTRACT_DATA_FROM_FILES_AGENT_SPEC_0_0_1 = {
|
|
@@ -1190,16 +687,9 @@ export const EXTRACT_DATA_FROM_FILES_AGENT_SPEC_0_0_1 = {
|
|
|
1190
687
|
enabled: false,
|
|
1191
688
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1192
689
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
1193
|
-
skills: [
|
|
1194
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
1195
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
1196
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1197
|
-
],
|
|
690
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1198
691
|
tools: [],
|
|
1199
|
-
frontendTools: [
|
|
1200
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1201
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1202
|
-
],
|
|
692
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1203
693
|
environmentName: 'ai-agents-env',
|
|
1204
694
|
icon: 'database',
|
|
1205
695
|
emoji: '🗃️',
|
|
@@ -1214,62 +704,16 @@ export const EXTRACT_DATA_FROM_FILES_AGENT_SPEC_0_0_1 = {
|
|
|
1214
704
|
goal: `Extract structured data from unstructured files. Parse tables, key-value pairs, line items, dates, amounts, and named entities from PDFs, images, spreadsheets, and scanned documents. Output clean JSON and CSV with confidence scores for each extracted field.`,
|
|
1215
705
|
protocol: 'vercel-ai',
|
|
1216
706
|
uiExtension: 'a2ui',
|
|
1217
|
-
trigger: {
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
},
|
|
1223
|
-
modelConfig: { temperature: 0.1, max_tokens: 8192 },
|
|
1224
|
-
mcpServerTools: [
|
|
1225
|
-
{
|
|
1226
|
-
server: 'File Processor',
|
|
1227
|
-
tools: [
|
|
1228
|
-
{ name: 'read_pdf_tables', approval: 'auto' },
|
|
1229
|
-
{ name: 'ocr_image', approval: 'auto' },
|
|
1230
|
-
{ name: 'parse_spreadsheet', approval: 'auto' },
|
|
1231
|
-
],
|
|
1232
|
-
},
|
|
1233
|
-
{
|
|
1234
|
-
server: 'Schema Mapper',
|
|
1235
|
-
tools: [
|
|
1236
|
-
{ name: 'map_to_schema', approval: 'auto' },
|
|
1237
|
-
{ name: 'validate_output', approval: 'auto' },
|
|
1238
|
-
{ name: 'write_to_database', approval: 'manual' },
|
|
1239
|
-
],
|
|
1240
|
-
},
|
|
1241
|
-
],
|
|
1242
|
-
guardrails: [
|
|
1243
|
-
{
|
|
1244
|
-
name: 'Default Platform User',
|
|
1245
|
-
identity_provider: 'datalayer',
|
|
1246
|
-
identity_name: 'extraction-bot@acme.com',
|
|
1247
|
-
permissions: {
|
|
1248
|
-
'read:data': true,
|
|
1249
|
-
'write:data': true,
|
|
1250
|
-
'execute:code': true,
|
|
1251
|
-
'access:internet': false,
|
|
1252
|
-
'send:email': false,
|
|
1253
|
-
'deploy:production': false,
|
|
1254
|
-
},
|
|
1255
|
-
token_limits: { per_run: '40K', per_day: '400K', per_month: '4M' },
|
|
1256
|
-
},
|
|
1257
|
-
],
|
|
1258
|
-
evals: [
|
|
1259
|
-
{ name: 'Table Extraction Accuracy', category: 'coding', task_count: 450 },
|
|
1260
|
-
{ name: 'Key-Value Pair Extraction', category: 'coding', task_count: 380 },
|
|
1261
|
-
{ name: 'Schema Mapping Quality', category: 'reasoning', task_count: 250 },
|
|
1262
|
-
],
|
|
707
|
+
trigger: { "type": "event", "event": "file_uploaded", "description": "Triggered when new files are dropped into the extraction folder", "prompt": "Handle the 'file_uploaded' event and execute the workflow end-to-end." },
|
|
708
|
+
modelConfig: { "temperature": 0.1, "max_tokens": 8192 },
|
|
709
|
+
mcpServerTools: [{ "server": "File Processor", "tools": [{ "name": "read_pdf_tables", "approval": "auto" }, { "name": "ocr_image", "approval": "auto" }, { "name": "parse_spreadsheet", "approval": "auto" }] }, { "server": "Schema Mapper", "tools": [{ "name": "map_to_schema", "approval": "auto" }, { "name": "validate_output", "approval": "auto" }, { "name": "write_to_database", "approval": "manual" }] }],
|
|
710
|
+
guardrails: [{ "name": "Default Platform User", "identity_provider": "datalayer", "identity_name": "extraction-bot@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "40K", "per_day": "400K", "per_month": "4M" } }],
|
|
711
|
+
evals: [{ "name": "Table Extraction Accuracy", "category": "coding", "task_count": 450 }, { "name": "Key-Value Pair Extraction", "category": "coding", "task_count": 380 }, { "name": "Schema Mapping Quality", "category": "reasoning", "task_count": 250 }],
|
|
1263
712
|
codemode: undefined,
|
|
1264
|
-
output: {
|
|
1265
|
-
type: 'JSON',
|
|
1266
|
-
formats: ['JSON', 'CSV'],
|
|
1267
|
-
template: 'extraction-output-v1',
|
|
1268
|
-
storage: 's3://acme-extractions/',
|
|
1269
|
-
},
|
|
713
|
+
output: { "type": "JSON", "formats": ["JSON", "CSV"], "template": "extraction-output-v1", "storage": "s3://acme-extractions/" },
|
|
1270
714
|
advanced: undefined,
|
|
1271
715
|
authorizationPolicy: undefined,
|
|
1272
|
-
notifications: { slack:
|
|
716
|
+
notifications: { "slack": "#data-extraction", "email": "data-team@acme.com" },
|
|
1273
717
|
memory: 'ephemeral',
|
|
1274
718
|
};
|
|
1275
719
|
export const FINANCIAL_VIZ_AGENT_SPEC_0_0_1 = {
|
|
@@ -1280,16 +724,10 @@ export const FINANCIAL_VIZ_AGENT_SPEC_0_0_1 = {
|
|
|
1280
724
|
tags: ['finance', 'stocks', 'visualization', 'charts'],
|
|
1281
725
|
enabled: false,
|
|
1282
726
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
1283
|
-
mcpServers: [
|
|
1284
|
-
MCP_SERVER_MAP['alphavantage:0.0.1'],
|
|
1285
|
-
MCP_SERVER_MAP['chart:0.0.1'],
|
|
1286
|
-
],
|
|
727
|
+
mcpServers: [MCP_SERVER_MAP['alphavantage:0.0.1'], MCP_SERVER_MAP['chart:0.0.1']],
|
|
1287
728
|
skills: [toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1288
729
|
tools: [],
|
|
1289
|
-
frontendTools: [
|
|
1290
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1291
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1292
|
-
],
|
|
730
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1293
731
|
environmentName: 'ai-agents-env',
|
|
1294
732
|
icon: 'trending-up',
|
|
1295
733
|
emoji: '📈',
|
|
@@ -1326,7 +764,7 @@ export const FINANCIAL_VIZ_AGENT_SPEC_0_0_1 = {
|
|
|
1326
764
|
## 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.
|
|
1327
765
|
`,
|
|
1328
766
|
goal: undefined,
|
|
1329
|
-
protocol:
|
|
767
|
+
protocol: 'vercel-ai',
|
|
1330
768
|
uiExtension: undefined,
|
|
1331
769
|
trigger: undefined,
|
|
1332
770
|
modelConfig: undefined,
|
|
@@ -1351,10 +789,7 @@ export const FINANCIAL_AGENT_SPEC_0_0_1 = {
|
|
|
1351
789
|
mcpServers: [MCP_SERVER_MAP['alphavantage:0.0.1']],
|
|
1352
790
|
skills: [toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1353
791
|
tools: [],
|
|
1354
|
-
frontendTools: [
|
|
1355
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1356
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1357
|
-
],
|
|
792
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1358
793
|
environmentName: 'ai-agents-env',
|
|
1359
794
|
icon: 'trending-up',
|
|
1360
795
|
emoji: '📈',
|
|
@@ -1391,7 +826,7 @@ export const FINANCIAL_AGENT_SPEC_0_0_1 = {
|
|
|
1391
826
|
## 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.
|
|
1392
827
|
`,
|
|
1393
828
|
goal: undefined,
|
|
1394
|
-
protocol:
|
|
829
|
+
protocol: 'vercel-ai',
|
|
1395
830
|
uiExtension: undefined,
|
|
1396
831
|
trigger: undefined,
|
|
1397
832
|
modelConfig: undefined,
|
|
@@ -1413,27 +848,18 @@ export const GENERATE_WEEKLY_REPORTS_AGENT_SPEC_0_0_1 = {
|
|
|
1413
848
|
tags: ['marketing', 'reports', 'weekly', 'analytics', 'automation'],
|
|
1414
849
|
enabled: false,
|
|
1415
850
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1416
|
-
mcpServers: [
|
|
1417
|
-
|
|
1418
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
1419
|
-
],
|
|
1420
|
-
skills: [
|
|
1421
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
1422
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1423
|
-
],
|
|
851
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
852
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1424
853
|
tools: [],
|
|
1425
|
-
frontendTools: [
|
|
1426
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1427
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1428
|
-
],
|
|
854
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1429
855
|
environmentName: 'ai-agents-env',
|
|
1430
856
|
icon: 'file',
|
|
1431
857
|
emoji: '📝',
|
|
1432
858
|
color: '#cf222e',
|
|
1433
859
|
suggestions: [
|
|
1434
|
-
|
|
860
|
+
'Generate this week\'s executive report',
|
|
1435
861
|
'Show marketing KPIs for the last 7 days',
|
|
1436
|
-
|
|
862
|
+
'Compare this week\'s sales to last week',
|
|
1437
863
|
'What were the top operational issues this week?',
|
|
1438
864
|
],
|
|
1439
865
|
welcomeMessage: "Hello! I'm the Weekly Report Generator. Every Monday I aggregate data from marketing, sales, and operations to produce a structured executive report with charts, KPI summaries, and actionable takeaways.\n",
|
|
@@ -1446,67 +872,16 @@ export const GENERATE_WEEKLY_REPORTS_AGENT_SPEC_0_0_1 = {
|
|
|
1446
872
|
goal: `Aggregate data across marketing, sales, and operations departments every Monday. Generate a structured executive report with charts, KPI summaries, trend analysis, and the top 3 actionable takeaways for leadership.`,
|
|
1447
873
|
protocol: 'vercel-ai',
|
|
1448
874
|
uiExtension: 'a2ui',
|
|
1449
|
-
trigger: {
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
},
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
{
|
|
1458
|
-
server: 'Data Warehouse',
|
|
1459
|
-
tools: [
|
|
1460
|
-
{ name: 'query_marketing_data', approval: 'auto' },
|
|
1461
|
-
{ name: 'query_sales_data', approval: 'auto' },
|
|
1462
|
-
{ name: 'query_operations_data', approval: 'auto' },
|
|
1463
|
-
],
|
|
1464
|
-
},
|
|
1465
|
-
{
|
|
1466
|
-
server: 'Visualization Engine',
|
|
1467
|
-
tools: [
|
|
1468
|
-
{ name: 'generate_charts', approval: 'auto' },
|
|
1469
|
-
{ name: 'create_dashboard', approval: 'auto' },
|
|
1470
|
-
],
|
|
1471
|
-
},
|
|
1472
|
-
{
|
|
1473
|
-
server: 'Document Generator',
|
|
1474
|
-
tools: [
|
|
1475
|
-
{ name: 'compile_report', approval: 'auto' },
|
|
1476
|
-
{ name: 'send_report', approval: 'manual' },
|
|
1477
|
-
],
|
|
1478
|
-
},
|
|
1479
|
-
],
|
|
1480
|
-
guardrails: [
|
|
1481
|
-
{
|
|
1482
|
-
name: 'Data Engineering Power User',
|
|
1483
|
-
identity_provider: 'datalayer',
|
|
1484
|
-
identity_name: 'reports-bot@acme.com',
|
|
1485
|
-
permissions: {
|
|
1486
|
-
'read:data': true,
|
|
1487
|
-
'write:data': true,
|
|
1488
|
-
'execute:code': true,
|
|
1489
|
-
'access:internet': true,
|
|
1490
|
-
'send:email': true,
|
|
1491
|
-
'deploy:production': false,
|
|
1492
|
-
},
|
|
1493
|
-
token_limits: { per_run: '80K', per_day: '500K', per_month: '5M' },
|
|
1494
|
-
},
|
|
1495
|
-
],
|
|
1496
|
-
evals: [
|
|
1497
|
-
{ name: 'Report Completeness', category: 'coding', task_count: 100 },
|
|
1498
|
-
{ name: 'Data Accuracy', category: 'reasoning', task_count: 250 },
|
|
1499
|
-
],
|
|
1500
|
-
codemode: { enabled: true, token_reduction: '~90%', speedup: '~2× faster' },
|
|
1501
|
-
output: { type: 'PDF', template: 'weekly_executive_report.pdf' },
|
|
1502
|
-
advanced: {
|
|
1503
|
-
cost_limit: '$8.00 per run',
|
|
1504
|
-
time_limit: '600 seconds',
|
|
1505
|
-
max_iterations: 60,
|
|
1506
|
-
validation: 'Report must include all department KPIs and trend charts',
|
|
1507
|
-
},
|
|
875
|
+
trigger: { "type": "schedule", "cron": "0 6 * * 1", "description": "Every Monday at 6:00 AM UTC", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
876
|
+
modelConfig: { "temperature": 0.2, "max_tokens": 8192 },
|
|
877
|
+
mcpServerTools: [{ "server": "Data Warehouse", "tools": [{ "name": "query_marketing_data", "approval": "auto" }, { "name": "query_sales_data", "approval": "auto" }, { "name": "query_operations_data", "approval": "auto" }] }, { "server": "Visualization Engine", "tools": [{ "name": "generate_charts", "approval": "auto" }, { "name": "create_dashboard", "approval": "auto" }] }, { "server": "Document Generator", "tools": [{ "name": "compile_report", "approval": "auto" }, { "name": "send_report", "approval": "manual" }] }],
|
|
878
|
+
guardrails: [{ "name": "Data Engineering Power User", "identity_provider": "datalayer", "identity_name": "reports-bot@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": true, "send:email": true, "deploy:production": false }, "token_limits": { "per_run": "80K", "per_day": "500K", "per_month": "5M" } }],
|
|
879
|
+
evals: [{ "name": "Report Completeness", "category": "coding", "task_count": 100 }, { "name": "Data Accuracy", "category": "reasoning", "task_count": 250 }],
|
|
880
|
+
codemode: { "enabled": true, "token_reduction": "~90%", "speedup": "~2× faster" },
|
|
881
|
+
output: { "type": "PDF", "template": "weekly_executive_report.pdf" },
|
|
882
|
+
advanced: { "cost_limit": "$8.00 per run", "time_limit": "600 seconds", "max_iterations": 60, "validation": "Report must include all department KPIs and trend charts" },
|
|
1508
883
|
authorizationPolicy: '',
|
|
1509
|
-
notifications: { email:
|
|
884
|
+
notifications: { "email": "robert.w@company.com", "slack": "#weekly-reports" },
|
|
1510
885
|
memory: 'ephemeral',
|
|
1511
886
|
};
|
|
1512
887
|
export const GITHUB_AGENT_SPEC_0_0_1 = {
|
|
@@ -1518,15 +893,9 @@ export const GITHUB_AGENT_SPEC_0_0_1 = {
|
|
|
1518
893
|
enabled: false,
|
|
1519
894
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
1520
895
|
mcpServers: [MCP_SERVER_MAP['google-workspace:0.0.1']],
|
|
1521
|
-
skills: [
|
|
1522
|
-
toAgentSkillSpec(SKILL_MAP['github:0.0.1']),
|
|
1523
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1524
|
-
],
|
|
896
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1525
897
|
tools: [],
|
|
1526
|
-
frontendTools: [
|
|
1527
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1528
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1529
|
-
],
|
|
898
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1530
899
|
environmentName: 'ai-agents-env',
|
|
1531
900
|
icon: 'git-branch',
|
|
1532
901
|
emoji: '🐙',
|
|
@@ -1563,7 +932,7 @@ export const GITHUB_AGENT_SPEC_0_0_1 = {
|
|
|
1563
932
|
## 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.
|
|
1564
933
|
`,
|
|
1565
934
|
goal: undefined,
|
|
1566
|
-
protocol:
|
|
935
|
+
protocol: 'vercel-ai',
|
|
1567
936
|
uiExtension: undefined,
|
|
1568
937
|
trigger: undefined,
|
|
1569
938
|
modelConfig: undefined,
|
|
@@ -1585,16 +954,10 @@ export const INFORMATION_ROUTING_AGENT_SPEC_0_0_1 = {
|
|
|
1585
954
|
tags: ['workflow', 'communication', 'gdrive'],
|
|
1586
955
|
enabled: false,
|
|
1587
956
|
model: 'bedrock:us.anthropic.claude-opus-4-6-v1',
|
|
1588
|
-
mcpServers: [
|
|
1589
|
-
MCP_SERVER_MAP['google-workspace:0.0.1'],
|
|
1590
|
-
MCP_SERVER_MAP['github:0.0.1'],
|
|
1591
|
-
],
|
|
957
|
+
mcpServers: [MCP_SERVER_MAP['google-workspace:0.0.1'], MCP_SERVER_MAP['github:0.0.1']],
|
|
1592
958
|
skills: [toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1593
959
|
tools: [],
|
|
1594
|
-
frontendTools: [
|
|
1595
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1596
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1597
|
-
],
|
|
960
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1598
961
|
environmentName: 'ai-agents-env',
|
|
1599
962
|
icon: 'share-2',
|
|
1600
963
|
emoji: '🔀',
|
|
@@ -1631,7 +994,7 @@ export const INFORMATION_ROUTING_AGENT_SPEC_0_0_1 = {
|
|
|
1631
994
|
## Token Efficiency Always 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!!!!
|
|
1632
995
|
`,
|
|
1633
996
|
goal: undefined,
|
|
1634
|
-
protocol:
|
|
997
|
+
protocol: 'vercel-ai',
|
|
1635
998
|
uiExtension: undefined,
|
|
1636
999
|
trigger: undefined,
|
|
1637
1000
|
modelConfig: undefined,
|
|
@@ -1654,26 +1017,15 @@ export const MONITOR_SALES_KPIS_AGENT_SPEC_0_0_1 = {
|
|
|
1654
1017
|
enabled: false,
|
|
1655
1018
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1656
1019
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
1657
|
-
skills: [
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1661
|
-
],
|
|
1662
|
-
tools: [
|
|
1663
|
-
TOOL_MAP['runtime-echo:0.0.1'],
|
|
1664
|
-
TOOL_MAP['runtime-sensitive-echo:0.0.1'],
|
|
1665
|
-
TOOL_MAP['runtime-send-mail:0.0.1'],
|
|
1666
|
-
],
|
|
1667
|
-
frontendTools: [
|
|
1668
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1669
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1670
|
-
],
|
|
1020
|
+
skills: [toAgentSkillSpec(SKILL_MAP['github:0.0.1']), toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1021
|
+
tools: [TOOL_MAP['runtime-echo:0.0.1'], TOOL_MAP['runtime-sensitive-echo:0.0.1'], TOOL_MAP['runtime-send-mail:0.0.1']],
|
|
1022
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1671
1023
|
environmentName: 'ai-agents-env',
|
|
1672
1024
|
icon: 'graph',
|
|
1673
1025
|
emoji: '📊',
|
|
1674
1026
|
color: '#2da44e',
|
|
1675
1027
|
suggestions: [
|
|
1676
|
-
|
|
1028
|
+
'Show me today\'s sales KPI dashboard',
|
|
1677
1029
|
'What are the current revenue trends?',
|
|
1678
1030
|
'Flag any KPIs that deviate more than 10% from targets',
|
|
1679
1031
|
'Generate a weekly summary report',
|
|
@@ -1690,68 +1042,16 @@ export const MONITOR_SALES_KPIS_AGENT_SPEC_0_0_1 = {
|
|
|
1690
1042
|
goal: `Monitor and analyze sales KPIs from the CRM system. Generate daily reports summarizing key performance metrics, identify trends, and flag anomalies. Send notifications when KPIs deviate more than 10% from targets.`,
|
|
1691
1043
|
protocol: 'vercel-ai',
|
|
1692
1044
|
uiExtension: 'a2ui',
|
|
1693
|
-
trigger: {
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
},
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
{
|
|
1702
|
-
server: 'CRM Data Server',
|
|
1703
|
-
tools: [
|
|
1704
|
-
{ name: 'get_sales_data', approval: 'auto' },
|
|
1705
|
-
{ name: 'get_customer_list', approval: 'auto' },
|
|
1706
|
-
{ name: 'update_records', approval: 'manual' },
|
|
1707
|
-
],
|
|
1708
|
-
},
|
|
1709
|
-
{
|
|
1710
|
-
server: 'Analytics Server',
|
|
1711
|
-
tools: [
|
|
1712
|
-
{ name: 'run_analysis', approval: 'auto' },
|
|
1713
|
-
{ name: 'generate_charts', approval: 'auto' },
|
|
1714
|
-
],
|
|
1715
|
-
},
|
|
1716
|
-
],
|
|
1717
|
-
guardrails: [
|
|
1718
|
-
{
|
|
1719
|
-
name: 'Default Platform User',
|
|
1720
|
-
identity_provider: 'datalayer',
|
|
1721
|
-
identity_name: 'alice@acme.com',
|
|
1722
|
-
permissions: {
|
|
1723
|
-
'read:data': true,
|
|
1724
|
-
'write:data': true,
|
|
1725
|
-
'execute:code': true,
|
|
1726
|
-
'access:internet': true,
|
|
1727
|
-
'send:email': false,
|
|
1728
|
-
'deploy:production': false,
|
|
1729
|
-
},
|
|
1730
|
-
token_limits: { per_run: '50K', per_day: '500K', per_month: '5M' },
|
|
1731
|
-
},
|
|
1732
|
-
],
|
|
1733
|
-
evals: [
|
|
1734
|
-
{ name: 'SWE-bench', category: 'coding', task_count: 2294 },
|
|
1735
|
-
{ name: 'HumanEval', category: 'coding', task_count: 164 },
|
|
1736
|
-
{ name: 'GPQA Diamond', category: 'reasoning', task_count: 448 },
|
|
1737
|
-
{ name: 'TruthfulQA', category: 'safety', task_count: 817 },
|
|
1738
|
-
],
|
|
1739
|
-
codemode: { enabled: true, token_reduction: '~90%', speedup: '~2× faster' },
|
|
1740
|
-
output: { type: 'Notebook', template: 'kpi_report_template.ipynb' },
|
|
1741
|
-
advanced: {
|
|
1742
|
-
cost_limit: '$5.00 per run',
|
|
1743
|
-
time_limit: '300 seconds',
|
|
1744
|
-
max_iterations: 50,
|
|
1745
|
-
validation: 'Output must contain required KPI fields',
|
|
1746
|
-
checkpoint_interval: 30,
|
|
1747
|
-
context_window: {
|
|
1748
|
-
max_tokens: 100000,
|
|
1749
|
-
eviction_strategy: 'sliding_window',
|
|
1750
|
-
summary_threshold: 0.85,
|
|
1751
|
-
},
|
|
1752
|
-
},
|
|
1045
|
+
trigger: { "type": "schedule", "cron": "0 8 * * *", "description": "Every day at 8:00 AM UTC", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
1046
|
+
modelConfig: { "temperature": 0.3, "max_tokens": 4096 },
|
|
1047
|
+
mcpServerTools: [{ "server": "CRM Data Server", "tools": [{ "name": "get_sales_data", "approval": "auto" }, { "name": "get_customer_list", "approval": "auto" }, { "name": "update_records", "approval": "manual" }] }, { "server": "Analytics Server", "tools": [{ "name": "run_analysis", "approval": "auto" }, { "name": "generate_charts", "approval": "auto" }] }],
|
|
1048
|
+
guardrails: [{ "name": "Default Platform User", "identity_provider": "datalayer", "identity_name": "alice@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": true, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "50K", "per_day": "500K", "per_month": "5M" } }],
|
|
1049
|
+
evals: [{ "name": "SWE-bench", "category": "coding", "task_count": 2294 }, { "name": "HumanEval", "category": "coding", "task_count": 164 }, { "name": "GPQA Diamond", "category": "reasoning", "task_count": 448 }, { "name": "TruthfulQA", "category": "safety", "task_count": 817 }],
|
|
1050
|
+
codemode: { "enabled": true, "token_reduction": "~90%", "speedup": "~2× faster" },
|
|
1051
|
+
output: { "type": "Notebook", "template": "kpi_report_template.ipynb" },
|
|
1052
|
+
advanced: { "cost_limit": "$5.00 per run", "time_limit": "300 seconds", "max_iterations": 50, "validation": "Output must contain required KPI fields", "checkpoint_interval": 30, "context_window": { "max_tokens": 100000, "eviction_strategy": "sliding_window", "summary_threshold": 0.85 } },
|
|
1753
1053
|
authorizationPolicy: '',
|
|
1754
|
-
notifications: { email:
|
|
1054
|
+
notifications: { "email": "marcus.r@company.com", "slack": "#sales-kpis" },
|
|
1755
1055
|
memory: 'mem0',
|
|
1756
1056
|
};
|
|
1757
1057
|
export const OPTIMIZE_DYNAMIC_PRICING_AGENT_SPEC_0_0_1 = {
|
|
@@ -1759,27 +1059,13 @@ export const OPTIMIZE_DYNAMIC_PRICING_AGENT_SPEC_0_0_1 = {
|
|
|
1759
1059
|
version: '0.0.1',
|
|
1760
1060
|
name: 'Optimize Dynamic Pricing',
|
|
1761
1061
|
description: `Monitors competitor pricing across marketplaces, forecasts demand per SKU, and generates margin-optimised pricing recommendations in real time. Tracks 50K+ SKUs hourly across Amazon, Walmart, and niche channels, combining competitive intelligence with demand signals to maximise margins.`,
|
|
1762
|
-
tags: [
|
|
1763
|
-
'retail',
|
|
1764
|
-
'e-commerce',
|
|
1765
|
-
'pricing',
|
|
1766
|
-
'analytics',
|
|
1767
|
-
'demand-forecasting',
|
|
1768
|
-
'margins',
|
|
1769
|
-
],
|
|
1062
|
+
tags: ['retail', 'e-commerce', 'pricing', 'analytics', 'demand-forecasting', 'margins'],
|
|
1770
1063
|
enabled: false,
|
|
1771
1064
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1772
1065
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
1773
|
-
skills: [
|
|
1774
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
1775
|
-
toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']),
|
|
1776
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1777
|
-
],
|
|
1066
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['crawl:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1778
1067
|
tools: [],
|
|
1779
|
-
frontendTools: [
|
|
1780
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1781
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1782
|
-
],
|
|
1068
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1783
1069
|
environmentName: 'ai-agents-env',
|
|
1784
1070
|
icon: 'tag',
|
|
1785
1071
|
emoji: '🏷️',
|
|
@@ -1789,7 +1075,7 @@ export const OPTIMIZE_DYNAMIC_PRICING_AGENT_SPEC_0_0_1 = {
|
|
|
1789
1075
|
'Which SKUs have the highest price elasticity?',
|
|
1790
1076
|
'Generate pricing recommendations for the electronics category',
|
|
1791
1077
|
'Forecast demand for top 100 SKUs next week',
|
|
1792
|
-
|
|
1078
|
+
'What\'s the projected revenue impact of current recommendations?',
|
|
1793
1079
|
],
|
|
1794
1080
|
welcomeMessage: "Hello! I'm the Dynamic Pricing agent. I monitor competitor prices across 50K+ SKUs hourly, forecast demand using historical and seasonal patterns, and generate margin-optimised pricing recommendations to keep you competitive while maximising profitability.\n",
|
|
1795
1081
|
welcomeNotebook: undefined,
|
|
@@ -1801,78 +1087,16 @@ export const OPTIMIZE_DYNAMIC_PRICING_AGENT_SPEC_0_0_1 = {
|
|
|
1801
1087
|
goal: `Track competitor pricing across 50K+ SKUs hourly on Amazon, Walmart, and niche marketplaces. Forecast demand per SKU-location pair using historical sales, seasonality, and external signals. Generate margin-optimised pricing recommendations with confidence intervals and projected revenue impact.`,
|
|
1802
1088
|
protocol: 'vercel-ai',
|
|
1803
1089
|
uiExtension: 'a2ui',
|
|
1804
|
-
trigger: {
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
},
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
{
|
|
1813
|
-
server: 'Marketplace Intelligence MCP',
|
|
1814
|
-
tools: [
|
|
1815
|
-
{ name: 'scrape_competitor_prices', approval: 'auto' },
|
|
1816
|
-
{ name: 'fetch_marketplace_listings', approval: 'auto' },
|
|
1817
|
-
{ name: 'detect_new_products', approval: 'auto' },
|
|
1818
|
-
{ name: 'compute_price_elasticity', approval: 'auto' },
|
|
1819
|
-
{ name: 'forecast_demand', approval: 'auto' },
|
|
1820
|
-
{ name: 'generate_price_recommendations', approval: 'manual' },
|
|
1821
|
-
{ name: 'apply_price_changes', approval: 'manual' },
|
|
1822
|
-
],
|
|
1823
|
-
},
|
|
1824
|
-
],
|
|
1825
|
-
guardrails: [
|
|
1826
|
-
{
|
|
1827
|
-
name: 'Pricing Intelligence Analyst',
|
|
1828
|
-
identity_provider: 'datalayer',
|
|
1829
|
-
identity_name: 'pricing-bot@acme.com',
|
|
1830
|
-
permissions: {
|
|
1831
|
-
'read:data': true,
|
|
1832
|
-
'write:data': false,
|
|
1833
|
-
'execute:code': true,
|
|
1834
|
-
'access:internet': true,
|
|
1835
|
-
'send:email': false,
|
|
1836
|
-
'deploy:production': false,
|
|
1837
|
-
},
|
|
1838
|
-
data_handling: { pii_detection: false },
|
|
1839
|
-
approval_policy: {
|
|
1840
|
-
require_manual_approval_for: [
|
|
1841
|
-
'Any price change above 15% from current price',
|
|
1842
|
-
'Bulk price updates affecting more than 100 SKUs',
|
|
1843
|
-
'Below-cost pricing recommendations',
|
|
1844
|
-
],
|
|
1845
|
-
auto_approved: [
|
|
1846
|
-
'Competitive price monitoring and data collection',
|
|
1847
|
-
'Demand forecasting and analysis',
|
|
1848
|
-
'Price recommendations within 15% band',
|
|
1849
|
-
],
|
|
1850
|
-
},
|
|
1851
|
-
token_limits: { per_run: '25K', per_day: '500K', per_month: '10M' },
|
|
1852
|
-
},
|
|
1853
|
-
],
|
|
1854
|
-
evals: [
|
|
1855
|
-
{ name: 'Price Tracking Accuracy', category: 'coding', task_count: 500 },
|
|
1856
|
-
{ name: 'Demand Forecast MAPE', category: 'reasoning', task_count: 300 },
|
|
1857
|
-
{ name: 'Margin Impact', category: 'coding', task_count: 200 },
|
|
1858
|
-
],
|
|
1859
|
-
codemode: { enabled: true, token_reduction: '~90%', speedup: '~2× faster' },
|
|
1860
|
-
output: {
|
|
1861
|
-
formats: ['Dashboard', 'JSON', 'Spreadsheet'],
|
|
1862
|
-
template: 'Dynamic Pricing Report',
|
|
1863
|
-
storage: '/outputs/dynamic-pricing/',
|
|
1864
|
-
},
|
|
1865
|
-
advanced: {
|
|
1866
|
-
cost_limit: '$1.50 per run',
|
|
1867
|
-
time_limit: '300 seconds',
|
|
1868
|
-
max_iterations: 20,
|
|
1869
|
-
validation: 'All recommended prices must maintain minimum margin thresholds. Demand forecasts must include confidence intervals.\n',
|
|
1870
|
-
},
|
|
1090
|
+
trigger: { "type": "schedule", "cron": "0 * * * *", "description": "Hourly competitive price scan and demand forecast update", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
1091
|
+
modelConfig: { "temperature": 0.1, "max_tokens": 4096 },
|
|
1092
|
+
mcpServerTools: [{ "server": "Marketplace Intelligence MCP", "tools": [{ "name": "scrape_competitor_prices", "approval": "auto" }, { "name": "fetch_marketplace_listings", "approval": "auto" }, { "name": "detect_new_products", "approval": "auto" }, { "name": "compute_price_elasticity", "approval": "auto" }, { "name": "forecast_demand", "approval": "auto" }, { "name": "generate_price_recommendations", "approval": "manual" }, { "name": "apply_price_changes", "approval": "manual" }] }],
|
|
1093
|
+
guardrails: [{ "name": "Pricing Intelligence Analyst", "identity_provider": "datalayer", "identity_name": "pricing-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": true, "send:email": false, "deploy:production": false }, "data_handling": { "pii_detection": false }, "approval_policy": { "require_manual_approval_for": ["Any price change above 15% from current price", "Bulk price updates affecting more than 100 SKUs", "Below-cost pricing recommendations"], "auto_approved": ["Competitive price monitoring and data collection", "Demand forecasting and analysis", "Price recommendations within 15% band"] }, "token_limits": { "per_run": "25K", "per_day": "500K", "per_month": "10M" } }],
|
|
1094
|
+
evals: [{ "name": "Price Tracking Accuracy", "category": "coding", "task_count": 500 }, { "name": "Demand Forecast MAPE", "category": "reasoning", "task_count": 300 }, { "name": "Margin Impact", "category": "coding", "task_count": 200 }],
|
|
1095
|
+
codemode: { "enabled": true, "token_reduction": "~90%", "speedup": "~2× faster" },
|
|
1096
|
+
output: { "formats": ["Dashboard", "JSON", "Spreadsheet"], "template": "Dynamic Pricing Report", "storage": "/outputs/dynamic-pricing/" },
|
|
1097
|
+
advanced: { "cost_limit": "$1.50 per run", "time_limit": "300 seconds", "max_iterations": 20, "validation": "All recommended prices must maintain minimum margin thresholds. Demand forecasts must include confidence intervals.\n" },
|
|
1871
1098
|
authorizationPolicy: '',
|
|
1872
|
-
notifications: {
|
|
1873
|
-
email: 'merchandising@company.com',
|
|
1874
|
-
slack: '#pricing-intelligence',
|
|
1875
|
-
},
|
|
1099
|
+
notifications: { "email": "merchandising@company.com", "slack": "#pricing-intelligence" },
|
|
1876
1100
|
memory: 'ephemeral',
|
|
1877
1101
|
};
|
|
1878
1102
|
export const OPTIMIZE_GRID_OPERATIONS_AGENT_SPEC_0_0_1 = {
|
|
@@ -1880,26 +1104,13 @@ export const OPTIMIZE_GRID_OPERATIONS_AGENT_SPEC_0_0_1 = {
|
|
|
1880
1104
|
version: '0.0.1',
|
|
1881
1105
|
name: 'Optimize Grid Operations',
|
|
1882
1106
|
description: `A multi-agent team that processes millions of IoT sensor data points from smart meters, substations, and renewable generation assets. Predicts equipment failures 2–4 weeks in advance, optimises load balancing across the grid, and reduces unplanned downtime by 50%.`,
|
|
1883
|
-
tags: [
|
|
1884
|
-
'energy',
|
|
1885
|
-
'utilities',
|
|
1886
|
-
'smart-grid',
|
|
1887
|
-
'iot',
|
|
1888
|
-
'predictive-maintenance',
|
|
1889
|
-
'sustainability',
|
|
1890
|
-
],
|
|
1107
|
+
tags: ['energy', 'utilities', 'smart-grid', 'iot', 'predictive-maintenance', 'sustainability'],
|
|
1891
1108
|
enabled: false,
|
|
1892
1109
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
1893
1110
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
1894
|
-
skills: [
|
|
1895
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
1896
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
1897
|
-
],
|
|
1111
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
1898
1112
|
tools: [],
|
|
1899
|
-
frontendTools: [
|
|
1900
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
1901
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
1902
|
-
],
|
|
1113
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
1903
1114
|
environmentName: 'ai-agents-env',
|
|
1904
1115
|
icon: 'zap',
|
|
1905
1116
|
emoji: '⚡',
|
|
@@ -1908,7 +1119,7 @@ export const OPTIMIZE_GRID_OPERATIONS_AGENT_SPEC_0_0_1 = {
|
|
|
1908
1119
|
'Show current grid health across all substations',
|
|
1909
1120
|
'Which assets have anomaly alerts right now?',
|
|
1910
1121
|
'Predict failures for the next 4 weeks',
|
|
1911
|
-
|
|
1122
|
+
'Optimise load balancing for tomorrow\'s forecast',
|
|
1912
1123
|
'Generate a maintenance schedule for flagged assets',
|
|
1913
1124
|
],
|
|
1914
1125
|
welcomeMessage: "Hello! I'm the Grid Operations team orchestrator. I coordinate four agents — Sensor Ingestion, Anomaly Detector, Failure Predictor, and Grid Balancer — to keep your grid running efficiently with predictive maintenance and intelligent load optimisation.\n",
|
|
@@ -1921,66 +1132,16 @@ export const OPTIMIZE_GRID_OPERATIONS_AGENT_SPEC_0_0_1 = {
|
|
|
1921
1132
|
goal: `Process millions of IoT sensor data points from SCADA systems, smart meters, and renewable assets. Detect equipment anomalies in real time, predict failures 2–4 weeks in advance, and optimise grid load balancing across renewable and conventional sources to reduce unplanned downtime by 50%.`,
|
|
1922
1133
|
protocol: 'vercel-ai',
|
|
1923
1134
|
uiExtension: 'a2ui',
|
|
1924
|
-
trigger: {
|
|
1925
|
-
type: 'schedule',
|
|
1926
|
-
cron: '*/5 * * * *',
|
|
1927
|
-
description: 'Every 5 minutes for real-time grid monitoring and optimization',
|
|
1928
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
1929
|
-
},
|
|
1135
|
+
trigger: { "type": "schedule", "cron": "*/5 * * * *", "description": "Every 5 minutes for real-time grid monitoring and optimization", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
1930
1136
|
modelConfig: undefined,
|
|
1931
1137
|
mcpServerTools: undefined,
|
|
1932
|
-
guardrails: [
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
permissions: {
|
|
1938
|
-
'read:data': true,
|
|
1939
|
-
'write:data': false,
|
|
1940
|
-
'execute:code': true,
|
|
1941
|
-
'access:internet': false,
|
|
1942
|
-
'send:email': true,
|
|
1943
|
-
'deploy:production': false,
|
|
1944
|
-
},
|
|
1945
|
-
data_handling: { pii_detection: false },
|
|
1946
|
-
approval_policy: {
|
|
1947
|
-
require_manual_approval_for: [
|
|
1948
|
-
'Emergency load shedding recommendations',
|
|
1949
|
-
'Equipment shutdown orders',
|
|
1950
|
-
'Maintenance work orders above $50K',
|
|
1951
|
-
],
|
|
1952
|
-
auto_approved: [
|
|
1953
|
-
'Sensor data ingestion and processing',
|
|
1954
|
-
'Anomaly detection and alerting',
|
|
1955
|
-
'Load balancing recommendations',
|
|
1956
|
-
],
|
|
1957
|
-
},
|
|
1958
|
-
token_limits: { per_run: '60K', per_day: '1M', per_month: '15M' },
|
|
1959
|
-
},
|
|
1960
|
-
],
|
|
1961
|
-
evals: [
|
|
1962
|
-
{ name: 'Anomaly Detection Accuracy', category: 'coding', task_count: 600 },
|
|
1963
|
-
{
|
|
1964
|
-
name: 'Failure Prediction Lead Time',
|
|
1965
|
-
category: 'reasoning',
|
|
1966
|
-
task_count: 300,
|
|
1967
|
-
},
|
|
1968
|
-
{ name: 'Grid Stability Score', category: 'coding', task_count: 200 },
|
|
1969
|
-
],
|
|
1970
|
-
codemode: { enabled: true, token_reduction: '~95%', speedup: '~3× faster' },
|
|
1971
|
-
output: {
|
|
1972
|
-
formats: ['Dashboard', 'PDF', 'JSON'],
|
|
1973
|
-
template: 'Grid Operations Report',
|
|
1974
|
-
storage: '/outputs/grid-operations/',
|
|
1975
|
-
},
|
|
1976
|
-
advanced: {
|
|
1977
|
-
cost_limit: '$6.00 per run',
|
|
1978
|
-
time_limit: '600 seconds',
|
|
1979
|
-
max_iterations: 40,
|
|
1980
|
-
validation: 'All sensor readings must be validated against equipment specifications. Failure predictions must include confidence intervals and risk scores.\n',
|
|
1981
|
-
},
|
|
1138
|
+
guardrails: [{ "name": "Grid Operations Agent", "identity_provider": "datalayer", "identity_name": "grid-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": false, "send:email": true, "deploy:production": false }, "data_handling": { "pii_detection": false }, "approval_policy": { "require_manual_approval_for": ["Emergency load shedding recommendations", "Equipment shutdown orders", "Maintenance work orders above $50K"], "auto_approved": ["Sensor data ingestion and processing", "Anomaly detection and alerting", "Load balancing recommendations"] }, "token_limits": { "per_run": "60K", "per_day": "1M", "per_month": "15M" } }],
|
|
1139
|
+
evals: [{ "name": "Anomaly Detection Accuracy", "category": "coding", "task_count": 600 }, { "name": "Failure Prediction Lead Time", "category": "reasoning", "task_count": 300 }, { "name": "Grid Stability Score", "category": "coding", "task_count": 200 }],
|
|
1140
|
+
codemode: { "enabled": true, "token_reduction": "~95%", "speedup": "~3× faster" },
|
|
1141
|
+
output: { "formats": ["Dashboard", "PDF", "JSON"], "template": "Grid Operations Report", "storage": "/outputs/grid-operations/" },
|
|
1142
|
+
advanced: { "cost_limit": "$6.00 per run", "time_limit": "600 seconds", "max_iterations": 40, "validation": "All sensor readings must be validated against equipment specifications. Failure predictions must include confidence intervals and risk scores.\n" },
|
|
1982
1143
|
authorizationPolicy: '',
|
|
1983
|
-
notifications: { email:
|
|
1144
|
+
notifications: { "email": "grid-ops@company.com", "slack": "#grid-operations" },
|
|
1984
1145
|
memory: 'ephemeral',
|
|
1985
1146
|
};
|
|
1986
1147
|
export const PROCESS_CITIZEN_REQUESTS_AGENT_SPEC_0_0_1 = {
|
|
@@ -1988,33 +1149,20 @@ export const PROCESS_CITIZEN_REQUESTS_AGENT_SPEC_0_0_1 = {
|
|
|
1988
1149
|
version: '0.0.1',
|
|
1989
1150
|
name: 'Process Citizen Requests',
|
|
1990
1151
|
description: `A multi-agent team that automates citizen request processing for government agencies. Classifies and triages permits, FOIA requests, and benefit claims from multiple channels. Models policy impacts across population datasets and ensures every automated decision is explainable, auditable, and compliant with transparency mandates.`,
|
|
1991
|
-
tags: [
|
|
1992
|
-
'government',
|
|
1993
|
-
'public-sector',
|
|
1994
|
-
'civic',
|
|
1995
|
-
'policy',
|
|
1996
|
-
'compliance',
|
|
1997
|
-
'transparency',
|
|
1998
|
-
],
|
|
1152
|
+
tags: ['government', 'public-sector', 'civic', 'policy', 'compliance', 'transparency'],
|
|
1999
1153
|
enabled: false,
|
|
2000
1154
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
2001
1155
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
2002
|
-
skills: [
|
|
2003
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
2004
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
2005
|
-
],
|
|
1156
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2006
1157
|
tools: [],
|
|
2007
|
-
frontendTools: [
|
|
2008
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2009
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2010
|
-
],
|
|
1158
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2011
1159
|
environmentName: 'ai-agents-env',
|
|
2012
1160
|
icon: 'organization',
|
|
2013
1161
|
emoji: '🏛️',
|
|
2014
1162
|
color: '#0550ae',
|
|
2015
1163
|
suggestions: [
|
|
2016
|
-
|
|
2017
|
-
|
|
1164
|
+
'Show today\'s citizen request intake summary',
|
|
1165
|
+
'What\'s the current processing backlog by type?',
|
|
2018
1166
|
'Run a policy impact simulation for the proposed zoning change',
|
|
2019
1167
|
'Generate a transparency report for this quarter',
|
|
2020
1168
|
'Which requests are overdue for response?',
|
|
@@ -2029,76 +1177,16 @@ export const PROCESS_CITIZEN_REQUESTS_AGENT_SPEC_0_0_1 = {
|
|
|
2029
1177
|
goal: `Process citizen requests from web portals, email, and scanned documents. Classify by type, urgency, and jurisdiction, route to appropriate departments, model policy impacts across population datasets with Monte Carlo simulation, and generate explainable, auditable decision documentation for public record.`,
|
|
2030
1178
|
protocol: 'vercel-ai',
|
|
2031
1179
|
uiExtension: 'a2ui',
|
|
2032
|
-
trigger: {
|
|
2033
|
-
type: 'event',
|
|
2034
|
-
description: 'Triggered on new citizen request submission from any channel',
|
|
2035
|
-
prompt: 'Handle this event trigger: Triggered on new citizen request submission from any channel',
|
|
2036
|
-
},
|
|
1180
|
+
trigger: { "type": "event", "description": "Triggered on new citizen request submission from any channel", "prompt": "Handle this event trigger: Triggered on new citizen request submission from any channel" },
|
|
2037
1181
|
modelConfig: undefined,
|
|
2038
1182
|
mcpServerTools: undefined,
|
|
2039
|
-
guardrails: [
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
permissions: {
|
|
2045
|
-
'read:data': true,
|
|
2046
|
-
'write:data': true,
|
|
2047
|
-
'execute:code': true,
|
|
2048
|
-
'access:internet': false,
|
|
2049
|
-
'send:email': true,
|
|
2050
|
-
'deploy:production': false,
|
|
2051
|
-
},
|
|
2052
|
-
data_scope: {
|
|
2053
|
-
denied_fields: ['*SSN*', '*TaxId*', '*BankAccount*', '*CreditCard*'],
|
|
2054
|
-
},
|
|
2055
|
-
data_handling: {
|
|
2056
|
-
pii_detection: true,
|
|
2057
|
-
pii_action: 'redact',
|
|
2058
|
-
default_aggregation: true,
|
|
2059
|
-
},
|
|
2060
|
-
approval_policy: {
|
|
2061
|
-
require_manual_approval_for: [
|
|
2062
|
-
'Benefit denial decisions',
|
|
2063
|
-
'Policy recommendations affecting more than 1,000 citizens',
|
|
2064
|
-
'Any FOIA response containing redacted content',
|
|
2065
|
-
'Escalations to elected officials',
|
|
2066
|
-
],
|
|
2067
|
-
auto_approved: [
|
|
2068
|
-
'Request classification and triage',
|
|
2069
|
-
'Standard permit processing',
|
|
2070
|
-
'Aggregated statistics and reporting',
|
|
2071
|
-
],
|
|
2072
|
-
},
|
|
2073
|
-
token_limits: { per_run: '40K', per_day: '400K', per_month: '5M' },
|
|
2074
|
-
},
|
|
2075
|
-
],
|
|
2076
|
-
evals: [
|
|
2077
|
-
{ name: 'Classification Accuracy', category: 'reasoning', task_count: 500 },
|
|
2078
|
-
{ name: 'Processing Time Reduction', category: 'coding', task_count: 300 },
|
|
2079
|
-
{
|
|
2080
|
-
name: 'Transparency Compliance Score',
|
|
2081
|
-
category: 'safety',
|
|
2082
|
-
task_count: 200,
|
|
2083
|
-
},
|
|
2084
|
-
],
|
|
2085
|
-
codemode: { enabled: true, token_reduction: '~85%', speedup: '~2× faster' },
|
|
2086
|
-
output: {
|
|
2087
|
-
formats: ['PDF', 'JSON', 'Dashboard'],
|
|
2088
|
-
template: 'Citizen Services Report',
|
|
2089
|
-
storage: '/outputs/citizen-requests/',
|
|
2090
|
-
},
|
|
2091
|
-
advanced: {
|
|
2092
|
-
cost_limit: '$4.00 per run',
|
|
2093
|
-
time_limit: '300 seconds',
|
|
2094
|
-
max_iterations: 30,
|
|
2095
|
-
validation: 'All automated decisions must include human-readable explanations. Every action must be logged with timestamps for FOIA compliance.\n',
|
|
2096
|
-
},
|
|
1183
|
+
guardrails: [{ "name": "Government Services Agent", "identity_provider": "datalayer", "identity_name": "civic-bot@agency.gov", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": false, "send:email": true, "deploy:production": false }, "data_scope": { "denied_fields": ["*SSN*", "*TaxId*", "*BankAccount*", "*CreditCard*"] }, "data_handling": { "pii_detection": true, "pii_action": "redact", "default_aggregation": true }, "approval_policy": { "require_manual_approval_for": ["Benefit denial decisions", "Policy recommendations affecting more than 1,000 citizens", "Any FOIA response containing redacted content", "Escalations to elected officials"], "auto_approved": ["Request classification and triage", "Standard permit processing", "Aggregated statistics and reporting"] }, "token_limits": { "per_run": "40K", "per_day": "400K", "per_month": "5M" } }],
|
|
1184
|
+
evals: [{ "name": "Classification Accuracy", "category": "reasoning", "task_count": 500 }, { "name": "Processing Time Reduction", "category": "coding", "task_count": 300 }, { "name": "Transparency Compliance Score", "category": "safety", "task_count": 200 }],
|
|
1185
|
+
codemode: { "enabled": true, "token_reduction": "~85%", "speedup": "~2× faster" },
|
|
1186
|
+
output: { "formats": ["PDF", "JSON", "Dashboard"], "template": "Citizen Services Report", "storage": "/outputs/citizen-requests/" },
|
|
1187
|
+
advanced: { "cost_limit": "$4.00 per run", "time_limit": "300 seconds", "max_iterations": 30, "validation": "All automated decisions must include human-readable explanations. Every action must be logged with timestamps for FOIA compliance.\n" },
|
|
2097
1188
|
authorizationPolicy: '',
|
|
2098
|
-
notifications: {
|
|
2099
|
-
email: 'citizen-services@agency.gov',
|
|
2100
|
-
slack: '#citizen-services',
|
|
2101
|
-
},
|
|
1189
|
+
notifications: { "email": "citizen-services@agency.gov", "slack": "#citizen-services" },
|
|
2102
1190
|
memory: 'ephemeral',
|
|
2103
1191
|
};
|
|
2104
1192
|
export const PROCESS_CLINICAL_TRIAL_DATA_AGENT_SPEC_0_0_1 = {
|
|
@@ -2106,25 +1194,13 @@ export const PROCESS_CLINICAL_TRIAL_DATA_AGENT_SPEC_0_0_1 = {
|
|
|
2106
1194
|
version: '0.0.1',
|
|
2107
1195
|
name: 'Process Clinical Trial Data',
|
|
2108
1196
|
description: `A multi-agent team that automates clinical trial data processing across dozens of trial sites. Harmonises patient records and lab results to CDISC SDTM format, detects safety signals and adverse events in real time, and prepares submission-ready datasets — all with strict HIPAA and GxP compliance guardrails.`,
|
|
2109
|
-
tags: [
|
|
2110
|
-
'healthcare',
|
|
2111
|
-
'pharma',
|
|
2112
|
-
'clinical-trials',
|
|
2113
|
-
'patient-data',
|
|
2114
|
-
'compliance',
|
|
2115
|
-
],
|
|
1197
|
+
tags: ['healthcare', 'pharma', 'clinical-trials', 'patient-data', 'compliance'],
|
|
2116
1198
|
enabled: false,
|
|
2117
1199
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
2118
1200
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
2119
|
-
skills: [
|
|
2120
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
2121
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
2122
|
-
],
|
|
1201
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2123
1202
|
tools: [],
|
|
2124
|
-
frontendTools: [
|
|
2125
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2126
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2127
|
-
],
|
|
1203
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2128
1204
|
environmentName: 'ai-agents-env',
|
|
2129
1205
|
icon: 'heart',
|
|
2130
1206
|
emoji: '🏥',
|
|
@@ -2146,78 +1222,16 @@ export const PROCESS_CLINICAL_TRIAL_DATA_AGENT_SPEC_0_0_1 = {
|
|
|
2146
1222
|
goal: `Process clinical trial data from multiple sites: ingest patient records and lab results, harmonise to CDISC SDTM format with MedDRA coding, screen for adverse events and safety signals in real time, and prepare submission-ready datasets with full validation and audit trails.`,
|
|
2147
1223
|
protocol: 'vercel-ai',
|
|
2148
1224
|
uiExtension: 'a2ui',
|
|
2149
|
-
trigger: {
|
|
2150
|
-
type: 'event',
|
|
2151
|
-
description: 'Triggered on new data batch arrival from clinical sites',
|
|
2152
|
-
prompt: 'Handle this event trigger: Triggered on new data batch arrival from clinical sites',
|
|
2153
|
-
},
|
|
1225
|
+
trigger: { "type": "event", "description": "Triggered on new data batch arrival from clinical sites", "prompt": "Handle this event trigger: Triggered on new data batch arrival from clinical sites" },
|
|
2154
1226
|
modelConfig: undefined,
|
|
2155
1227
|
mcpServerTools: undefined,
|
|
2156
|
-
guardrails: [
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
permissions: {
|
|
2162
|
-
'read:data': true,
|
|
2163
|
-
'write:data': false,
|
|
2164
|
-
'execute:code': true,
|
|
2165
|
-
'access:internet': false,
|
|
2166
|
-
'send:email': false,
|
|
2167
|
-
'deploy:production': false,
|
|
2168
|
-
},
|
|
2169
|
-
data_scope: {
|
|
2170
|
-
denied_fields: [
|
|
2171
|
-
'*SSN*',
|
|
2172
|
-
'*PatientName*',
|
|
2173
|
-
'*DateOfBirth*',
|
|
2174
|
-
'*Address*',
|
|
2175
|
-
'*Phone*',
|
|
2176
|
-
'*Email*',
|
|
2177
|
-
],
|
|
2178
|
-
},
|
|
2179
|
-
data_handling: {
|
|
2180
|
-
pii_detection: true,
|
|
2181
|
-
pii_action: 'redact',
|
|
2182
|
-
default_aggregation: true,
|
|
2183
|
-
},
|
|
2184
|
-
approval_policy: {
|
|
2185
|
-
require_manual_approval_for: [
|
|
2186
|
-
'Any serious adverse event (SAE) escalation',
|
|
2187
|
-
'Patient-level data exports',
|
|
2188
|
-
'Safety signal notifications to regulators',
|
|
2189
|
-
],
|
|
2190
|
-
auto_approved: [
|
|
2191
|
-
'Aggregated site-level statistics',
|
|
2192
|
-
'SDTM dataset transformations',
|
|
2193
|
-
],
|
|
2194
|
-
},
|
|
2195
|
-
token_limits: { per_run: '80K', per_day: '500K', per_month: '5M' },
|
|
2196
|
-
},
|
|
2197
|
-
],
|
|
2198
|
-
evals: [
|
|
2199
|
-
{ name: 'SDTM Mapping Accuracy', category: 'coding', task_count: 500 },
|
|
2200
|
-
{
|
|
2201
|
-
name: 'Adverse Event Detection Rate',
|
|
2202
|
-
category: 'safety',
|
|
2203
|
-
task_count: 300,
|
|
2204
|
-
},
|
|
2205
|
-
{ name: 'Data Quality Score', category: 'reasoning', task_count: 200 },
|
|
2206
|
-
],
|
|
2207
|
-
codemode: { enabled: true, token_reduction: '~95%', speedup: '~3× faster' },
|
|
2208
|
-
output: {
|
|
2209
|
-
formats: ['SDTM Dataset', 'PDF', 'Define.xml'],
|
|
2210
|
-
template: 'Clinical Trial Data Package',
|
|
2211
|
-
storage: '/outputs/clinical-trials/',
|
|
2212
|
-
},
|
|
2213
|
-
advanced: {
|
|
2214
|
-
cost_limit: '$8.00 per run',
|
|
2215
|
-
time_limit: '900 seconds',
|
|
2216
|
-
max_iterations: 50,
|
|
2217
|
-
validation: 'All datasets must pass CDISC SDTM validation rules. PHI must never be sent through the LLM — all patient data processed via Codemode only.\n',
|
|
2218
|
-
},
|
|
1228
|
+
guardrails: [{ "name": "HIPAA Compliant Clinical Agent", "identity_provider": "datalayer", "identity_name": "clinical-bot@acme.com", "permissions": { "read:data": true, "write:data": false, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "data_scope": { "denied_fields": ["*SSN*", "*PatientName*", "*DateOfBirth*", "*Address*", "*Phone*", "*Email*"] }, "data_handling": { "pii_detection": true, "pii_action": "redact", "default_aggregation": true }, "approval_policy": { "require_manual_approval_for": ["Any serious adverse event (SAE) escalation", "Patient-level data exports", "Safety signal notifications to regulators"], "auto_approved": ["Aggregated site-level statistics", "SDTM dataset transformations"] }, "token_limits": { "per_run": "80K", "per_day": "500K", "per_month": "5M" } }],
|
|
1229
|
+
evals: [{ "name": "SDTM Mapping Accuracy", "category": "coding", "task_count": 500 }, { "name": "Adverse Event Detection Rate", "category": "safety", "task_count": 300 }, { "name": "Data Quality Score", "category": "reasoning", "task_count": 200 }],
|
|
1230
|
+
codemode: { "enabled": true, "token_reduction": "~95%", "speedup": "~3× faster" },
|
|
1231
|
+
output: { "formats": ["SDTM Dataset", "PDF", "Define.xml"], "template": "Clinical Trial Data Package", "storage": "/outputs/clinical-trials/" },
|
|
1232
|
+
advanced: { "cost_limit": "$8.00 per run", "time_limit": "900 seconds", "max_iterations": 50, "validation": "All datasets must pass CDISC SDTM validation rules. PHI must never be sent through the LLM — all patient data processed via Codemode only.\n" },
|
|
2219
1233
|
authorizationPolicy: '',
|
|
2220
|
-
notifications: { email:
|
|
1234
|
+
notifications: { "email": "clinical-ops@company.com", "slack": "#clinical-data" },
|
|
2221
1235
|
memory: 'ephemeral',
|
|
2222
1236
|
};
|
|
2223
1237
|
export const PROCESS_FINANCIAL_TRANSACTIONS_AGENT_SPEC_0_0_1 = {
|
|
@@ -2225,25 +1239,13 @@ export const PROCESS_FINANCIAL_TRANSACTIONS_AGENT_SPEC_0_0_1 = {
|
|
|
2225
1239
|
version: '0.0.1',
|
|
2226
1240
|
name: 'Process Financial Transactions',
|
|
2227
1241
|
description: `Processes and validates financial transactions across accounts. Reconciles balances, detects anomalies, enforces compliance rules, and generates audit-ready transaction reports.`,
|
|
2228
|
-
tags: [
|
|
2229
|
-
'moderation',
|
|
2230
|
-
'finance',
|
|
2231
|
-
'transactions',
|
|
2232
|
-
'compliance',
|
|
2233
|
-
'reconciliation',
|
|
2234
|
-
],
|
|
1242
|
+
tags: ['moderation', 'finance', 'transactions', 'compliance', 'reconciliation'],
|
|
2235
1243
|
enabled: false,
|
|
2236
1244
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
2237
1245
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
2238
|
-
skills: [
|
|
2239
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
2240
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
2241
|
-
],
|
|
1246
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2242
1247
|
tools: [],
|
|
2243
|
-
frontendTools: [
|
|
2244
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2245
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2246
|
-
],
|
|
1248
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2247
1249
|
environmentName: 'ai-agents-env',
|
|
2248
1250
|
icon: 'credit-card',
|
|
2249
1251
|
emoji: '💳',
|
|
@@ -2264,60 +1266,16 @@ export const PROCESS_FINANCIAL_TRANSACTIONS_AGENT_SPEC_0_0_1 = {
|
|
|
2264
1266
|
goal: `Process and validate incoming financial transaction batches. Reconcile balances across accounts, run AML compliance checks, flag suspicious transactions for human review, and generate audit-ready reports.`,
|
|
2265
1267
|
protocol: 'vercel-ai',
|
|
2266
1268
|
uiExtension: 'a2ui',
|
|
2267
|
-
trigger: {
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
},
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
server: 'Transaction Ledger',
|
|
2276
|
-
tools: [
|
|
2277
|
-
{ name: 'fetch_transactions', approval: 'auto' },
|
|
2278
|
-
{ name: 'validate_transaction', approval: 'auto' },
|
|
2279
|
-
{ name: 'flag_suspicious', approval: 'manual' },
|
|
2280
|
-
{ name: 'reconcile_balances', approval: 'auto' },
|
|
2281
|
-
],
|
|
2282
|
-
},
|
|
2283
|
-
{
|
|
2284
|
-
server: 'Compliance Engine',
|
|
2285
|
-
tools: [
|
|
2286
|
-
{ name: 'check_aml_rules', approval: 'auto' },
|
|
2287
|
-
{ name: 'generate_sar', approval: 'manual' },
|
|
2288
|
-
],
|
|
2289
|
-
},
|
|
2290
|
-
],
|
|
2291
|
-
guardrails: [
|
|
2292
|
-
{
|
|
2293
|
-
name: 'Financial Data Handler',
|
|
2294
|
-
identity_provider: 'datalayer',
|
|
2295
|
-
identity_name: 'finance-bot@acme.com',
|
|
2296
|
-
permissions: {
|
|
2297
|
-
'read:data': true,
|
|
2298
|
-
'write:data': true,
|
|
2299
|
-
'execute:code': true,
|
|
2300
|
-
'access:internet': false,
|
|
2301
|
-
'send:email': false,
|
|
2302
|
-
'deploy:production': false,
|
|
2303
|
-
},
|
|
2304
|
-
token_limits: { per_run: '30K', per_day: '300K', per_month: '3M' },
|
|
2305
|
-
},
|
|
2306
|
-
],
|
|
2307
|
-
evals: [
|
|
2308
|
-
{ name: 'Transaction Accuracy', category: 'coding', task_count: 500 },
|
|
2309
|
-
{ name: 'AML Detection Rate', category: 'safety', task_count: 200 },
|
|
2310
|
-
],
|
|
2311
|
-
codemode: { enabled: true, token_reduction: '~85%', speedup: '~1.5× faster' },
|
|
2312
|
-
output: { type: 'PDF', template: 'transaction_audit_report.pdf' },
|
|
2313
|
-
advanced: {
|
|
2314
|
-
cost_limit: '$3.00 per run',
|
|
2315
|
-
time_limit: '600 seconds',
|
|
2316
|
-
max_iterations: 30,
|
|
2317
|
-
validation: 'All transactions must reconcile to zero net balance',
|
|
2318
|
-
},
|
|
1269
|
+
trigger: { "type": "event", "description": "Triggered on new transaction batch arrival", "prompt": "Handle this event trigger: Triggered on new transaction batch arrival" },
|
|
1270
|
+
modelConfig: { "temperature": 0.1, "max_tokens": 4096 },
|
|
1271
|
+
mcpServerTools: [{ "server": "Transaction Ledger", "tools": [{ "name": "fetch_transactions", "approval": "auto" }, { "name": "validate_transaction", "approval": "auto" }, { "name": "flag_suspicious", "approval": "manual" }, { "name": "reconcile_balances", "approval": "auto" }] }, { "server": "Compliance Engine", "tools": [{ "name": "check_aml_rules", "approval": "auto" }, { "name": "generate_sar", "approval": "manual" }] }],
|
|
1272
|
+
guardrails: [{ "name": "Financial Data Handler", "identity_provider": "datalayer", "identity_name": "finance-bot@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "30K", "per_day": "300K", "per_month": "3M" } }],
|
|
1273
|
+
evals: [{ "name": "Transaction Accuracy", "category": "coding", "task_count": 500 }, { "name": "AML Detection Rate", "category": "safety", "task_count": 200 }],
|
|
1274
|
+
codemode: { "enabled": true, "token_reduction": "~85%", "speedup": "~1.5× faster" },
|
|
1275
|
+
output: { "type": "PDF", "template": "transaction_audit_report.pdf" },
|
|
1276
|
+
advanced: { "cost_limit": "$3.00 per run", "time_limit": "600 seconds", "max_iterations": 30, "validation": "All transactions must reconcile to zero net balance" },
|
|
2319
1277
|
authorizationPolicy: '',
|
|
2320
|
-
notifications: { email:
|
|
1278
|
+
notifications: { "email": "david.t@company.com", "slack": "#finance-ops" },
|
|
2321
1279
|
memory: 'ephemeral',
|
|
2322
1280
|
};
|
|
2323
1281
|
export const SPATIAL_DATA_ANALYSIS_AGENT_SPEC_0_0_1 = {
|
|
@@ -2328,17 +1286,10 @@ export const SPATIAL_DATA_ANALYSIS_AGENT_SPEC_0_0_1 = {
|
|
|
2328
1286
|
tags: ['geospatial', 'climate', 'earth-observation', 'analytics'],
|
|
2329
1287
|
enabled: true,
|
|
2330
1288
|
model: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
2331
|
-
mcpServers: [
|
|
2332
|
-
MCP_SERVER_MAP['earthdata:0.0.1'],
|
|
2333
|
-
MCP_SERVER_MAP['eurus:0.0.1'],
|
|
2334
|
-
MCP_SERVER_MAP['filesystem:0.0.1'],
|
|
2335
|
-
],
|
|
1289
|
+
mcpServers: [MCP_SERVER_MAP['earthdata:0.0.1'], MCP_SERVER_MAP['eurus:0.0.1'], MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
2336
1290
|
skills: [toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2337
1291
|
tools: [],
|
|
2338
|
-
frontendTools: [
|
|
2339
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2340
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2341
|
-
],
|
|
1292
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2342
1293
|
environmentName: 'ai-agents-env',
|
|
2343
1294
|
icon: 'globe',
|
|
2344
1295
|
emoji: '🛰️',
|
|
@@ -2349,7 +1300,7 @@ export const SPATIAL_DATA_ANALYSIS_AGENT_SPEC_0_0_1 = {
|
|
|
2349
1300
|
'Compare two regions for drought indicators and summarize differences',
|
|
2350
1301
|
'Generate an event log for each processing step',
|
|
2351
1302
|
],
|
|
2352
|
-
welcomeMessage:
|
|
1303
|
+
welcomeMessage: "Hello, I am the Spatial Data Analysis Agent. I can discover Earthdata datasets, run Eurus-powered spatial analyses, and generate reproducible outputs for geospatial investigations.\n",
|
|
2353
1304
|
welcomeNotebook: undefined,
|
|
2354
1305
|
welcomeDocument: undefined,
|
|
2355
1306
|
sandboxVariant: 'jupyter',
|
|
@@ -2360,7 +1311,7 @@ export const SPATIAL_DATA_ANALYSIS_AGENT_SPEC_0_0_1 = {
|
|
|
2360
1311
|
## Workflow Guidance 1. Discover available Earthdata and Eurus tools. 2. Validate spatial/temporal parameters before execution. 3. Execute transformations in code and keep outputs concise. 4. Persist important run states as events.
|
|
2361
1312
|
`,
|
|
2362
1313
|
goal: undefined,
|
|
2363
|
-
protocol:
|
|
1314
|
+
protocol: 'vercel-ai',
|
|
2364
1315
|
uiExtension: undefined,
|
|
2365
1316
|
trigger: undefined,
|
|
2366
1317
|
modelConfig: undefined,
|
|
@@ -2379,25 +1330,13 @@ export const SUMMARIZE_DOCUMENTS_AGENT_SPEC_0_0_1 = {
|
|
|
2379
1330
|
version: '0.0.1',
|
|
2380
1331
|
name: 'Summarize Documents',
|
|
2381
1332
|
description: `A generic document summarization agent that processes PDFs, Word files, Markdown, and plain text. Produces structured executive summaries with key findings, action items, and metadata extraction. Useful across every industry vertical — from legal contracts to research papers.`,
|
|
2382
|
-
tags: [
|
|
2383
|
-
'documents',
|
|
2384
|
-
'summarization',
|
|
2385
|
-
'horizontal',
|
|
2386
|
-
'automation',
|
|
2387
|
-
'productivity',
|
|
2388
|
-
],
|
|
1333
|
+
tags: ['documents', 'summarization', 'horizontal', 'automation', 'productivity'],
|
|
2389
1334
|
enabled: false,
|
|
2390
1335
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
2391
1336
|
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1']],
|
|
2392
|
-
skills: [
|
|
2393
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
2394
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
2395
|
-
],
|
|
1337
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2396
1338
|
tools: [],
|
|
2397
|
-
frontendTools: [
|
|
2398
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2399
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2400
|
-
],
|
|
1339
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2401
1340
|
environmentName: 'ai-agents-env',
|
|
2402
1341
|
icon: 'file',
|
|
2403
1342
|
emoji: '📄',
|
|
@@ -2412,61 +1351,16 @@ export const SUMMARIZE_DOCUMENTS_AGENT_SPEC_0_0_1 = {
|
|
|
2412
1351
|
goal: `Summarize uploaded documents (PDFs, Word, Markdown, text) into structured executive summaries. Extract key findings, decisions, action items, dates, and named entities. Output a concise summary (max 500 words) plus metadata in JSON format.`,
|
|
2413
1352
|
protocol: 'vercel-ai',
|
|
2414
1353
|
uiExtension: 'a2ui',
|
|
2415
|
-
trigger: {
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
},
|
|
2421
|
-
modelConfig: { temperature: 0.2, max_tokens: 4096 },
|
|
2422
|
-
mcpServerTools: [
|
|
2423
|
-
{
|
|
2424
|
-
server: 'Document Reader',
|
|
2425
|
-
tools: [
|
|
2426
|
-
{ name: 'read_pdf', approval: 'auto' },
|
|
2427
|
-
{ name: 'read_docx', approval: 'auto' },
|
|
2428
|
-
{ name: 'extract_text', approval: 'auto' },
|
|
2429
|
-
],
|
|
2430
|
-
},
|
|
2431
|
-
{
|
|
2432
|
-
server: 'Output Writer',
|
|
2433
|
-
tools: [
|
|
2434
|
-
{ name: 'write_summary', approval: 'auto' },
|
|
2435
|
-
{ name: 'store_metadata', approval: 'auto' },
|
|
2436
|
-
],
|
|
2437
|
-
},
|
|
2438
|
-
],
|
|
2439
|
-
guardrails: [
|
|
2440
|
-
{
|
|
2441
|
-
name: 'Default Platform User',
|
|
2442
|
-
identity_provider: 'datalayer',
|
|
2443
|
-
identity_name: 'doc-agent@acme.com',
|
|
2444
|
-
permissions: {
|
|
2445
|
-
'read:data': true,
|
|
2446
|
-
'write:data': true,
|
|
2447
|
-
'execute:code': true,
|
|
2448
|
-
'access:internet': false,
|
|
2449
|
-
'send:email': false,
|
|
2450
|
-
'deploy:production': false,
|
|
2451
|
-
},
|
|
2452
|
-
token_limits: { per_run: '30K', per_day: '300K', per_month: '3M' },
|
|
2453
|
-
},
|
|
2454
|
-
],
|
|
2455
|
-
evals: [
|
|
2456
|
-
{ name: 'Summarization Accuracy', category: 'reasoning', task_count: 350 },
|
|
2457
|
-
{ name: 'Key Finding Extraction', category: 'reasoning', task_count: 280 },
|
|
2458
|
-
{ name: 'Action Item Detection', category: 'coding', task_count: 200 },
|
|
2459
|
-
],
|
|
1354
|
+
trigger: { "type": "event", "event": "document_uploaded", "description": "Triggered when a new document is uploaded to the workspace", "prompt": "Handle the 'document_uploaded' event and execute the workflow end-to-end." },
|
|
1355
|
+
modelConfig: { "temperature": 0.2, "max_tokens": 4096 },
|
|
1356
|
+
mcpServerTools: [{ "server": "Document Reader", "tools": [{ "name": "read_pdf", "approval": "auto" }, { "name": "read_docx", "approval": "auto" }, { "name": "extract_text", "approval": "auto" }] }, { "server": "Output Writer", "tools": [{ "name": "write_summary", "approval": "auto" }, { "name": "store_metadata", "approval": "auto" }] }],
|
|
1357
|
+
guardrails: [{ "name": "Default Platform User", "identity_provider": "datalayer", "identity_name": "doc-agent@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": false, "send:email": false, "deploy:production": false }, "token_limits": { "per_run": "30K", "per_day": "300K", "per_month": "3M" } }],
|
|
1358
|
+
evals: [{ "name": "Summarization Accuracy", "category": "reasoning", "task_count": 350 }, { "name": "Key Finding Extraction", "category": "reasoning", "task_count": 280 }, { "name": "Action Item Detection", "category": "coding", "task_count": 200 }],
|
|
2460
1359
|
codemode: undefined,
|
|
2461
|
-
output: {
|
|
2462
|
-
type: 'Markdown',
|
|
2463
|
-
formats: ['Markdown', 'JSON'],
|
|
2464
|
-
template: 'executive-summary-v1',
|
|
2465
|
-
storage: 's3://acme-summaries/',
|
|
2466
|
-
},
|
|
1360
|
+
output: { "type": "Markdown", "formats": ["Markdown", "JSON"], "template": "executive-summary-v1", "storage": "s3://acme-summaries/" },
|
|
2467
1361
|
advanced: undefined,
|
|
2468
1362
|
authorizationPolicy: undefined,
|
|
2469
|
-
notifications: { slack:
|
|
1363
|
+
notifications: { "slack": "#document-summaries", "email": "team@acme.com" },
|
|
2470
1364
|
memory: 'ephemeral',
|
|
2471
1365
|
};
|
|
2472
1366
|
export const SYNC_CRM_CONTACTS_AGENT_SPEC_0_0_1 = {
|
|
@@ -2477,19 +1371,10 @@ export const SYNC_CRM_CONTACTS_AGENT_SPEC_0_0_1 = {
|
|
|
2477
1371
|
tags: ['sales', 'crm', 'data-sync', 'deduplication'],
|
|
2478
1372
|
enabled: false,
|
|
2479
1373
|
model: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
2480
|
-
mcpServers: [
|
|
2481
|
-
|
|
2482
|
-
MCP_SERVER_MAP['slack:0.0.1'],
|
|
2483
|
-
],
|
|
2484
|
-
skills: [
|
|
2485
|
-
toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']),
|
|
2486
|
-
toAgentSkillSpec(SKILL_MAP['events:0.0.1']),
|
|
2487
|
-
],
|
|
1374
|
+
mcpServers: [MCP_SERVER_MAP['filesystem:0.0.1'], MCP_SERVER_MAP['slack:0.0.1']],
|
|
1375
|
+
skills: [toAgentSkillSpec(SKILL_MAP['pdf:0.0.1']), toAgentSkillSpec(SKILL_MAP['events:0.0.1'])],
|
|
2488
1376
|
tools: [],
|
|
2489
|
-
frontendTools: [
|
|
2490
|
-
FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
|
|
2491
|
-
FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
|
|
2492
|
-
],
|
|
1377
|
+
frontendTools: [FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'], FRONTEND_TOOL_MAP['lexical-document:0.0.1']],
|
|
2493
1378
|
environmentName: 'ai-agents-env',
|
|
2494
1379
|
icon: 'people',
|
|
2495
1380
|
emoji: '🔄',
|
|
@@ -2510,48 +1395,16 @@ export const SYNC_CRM_CONTACTS_AGENT_SPEC_0_0_1 = {
|
|
|
2510
1395
|
goal: `Collect and aggregate contact data from multiple CRM sources, analyze and deduplicate records, write cleaned data back to CRM systems, and generate sync summary reports with notifications.`,
|
|
2511
1396
|
protocol: 'vercel-ai',
|
|
2512
1397
|
uiExtension: 'a2ui',
|
|
2513
|
-
trigger: {
|
|
2514
|
-
type: 'schedule',
|
|
2515
|
-
cron: '0 2 * * *',
|
|
2516
|
-
description: 'Daily at 02:00 — sync CRM contacts across all sources during off-peak hours.\n',
|
|
2517
|
-
prompt: 'Run the scheduled workflow and produce the configured deliverable.',
|
|
2518
|
-
},
|
|
1398
|
+
trigger: { "type": "schedule", "cron": "0 2 * * *", "description": "Daily at 02:00 — sync CRM contacts across all sources during off-peak hours.\n", "prompt": "Run the scheduled workflow and produce the configured deliverable." },
|
|
2519
1399
|
modelConfig: undefined,
|
|
2520
1400
|
mcpServerTools: undefined,
|
|
2521
|
-
guardrails: [
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
permissions: {
|
|
2527
|
-
'read:data': true,
|
|
2528
|
-
'write:data': true,
|
|
2529
|
-
'execute:code': true,
|
|
2530
|
-
'access:internet': true,
|
|
2531
|
-
'send:email': true,
|
|
2532
|
-
'deploy:production': false,
|
|
2533
|
-
},
|
|
2534
|
-
token_limits: { per_run: '60K', per_day: '600K', per_month: '6M' },
|
|
2535
|
-
},
|
|
2536
|
-
],
|
|
2537
|
-
evals: [
|
|
2538
|
-
{ name: 'Data Quality', category: 'coding', task_count: 300 },
|
|
2539
|
-
{ name: 'Deduplication Accuracy', category: 'reasoning', task_count: 150 },
|
|
2540
|
-
],
|
|
2541
|
-
codemode: { enabled: true, token_reduction: '~85%', speedup: '~1.5× faster' },
|
|
2542
|
-
output: {
|
|
2543
|
-
formats: ['JSON', 'PDF'],
|
|
2544
|
-
template: 'CRM Sync Report',
|
|
2545
|
-
storage: '/outputs/crm-sync/',
|
|
2546
|
-
},
|
|
2547
|
-
advanced: {
|
|
2548
|
-
cost_limit: '$10.00 per run',
|
|
2549
|
-
time_limit: '600 seconds',
|
|
2550
|
-
max_iterations: 100,
|
|
2551
|
-
validation: 'All CRM records must reconcile after sync',
|
|
2552
|
-
},
|
|
1401
|
+
guardrails: [{ "name": "GitHub CI Bot", "identity_provider": "github", "identity_name": "ci-bot@acme.com", "permissions": { "read:data": true, "write:data": true, "execute:code": true, "access:internet": true, "send:email": true, "deploy:production": false }, "token_limits": { "per_run": "60K", "per_day": "600K", "per_month": "6M" } }],
|
|
1402
|
+
evals: [{ "name": "Data Quality", "category": "coding", "task_count": 300 }, { "name": "Deduplication Accuracy", "category": "reasoning", "task_count": 150 }],
|
|
1403
|
+
codemode: { "enabled": true, "token_reduction": "~85%", "speedup": "~1.5× faster" },
|
|
1404
|
+
output: { "formats": ["JSON", "PDF"], "template": "CRM Sync Report", "storage": "/outputs/crm-sync/" },
|
|
1405
|
+
advanced: { "cost_limit": "$10.00 per run", "time_limit": "600 seconds", "max_iterations": 100, "validation": "All CRM records must reconcile after sync" },
|
|
2553
1406
|
authorizationPolicy: '',
|
|
2554
|
-
notifications: { email:
|
|
1407
|
+
notifications: { "email": "jennifer.c@company.com", "slack": "#crm-sync" },
|
|
2555
1408
|
memory: 'ephemeral',
|
|
2556
1409
|
};
|
|
2557
1410
|
// ============================================================================
|
|
@@ -2564,7 +1417,7 @@ export const AGENT_SPECS = {
|
|
|
2564
1417
|
'automate-regulatory-reporting': AUTOMATE_REGULATORY_REPORTING_AGENT_SPEC_0_0_1,
|
|
2565
1418
|
'classify-route-emails': CLASSIFY_ROUTE_EMAILS_AGENT_SPEC_0_0_1,
|
|
2566
1419
|
'comprehensive-sales-analytics': COMPREHENSIVE_SALES_ANALYTICS_AGENT_SPEC_0_0_1,
|
|
2567
|
-
crawler: CRAWLER_AGENT_SPEC_0_0_1,
|
|
1420
|
+
'crawler': CRAWLER_AGENT_SPEC_0_0_1,
|
|
2568
1421
|
'data-acquisition': DATA_ACQUISITION_AGENT_SPEC_0_0_1,
|
|
2569
1422
|
'demo-full': DEMO_FULL_AGENT_SPEC_0_0_1,
|
|
2570
1423
|
'demo-one-trigger-approval': DEMO_ONE_TRIGGER_APPROVAL_AGENT_SPEC_0_0_1,
|
|
@@ -2573,7 +1426,7 @@ export const AGENT_SPECS = {
|
|
|
2573
1426
|
'end-of-month-sales-performance': END_OF_MONTH_SALES_PERFORMANCE_AGENT_SPEC_0_0_1,
|
|
2574
1427
|
'extract-data-from-files': EXTRACT_DATA_FROM_FILES_AGENT_SPEC_0_0_1,
|
|
2575
1428
|
'financial-viz': FINANCIAL_VIZ_AGENT_SPEC_0_0_1,
|
|
2576
|
-
financial: FINANCIAL_AGENT_SPEC_0_0_1,
|
|
1429
|
+
'financial': FINANCIAL_AGENT_SPEC_0_0_1,
|
|
2577
1430
|
'generate-weekly-reports': GENERATE_WEEKLY_REPORTS_AGENT_SPEC_0_0_1,
|
|
2578
1431
|
'github-agent': GITHUB_AGENT_SPEC_0_0_1,
|
|
2579
1432
|
'information-routing': INFORMATION_ROUTING_AGENT_SPEC_0_0_1,
|
|
@@ -2611,9 +1464,7 @@ export function getAgentSpecs(agentId) {
|
|
|
2611
1464
|
*/
|
|
2612
1465
|
export function listAgentSpecs(prefix) {
|
|
2613
1466
|
const specs = Object.values(AGENT_SPECS);
|
|
2614
|
-
return prefix !== undefined
|
|
2615
|
-
? specs.filter(s => s.id.startsWith(prefix))
|
|
2616
|
-
: specs;
|
|
1467
|
+
return prefix !== undefined ? specs.filter(s => s.id.startsWith(prefix)) : specs;
|
|
2617
1468
|
}
|
|
2618
1469
|
/**
|
|
2619
1470
|
* Collect all required environment variables for an agent spec.
|