@datalayer/agent-runtimes 1.5.31 β 1.5.33
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.
|
@@ -2261,7 +2261,7 @@ contemplation. That said, any topic is fair game.
|
|
|
2261
2261
|
|
|
2262
2262
|
Do not repeat the haiku content in your text response - the UI will display it
|
|
2263
2263
|
beautifully. Just acknowledge that you've created the haiku.
|
|
2264
|
-
`,systemPromptCodemodeAddons:void 0,goal:void 0,delegable:[],protocol:"ag-ui",ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:void 0,output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},EXAMPLE_HOOKS_AGENTSPEC_0_0_1={id:"example-hooks",version:"0.0.1",name:"Example Hooks Agent",description:"Demonstrates pre-hooks and post-hooks executed in the sandbox lifecycle.",tags:["workflow","automation","analysis"],domain:void 0,enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[],skills:[].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[],environmentName:"ai-agents-env",icon:"zap",emoji:"πͺ",color:"#0E7490",suggestions:[{text:"Read the pre-hook marker file at /tmp/agent_runtimes_pre_hook_demo.txt using execute_code.",summary:"Read the pre-hook marker"},{text:"Print the hook_ran_at and hook_name variables that the pre-hook set in the sandbox.",summary:"Print the hook variables"},{text:"Run execute_code to verify that the 'rich' package was installed by the pre-hook.",summary:"Verify rich installed"},{text:"Show me all variables that the pre-hook defined in the sandbox namespace.",summary:"Pre-hook variables"},{text:"Call runtime_sensitive_echo with reason 'audit' to trigger per-tool authorization hooks.",summary:"Trigger authorization hooks"},{text:"Use execute_code to read /tmp/agent_runtimes_tool_approvals_audit.jsonl and summarize the latest authorization + execution entries.",summary:"Summarize the audit log"}],welcomeMessage:`I ran a pre-hook before starting up. It installed the 'rich' package, wrote a marker file, and set several sandbox variables (hook_name, hook_ran_at, hook_env). Ask me to read the file or inspect those variables.
|
|
2264
|
+
`,systemPromptCodemodeAddons:void 0,goal:void 0,delegable:[],protocol:"ag-ui",ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:void 0,output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},EXAMPLE_HARNESS_CLAUDE_CODE_AGENTSPEC_0_0_1={id:"example-harness-claude-code",version:"0.0.1",name:"A Claude Code Agent",description:"Claude Code as a Datalayer agent: launched in the runtime over the Agent Client Protocol, its files, terminals and permissions decided by the Shield under the application's Rules, every action in the record. Needs the account's ANTHROPIC_API_KEY.",tags:["coding","harness","acp"],domain:void 0,enabled:!1,model:void 0,mcpServers:[],skills:[].filter(Boolean),backendTools:[],frontendTools:[],environmentName:"ai-agents-env",icon:void 0,emoji:void 0,color:void 0,suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"claude-code",systemPrompt:void 0,systemPromptCodemodeAddons:void 0,goal:void 0,delegable:[],protocol:void 0,ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:void 0,output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},EXAMPLE_HOOKS_AGENTSPEC_0_0_1={id:"example-hooks",version:"0.0.1",name:"Example Hooks Agent",description:"Demonstrates pre-hooks and post-hooks executed in the sandbox lifecycle.",tags:["workflow","automation","analysis"],domain:void 0,enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[],skills:[].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[],environmentName:"ai-agents-env",icon:"zap",emoji:"πͺ",color:"#0E7490",suggestions:[{text:"Read the pre-hook marker file at /tmp/agent_runtimes_pre_hook_demo.txt using execute_code.",summary:"Read the pre-hook marker"},{text:"Print the hook_ran_at and hook_name variables that the pre-hook set in the sandbox.",summary:"Print the hook variables"},{text:"Run execute_code to verify that the 'rich' package was installed by the pre-hook.",summary:"Verify rich installed"},{text:"Show me all variables that the pre-hook defined in the sandbox namespace.",summary:"Pre-hook variables"},{text:"Call runtime_sensitive_echo with reason 'audit' to trigger per-tool authorization hooks.",summary:"Trigger authorization hooks"},{text:"Use execute_code to read /tmp/agent_runtimes_tool_approvals_audit.jsonl and summarize the latest authorization + execution entries.",summary:"Summarize the audit log"}],welcomeMessage:`I ran a pre-hook before starting up. It installed the 'rich' package, wrote a marker file, and set several sandbox variables (hook_name, hook_ran_at, hook_env). Ask me to read the file or inspect those variables.
|
|
2265
2265
|
`,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"eval",harness:"pydantic-ai",systemPrompt:`You are a demo assistant for lifecycle hooks.
|
|
2266
2266
|
The sandbox pre-hook ran before this agent started and did three things:
|
|
2267
2267
|
1. Installed the Python package 'rich' (pip install). 2. Wrote a UTF-8 marker file to /tmp/agent_runtimes_pre_hook_demo.txt
|
|
@@ -2921,7 +2921,7 @@ Use only tools actually provided to you.
|
|
|
2921
2921
|
`,goal:void 0,delegable:[{id:"data.analyse"},{id:"document.summarise"}],protocol:void 0,ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:void 0,output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_SUMMARIZE_DOCUMENTS_AGENTSPEC_0_0_1={id:"worker-summarize-documents",version:"0.0.1",name:"Summarize Documents",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.",tags:["personal-assistant","agent-worker","research","document-processing","summarization"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["filesystem:0.0.1"]],skills:[SKILL_MAP$1["pdf:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["pdf:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"file",emoji:"π",color:"#8250df",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:void 0,systemPromptCodemodeAddons:void 0,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.",delegable:[{id:"data.extract"},{id:"document.summarise"},{id:"document.extract"},{id:"research.gather"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],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."},modelConfig:{temperature:.2,max_tokens:4096},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"}]}],guardrails:[{name:"Default Platform User",identity_provider:"datalayer",identity_name:"doc-agent@acme.com",permissions:{"read:data":!0,"write:data":!0,"execute:code":!0,"access:internet":!1,"send:email":!1,"deploy:production":!1},token_limits:{per_run:"30K",per_day:"300K",per_month:"3M"}}],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}],codemode:void 0,output:{type:"Markdown",formats:["Markdown","JSON"],template:"executive-summary-v1",storage:"s3://acme-summaries/"},advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:{slack:"#document-summaries",email:"team@acme.com"},memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_SYNC_CRM_CONTACTS_AGENTSPEC_0_0_1={id:"worker-sync-crm-contacts",version:"0.0.1",name:"Sync CRM Contacts",description:"A multi-agent team that collects and aggregates contact data from multiple CRM sources, analyzes and deduplicates records, writes cleaned data back, and generates sync summary reports.",tags:["marketing","agent-worker","sales","crm","data-acquisition"],domain:"marketing",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["filesystem:0.0.1"],MCP_SERVER_MAP$1["slack:0.0.1"]],skills:[SKILL_MAP$1["pdf:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["pdf:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"people",emoji:"π",color:"#0969da",suggestions:[{text:"Run a full CRM contact sync now",summary:"Full CRM sync"},{text:"Show the latest sync report",summary:"Latest sync report"},{text:"How many duplicates were found in the last run?",summary:"Duplicates found"},{text:"List contacts that failed to sync",summary:"Failed contacts"}],welcomeMessage:`Hello! I'm the CRM Contact Sync team orchestrator. I coordinate four specialised agents β Data Collector, Analyzer, Sync Writer, and Report Generator β to keep your CRM contacts clean, deduplicated, and in sync across all platforms.
|
|
2922
2922
|
`,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:`You are the supervisor of a CRM contact synchronization team. You coordinate four agents in sequence: 1. Data Collector β pulls contact data from Salesforce, HubSpot, and other CRM sources 2. Analyzer β identifies duplicates, patterns, and data quality issues 3. Sync Writer β writes cleaned, merged contacts back to all CRM systems 4. Report Generator β produces sync summary reports and sends notifications Route tasks sequentially. Escalate to human review if any sync operation fails 3 times. Always confirm merge decisions for contacts with conflicting data.
|
|
2923
2923
|
`,systemPromptCodemodeAddons:void 0,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.",delegable:[{id:"data.acquire"},{id:"data.transform"},{id:"data.analyse"},{id:"report.author"},{id:"document.author"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:{type:"schedule",cron:"0 2 * * *",description:`Daily at 02:00 β sync CRM contacts across all sources during off-peak hours.
|
|
2924
|
-
`,prompt:"Run the scheduled workflow and produce the configured deliverable."},modelConfig:void 0,mcpServerTools:void 0,guardrails:[{name:"GitHub CI Bot",identity_provider:"github",identity_name:"ci-bot@acme.com",permissions:{"read:data":!0,"write:data":!0,"execute:code":!0,"access:internet":!0,"send:email":!0,"deploy:production":!1},token_limits:{per_run:"60K",per_day:"600K",per_month:"6M"}}],evals:[{name:"Data Quality",category:"coding",task_count:300},{name:"Deduplication Accuracy",category:"reasoning",task_count:150}],codemode:{enabled:!0,token_reduction:"~85%",speedup:"~1.5Γ faster"},output:{formats:["JSON","PDF"],template:"CRM Sync Report",storage:"/outputs/crm-sync/"},advanced:{cost_limit:"$10.00 per run",time_limit:"600 seconds",max_iterations:100,validation:"All CRM records must reconcile after sync"},checkpoints:void 0,authorizationPolicy:"",notifications:{email:"jennifer.c@company.com",slack:"#crm-sync"},memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_THEMATIC_ANALYSIS_AGENTSPEC_0_0_1={id:"worker-thematic-analysis",version:"0.0.1",name:"Thematic Analyst",description:"Codes transcripts, extracts themes, and organizes qualitative evidence.",tags:["market-analyst","agent-worker"],domain:"market-analyst",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["salesforce:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"note",emoji:"π",color:"#EC4899",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Thematic Analysis Worker, an autonomous agent worker in the market analyst domain. Codes transcripts, extracts themes, and organizes qualitative evidence. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Code transcripts, extract themes, and organize the supporting evidence.",delegable:[{id:"data.extract"},{id:"data.analyse"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_TRAVEL_RECOMMENDER_AGENTSPEC_0_0_1={id:"worker-travel-recommender",version:"0.0.1",name:"Travel Recommender",description:"Researches travel options and builds personalized itineraries with source comparison.",tags:["personal-assistant","agent-worker"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["google-workspace:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"globe",emoji:"π€",color:"#A855F7",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Travel Recommender, an autonomous agent worker in the personal assistant domain. Researches travel options and builds personalized itineraries with source comparison. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Research travel options and build a personalized itinerary, comparing sources and prices.",delegable:[{id:"research.gather"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_TRENDS_SEEKER_AGENTSPEC_0_0_1={id:"worker-trends-seeker",version:"0.0.1",name:"Trends Seeker",description:"Tracks emerging trends across sources and summarizes what is gaining momentum.",tags:["personal-assistant","agent-worker"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["google-workspace:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"graph",emoji:"π€",color:"#A855F7",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Trends Seeker, an autonomous agent worker in the personal assistant domain. Tracks emerging trends across sources and summarizes what is gaining momentum. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Track emerging trends across sources and summarize what is worth attention and why.",delegable:[{id:"document.summarise"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_VARIANT_ANALYSIS_AGENTSPEC_0_0_1={id:"worker-variant-analysis",version:"0.0.1",name:"Variant Analyst",description:"Analyzes genomic variants, annotates findings, and prepares interpretable reports.",tags:["life-sciences","agent-worker"],domain:"life-sciences",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["huggingface:0.0.1"],MCP_SERVER_MAP$1["kaggle:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["pdf:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["pdf:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"beaker",emoji:"π§¬",color:"#06B6D4",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Variant Analysis Worker, an autonomous agent worker in the life sciences domain. Analyzes genomic variants, annotates findings, and prepares interpretable reports. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Analyze and annotate genomic variants and produce an interpretable, provenance-tracked report.",delegable:[{id:"data.analyse"},{id:"report.author"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1={id:"worker-weekly-executive-briefing",version:"0.0.1",name:"Weekly Executive Briefing",description:"Generate a weekly executive summary with KPI deltas, top risks, and recommended actions from operational and analytics data.",tags:["personal-assistant","agent-worker","analytics","reporting","risk"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[],skills:[SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"lightbulb",emoji:"π",color:"#1F883D",suggestions:[{text:"Use /home/datalayer/datasets/datalayer-nfs/sales/sales_pipeline.csv to produce a weekly executive briefing with trends, risks, and actions.",summary:"Weekly executive briefing"}],welcomeMessage:"Hi! I can help with weekly executive briefing. Share data, files, or context and I will run the workflow end-to-end, explain what matters, and suggest practical next steps.",welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are a specialized assistant for this gallery workflow: Weekly Executive Briefing. Objective: Generate a weekly executive summary with KPI deltas, top risks, and recommended actions from operational and analytics data. Use the runtime tools and notebook execution environment when needed. Keep outputs concise, structured, and decision-oriented. Provide clear reasoning and recommended next actions.",systemPromptCodemodeAddons:"Compose focused execution steps, validate intermediate results, and summarize outcomes after each run. Prefer efficient, reproducible code paths.",goal:void 0,delegable:[{id:"data.analyse"},{id:"report.author"}],protocol:void 0,ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0,token_reduction:"~80%",speedup:"~1.5x"},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},AGENTSPECS$1={"example-a2a-researcher":EXAMPLE_A2A_RESEARCHER_AGENTSPEC_0_0_1,"example-a2a-writer":EXAMPLE_A2A_WRITER_AGENTSPEC_0_0_1,"example-a2a":EXAMPLE_A2A_AGENTSPEC_0_0_1,"example-a2ui-agent":EXAMPLE_A2UI_AGENT_SPEC_0_0_1,"example-a2ui-jupyter-output":EXAMPLE_A2UI_JUPYTER_OUTPUT_AGENTSPEC_0_0_1,"example-a2ui-viewer":EXAMPLE_A2UI_VIEWER_AGENTSPEC_0_0_1,"example-agent-critic-loop-for-analysis":EXAMPLE_AGENT_CRITIC_LOOP_FOR_ANALYSIS_AGENTSPEC_0_0_1,"example-agentic-chat":EXAMPLE_AGENTIC_CHAT_AGENTSPEC_0_0_1,"example-agentic-generative-ui":EXAMPLE_AGENTIC_GENERATIVE_UI_AGENTSPEC_0_0_1,"example-ai-creates-dashboards":EXAMPLE_AI_CREATES_DASHBOARDS_AGENTSPEC_0_0_1,"example-ai-explains-notebook-output":EXAMPLE_AI_EXPLAINS_NOTEBOOK_OUTPUT_AGENTSPEC_0_0_1,"example-ai-writes-pandas-code":EXAMPLE_AI_WRITES_PANDAS_CODE_AGENTSPEC_0_0_1,"example-analyze-excel-spreadsheet":EXAMPLE_ANALYZE_EXCEL_SPREADSHEET_AGENTSPEC_0_0_1,"example-backend-tool-rendering":EXAMPLE_BACKEND_TOOL_RENDERING_AGENTSPEC_0_0_1,"example-blank":EXAMPLE_BLANK_AGENTSPEC_0_0_1,"example-build-notebook-with-one-prompt":EXAMPLE_BUILD_NOTEBOOK_WITH_ONE_PROMPT_AGENTSPEC_0_0_1,"example-checkpoints":EXAMPLE_CHECKPOINTS_AGENTSPEC_0_0_1,"example-cloudflare":EXAMPLE_CLOUDFLARE_AGENTSPEC_0_0_1,"example-code-sandbox":EXAMPLE_CODE_SANDBOX_AGENTSPEC_0_0_1,"example-codemode":EXAMPLE_CODEMODE_AGENTSPEC_0_0_1,"example-compaction":EXAMPLE_COMPACTION_AGENTSPEC_0_0_1,"example-compare-two-spreadsheets":EXAMPLE_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1,"example-cost-comparison-report":EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1,"example-decks":EXAMPLE_DECKS_AGENTSPEC_0_0_1,"example-document-agent-sidebar":EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1,"example-document-agent":EXAMPLE_DOCUMENT_AGENT_SPEC_0_0_1,"example-evals-nocodemode":EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1,"example-evals":EXAMPLE_EVALS_AGENTSPEC_0_0_1,"example-explore-sql-database":EXAMPLE_EXPLORE_SQL_DATABASE_AGENTSPEC_0_0_1,"example-five-ai-agents-analyze-csv":EXAMPLE_FIVE_AI_AGENTS_ANALYZE_CSV_AGENTSPEC_0_0_1,"example-five-notebooks-in-parallel":EXAMPLE_FIVE_NOTEBOOKS_IN_PARALLEL_AGENTSPEC_0_0_1,"example-full":EXAMPLE_FULL_AGENTSPEC_0_0_1,"example-gpt-and-claude-collaborate":EXAMPLE_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1,"example-guardrails":EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1,"example-haiku-generative-ui":EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1,"example-hooks":EXAMPLE_HOOKS_AGENTSPEC_0_0_1,"example-human-approved-automation":EXAMPLE_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1,"example-human-in-the-loop":EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1,"example-inference":EXAMPLE_INFERENCE_AGENTSPEC_0_0_1,"example-long-running-agent-overnight":EXAMPLE_LONG_RUNNING_AGENT_OVERNIGHT_AGENTSPEC_0_0_1,"example-mcp":EXAMPLE_MCP_AGENTSPEC_0_0_1,"example-memory":EXAMPLE_MEMORY_AGENTSPEC_0_0_1,"example-monitoring":EXAMPLE_MONITORING_AGENTSPEC_0_0_1,"example-multi-agent-data-cleaning":EXAMPLE_MULTI_AGENT_DATA_CLEANING_AGENTSPEC_0_0_1,"example-multi-agent-root-cause-analysis":EXAMPLE_MULTI_AGENT_ROOT_CAUSE_ANALYSIS_AGENTSPEC_0_0_1,"example-no-codemode":EXAMPLE_NO_CODEMODE_AGENTSPEC_0_0_1,"example-notifications":EXAMPLE_NOTIFICATIONS_AGENTSPEC_0_0_1,"example-one-trigger-approval":EXAMPLE_ONE_TRIGGER_APPROVAL_AGENTSPEC_0_0_1,"example-one-trigger":EXAMPLE_ONE_TRIGGER_AGENTSPEC_0_0_1,"example-otel":EXAMPLE_OTEL_AGENTSPEC_0_0_1,"example-output":EXAMPLE_OUTPUT_AGENTSPEC_0_0_1,"example-parameters":EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1,"example-replace-excel-pivot-work":EXAMPLE_REPLACE_EXCEL_PIVOT_WORK_AGENTSPEC_0_0_1,"example-resumable-etl-with-checkpoints":EXAMPLE_RESUMABLE_ETL_WITH_CHECKPOINTS_AGENTSPEC_0_0_1,"example-run-python-safely-in-the-cloud":EXAMPLE_RUN_PYTHON_SAFELY_IN_THE_CLOUD_AGENTSPEC_0_0_1,"example-sandbox-colab":EXAMPLE_SANDBOX_COLAB_AGENTSPEC_0_0_1,"example-sandbox-datalayer":EXAMPLE_SANDBOX_DATALAYER_AGENTSPEC_0_0_1,"example-sandbox-docker":EXAMPLE_SANDBOX_DOCKER_AGENTSPEC_0_0_1,"example-sandbox-eval":EXAMPLE_SANDBOX_EVAL_AGENTSPEC_0_0_1,"example-sandbox-jupyter":EXAMPLE_SANDBOX_JUPYTER_AGENTSPEC_0_0_1,"example-sandbox-kaggle":EXAMPLE_SANDBOX_KAGGLE_AGENTSPEC_0_0_1,"example-sandbox-modal":EXAMPLE_SANDBOX_MODAL_AGENTSPEC_0_0_1,"example-sandbox-monty":EXAMPLE_SANDBOX_MONTY_AGENTSPEC_0_0_1,"example-shared-state":EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1,"example-simple":EXAMPLE_SIMPLE_AGENTSPEC_0_0_1,"example-skills":EXAMPLE_SKILLS_AGENTSPEC_0_0_1,"example-subagents":EXAMPLE_SUBAGENTS_AGENTSPEC_0_0_1,"example-tool-approvals":EXAMPLE_TOOL_APPROVALS_AGENTSPEC_0_0_1,"example-tool-based-generative-ui":EXAMPLE_TOOL_BASED_GENERATIVE_UI_AGENTSPEC_0_0_1,"jupyter-cell-fixer":JUPYTER_CELL_FIXER_AGENTSPEC_0_0_1,"jupyter-data-analyst":JUPYTER_DATA_ANALYST_AGENTSPEC_0_0_1,"jupyter-notebook-compactor":JUPYTER_NOTEBOOK_COMPACTOR_AGENTSPEC_0_0_1,"jupyter-notebook-reproducer":JUPYTER_NOTEBOOK_REPRODUCER_AGENTSPEC_0_0_1,"jupyter-notebook-reviewer":JUPYTER_NOTEBOOK_REVIEWER_AGENTSPEC_0_0_1,"jupyter-notebook-writer":JUPYTER_NOTEBOOK_WRITER_AGENTSPEC_0_0_1,"jupyter-tutor":JUPYTER_TUTOR_AGENTSPEC_0_0_1,"loop-shell":LOOP_SHELL_AGENTSPEC_0_0_1,"worker-accountant":WORKER_ACCOUNTANT_AGENTSPEC_0_0_1,"worker-agent-reviews-sql":WORKER_AGENT_REVIEWS_SQL_AGENTSPEC_0_0_1,"worker-analyze-campaign-performance":WORKER_ANALYZE_CAMPAIGN_PERFORMANCE_AGENTSPEC_0_0_1,"worker-analyze-support-tickets":WORKER_ANALYZE_SUPPORT_TICKETS_AGENTSPEC_0_0_1,"worker-ap-invoice":WORKER_AP_INVOICE_AGENTSPEC_0_0_1,"worker-audit-inventory-levels":WORKER_AUDIT_INVENTORY_LEVELS_AGENTSPEC_0_0_1,"worker-audit-pack-builder":WORKER_AUDIT_PACK_BUILDER_AGENTSPEC_0_0_1,"worker-automate-regulatory-reporting":WORKER_AUTOMATE_REGULATORY_REPORTING_AGENTSPEC_0_0_1,"worker-backtest-auditor":WORKER_BACKTEST_AUDITOR_AGENTSPEC_0_0_1,"worker-bank-reconciliation":WORKER_BANK_RECONCILIATION_AGENTSPEC_0_0_1,"worker-campaign-planning":WORKER_CAMPAIGN_PLANNING_AGENTSPEC_0_0_1,"worker-cat-exposure":WORKER_CAT_EXPOSURE_AGENTSPEC_0_0_1,"worker-change-detection":WORKER_CHANGE_DETECTION_AGENTSPEC_0_0_1,"worker-classify-route-emails":WORKER_CLASSIFY_ROUTE_EMAILS_AGENTSPEC_0_0_1,"worker-cms-astro":WORKER_CMS_ASTRO_AGENTSPEC_0_0_1,"worker-coding-tutor":WORKER_CODING_TUTOR_AGENTSPEC_0_0_1,"worker-cohort-comparison":WORKER_COHORT_COMPARISON_AGENTSPEC_0_0_1,"worker-collections":WORKER_COLLECTIONS_AGENTSPEC_0_0_1,"worker-community-response":WORKER_COMMUNITY_RESPONSE_AGENTSPEC_0_0_1,"worker-competitive-intelligence":WORKER_COMPETITIVE_INTELLIGENCE_AGENTSPEC_0_0_1,"worker-compliance-report-draft":WORKER_COMPLIANCE_REPORT_DRAFT_AGENTSPEC_0_0_1,"worker-comprehensive-sales-analytics":WORKER_COMPREHENSIVE_SALES_ANALYTICS_AGENTSPEC_0_0_1,"worker-compute-cost-optimizer":WORKER_COMPUTE_COST_OPTIMIZER_AGENTSPEC_0_0_1,"worker-content-repurposing":WORKER_CONTENT_REPURPOSING_AGENTSPEC_0_0_1,"worker-crawler":WORKER_CRAWLER_AGENTSPEC_0_0_1,"worker-crop-monitoring":WORKER_CROP_MONITORING_AGENTSPEC_0_0_1,"worker-curtailment-investigator":WORKER_CURTAILMENT_INVESTIGATOR_AGENTSPEC_0_0_1,"worker-customer-churn-analysis":WORKER_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1,"worker-customer-interviewer":WORKER_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1,"worker-data-acquisition":WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1,"worker-disaster-assessment":WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1,"worker-document-qa":WORKER_DOCUMENT_QA_AGENTSPEC_0_0_1,"worker-end-of-month-performance":WORKER_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1,"worker-energy-trading-analyst":WORKER_ENERGY_TRADING_ANALYST_AGENTSPEC_0_0_1,"worker-environmental-compliance":WORKER_ENVIRONMENTAL_COMPLIANCE_AGENTSPEC_0_0_1,"worker-event-response":WORKER_EVENT_RESPONSE_AGENTSPEC_0_0_1,"worker-evidence-repository":WORKER_EVIDENCE_REPOSITORY_AGENTSPEC_0_0_1,"worker-expense-audit":WORKER_EXPENSE_AUDIT_AGENTSPEC_0_0_1,"worker-exposure-data-quality":WORKER_EXPOSURE_DATA_QUALITY_AGENTSPEC_0_0_1,"worker-extract-data-from-files":WORKER_EXTRACT_DATA_FROM_FILES_AGENTSPEC_0_0_1,"worker-extract-kpis-from-quarterly-pdf":WORKER_EXTRACT_KPIS_FROM_QUARTERLY_PDF_AGENTSPEC_0_0_1,"worker-factor-analysis":WORKER_FACTOR_ANALYSIS_AGENTSPEC_0_0_1,"worker-financial-viz":WORKER_FINANCIAL_VIZ_AGENTSPEC_0_0_1,"worker-generate-weekly-reports":WORKER_GENERATE_WEEKLY_REPORTS_AGENTSPEC_0_0_1,"worker-github-agent":WORKER_GITHUB_AGENT_SPEC_0_0_1,"worker-grid-forecast":WORKER_GRID_FORECAST_AGENTSPEC_0_0_1,"worker-information-routing":WORKER_INFORMATION_ROUTING_AGENTSPEC_0_0_1,"worker-infrastructure-monitoring":WORKER_INFRASTRUCTURE_MONITORING_AGENTSPEC_0_0_1,"worker-insurance-claims-review":WORKER_INSURANCE_CLAIMS_REVIEW_AGENTSPEC_0_0_1,"worker-interview-guide":WORKER_INTERVIEW_GUIDE_AGENTSPEC_0_0_1,"worker-inventory-demand-planning":WORKER_INVENTORY_DEMAND_PLANNING_AGENTSPEC_0_0_1,"worker-job-hunter":WORKER_JOB_HUNTER_AGENTSPEC_0_0_1,"worker-mail-triage":WORKER_MAIL_TRIAGE_AGENTSPEC_0_0_1,"worker-marketing-analytics":WORKER_MARKETING_ANALYTICS_AGENTSPEC_0_0_1,"worker-medical-research-review":WORKER_MEDICAL_RESEARCH_REVIEW_AGENTSPEC_0_0_1,"worker-model-comparison":WORKER_MODEL_COMPARISON_AGENTSPEC_0_0_1,"worker-monitor-sales-kpis":WORKER_MONITOR_SALES_KPIS_AGENTSPEC_0_0_1,"worker-month-end-close":WORKER_MONTH_END_CLOSE_AGENTSPEC_0_0_1,"worker-news-aggregator":WORKER_NEWS_AGGREGATOR_AGENTSPEC_0_0_1,"worker-optimize-dynamic-pricing":WORKER_OPTIMIZE_DYNAMIC_PRICING_AGENTSPEC_0_0_1,"worker-optimize-grid-operations":WORKER_OPTIMIZE_GRID_OPERATIONS_AGENTSPEC_0_0_1,"worker-optimize-sql-query-performance":WORKER_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1,"worker-performance-attribution":WORKER_PERFORMANCE_ATTRIBUTION_AGENTSPEC_0_0_1,"worker-pipeline-debugger":WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1,"worker-pitcher":WORKER_PITCHER_AGENTSPEC_0_0_1,"worker-portfolio-accumulation":WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1,"worker-portfolio-risk":WORKER_PORTFOLIO_RISK_AGENTSPEC_0_0_1,"worker-predictive-maintenance":WORKER_PREDICTIVE_MAINTENANCE_AGENTSPEC_0_0_1,"worker-process-citizen-requests":WORKER_PROCESS_CITIZEN_REQUESTS_AGENTSPEC_0_0_1,"worker-process-clinical-trial-data":WORKER_PROCESS_CLINICAL_TRIAL_DATA_AGENTSPEC_0_0_1,"worker-process-financial-transactions":WORKER_PROCESS_FINANCIAL_TRANSACTIONS_AGENTSPEC_0_0_1,"worker-product-finder":WORKER_PRODUCT_FINDER_AGENTSPEC_0_0_1,"worker-quant-research":WORKER_QUANT_RESEARCH_AGENTSPEC_0_0_1,"worker-renewable-asset-performance":WORKER_RENEWABLE_ASSET_PERFORMANCE_AGENTSPEC_0_0_1,"worker-research-recruiter":WORKER_RESEARCH_RECRUITER_AGENTSPEC_0_0_1,"worker-rna-seq":WORKER_RNA_SEQ_AGENTSPEC_0_0_1,"worker-sales-forecasting":WORKER_SALES_FORECASTING_AGENTSPEC_0_0_1,"worker-sales-pipeline-board-report":WORKER_SALES_PIPELINE_BOARD_REPORT_AGENTSPEC_0_0_1,"worker-scenario-testing":WORKER_SCENARIO_TESTING_AGENTSPEC_0_0_1,"worker-scheduled-nightly-data-quality-checks":WORKER_SCHEDULED_NIGHTLY_DATA_QUALITY_CHECKS_AGENTSPEC_0_0_1,"worker-scientific-notebook-assistant":WORKER_SCIENTIFIC_NOTEBOOK_ASSISTANT_AGENTSPEC_0_0_1,"worker-single-cell-processing":WORKER_SINGLE_CELL_PROCESSING_AGENTSPEC_0_0_1,"worker-social-listening":WORKER_SOCIAL_LISTENING_AGENTSPEC_0_0_1,"worker-social-marketer":WORKER_SOCIAL_MARKETER_AGENTSPEC_0_0_1,"worker-spatial-data-analysis":WORKER_SPATIAL_DATA_ANALYSIS_AGENTSPEC_0_0_1,"worker-summarize-documents":WORKER_SUMMARIZE_DOCUMENTS_AGENTSPEC_0_0_1,"worker-sync-crm-contacts":WORKER_SYNC_CRM_CONTACTS_AGENTSPEC_0_0_1,"worker-thematic-analysis":WORKER_THEMATIC_ANALYSIS_AGENTSPEC_0_0_1,"worker-travel-recommender":WORKER_TRAVEL_RECOMMENDER_AGENTSPEC_0_0_1,"worker-trends-seeker":WORKER_TRENDS_SEEKER_AGENTSPEC_0_0_1,"worker-variant-analysis":WORKER_VARIANT_ANALYSIS_AGENTSPEC_0_0_1,"worker-weekly-executive-briefing":WORKER_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1},AGENTSPECS={...AGENTSPECS$1};function resolveAgentId(Au){if(Au in AGENTSPECS)return Au;const lo=Au.lastIndexOf(":");if(lo>0){const $u=Au.slice(0,lo);if($u in AGENTSPECS)return $u}return Au}function getAgentspecs(Au){return AGENTSPECS[resolveAgentId(Au)]}const ANALYZE_CAMPAIGN_PERFORMANCE_TEAM_SPEC_0_0_1={id:"analyze-campaign-performance",version:"0.0.1",name:"Analyze Campaign Performance Team",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.",tags:["marketing","media","campaigns","analytics","advertising","social-media"],enabled:!0,icon:"megaphone",emoji:"π’",color:"#8250df",agentSpecId:"analyze-campaign-performance:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Campaign Analytics Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Platform Connector to pull data from all ad platforms, then Metrics Normaliser for unified KPIs, then Anomaly Detector for real-time performance monitoring, then Budget Optimiser for reallocation recommendations. Escalate CPA spikes above 50% immediately.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:2},agents:[{id:"cp-1",name:"Platform Connector Agent",ref:"",role:"initiator",goal:"Pull campaign data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email platforms",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Ad Platforms MCP",tools:["Google Ads Connector","Meta Ads Connector","TikTok Ads Connector","LinkedIn Ads Connector","GA4 Connector"],trigger:"Schedule: Every 4 hours",approval:"auto"},{id:"cp-2",name:"Metrics Normaliser Agent",ref:"",role:"contributor",goal:"Normalise CPA, ROAS, CTR, and attribution across all platforms into unified view",dependsOn:["cp-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Analytics MCP",tools:["Metric Unifier","Currency Converter","Attribution Mapper","Naming Convention Resolver"],trigger:"",approval:"auto"},{id:"cp-3",name:"Anomaly Detector Agent",ref:"",role:"contributor",goal:"Monitor all KPIs for CTR drops, CPA spikes, and budget pacing issues",dependsOn:["cp-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Monitoring MCP",tools:["Anomaly Scanner","Budget Pacer","Alert Generator","Campaign Pauser"],trigger:"",approval:"manual"},{id:"cp-4",name:"Budget Optimiser Agent",ref:"",role:"finalizer",goal:"Generate budget reallocation recommendations to maximise ROAS across channels",dependsOn:["cp-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Optimisation MCP",tools:["ROAS Calculator","Budget Allocator","Scenario Modeller","Report Generator"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-camp-1",trigger:"budget_threshold_exceeded",action:"pause_and_notify",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"high"},{id:"rr-camp-2",trigger:"data_quality_low",action:"retry_collection",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","csv","json"],template:"Campaign Performance Report",storage:"s3://reports/campaign-analytics/"}},ANALYZE_SUPPORT_TICKETS_TEAM_SPEC_0_0_1={id:"analyze-support-tickets",version:"0.0.1",name:"Analyze Support Tickets Team",description:"A multi-agent team that triages incoming support tickets, categorizes by urgency and topic, identifies recurring patterns, and generates resolution recommendations with escalation paths.",tags:["analytics","data","support","tickets"],enabled:!0,icon:"issue-opened",emoji:"π«",color:"#bf8700",agentSpecId:"analyze-support-tickets:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Support Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route new tickets to the Triage Agent first, then to the Categorizer, then to the Pattern Analyzer. Escalate P1/critical tickets immediately to human support leads.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"180s",retryOnFailure:!0,maxRetries:2},agents:[{id:"st-1",name:"Triage Agent",ref:"",role:"initiator",goal:"Ingest new support tickets and assess urgency level (P1-P4)",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Helpdesk MCP",tools:["Ticket Reader","Priority Classifier"],trigger:"Event: new ticket received",approval:"auto"},{id:"st-2",name:"Categorizer Agent",ref:"",role:"contributor",goal:"Categorize tickets by topic, product area, and sentiment",dependsOn:["st-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"NLP Pipeline MCP",tools:["Topic Classifier","Sentiment Analyzer","Product Tagger"],trigger:"",approval:"auto"},{id:"st-3",name:"Pattern Analyzer Agent",ref:"",role:"finalizer",goal:"Identify recurring issues and generate resolution recommendations",dependsOn:["st-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics MCP",tools:["Pattern Detector","Knowledge Base Search","Resolution Generator"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-supp-1",trigger:"ticket_surge_detected",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-supp-2",trigger:"classification_confidence_low",action:"request_human_review",auto:!1,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"180s",stuckThreshold:"300s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json"],template:"Support Ticket Analysis",storage:"s3://reports/support-analytics/"}},AUDIT_INVENTORY_LEVELS_TEAM_SPEC_0_0_1={id:"audit-inventory-levels",version:"0.0.1",name:"Audit Inventory Levels Team",description:"A multi-agent team that monitors inventory levels across warehouses, detects discrepancies between physical and system counts, forecasts demand by SKU, and generates automated reorder recommendations.",tags:["finance","automation","inventory","supply-chain"],enabled:!0,icon:"package",emoji:"π¦",color:"#0969da",agentSpecId:"audit-inventory-levels:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Inventory Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with the Scanner to pull current levels, then Auditor to check discrepancies, then Forecaster for demand predictions, then Planner for reorder recommendations, then Reporter for the final audit report. Escalate critical shortages immediately.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:3},agents:[{id:"inv-1",name:"Inventory Scanner Agent",ref:"",role:"initiator",goal:"Pull current inventory levels from all warehouse management systems",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Warehouse MCP",tools:["WMS Connector","Barcode Scanner API"],trigger:"Schedule: Every 6 hours",approval:"auto"},{id:"inv-2",name:"Discrepancy Auditor Agent",ref:"",role:"contributor",goal:"Compare system counts vs physical counts and flag discrepancies",dependsOn:["inv-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Audit MCP",tools:["Count Comparator","Discrepancy Logger","Shrinkage Calculator"],trigger:"",approval:"auto"},{id:"inv-3",name:"Demand Forecaster Agent",ref:"",role:"contributor",goal:"Forecast demand by SKU using historical sales and seasonal patterns",dependsOn:["inv-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics MCP",tools:["Time Series Model","Seasonal Analyzer","External Signals Fetcher"],trigger:"",approval:"auto"},{id:"inv-4",name:"Reorder Planner Agent",ref:"",role:"contributor",goal:"Calculate optimal reorder points and generate purchase order recommendations",dependsOn:["inv-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Procurement MCP",tools:["EOQ Calculator","Supplier Catalog","PO Generator"],trigger:"",approval:"manual"},{id:"inv-5",name:"Audit Report Agent",ref:"",role:"finalizer",goal:"Compile inventory audit report with discrepancies, forecasts, and reorder plan",dependsOn:["inv-4"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-inv-1",trigger:"stockout_risk_detected",action:"escalate_to_supervisor",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"high"},{id:"rr-inv-2",trigger:"discrepancy_threshold_exceeded",action:"flag_for_manual_audit",auto:!1,maxRetries:2,escalateAfterRetries:2,priority:"high"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xlsx","csv"],template:"Inventory Audit Report",storage:"s3://reports/inventory-audits/"}},AUTOMATE_REGULATORY_REPORTING_TEAM_SPEC_0_0_1={id:"automate-regulatory-reporting",version:"0.0.1",name:"Automate Regulatory Reporting Team",description:"A multi-agent team that automates end-to-end regulatory reporting for financial institutions. Ingests data from trading systems, risk engines, and accounting platforms, reconciles positions, computes risk metrics, validates against regulatory rules (Basel III/IV, MiFID II, SOX), and generates submission-ready compliance reports with full audit trails.",tags:["finance","compliance","regulatory","risk","banking","audit"],enabled:!0,icon:"shield-check",emoji:"π¦",color:"#0969da",agentSpecId:"automate-regulatory-reporting:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Compliance Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Data Ingestion to pull positions and transactions, then Risk Calculator for metric computation, then Reconciliation Agent to cross-check figures, then Validation Agent for regulatory rule checks, then Report Generator for submission-ready output. Escalate any reconciliation breaks above $10K immediately to the compliance team.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"900s",retryOnFailure:!0,maxRetries:2},agents:[{id:"reg-1",name:"Data Ingestion Agent",ref:"",role:"initiator",goal:"Extract positions, transactions, and P&L from trading and accounting systems",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Trading Systems MCP",tools:["Position Reader","Transaction Fetcher","P&L Extractor"],trigger:"Schedule: Monthly on the 3rd business day",approval:"auto"},{id:"reg-2",name:"Risk Calculator Agent",ref:"",role:"contributor",goal:"Compute Basel III/IV risk-weighted assets, capital ratios, and VaR metrics",dependsOn:["reg-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Risk Engine MCP",tools:["RWA Calculator","VaR Engine","Capital Ratio Computer","Stress Test Runner"],trigger:"",approval:"auto"},{id:"reg-3",name:"Reconciliation Agent",ref:"",role:"contributor",goal:"Cross-check computed figures against source systems and flag discrepancies",dependsOn:["reg-2"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Reconciliation MCP",tools:["Position Reconciler","Break Detector","Audit Logger"],trigger:"",approval:"auto"},{id:"reg-4",name:"Validation Agent",ref:"",role:"contributor",goal:"Validate all metrics against Basel III/IV, MiFID II, and SOX regulatory rules",dependsOn:["reg-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Compliance Rules MCP",tools:["Basel Rule Validator","MiFID II Checker","SOX Control Verifier"],trigger:"",approval:"manual"},{id:"reg-5",name:"Report Generator Agent",ref:"",role:"finalizer",goal:"Generate submission-ready regulatory reports with full data lineage and audit trail",dependsOn:["reg-4"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","XBRL Formatter","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-reg-1",trigger:"compliance_violation_detected",action:"halt_and_escalate",auto:!0,maxRetries:0,escalateAfterRetries:0,priority:"critical"},{id:"rr-reg-2",trigger:"data_validation_failure",action:"retry_with_fallback",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"high"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"120s",stuckThreshold:"300s",maxRestartAttempts:2},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xbrl","json"],template:"Regulatory Submission Report",storage:"s3://reports/regulatory-submissions/"}},COMPREHENSIVE_SALES_ANALYTICS_TEAM_SPEC_0_0_1={id:"comprehensive-sales-analytics",version:"0.0.1",name:"Comprehensive Sales Analytics Team",description:"A multi-agent team that replaces a single KPI monitor with four specialized agents: a Data Collector that pulls real-time CRM metrics, an Anomaly Detector that flags statistical outliers, a Trend Analyzer that identifies patterns and forecasts, and a Report Generator that compiles executive dashboards and sends alerts. Together they deliver deeper insights, faster detection, and richer reporting than any single agent could.",tags:["sales","analytics","kpi","monitoring","horizontal"],enabled:!0,icon:"graph",emoji:"π",color:"#1a7f37",agentSpecId:"comprehensive-sales-analytics:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Sales Analytics Supervisor",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route data collection to KPI Collector first, then pass raw metrics to Anomaly Detector and Trend Analyzer in parallel, then aggregate all outputs into the Report Generator. Escalate if anomalies exceed the critical threshold (>25% deviation from target).",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:3},agents:[{id:"sa-1",name:"KPI Data Collector",ref:"",role:"initiator",goal:"Pull real-time sales metrics from CRM, ERP, and marketing platforms. Normalize data into a unified schema with timestamps, dimensions (region, product line, rep), and measures (revenue, pipeline, conversion).",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"CRM Data Server",tools:["get_sales_data","get_customer_list","API Connector"],trigger:"Schedule: Daily at 7:30 AM",approval:"auto"},{id:"sa-2",name:"Anomaly Detector",ref:"",role:"contributor",goal:"Apply statistical anomaly detection (Z-score, IQR, moving average) to the collected KPIs. Flag any metric deviating more than 10% from its rolling 30-day average. Classify anomalies as info, warning, or critical.",dependsOn:["sa-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics Server",tools:["run_analysis","Statistical Analysis","ML Predictor"],trigger:"",approval:"auto"},{id:"sa-3",name:"Trend Analyzer",ref:"",role:"contributor",goal:"Identify week-over-week, month-over-month, and quarter-over-quarter trends. Generate 30-day forecasts for each KPI using time-series models. Highlight the top 3 improving and top 3 declining metrics.",dependsOn:["sa-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics Server",tools:["run_analysis","generate_charts","Forecaster"],trigger:"",approval:"auto"},{id:"sa-4",name:"Executive Report Generator",ref:"",role:"finalizer",goal:"Compile all insights β raw KPIs, anomalies, trends, and forecasts β into a polished executive dashboard with charts, tables, and narrative commentary. Send the report via Slack and email. Highlight critical anomalies with a red-flag summary at the top.",dependsOn:["sa-2","sa-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender","Slack Notifier"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-sales-1",trigger:"anomaly_critical",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-sales-2",trigger:"data_stale",action:"retry_collection",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xlsx","json"],template:"Executive Sales Dashboard",storage:"s3://reports/sales-analytics/"}},CROP_MONITORING_TEAM_SPEC_0_0_1={id:"crop-monitoring",version:"0.0.1",name:"Crop Monitoring",description:"One agent, its data: Crop Monitoring follows crop vigour and growth over a season from the satellite imagery NASA Earthdata holds, and flags the fields that need attention.",tags:["example","scene","earth-observation","agriculture","earthdata","a2a"],enabled:!0,icon:"telescope",emoji:"π°οΈ",color:"#1a7f37",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Crop Monitoring",ref:"",app:"crop-monitoring:0.0.2",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Crop Monitoring answers every request from the imagery itself, one search at a time, and reports what the granules show without adding to it.",entry:"crop-monitoring",suggestions:[{text:"How has crop vigour evolved over the last three months around 45.5N, 10.2E?",emoji:"π±"},{text:"Which fields around 41.9N, 12.5E show a drop in vegetation this month compared with last?",emoji:"πΎ"},{text:"Which datasets and granules cover the Po valley for June 2026?",emoji:"π°οΈ"},{text:"Save the June 2026 granules of the Po valley to my Space.",emoji:"πΎ"}],delegation:{maxDepth:0,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"crop-monitoring",name:"",ref:"",app:"crop-monitoring:0.0.2",runsIn:"runtime",role:"initiator",goal:"Take the person's field and period, search the imagery that covers them, and report the vigour, the growth and the fields to watch.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},DISASTER_ASSESSMENT_TEAM_SPEC_0_0_1={id:"disaster-assessment",version:"0.0.1",name:"Disaster Assessment",description:"An event desk in the browser that gets the area a disaster affected and the damage from Disaster Assessment, and what changed on the ground from Change detection, each on a runtime over A2A, each reading NASA Earthdata. Event response takes the event and reports; the two others read the imagery and answer.",tags:["example","scene","earth-observation","disaster","insurance","earthdata","a2a"],enabled:!0,icon:"pulse",emoji:"π°οΈ",color:"#cf222e",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Event response",ref:"",app:"event-response:0.0.3",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Event response asks Disaster Assessment for the area and the damage, and Change detection for the change on the ground, one request each, and reports what they answer without adding to it.",entry:"event-response",suggestions:[{text:"Valencia, Spain, was flooded on 29 October 2024. What was affected, and what changed?",emoji:"π"},{text:"Fires burned around Los Angeles from 7 January 2025. Which imagery shows what changed?",emoji:"π₯"},{text:"The Ahr valley was hit by a storm on 14 July 2021. Chart the imagery found each day from 10 to 20 July.",emoji:"π§οΈ"},{text:"Send the Valencia flood assessment to the emergency services.",emoji:"π£"}],delegation:{maxDepth:1,allowPeerDelegation:!0,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!1,maxRetries:0},agents:[{id:"event-response",name:"",ref:"",app:"event-response:0.0.3",runsIn:"browser",talksTo:[{member:"disaster-assessment",over:"a2a"},{member:"change-detection",over:"a2a"}],role:"initiator",goal:"Take the person's event, ask Disaster Assessment and Change detection for it, and report what they answered.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"disaster-assessment",name:"",ref:"",app:"disaster-assessment:0.0.2",runsIn:"runtime",role:"contributor",goal:"Estimate the area the event affected and the extent of the damage from the imagery before and after it, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"change-detection",name:"",ref:"",app:"change-detection:0.0.2",runsIn:"runtime",role:"contributor",goal:"Find what changed on the ground between the two dates from the imagery, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},JUPYTER_TEAM_SPEC_0_0_1={id:"jupyter",version:"0.0.1",name:"Jupyter Team",description:"Six agents working in the same Jupyter notebook: the Analyst adds and runs the cells, the Reviewer checks them and records what it finds, the Writer writes the result up between them, Decks turns what they found into a presentation, the Tutor teaches the person Python in the cells they have, and the Compactor rewrites the notebook as short as it can be without changing what it computes.",tags:["notebook","jupyter","collaboration","analysis","review","presentations","teaching","refactoring"],enabled:!0,icon:"book",emoji:"π",color:"#F37726",agentSpecId:"",orchestrationProtocol:"datalayer",executionMode:"supervisor",supervisor:{name:"Jupyter Analyst",ref:"jupyter-data-analyst:0.0.1",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"Keep the work in the notebook. Answer analysis requests directly; send a request to check something to the Reviewer, a request to write something up to the Writer, a request for slides to Decks, a question about the code to the Tutor and a request to tidy the notebook to the Compactor β and never leave results anywhere but the cells, or the deck made from them.",instructions:"",approval:"auto",canTerminate:!1},routingInstructions:'Send anything about exploring, computing, plotting or extending the analysis β "analyze", "plot", "compute", "add a cell thatβ¦" β to the Jupyter Analyst. Send anything about checking, verifying, doubting or re-running β "find what is wrong", "check this", "is this right", "re-run" β to Jupyter Reviewer. Send anything about explaining, summarising, writing up or verifying the wording of a conclusion to Jupyter Writer. Send anything about slides, a deck or a presentation β "make a deck of this", "turn the findings into slides", "present this", "add a slide" β to Jupyter Decks, which builds the deck from what the cells show and opens it beside the conversation. Send anything about understanding or learning β "what does this do", "why did this fail", "teach me", a request for an exercise β to Jupyter Tutor. Send anything about the shape of the notebook β shortening it, merging cells, removing dead code or stale outputs β to Jupyter Compactor. When a request is two of these, the one that produces cells goes first and the one that reads them follows: the Analyst before the Writer or Decks ("analyze this and write it up", "analyze this and make a deck"), the Tutor before the Compactor ("clean this up and explain what you did"). Never let the Compactor rewrite a notebook the person is still learning from without saying what changed. When none fits, answer directly rather than forcing the request onto a specialist.',suggestions:[{text:"Analyze the dataset",summary:"Analyze the dataset",icon:"graph",emoji:"π"},{text:"Find what is wrong",summary:"Find what is wrong",icon:"checklist",emoji:"π§"},{text:"Verify the conclusion",summary:"Verify the conclusion",icon:"pencil",emoji:"βοΈ"},{text:"Turn the findings into a deck",summary:"Findings into a deck",icon:"project",emoji:"π"},{text:"Explain this notebook cell by cell, as if I am new to Python",summary:"Cell by cell, for beginners",icon:"book",emoji:"π"},{text:"Shorten this notebook without changing what it computes",summary:"Shorten the notebook",icon:"fold",emoji:"βοΈ"}],delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:1},agents:[{id:"analyst",name:"Jupyter Analyst",ref:"jupyter-data-analyst:0.0.1",role:"initiator",goal:"Explore the data in the open notebook β add the cells, run them, and leave the results on them for the others to build on.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"reviewer",name:"Jupyter Reviewer",ref:"jupyter-notebook-reviewer:0.0.1",role:"reviewer",goal:"Re-run what matters, find what is wrong or unsupported, and record the verdict in the notebook beside the code it concerns.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"writer",name:"Jupyter Writer",ref:"jupyter-notebook-writer:0.0.1",role:"finalizer",goal:"Write the analysis up between the cells β summary, explanations, conclusion β saying only what the cells support.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"decks",name:"Jupyter Decks",ref:"example-decks:0.0.1",role:"contributor",goal:"Turn what the notebook found into a deck β a title, the numbers as metrics or a chart, the conclusion β open it beside the conversation, and step through it on request.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"tutor",name:"Jupyter Tutor",ref:"jupyter-tutor:0.0.1",role:"contributor",goal:"Teach the person Python in the notebook they have open β what their code does, why it broke, and what to try next β leaving them able to write the next cell themselves.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"compactor",name:"Jupyter Compactor",ref:"jupyter-notebook-compactor:0.0.1",role:"finalizer",goal:"Rewrite the notebook as short as it can be without changing what it computes, and report exactly which cells were touched.",dependsOn:[],subagents:[{name:"CellFixer",ref:"jupyter-cell-fixer:0.0.1",description:"Fixes a failing cell and proves the fix by running it. Reach for this when compaction uncovers a cell that was already broken β repairing it is not part of compacting, and silently leaving it is worse.",instructions:""},{name:"NotebookReproducer",ref:"jupyter-notebook-reproducer:0.0.1",description:"Runs the notebook top to bottom on a fresh sandbox and reports what does not reproduce. Reach for this to prove a compaction changed nothing, which is the claim a compaction rests on.",instructions:""}],model:"",mcpServer:"",tools:[],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-nb-1",trigger:"compaction_would_change_results",action:"request_human_review",auto:!1,maxRetries:0,escalateAfterRetries:0,priority:"high"},{id:"rr-nb-2",trigger:"learner_repeatedly_stuck",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"medium"},{id:"rr-nb-3",trigger:"review_found_unsupported_claim",action:"escalate_to_supervisor",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"180s",stuckThreshold:"300s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["ipynb","markdown"],template:"Notebook Session Summary",storage:""}},MONTH_END_CLOSE_TEAM_SPEC_0_0_1={id:"month-end-close",version:"0.0.1",name:"Month-end Close",description:"One agent, its data: Month-end Close drives the close from the Odoo books, which it only reads β the checklist, the accruals to book, the reconciliation gaps that remain.",tags:["example","scene","accounting","finance","odoo","a2a"],enabled:!0,icon:"sync",emoji:"π§Ύ",color:"#bf8700",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Month-end Close",ref:"",app:"month-end-close:0.0.2",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Month-end Close answers every request from the books itself, one read at a time, and reports what the books hold without adding to it.",entry:"month-end-close",suggestions:[{text:"Where does the month-end close stand for last month? Give me the checklist.",emoji:"βοΈ"},{text:"Which accruals should be booked for last month? Show me the entries each rests on.",emoji:"π§Ύ"},{text:"Chart last month's expenses by account against the month before.",emoji:"π"},{text:"Post the accruals you suggested for last month.",emoji:"βοΈ"}],delegation:{maxDepth:0,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"month-end-close",name:"",ref:"",app:"month-end-close:0.0.2",runsIn:"runtime",role:"initiator",goal:"Take the person's request, read the period's books, and report where the close stands: what is done, what is to book, what is still open.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},NOTEBOOK_BENCHMARK_TEAM_SPEC_0_0_1={id:"notebook-benchmark",version:"0.0.1",name:"Notebook Benchmark Team",description:"Runs a notebook benchmark end to end: one agent executes it from a clean sandbox, a second compares what came out against what the evalset expected, and a third checks the comparison before it is published. Section 17's vertical slice.",tags:["benchmark","notebook","evaluation","orchestration"],enabled:!0,icon:"beaker",emoji:"π§ͺ",color:"#1ABC9C",agentSpecId:"jupyter-data-analyst:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Benchmark Supervisor",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Place the runner first and wait for it: nothing can be analysed before the notebook has run. Give the analyst the runner's outputs and the evalset's expectations, and the reviewer the analyst's comparison. Answer with the reviewer's verdict and the evidence behind it, never with a summary of your own that nothing produced.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"900s",retryOnFailure:!0,maxRetries:2},agents:[{id:"runner",name:"Benchmark Runner",ref:"",role:"initiator",goal:"Execute the benchmark's notebook from a clean sandbox and return it with its outputs",dependsOn:[],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Executor"],trigger:"",approval:"auto"},{id:"analyst",name:"Benchmark Analyst",ref:"",role:"contributor",goal:"Compare what the notebook produced against what the evalset expected, and say where and by how much they differ",dependsOn:["runner"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Reader"],trigger:"",approval:"auto"},{id:"reviewer",name:"Benchmark Reviewer",ref:"",role:"finalizer",goal:"Check the analyst's comparison against the notebook's own outputs and say whether the conclusion is supported by the evidence",dependsOn:["analyst"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Reader"],trigger:"",approval:"auto"}]},OPTIMIZE_GRID_OPERATIONS_TEAM_SPEC_0_0_1={id:"optimize-grid-operations",version:"0.0.1",name:"Optimize Grid Operations Team",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%.",tags:["energy","utilities","smart-grid","iot","predictive-maintenance","sustainability"],enabled:!0,icon:"zap",emoji:"β‘",color:"#1a7f37",agentSpecId:"optimize-grid-operations:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Grid Operations Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Sensor Ingestion to process real-time telemetry, then Anomaly Detector for pattern identification, then Failure Predictor for maintenance forecasting, then Grid Balancer for load optimisation. Escalate critical failure predictions (< 48h) immediately to operations dispatch.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:3},agents:[{id:"grid-1",name:"Sensor Ingestion Agent",ref:"",role:"initiator",goal:"Ingest and process real-time telemetry from SCADA, smart meters, and IoT gateways",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"SCADA MCP",tools:["SCADA Connector","Smart Meter Reader","IoT Gateway Adapter","Time Series Processor"],trigger:"Schedule: Every 5 minutes",approval:"auto"},{id:"grid-2",name:"Anomaly Detector Agent",ref:"",role:"contributor",goal:"Detect vibration, temperature, and voltage anomalies across all grid assets",dependsOn:["grid-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Monitoring MCP",tools:["Vibration Analyzer","Temperature Anomaly Detector","Voltage Pattern Scanner","Historical Comparator"],trigger:"",approval:"auto"},{id:"grid-3",name:"Failure Predictor Agent",ref:"",role:"contributor",goal:"Predict equipment failures 2β4 weeks in advance using anomaly patterns and failure history",dependsOn:["grid-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Predictive Analytics MCP",tools:["Failure Correlation Engine","Risk Scorer","Maintenance Scheduler","Work Order Generator"],trigger:"",approval:"manual"},{id:"grid-4",name:"Grid Balancer Agent",ref:"",role:"finalizer",goal:"Optimise real-time load balancing across renewable and conventional generation sources",dependsOn:["grid-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Grid Control MCP",tools:["Load Forecaster","Renewable Integration Model","Dispatch Optimiser","Grid Stability Checker"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-grid-1",trigger:"grid_instability_detected",action:"emergency_rebalance",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"critical"},{id:"rr-grid-2",trigger:"forecast_deviation_high",action:"recalibrate_model",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"medium"}],healthMonitoring:{heartbeatInterval:"10s",staleThreshold:"30s",unresponsiveThreshold:"60s",stuckThreshold:"120s",maxRestartAttempts:5},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["json","csv","pdf"],template:"Grid Operations Dashboard",storage:"s3://reports/grid-operations/"}},PROCESS_CITIZEN_REQUESTS_TEAM_SPEC_0_0_1={id:"process-citizen-requests",version:"0.0.1",name:"Process Citizen Requests Team",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.",tags:["government","public-sector","civic","policy","compliance","transparency"],enabled:!0,icon:"organization",emoji:"ποΈ",color:"#0550ae",agentSpecId:"process-citizen-requests:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Citizen Services Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route incoming citizen requests to the Intake Agent for classification and triage, then to the Case Processor for handling and routing, then to the Policy Analyst for impact assessment on relevant items, then to the Transparency Agent for audit trail and public documentation. Escalate urgent citizen safety issues immediately to supervisors.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:2},agents:[{id:"cit-1",name:"Intake & Classification Agent",ref:"",role:"initiator",goal:"Classify, triage, and route citizen submissions from web portals, email, and documents",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Citizen Portal MCP",tools:["Request Classifier","Urgency Assessor","Jurisdiction Router","OCR Scanner"],trigger:"Event: new citizen request received",approval:"auto"},{id:"cit-2",name:"Case Processor Agent",ref:"",role:"contributor",goal:"Process and route requests to appropriate departments with required documentation",dependsOn:["cit-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Case Management MCP",tools:["Case Creator","Document Assembler","Department Router","Status Tracker"],trigger:"",approval:"auto"},{id:"cit-3",name:"Policy Impact Analyst Agent",ref:"",role:"contributor",goal:"Model policy outcomes across population datasets with scenario simulation",dependsOn:["cit-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Policy Analytics MCP",tools:["Monte Carlo Simulator","Demographic Analyzer","Budget Impact Model","Scenario Comparator"],trigger:"",approval:"manual"},{id:"cit-4",name:"Transparency & Audit Agent",ref:"",role:"finalizer",goal:"Generate explainable decision documentation with full audit trail for public record",dependsOn:["cit-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Compliance MCP",tools:["Decision Explainer","Audit Trail Builder","FOIA Compliance Checker","Public Record Generator"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-cit-1",trigger:"priority_request_detected",action:"fast_track_processing",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-cit-2",trigger:"policy_ambiguity_detected",action:"request_human_review",auto:!1,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json"],template:"Citizen Request Processing Report",storage:"s3://reports/citizen-requests/"}},PROCESS_CLINICAL_TRIAL_DATA_TEAM_SPEC_0_0_1={id:"process-clinical-trial-data",version:"0.0.1",name:"Process Clinical Trial Data Team",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.",tags:["healthcare","pharma","clinical-trials","patient-data","compliance"],enabled:!0,icon:"heart",emoji:"π₯",color:"#cf222e",agentSpecId:"process-clinical-trial-data:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Clinical Data Orchestrator Agent",ref:"",model:"anthropic:claude-sonnet-4-20250514",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route incoming data through the Ingestion Agent first for format detection and parsing, then to Harmonisation Agent for CDISC SDTM standardisation, then Safety Monitor for adverse event screening, then Submission Preparer for final dataset assembly. Escalate serious adverse events (SAEs) immediately to the medical officer.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:2},agents:[{id:"ct-1",name:"Data Ingestion Agent",ref:"",role:"initiator",goal:"Ingest patient records, lab results, and CRFs from clinical sites",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Clinical EDC MCP",tools:["Medidata Connector","Veeva Vault Reader","Oracle Clinical Adapter","Format Detector"],trigger:"Event: new data batch received from site",approval:"auto"},{id:"ct-2",name:"Harmonisation Agent",ref:"",role:"contributor",goal:"Standardise all data to CDISC SDTM format with MedDRA coding",dependsOn:["ct-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Data Standards MCP",tools:["SDTM Mapper","MedDRA Coder","Unit Converter","Site Normaliser"],trigger:"",approval:"auto"},{id:"ct-3",name:"Safety Monitor Agent",ref:"",role:"contributor",goal:"Screen every data point for adverse events and safety signals",dependsOn:["ct-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Safety Database MCP",tools:["AE Classifier","Signal Detector","SAE Escalator","Evidence Trail Builder"],trigger:"",approval:"manual"},{id:"ct-4",name:"Submission Preparer Agent",ref:"",role:"finalizer",goal:"Assemble submission-ready SDTM datasets with validation and define.xml",dependsOn:["ct-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Submission MCP",tools:["Dataset Validator","Define.xml Generator","PDF Report Builder","Compliance Checker"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-clin-1",trigger:"safety_signal_detected",action:"halt_and_escalate",auto:!0,maxRetries:0,escalateAfterRetries:0,priority:"critical"},{id:"rr-clin-2",trigger:"data_integrity_violation",action:"quarantine_and_notify",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"critical"}],healthMonitoring:{heartbeatInterval:"10s",staleThreshold:"45s",unresponsiveThreshold:"90s",stuckThreshold:"180s",maxRestartAttempts:2},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json","xml"],template:"Clinical Trial Data Report",storage:"s3://reports/clinical-trials/"}},SALES_AND_ACCOUNTING_TEAM_SPEC_0_0_1={id:"sales-and-accounting",version:"0.0.1",name:"Sales and Accounting",description:"A sales desk in the browser that gets financial reports from an accounting application on a runtime, over A2A. Sales takes the request and reports the answer; Accounting reads the Odoo books and answers.",tags:["example","sales","accounting","finance","a2a","odoo"],enabled:!0,icon:"people",emoji:"π€",color:"#0969da",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Sales",ref:"",app:"sales:0.0.3",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Sales asks Accounting for every figure from the books, one request each time, and reports what Accounting answers without adding to it.",entry:"sales",suggestions:[{text:"Which customer invoices are still open, and how much is due in total?",emoji:"π§Ύ"},{text:"Chart the aged receivables as of today, by customer.",emoji:"β³"},{text:"Which invoices make up the largest balance due? Show me each one.",emoji:"π"},{text:"Send a payment reminder to every customer whose invoice is overdue.",emoji:"βοΈ"}],delegation:{maxDepth:1,allowPeerDelegation:!0,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"sales",name:"",ref:"",app:"sales:0.0.3",runsIn:"browser",talksTo:[{member:"accounting",over:"a2a"}],role:"initiator",goal:"Take the person's request for a financial report, ask Accounting for it, and hand over what Accounting answered.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"accounting",name:"",ref:"",app:"accounting:0.0.2",runsIn:"runtime",role:"contributor",goal:"Answer report requests from the Odoo books, read only, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},SYNC_CRM_CONTACTS_TEAM_SPEC_0_0_1={id:"sync-crm-contacts",version:"0.0.1",name:"Sync CRM Contacts Team",description:"A multi-agent team that collects and aggregates contact data from multiple CRM sources, analyzes and deduplicates records, writes cleaned data back, and generates sync summary reports.",tags:["sales","crm","data-sync","deduplication"],enabled:!0,icon:"people",emoji:"π",color:"#0969da",agentSpecId:"sync-crm-contacts:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"CRM Orchestrator Agent",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route data collection tasks to the Data Collector first, then analysis, then sync, then reporting. Escalate to human if sync fails 3 times.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:3},agents:[{id:"tm-1",name:"Data Collector Agent",ref:"",role:"initiator",goal:"Collect and aggregate contact data from multiple CRM sources",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Data Processing MCP",tools:["API Connector","Data Parser"],trigger:"Schedule: Daily at 2:00 AM",approval:"auto"},{id:"tm-2",name:"Analyzer Agent",ref:"",role:"contributor",goal:"Analyze collected data and identify patterns and duplicates",dependsOn:["tm-1"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"Analytics MCP",tools:["Statistical Analysis","ML Predictor","Deduplicator"],trigger:"",approval:"manual"},{id:"tm-3",name:"Sync Writer Agent",ref:"",role:"contributor",goal:"Write cleaned and merged contacts back to the CRM systems",dependsOn:["tm-2"],subagents:[],model:"openai:gpt-4.1",mcpServer:"CRM Write MCP",tools:["Salesforce Connector","HubSpot Connector"],trigger:"",approval:"manual"},{id:"tm-4",name:"Report Generator Agent",ref:"",role:"finalizer",goal:"Generate sync summary reports and send notifications",dependsOn:["tm-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-crm-1",trigger:"sync_conflict_detected",action:"log_and_skip",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"},{id:"rr-crm-2",trigger:"api_rate_limit_hit",action:"backoff_and_retry",auto:!0,maxRetries:5,escalateAfterRetries:5,priority:"low"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!1},output:{formats:["json","csv"],template:"CRM Sync Summary",storage:"s3://reports/crm-sync/"}},TEAM_SPECS={"analyze-campaign-performance":ANALYZE_CAMPAIGN_PERFORMANCE_TEAM_SPEC_0_0_1,"analyze-support-tickets":ANALYZE_SUPPORT_TICKETS_TEAM_SPEC_0_0_1,"audit-inventory-levels":AUDIT_INVENTORY_LEVELS_TEAM_SPEC_0_0_1,"automate-regulatory-reporting":AUTOMATE_REGULATORY_REPORTING_TEAM_SPEC_0_0_1,"comprehensive-sales-analytics":COMPREHENSIVE_SALES_ANALYTICS_TEAM_SPEC_0_0_1,"crop-monitoring":CROP_MONITORING_TEAM_SPEC_0_0_1,"disaster-assessment":DISASTER_ASSESSMENT_TEAM_SPEC_0_0_1,jupyter:JUPYTER_TEAM_SPEC_0_0_1,"month-end-close":MONTH_END_CLOSE_TEAM_SPEC_0_0_1,"notebook-benchmark":NOTEBOOK_BENCHMARK_TEAM_SPEC_0_0_1,"optimize-grid-operations":OPTIMIZE_GRID_OPERATIONS_TEAM_SPEC_0_0_1,"process-citizen-requests":PROCESS_CITIZEN_REQUESTS_TEAM_SPEC_0_0_1,"process-clinical-trial-data":PROCESS_CLINICAL_TRIAL_DATA_TEAM_SPEC_0_0_1,"sales-and-accounting":SALES_AND_ACCOUNTING_TEAM_SPEC_0_0_1,"sync-crm-contacts":SYNC_CRM_CONTACTS_TEAM_SPEC_0_0_1},VOICE_CATALOGUE={"kokoro-af-heart":{id:"kokoro-af-heart",version:"0.0.1",name:"Heart",description:"A warm American English voice, Kokoro's best graded (A).",engine:"kokoro",model:"kokoro-82m",voice:"af_heart",languages:["en-US"],where:["server"],licence:{weights:"Apache-2.0"},attribution:"",watermark:!1,sample:"Hello. I read the answers aloud, sentence by sentence, as they are written."},"kokoro-bf-emma":{id:"kokoro-bf-emma",version:"0.0.1",name:"Emma",description:"A clear British English voice.",engine:"kokoro",model:"kokoro-82m",voice:"bf_emma",languages:["en-GB"],where:["server"],licence:{weights:"Apache-2.0"},attribution:"",watermark:!1,sample:"Hello. I read the answers aloud, sentence by sentence, as they are written."},"kokoro-ff-siwis":{id:"kokoro-ff-siwis",version:"0.0.1",name:"Siwis",description:"A French voice, Kokoro's only one, trained on the SIWIS French Speech Synthesis Database, whose licence asks for its attribution.",engine:"kokoro",model:"kokoro-82m",voice:"ff_siwis",languages:["fr-FR"],where:["server"],licence:{weights:"Apache-2.0",dataset:"CC-BY-4.0"},attribution:"Trained on the SIWIS French Speech Synthesis Database, by Pierre-Edouard Honnet, Alexandros Lazaridis, Philip N. Garner and Junichi Yamagishi (Idiap Research Institute), under CC BY 4.0.",watermark:!1,sample:"Bonjour. Je lis les rΓ©ponses Γ voix haute, phrase par phrase, Γ mesure qu'elles s'Γ©crivent."}},SPEECH_MODEL_CATALOGUE={"kokoro-82m":{id:"kokoro-82m",version:"0.0.1",name:"Kokoro 82M",description:"Text to speech on Datalayer's servers, on CPU: hexgrad's Kokoro-82M v1.0 exported to ONNX, in full precision, with the voices file that holds its 54 voices, run by kokoro-onnx. Its phonemes come from eSpeak NG (GPL-3.0), which runs on the server and is never sent to a browser. Full precision, not the 8-bit export: on a 16-core CPU the 8-bit one speaks slower than real time (6 s for 3.9 s of speech), this one about four times faster than real time (1 s).",provider:"hexgrad",task:"tts",engine:"kokoro-onnx",dtype:"fp32",languages:["en","fr","es","it","pt","hi","ja","zh"],where:["server"],streaming:!1,licence:{weights:"Apache-2.0",code:"MIT"},attribution:"",upstream:"https://huggingface.co/hexgrad/Kokoro-82M",revision:"model-files-v1.0",files:[{path:"kokoro-v1.0.onnx",sha256:"7d5df8ecf7d4b1878015a32686053fd0eebe2bc377234608764cc0ef3636a6c5",size:325532387},{path:"voices-v1.0.bin",sha256:"bca610b8308e8d99f32e6fe4197e7ec01679264efed0cac9140fe9c29f1fbf7d",size:28214398}]},"moonshine-base-en":{id:"moonshine-base-en",version:"0.0.1",name:"Moonshine Base (English)",description:"Speech to text in the browser, in English: Useful Sensors' Moonshine Base (61M parameters), its ONNX export quantized to 8 bits, run by transformers.js. One of the English models whose weights are MIT; the legacy non-English Moonshine models are under a non-commercial licence and are not listed.",provider:"usefulsensors",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/UsefulSensors/moonshine-base",revision:"b1e9b6aae3c3c7298f10c3798393fdf38e8fbbad",files:[{path:"config.json",sha256:"fab7241d1e9fc6c2370c4c6dfb5da79bb54d67ed9ab6b507ac51d29d2abe01d1",size:922},{path:"generation_config.json",sha256:"f9b3f711b57be7def2e50a8942f64f36ee0a55fad5b84ff93a687b6c5bcc1d44",size:147},{path:"preprocessor_config.json",sha256:"fa43a7017ef85cd1d0fba0d9aae77c8adb16990ae6f11115631f41ec5d8aa679",size:128},{path:"special_tokens_map.json",sha256:"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",size:3},{path:"tokenizer.json",sha256:"7b913404bdd039af4756783218af4440bc07fb7d6d8258d677e34f95b3ec416f",size:3761754},{path:"tokenizer_config.json",sha256:"edaee394565d428ea98a663ae7209cdcfeefc5585c42d7a570ff7c986df2cd15",size:135735},{path:"onnx/encoder_model_quantized.onnx",sha256:"1dd9ab0a7f987113d30affcba5a068d11c8f90fa0223caa3e491ade431ad9751",size:20513063},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"cc9f3cd6698a369c6008b41aa60aa3fb3322e7f03c9bdf19d8e6b7200afca4f3",size:42498870}]},"moonshine-tiny-en":{id:"moonshine-tiny-en",version:"0.0.1",name:"Moonshine Tiny (English)",description:"Speech to text in the browser, in English: Useful Sensors' Moonshine Tiny (27M parameters), its ONNX export quantized to 8 bits, run by transformers.js. One of the English models whose weights are MIT; the legacy non-English Moonshine models are under a non-commercial licence and are not listed.",provider:"usefulsensors",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/UsefulSensors/moonshine-tiny",revision:"a6da1241cd305dcd64eab1edbd615f2bb9aabb95",files:[{path:"config.json",sha256:"558e1e02069137c796ace1e50c48d8fe451f04a295929138e6bea885517f0edb",size:921},{path:"generation_config.json",sha256:"f9b3f711b57be7def2e50a8942f64f36ee0a55fad5b84ff93a687b6c5bcc1d44",size:147},{path:"preprocessor_config.json",sha256:"fa43a7017ef85cd1d0fba0d9aae77c8adb16990ae6f11115631f41ec5d8aa679",size:128},{path:"special_tokens_map.json",sha256:"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",size:3},{path:"tokenizer.json",sha256:"7b913404bdd039af4756783218af4440bc07fb7d6d8258d677e34f95b3ec416f",size:3761754},{path:"tokenizer_config.json",sha256:"edaee394565d428ea98a663ae7209cdcfeefc5585c42d7a570ff7c986df2cd15",size:135735},{path:"onnx/encoder_model_quantized.onnx",sha256:"c6fc4b7bc5af75c0591fd157a1f3829b533d18e9769a888fd95a62e470dd4f4a",size:7937661},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"eed87831c3a6103534aae7d47a5d485025c659a1323901513961c39fe8a1a367",size:20243286}]},"silero-vad":{id:"silero-vad",version:"0.0.1",name:"Silero VAD",description:"Where speech starts and ends in what the microphone heard, in the browser: Silero VAD (about 2 MB), the build @ricky0123/vad-web 0.0.31 ships and runs on onnxruntime-web. Push-to-talk keeps the speech it finds and drops the rest.",provider:"snakers4",task:"vad",engine:"vad-web",dtype:"fp32",languages:[],where:["device"],streaming:!0,licence:{weights:"MIT",code:"ISC"},attribution:"",upstream:"https://github.com/snakers4/silero-vad",revision:"0.0.31",files:[{path:"silero_vad_legacy.onnx",sha256:"a35ebf52fd3ce5f1469b2a36158dba761bc47b973ea3382b3186ca15b1f5af28",size:1807522}]},"whisper-base":{id:"whisper-base",version:"0.0.1",name:"Whisper Base",description:"Speech to text in the browser for the languages Moonshine's MIT models do not speak, French first: OpenAI's Whisper base (74M parameters, 99 languages), its ONNX export quantized to 8 bits, run by transformers.js. A clip at a time.",provider:"openai",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en","fr"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-base",revision:"1846881b6b3a3024392c1eea3ad983695bc23925",files:[{path:"config.json",sha256:"f4d0608f7d918166da7edb3e188de5ef1bfe70d9802e785d271fd88111e9cf4b",size:2243},{path:"generation_config.json",sha256:"61070cf8de25b1e9256e8e102ded49d8d24a8369ed36ef84fdf21549e68125a0",size:3832},{path:"preprocessor_config.json",sha256:"a6a76d28c93edb273669eb9e0b0636a2bddbb1272c3261e47b7ca6dfdbac1b8d",size:339},{path:"special_tokens_map.json",sha256:"e67ae3a0aaa99abcd9f187138e12db1f65c16a14761c50ef10eef2c174a7a691",size:2194},{path:"tokenizer.json",sha256:"27fc476bfe7f17299480be2273fc0608e4d5a99aba2ab5dec5374b4482d1a566",size:2480466},{path:"tokenizer_config.json",sha256:"2e036e4dbacfdeb7242c7d4ec4149f4a16e86026048f94d1637e3a8ee9c6a573",size:282682},{path:"added_tokens.json",sha256:"9715fd2243b6f06a5858b5e32950d2853f73dd5bc201aafcf76f5082a2d8acd1",size:34604},{path:"normalizer.json",sha256:"bf1c507dc8724ca9cf9903640dacfb69dae2f00edee4f21ceba106a7392f26dd",size:52666},{path:"vocab.json",sha256:"50d6a919f0a0601d56a04eb583c780d18553aa388254ba3158eb6a00f13e2c1a",size:1036584},{path:"onnx/encoder_model_quantized.onnx",sha256:"5862993336bf33acd23736071aae2b32261d3b1b2f37780194460d4ef974dd46",size:23201314},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"fa3ef9902734ce5ae6f9ef2bdb2ba9a6c4b5785b09f4f420ce036573dc9d090b",size:53693315}]},"whisper-large-v3-turbo":{id:"whisper-large-v3-turbo",version:"0.0.1",name:"Whisper Large v3 Turbo",description:"Speech to text on Datalayer's servers, on CPU: OpenAI's Whisper large-v3-turbo (809M parameters, 99 languages), converted to CTranslate2 in half precision and run by faster-whisper, its weights quantized to 8 bits when loaded. A recording of up to a minute at a time; the language is detected when the page does not say it.",provider:"openai",task:"stt",engine:"faster-whisper",dtype:"float16",languages:["en","fr","es","it","pt","de","nl","ja","zh","hi"],where:["server"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-large-v3-turbo",revision:"0a363e9161cbc7ed1431c9597a8ceaf0c4f78fcf",files:[{path:"config.json",sha256:"b0253ea6c0d3bea6b1e19e91a02acfd3b53f4467362efcb5a3e6b16c9b3a9b7e",size:2263},{path:"preprocessor_config.json",sha256:"7ccc62c6f2765af1f3b46c00c9b5894426835a05021c8b9c01eecb6dfb542711",size:340},{path:"tokenizer.json",sha256:"297b13372ac43916285644fb9687add3cc62ee2a1adb60da3dc25cc94c1871fd",size:2710337},{path:"vocabulary.json",sha256:"c69260f2ab26d659b7c398f9a2b2b48ed0df16c3b47d7326782fd9cba71690c1",size:1068114},{path:"model.bin",sha256:"e76620f83d5f5b69efd3d87e3dc180c1bd21df9fbebacfd4335e5e1efcc018da",size:1617884929}]},"whisper-small":{id:"whisper-small",version:"0.0.1",name:"Whisper Small",description:"Speech to text on Datalayer's servers for short spoken turns, on CPU: OpenAI's Whisper small (244M parameters, 99 languages), converted to CTranslate2 and run by faster-whisper, its weights quantized to 8 bits when loaded. About four times faster than large-v3-turbo; on the fixtures it hears English as well (3.3% against 2.4%) and French less well (16.1% against 2.6%). Recordings longer than a turn go to large-v3-turbo.",provider:"openai",task:"stt",engine:"faster-whisper",dtype:"float16",languages:["en","fr","es","it","pt","de","nl","ja","zh","hi"],where:["server"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-small",revision:"536b0662742c02347bc0e980a01041f333bce120",files:[{path:"config.json",sha256:"b55496ac7940a7ae47d2c01eab40edfd8701feec1229d9cce3b40014383fb828",size:2370},{path:"tokenizer.json",sha256:"fb7b63191e9bb045082c79fd742a3106a12c99513ab30df4a0d47fa6cb6fd0ab",size:2203239},{path:"vocabulary.txt",sha256:"34ce3fe1c5041027b3f8d42912270993f986dbc4bb34cf27f951e34a1e453913",size:459861},{path:"model.bin",sha256:"3e305921506d8872816023e4c273e75d2419fb89b24da97b4fe7bce14170d671",size:483546902}]}};function voiceSpeaks(Au,lo){return Au.languages.some($u=>$u===lo||$u.split("-")[0]===lo)}function voiceFor(Au){const lo=Object.values(VOICE_CATALOGUE);return lo.find($u=>$u.languages.includes(Au))??lo.find($u=>voiceSpeaks($u,Au.split("-")[0]))}function transcriberFor(Au){const lo=Au.split("-")[0],$u=Object.values(SPEECH_MODEL_CATALOGUE).filter(Ru=>Ru.task==="stt"&&Ru.where.includes("device")&&Ru.languages.includes(lo));return $u.find(Ru=>Ru.id==="moonshine-tiny-en")??$u.find(Ru=>Ru.id.startsWith("moonshine-"))??$u[0]}const MCP_SERVER_MAP={"tavily:0.0.1":TAVILY_MCP_SERVER_0_0_1},SKILL_MAP={"crawl:0.0.1":CRAWL_SKILL_SPEC_0_0_1,"events:0.0.1":EVENTS_SKILL_SPEC_0_0_1,"github:0.0.1":GITHUB_SKILL_SPEC_0_0_1,"text-summarizer:0.0.1":TEXT_SUMMARIZER_SKILL_SPEC_0_0_1};function toAgentSkillSpec(Au){return{id:Au.id,name:Au.name,description:Au.description,version:Au.version??"0.0.1",tags:Au.tags,enabled:Au.enabled,requiredEnvVars:Au.requiredEnvVars}}const TOOL_MAP={"runtime-echo:0.0.1":RUNTIME_ECHO_BACKEND_TOOL_SPEC_0_0_1},FRONTEND_TOOL_MAP={"jupyter-notebook:0.0.1":JUPYTER_NOTEBOOK_FRONTEND_TOOL_SPEC_0_0_1,"lexical-document:0.0.1":LEXICAL_DOCUMENT_FRONTEND_TOOL_SPEC_0_0_1},COG_CRAWLER_AGENTSPEC_0_0_1={id:"cog-crawler",version:"0.0.1",name:"Crawler Cog",description:"Researches the web and public repositories under the Web Research Frame: every finding rests on a source that was opened, is cited, and is checked before it is reported.",tags:["market-analyst","agent-worker","research","github","analysis","cog"],domain:"market-analyst",enabled:!0,model:"bedrock:us.anthropic.claude-sonnet-4-6",modelAdditionals:["alibaba:qwen-max"],mcpServers:[MCP_SERVER_MAP["tavily:0.0.1"]],skills:[SKILL_MAP["github:0.0.1"]?toAgentSkillSpec(SKILL_MAP["github:0.0.1"]):void 0,SKILL_MAP["events:0.0.1"]?toAgentSkillSpec(SKILL_MAP["events:0.0.1"]):void 0,SKILL_MAP["crawl:0.0.1"]?toAgentSkillSpec(SKILL_MAP["crawl:0.0.1"]):void 0].filter(Boolean),backendTools:[],frontendTools:[FRONTEND_TOOL_MAP["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"globe",emoji:"π",color:"#10B981",suggestions:[{text:"Search the web for recent news about AI agents",summary:"AI agent news"},{text:"Find trending open-source Python projects on GitHub",summary:"Trending Python projects"},{text:"Research best practices for building RAG applications",summary:"RAG best practices"},{text:"Compare popular JavaScript frameworks in 2024",summary:"JavaScript frameworks 2024"}],welcomeMessage:`Hi! I'm the Crawler Cog. I research the web and GitHub under the Web Research Frame: I open what I cite, I say which sources are primary, and I tell you where sources disagree.
|
|
2924
|
+
`,prompt:"Run the scheduled workflow and produce the configured deliverable."},modelConfig:void 0,mcpServerTools:void 0,guardrails:[{name:"GitHub CI Bot",identity_provider:"github",identity_name:"ci-bot@acme.com",permissions:{"read:data":!0,"write:data":!0,"execute:code":!0,"access:internet":!0,"send:email":!0,"deploy:production":!1},token_limits:{per_run:"60K",per_day:"600K",per_month:"6M"}}],evals:[{name:"Data Quality",category:"coding",task_count:300},{name:"Deduplication Accuracy",category:"reasoning",task_count:150}],codemode:{enabled:!0,token_reduction:"~85%",speedup:"~1.5Γ faster"},output:{formats:["JSON","PDF"],template:"CRM Sync Report",storage:"/outputs/crm-sync/"},advanced:{cost_limit:"$10.00 per run",time_limit:"600 seconds",max_iterations:100,validation:"All CRM records must reconcile after sync"},checkpoints:void 0,authorizationPolicy:"",notifications:{email:"jennifer.c@company.com",slack:"#crm-sync"},memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_THEMATIC_ANALYSIS_AGENTSPEC_0_0_1={id:"worker-thematic-analysis",version:"0.0.1",name:"Thematic Analyst",description:"Codes transcripts, extracts themes, and organizes qualitative evidence.",tags:["market-analyst","agent-worker"],domain:"market-analyst",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["salesforce:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"note",emoji:"π",color:"#EC4899",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Thematic Analysis Worker, an autonomous agent worker in the market analyst domain. Codes transcripts, extracts themes, and organizes qualitative evidence. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Code transcripts, extract themes, and organize the supporting evidence.",delegable:[{id:"data.extract"},{id:"data.analyse"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_TRAVEL_RECOMMENDER_AGENTSPEC_0_0_1={id:"worker-travel-recommender",version:"0.0.1",name:"Travel Recommender",description:"Researches travel options and builds personalized itineraries with source comparison.",tags:["personal-assistant","agent-worker"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["google-workspace:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"globe",emoji:"π€",color:"#A855F7",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Travel Recommender, an autonomous agent worker in the personal assistant domain. Researches travel options and builds personalized itineraries with source comparison. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Research travel options and build a personalized itinerary, comparing sources and prices.",delegable:[{id:"research.gather"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_TRENDS_SEEKER_AGENTSPEC_0_0_1={id:"worker-trends-seeker",version:"0.0.1",name:"Trends Seeker",description:"Tracks emerging trends across sources and summarizes what is gaining momentum.",tags:["personal-assistant","agent-worker"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["tavily:0.0.1"],MCP_SERVER_MAP$1["google-workspace:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["crawl:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["crawl:0.0.1"]):void 0,SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"graph",emoji:"π€",color:"#A855F7",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Trends Seeker, an autonomous agent worker in the personal assistant domain. Tracks emerging trends across sources and summarizes what is gaining momentum. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Track emerging trends across sources and summarize what is worth attention and why.",delegable:[{id:"document.summarise"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_VARIANT_ANALYSIS_AGENTSPEC_0_0_1={id:"worker-variant-analysis",version:"0.0.1",name:"Variant Analyst",description:"Analyzes genomic variants, annotates findings, and prepares interpretable reports.",tags:["life-sciences","agent-worker"],domain:"life-sciences",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[MCP_SERVER_MAP$1["huggingface:0.0.1"],MCP_SERVER_MAP$1["kaggle:0.0.1"]],skills:[SKILL_MAP$1["text-summarizer:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["text-summarizer:0.0.1"]):void 0,SKILL_MAP$1["pdf:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["pdf:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"],TOOL_MAP$1["runtime-sensitive-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"beaker",emoji:"π§¬",color:"#06B6D4",suggestions:[],welcomeMessage:void 0,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are the Variant Analysis Worker, an autonomous agent worker in the life sciences domain. Analyzes genomic variants, annotates findings, and prepares interpretable reports. Work step by step, show your reasoning and evidence, and require explicit human approval before any external or irreversible action.",systemPromptCodemodeAddons:void 0,goal:"Analyze and annotate genomic variants and produce an interpretable, provenance-tracked report.",delegable:[{id:"data.analyse"},{id:"report.author"}],protocol:"vercel-ai",ui:[{plugin:"a2ui-surface",renderer:"a2ui"}],protocols:[],trigger:void 0,modelConfig:{temperature:.5,max_tokens:4096},mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"mem0",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},WORKER_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1={id:"worker-weekly-executive-briefing",version:"0.0.1",name:"Weekly Executive Briefing",description:"Generate a weekly executive summary with KPI deltas, top risks, and recommended actions from operational and analytics data.",tags:["personal-assistant","agent-worker","analytics","reporting","risk"],domain:"personal-assistant",enabled:!1,model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServers:[],skills:[SKILL_MAP$1["events:0.0.1"]?toAgentSkillSpec$1(SKILL_MAP$1["events:0.0.1"]):void 0].filter(Boolean),backendTools:[TOOL_MAP$1["runtime-echo:0.0.1"]],frontendTools:[FRONTEND_TOOL_MAP$1["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP$1["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"lightbulb",emoji:"π",color:"#1F883D",suggestions:[{text:"Use /home/datalayer/datasets/datalayer-nfs/sales/sales_pipeline.csv to produce a weekly executive briefing with trends, risks, and actions.",summary:"Weekly executive briefing"}],welcomeMessage:"Hi! I can help with weekly executive briefing. Share data, files, or context and I will run the workflow end-to-end, explain what matters, and suggest practical next steps.",welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:"You are a specialized assistant for this gallery workflow: Weekly Executive Briefing. Objective: Generate a weekly executive summary with KPI deltas, top risks, and recommended actions from operational and analytics data. Use the runtime tools and notebook execution environment when needed. Keep outputs concise, structured, and decision-oriented. Provide clear reasoning and recommended next actions.",systemPromptCodemodeAddons:"Compose focused execution steps, validate intermediate results, and summarize outcomes after each run. Prefer efficient, reproducible code paths.",goal:void 0,delegable:[{id:"data.analyse"},{id:"report.author"}],protocol:void 0,ui:[],protocols:[],trigger:void 0,modelConfig:void 0,mcpServerTools:void 0,guardrails:void 0,evals:void 0,codemode:{enabled:!0,token_reduction:"~80%",speedup:"~1.5x"},output:void 0,advanced:void 0,checkpoints:void 0,authorizationPolicy:void 0,notifications:void 0,memory:"ephemeral",preHooks:void 0,postHooks:void 0,toolHooks:void 0,parameters:void 0,subagents:void 0},AGENTSPECS$1={"example-a2a-researcher":EXAMPLE_A2A_RESEARCHER_AGENTSPEC_0_0_1,"example-a2a-writer":EXAMPLE_A2A_WRITER_AGENTSPEC_0_0_1,"example-a2a":EXAMPLE_A2A_AGENTSPEC_0_0_1,"example-a2ui-agent":EXAMPLE_A2UI_AGENT_SPEC_0_0_1,"example-a2ui-jupyter-output":EXAMPLE_A2UI_JUPYTER_OUTPUT_AGENTSPEC_0_0_1,"example-a2ui-viewer":EXAMPLE_A2UI_VIEWER_AGENTSPEC_0_0_1,"example-agent-critic-loop-for-analysis":EXAMPLE_AGENT_CRITIC_LOOP_FOR_ANALYSIS_AGENTSPEC_0_0_1,"example-agentic-chat":EXAMPLE_AGENTIC_CHAT_AGENTSPEC_0_0_1,"example-agentic-generative-ui":EXAMPLE_AGENTIC_GENERATIVE_UI_AGENTSPEC_0_0_1,"example-ai-creates-dashboards":EXAMPLE_AI_CREATES_DASHBOARDS_AGENTSPEC_0_0_1,"example-ai-explains-notebook-output":EXAMPLE_AI_EXPLAINS_NOTEBOOK_OUTPUT_AGENTSPEC_0_0_1,"example-ai-writes-pandas-code":EXAMPLE_AI_WRITES_PANDAS_CODE_AGENTSPEC_0_0_1,"example-analyze-excel-spreadsheet":EXAMPLE_ANALYZE_EXCEL_SPREADSHEET_AGENTSPEC_0_0_1,"example-backend-tool-rendering":EXAMPLE_BACKEND_TOOL_RENDERING_AGENTSPEC_0_0_1,"example-blank":EXAMPLE_BLANK_AGENTSPEC_0_0_1,"example-build-notebook-with-one-prompt":EXAMPLE_BUILD_NOTEBOOK_WITH_ONE_PROMPT_AGENTSPEC_0_0_1,"example-checkpoints":EXAMPLE_CHECKPOINTS_AGENTSPEC_0_0_1,"example-cloudflare":EXAMPLE_CLOUDFLARE_AGENTSPEC_0_0_1,"example-code-sandbox":EXAMPLE_CODE_SANDBOX_AGENTSPEC_0_0_1,"example-codemode":EXAMPLE_CODEMODE_AGENTSPEC_0_0_1,"example-compaction":EXAMPLE_COMPACTION_AGENTSPEC_0_0_1,"example-compare-two-spreadsheets":EXAMPLE_COMPARE_TWO_SPREADSHEETS_AGENTSPEC_0_0_1,"example-cost-comparison-report":EXAMPLE_COST_COMPARISON_REPORT_AGENTSPEC_0_0_1,"example-decks":EXAMPLE_DECKS_AGENTSPEC_0_0_1,"example-document-agent-sidebar":EXAMPLE_DOCUMENT_AGENT_SIDEBAR_AGENTSPEC_0_0_1,"example-document-agent":EXAMPLE_DOCUMENT_AGENT_SPEC_0_0_1,"example-evals-nocodemode":EXAMPLE_EVALS_NOCODEMODE_AGENTSPEC_0_0_1,"example-evals":EXAMPLE_EVALS_AGENTSPEC_0_0_1,"example-explore-sql-database":EXAMPLE_EXPLORE_SQL_DATABASE_AGENTSPEC_0_0_1,"example-five-ai-agents-analyze-csv":EXAMPLE_FIVE_AI_AGENTS_ANALYZE_CSV_AGENTSPEC_0_0_1,"example-five-notebooks-in-parallel":EXAMPLE_FIVE_NOTEBOOKS_IN_PARALLEL_AGENTSPEC_0_0_1,"example-full":EXAMPLE_FULL_AGENTSPEC_0_0_1,"example-gpt-and-claude-collaborate":EXAMPLE_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1,"example-guardrails":EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1,"example-haiku-generative-ui":EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1,"example-harness-claude-code":EXAMPLE_HARNESS_CLAUDE_CODE_AGENTSPEC_0_0_1,"example-hooks":EXAMPLE_HOOKS_AGENTSPEC_0_0_1,"example-human-approved-automation":EXAMPLE_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1,"example-human-in-the-loop":EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1,"example-inference":EXAMPLE_INFERENCE_AGENTSPEC_0_0_1,"example-long-running-agent-overnight":EXAMPLE_LONG_RUNNING_AGENT_OVERNIGHT_AGENTSPEC_0_0_1,"example-mcp":EXAMPLE_MCP_AGENTSPEC_0_0_1,"example-memory":EXAMPLE_MEMORY_AGENTSPEC_0_0_1,"example-monitoring":EXAMPLE_MONITORING_AGENTSPEC_0_0_1,"example-multi-agent-data-cleaning":EXAMPLE_MULTI_AGENT_DATA_CLEANING_AGENTSPEC_0_0_1,"example-multi-agent-root-cause-analysis":EXAMPLE_MULTI_AGENT_ROOT_CAUSE_ANALYSIS_AGENTSPEC_0_0_1,"example-no-codemode":EXAMPLE_NO_CODEMODE_AGENTSPEC_0_0_1,"example-notifications":EXAMPLE_NOTIFICATIONS_AGENTSPEC_0_0_1,"example-one-trigger-approval":EXAMPLE_ONE_TRIGGER_APPROVAL_AGENTSPEC_0_0_1,"example-one-trigger":EXAMPLE_ONE_TRIGGER_AGENTSPEC_0_0_1,"example-otel":EXAMPLE_OTEL_AGENTSPEC_0_0_1,"example-output":EXAMPLE_OUTPUT_AGENTSPEC_0_0_1,"example-parameters":EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1,"example-replace-excel-pivot-work":EXAMPLE_REPLACE_EXCEL_PIVOT_WORK_AGENTSPEC_0_0_1,"example-resumable-etl-with-checkpoints":EXAMPLE_RESUMABLE_ETL_WITH_CHECKPOINTS_AGENTSPEC_0_0_1,"example-run-python-safely-in-the-cloud":EXAMPLE_RUN_PYTHON_SAFELY_IN_THE_CLOUD_AGENTSPEC_0_0_1,"example-sandbox-colab":EXAMPLE_SANDBOX_COLAB_AGENTSPEC_0_0_1,"example-sandbox-datalayer":EXAMPLE_SANDBOX_DATALAYER_AGENTSPEC_0_0_1,"example-sandbox-docker":EXAMPLE_SANDBOX_DOCKER_AGENTSPEC_0_0_1,"example-sandbox-eval":EXAMPLE_SANDBOX_EVAL_AGENTSPEC_0_0_1,"example-sandbox-jupyter":EXAMPLE_SANDBOX_JUPYTER_AGENTSPEC_0_0_1,"example-sandbox-kaggle":EXAMPLE_SANDBOX_KAGGLE_AGENTSPEC_0_0_1,"example-sandbox-modal":EXAMPLE_SANDBOX_MODAL_AGENTSPEC_0_0_1,"example-sandbox-monty":EXAMPLE_SANDBOX_MONTY_AGENTSPEC_0_0_1,"example-shared-state":EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1,"example-simple":EXAMPLE_SIMPLE_AGENTSPEC_0_0_1,"example-skills":EXAMPLE_SKILLS_AGENTSPEC_0_0_1,"example-subagents":EXAMPLE_SUBAGENTS_AGENTSPEC_0_0_1,"example-tool-approvals":EXAMPLE_TOOL_APPROVALS_AGENTSPEC_0_0_1,"example-tool-based-generative-ui":EXAMPLE_TOOL_BASED_GENERATIVE_UI_AGENTSPEC_0_0_1,"jupyter-cell-fixer":JUPYTER_CELL_FIXER_AGENTSPEC_0_0_1,"jupyter-data-analyst":JUPYTER_DATA_ANALYST_AGENTSPEC_0_0_1,"jupyter-notebook-compactor":JUPYTER_NOTEBOOK_COMPACTOR_AGENTSPEC_0_0_1,"jupyter-notebook-reproducer":JUPYTER_NOTEBOOK_REPRODUCER_AGENTSPEC_0_0_1,"jupyter-notebook-reviewer":JUPYTER_NOTEBOOK_REVIEWER_AGENTSPEC_0_0_1,"jupyter-notebook-writer":JUPYTER_NOTEBOOK_WRITER_AGENTSPEC_0_0_1,"jupyter-tutor":JUPYTER_TUTOR_AGENTSPEC_0_0_1,"loop-shell":LOOP_SHELL_AGENTSPEC_0_0_1,"worker-accountant":WORKER_ACCOUNTANT_AGENTSPEC_0_0_1,"worker-agent-reviews-sql":WORKER_AGENT_REVIEWS_SQL_AGENTSPEC_0_0_1,"worker-analyze-campaign-performance":WORKER_ANALYZE_CAMPAIGN_PERFORMANCE_AGENTSPEC_0_0_1,"worker-analyze-support-tickets":WORKER_ANALYZE_SUPPORT_TICKETS_AGENTSPEC_0_0_1,"worker-ap-invoice":WORKER_AP_INVOICE_AGENTSPEC_0_0_1,"worker-audit-inventory-levels":WORKER_AUDIT_INVENTORY_LEVELS_AGENTSPEC_0_0_1,"worker-audit-pack-builder":WORKER_AUDIT_PACK_BUILDER_AGENTSPEC_0_0_1,"worker-automate-regulatory-reporting":WORKER_AUTOMATE_REGULATORY_REPORTING_AGENTSPEC_0_0_1,"worker-backtest-auditor":WORKER_BACKTEST_AUDITOR_AGENTSPEC_0_0_1,"worker-bank-reconciliation":WORKER_BANK_RECONCILIATION_AGENTSPEC_0_0_1,"worker-campaign-planning":WORKER_CAMPAIGN_PLANNING_AGENTSPEC_0_0_1,"worker-cat-exposure":WORKER_CAT_EXPOSURE_AGENTSPEC_0_0_1,"worker-change-detection":WORKER_CHANGE_DETECTION_AGENTSPEC_0_0_1,"worker-classify-route-emails":WORKER_CLASSIFY_ROUTE_EMAILS_AGENTSPEC_0_0_1,"worker-cms-astro":WORKER_CMS_ASTRO_AGENTSPEC_0_0_1,"worker-coding-tutor":WORKER_CODING_TUTOR_AGENTSPEC_0_0_1,"worker-cohort-comparison":WORKER_COHORT_COMPARISON_AGENTSPEC_0_0_1,"worker-collections":WORKER_COLLECTIONS_AGENTSPEC_0_0_1,"worker-community-response":WORKER_COMMUNITY_RESPONSE_AGENTSPEC_0_0_1,"worker-competitive-intelligence":WORKER_COMPETITIVE_INTELLIGENCE_AGENTSPEC_0_0_1,"worker-compliance-report-draft":WORKER_COMPLIANCE_REPORT_DRAFT_AGENTSPEC_0_0_1,"worker-comprehensive-sales-analytics":WORKER_COMPREHENSIVE_SALES_ANALYTICS_AGENTSPEC_0_0_1,"worker-compute-cost-optimizer":WORKER_COMPUTE_COST_OPTIMIZER_AGENTSPEC_0_0_1,"worker-content-repurposing":WORKER_CONTENT_REPURPOSING_AGENTSPEC_0_0_1,"worker-crawler":WORKER_CRAWLER_AGENTSPEC_0_0_1,"worker-crop-monitoring":WORKER_CROP_MONITORING_AGENTSPEC_0_0_1,"worker-curtailment-investigator":WORKER_CURTAILMENT_INVESTIGATOR_AGENTSPEC_0_0_1,"worker-customer-churn-analysis":WORKER_CUSTOMER_CHURN_ANALYSIS_AGENTSPEC_0_0_1,"worker-customer-interviewer":WORKER_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1,"worker-data-acquisition":WORKER_DATA_ACQUISITION_AGENTSPEC_0_0_1,"worker-disaster-assessment":WORKER_DISASTER_ASSESSMENT_AGENTSPEC_0_0_1,"worker-document-qa":WORKER_DOCUMENT_QA_AGENTSPEC_0_0_1,"worker-end-of-month-performance":WORKER_END_OF_MONTH_PERFORMANCE_AGENTSPEC_0_0_1,"worker-energy-trading-analyst":WORKER_ENERGY_TRADING_ANALYST_AGENTSPEC_0_0_1,"worker-environmental-compliance":WORKER_ENVIRONMENTAL_COMPLIANCE_AGENTSPEC_0_0_1,"worker-event-response":WORKER_EVENT_RESPONSE_AGENTSPEC_0_0_1,"worker-evidence-repository":WORKER_EVIDENCE_REPOSITORY_AGENTSPEC_0_0_1,"worker-expense-audit":WORKER_EXPENSE_AUDIT_AGENTSPEC_0_0_1,"worker-exposure-data-quality":WORKER_EXPOSURE_DATA_QUALITY_AGENTSPEC_0_0_1,"worker-extract-data-from-files":WORKER_EXTRACT_DATA_FROM_FILES_AGENTSPEC_0_0_1,"worker-extract-kpis-from-quarterly-pdf":WORKER_EXTRACT_KPIS_FROM_QUARTERLY_PDF_AGENTSPEC_0_0_1,"worker-factor-analysis":WORKER_FACTOR_ANALYSIS_AGENTSPEC_0_0_1,"worker-financial-viz":WORKER_FINANCIAL_VIZ_AGENTSPEC_0_0_1,"worker-generate-weekly-reports":WORKER_GENERATE_WEEKLY_REPORTS_AGENTSPEC_0_0_1,"worker-github-agent":WORKER_GITHUB_AGENT_SPEC_0_0_1,"worker-grid-forecast":WORKER_GRID_FORECAST_AGENTSPEC_0_0_1,"worker-information-routing":WORKER_INFORMATION_ROUTING_AGENTSPEC_0_0_1,"worker-infrastructure-monitoring":WORKER_INFRASTRUCTURE_MONITORING_AGENTSPEC_0_0_1,"worker-insurance-claims-review":WORKER_INSURANCE_CLAIMS_REVIEW_AGENTSPEC_0_0_1,"worker-interview-guide":WORKER_INTERVIEW_GUIDE_AGENTSPEC_0_0_1,"worker-inventory-demand-planning":WORKER_INVENTORY_DEMAND_PLANNING_AGENTSPEC_0_0_1,"worker-job-hunter":WORKER_JOB_HUNTER_AGENTSPEC_0_0_1,"worker-mail-triage":WORKER_MAIL_TRIAGE_AGENTSPEC_0_0_1,"worker-marketing-analytics":WORKER_MARKETING_ANALYTICS_AGENTSPEC_0_0_1,"worker-medical-research-review":WORKER_MEDICAL_RESEARCH_REVIEW_AGENTSPEC_0_0_1,"worker-model-comparison":WORKER_MODEL_COMPARISON_AGENTSPEC_0_0_1,"worker-monitor-sales-kpis":WORKER_MONITOR_SALES_KPIS_AGENTSPEC_0_0_1,"worker-month-end-close":WORKER_MONTH_END_CLOSE_AGENTSPEC_0_0_1,"worker-news-aggregator":WORKER_NEWS_AGGREGATOR_AGENTSPEC_0_0_1,"worker-optimize-dynamic-pricing":WORKER_OPTIMIZE_DYNAMIC_PRICING_AGENTSPEC_0_0_1,"worker-optimize-grid-operations":WORKER_OPTIMIZE_GRID_OPERATIONS_AGENTSPEC_0_0_1,"worker-optimize-sql-query-performance":WORKER_OPTIMIZE_SQL_QUERY_PERFORMANCE_AGENTSPEC_0_0_1,"worker-performance-attribution":WORKER_PERFORMANCE_ATTRIBUTION_AGENTSPEC_0_0_1,"worker-pipeline-debugger":WORKER_PIPELINE_DEBUGGER_AGENTSPEC_0_0_1,"worker-pitcher":WORKER_PITCHER_AGENTSPEC_0_0_1,"worker-portfolio-accumulation":WORKER_PORTFOLIO_ACCUMULATION_AGENTSPEC_0_0_1,"worker-portfolio-risk":WORKER_PORTFOLIO_RISK_AGENTSPEC_0_0_1,"worker-predictive-maintenance":WORKER_PREDICTIVE_MAINTENANCE_AGENTSPEC_0_0_1,"worker-process-citizen-requests":WORKER_PROCESS_CITIZEN_REQUESTS_AGENTSPEC_0_0_1,"worker-process-clinical-trial-data":WORKER_PROCESS_CLINICAL_TRIAL_DATA_AGENTSPEC_0_0_1,"worker-process-financial-transactions":WORKER_PROCESS_FINANCIAL_TRANSACTIONS_AGENTSPEC_0_0_1,"worker-product-finder":WORKER_PRODUCT_FINDER_AGENTSPEC_0_0_1,"worker-quant-research":WORKER_QUANT_RESEARCH_AGENTSPEC_0_0_1,"worker-renewable-asset-performance":WORKER_RENEWABLE_ASSET_PERFORMANCE_AGENTSPEC_0_0_1,"worker-research-recruiter":WORKER_RESEARCH_RECRUITER_AGENTSPEC_0_0_1,"worker-rna-seq":WORKER_RNA_SEQ_AGENTSPEC_0_0_1,"worker-sales-forecasting":WORKER_SALES_FORECASTING_AGENTSPEC_0_0_1,"worker-sales-pipeline-board-report":WORKER_SALES_PIPELINE_BOARD_REPORT_AGENTSPEC_0_0_1,"worker-scenario-testing":WORKER_SCENARIO_TESTING_AGENTSPEC_0_0_1,"worker-scheduled-nightly-data-quality-checks":WORKER_SCHEDULED_NIGHTLY_DATA_QUALITY_CHECKS_AGENTSPEC_0_0_1,"worker-scientific-notebook-assistant":WORKER_SCIENTIFIC_NOTEBOOK_ASSISTANT_AGENTSPEC_0_0_1,"worker-single-cell-processing":WORKER_SINGLE_CELL_PROCESSING_AGENTSPEC_0_0_1,"worker-social-listening":WORKER_SOCIAL_LISTENING_AGENTSPEC_0_0_1,"worker-social-marketer":WORKER_SOCIAL_MARKETER_AGENTSPEC_0_0_1,"worker-spatial-data-analysis":WORKER_SPATIAL_DATA_ANALYSIS_AGENTSPEC_0_0_1,"worker-summarize-documents":WORKER_SUMMARIZE_DOCUMENTS_AGENTSPEC_0_0_1,"worker-sync-crm-contacts":WORKER_SYNC_CRM_CONTACTS_AGENTSPEC_0_0_1,"worker-thematic-analysis":WORKER_THEMATIC_ANALYSIS_AGENTSPEC_0_0_1,"worker-travel-recommender":WORKER_TRAVEL_RECOMMENDER_AGENTSPEC_0_0_1,"worker-trends-seeker":WORKER_TRENDS_SEEKER_AGENTSPEC_0_0_1,"worker-variant-analysis":WORKER_VARIANT_ANALYSIS_AGENTSPEC_0_0_1,"worker-weekly-executive-briefing":WORKER_WEEKLY_EXECUTIVE_BRIEFING_AGENTSPEC_0_0_1},AGENTSPECS={...AGENTSPECS$1};function resolveAgentId(Au){if(Au in AGENTSPECS)return Au;const lo=Au.lastIndexOf(":");if(lo>0){const $u=Au.slice(0,lo);if($u in AGENTSPECS)return $u}return Au}function getAgentspecs(Au){return AGENTSPECS[resolveAgentId(Au)]}const ANALYZE_CAMPAIGN_PERFORMANCE_TEAM_SPEC_0_0_1={id:"analyze-campaign-performance",version:"0.0.1",name:"Analyze Campaign Performance Team",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.",tags:["marketing","media","campaigns","analytics","advertising","social-media"],enabled:!0,icon:"megaphone",emoji:"π’",color:"#8250df",agentSpecId:"analyze-campaign-performance:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Campaign Analytics Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Platform Connector to pull data from all ad platforms, then Metrics Normaliser for unified KPIs, then Anomaly Detector for real-time performance monitoring, then Budget Optimiser for reallocation recommendations. Escalate CPA spikes above 50% immediately.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:2},agents:[{id:"cp-1",name:"Platform Connector Agent",ref:"",role:"initiator",goal:"Pull campaign data from Google Ads, Meta, TikTok, LinkedIn, GA4, and email platforms",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Ad Platforms MCP",tools:["Google Ads Connector","Meta Ads Connector","TikTok Ads Connector","LinkedIn Ads Connector","GA4 Connector"],trigger:"Schedule: Every 4 hours",approval:"auto"},{id:"cp-2",name:"Metrics Normaliser Agent",ref:"",role:"contributor",goal:"Normalise CPA, ROAS, CTR, and attribution across all platforms into unified view",dependsOn:["cp-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Analytics MCP",tools:["Metric Unifier","Currency Converter","Attribution Mapper","Naming Convention Resolver"],trigger:"",approval:"auto"},{id:"cp-3",name:"Anomaly Detector Agent",ref:"",role:"contributor",goal:"Monitor all KPIs for CTR drops, CPA spikes, and budget pacing issues",dependsOn:["cp-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Monitoring MCP",tools:["Anomaly Scanner","Budget Pacer","Alert Generator","Campaign Pauser"],trigger:"",approval:"manual"},{id:"cp-4",name:"Budget Optimiser Agent",ref:"",role:"finalizer",goal:"Generate budget reallocation recommendations to maximise ROAS across channels",dependsOn:["cp-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Optimisation MCP",tools:["ROAS Calculator","Budget Allocator","Scenario Modeller","Report Generator"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-camp-1",trigger:"budget_threshold_exceeded",action:"pause_and_notify",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"high"},{id:"rr-camp-2",trigger:"data_quality_low",action:"retry_collection",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","csv","json"],template:"Campaign Performance Report",storage:"s3://reports/campaign-analytics/"}},ANALYZE_SUPPORT_TICKETS_TEAM_SPEC_0_0_1={id:"analyze-support-tickets",version:"0.0.1",name:"Analyze Support Tickets Team",description:"A multi-agent team that triages incoming support tickets, categorizes by urgency and topic, identifies recurring patterns, and generates resolution recommendations with escalation paths.",tags:["analytics","data","support","tickets"],enabled:!0,icon:"issue-opened",emoji:"π«",color:"#bf8700",agentSpecId:"analyze-support-tickets:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Support Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route new tickets to the Triage Agent first, then to the Categorizer, then to the Pattern Analyzer. Escalate P1/critical tickets immediately to human support leads.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"180s",retryOnFailure:!0,maxRetries:2},agents:[{id:"st-1",name:"Triage Agent",ref:"",role:"initiator",goal:"Ingest new support tickets and assess urgency level (P1-P4)",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Helpdesk MCP",tools:["Ticket Reader","Priority Classifier"],trigger:"Event: new ticket received",approval:"auto"},{id:"st-2",name:"Categorizer Agent",ref:"",role:"contributor",goal:"Categorize tickets by topic, product area, and sentiment",dependsOn:["st-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"NLP Pipeline MCP",tools:["Topic Classifier","Sentiment Analyzer","Product Tagger"],trigger:"",approval:"auto"},{id:"st-3",name:"Pattern Analyzer Agent",ref:"",role:"finalizer",goal:"Identify recurring issues and generate resolution recommendations",dependsOn:["st-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics MCP",tools:["Pattern Detector","Knowledge Base Search","Resolution Generator"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-supp-1",trigger:"ticket_surge_detected",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-supp-2",trigger:"classification_confidence_low",action:"request_human_review",auto:!1,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"180s",stuckThreshold:"300s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json"],template:"Support Ticket Analysis",storage:"s3://reports/support-analytics/"}},AUDIT_INVENTORY_LEVELS_TEAM_SPEC_0_0_1={id:"audit-inventory-levels",version:"0.0.1",name:"Audit Inventory Levels Team",description:"A multi-agent team that monitors inventory levels across warehouses, detects discrepancies between physical and system counts, forecasts demand by SKU, and generates automated reorder recommendations.",tags:["finance","automation","inventory","supply-chain"],enabled:!0,icon:"package",emoji:"π¦",color:"#0969da",agentSpecId:"audit-inventory-levels:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Inventory Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with the Scanner to pull current levels, then Auditor to check discrepancies, then Forecaster for demand predictions, then Planner for reorder recommendations, then Reporter for the final audit report. Escalate critical shortages immediately.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:3},agents:[{id:"inv-1",name:"Inventory Scanner Agent",ref:"",role:"initiator",goal:"Pull current inventory levels from all warehouse management systems",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Warehouse MCP",tools:["WMS Connector","Barcode Scanner API"],trigger:"Schedule: Every 6 hours",approval:"auto"},{id:"inv-2",name:"Discrepancy Auditor Agent",ref:"",role:"contributor",goal:"Compare system counts vs physical counts and flag discrepancies",dependsOn:["inv-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Audit MCP",tools:["Count Comparator","Discrepancy Logger","Shrinkage Calculator"],trigger:"",approval:"auto"},{id:"inv-3",name:"Demand Forecaster Agent",ref:"",role:"contributor",goal:"Forecast demand by SKU using historical sales and seasonal patterns",dependsOn:["inv-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics MCP",tools:["Time Series Model","Seasonal Analyzer","External Signals Fetcher"],trigger:"",approval:"auto"},{id:"inv-4",name:"Reorder Planner Agent",ref:"",role:"contributor",goal:"Calculate optimal reorder points and generate purchase order recommendations",dependsOn:["inv-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Procurement MCP",tools:["EOQ Calculator","Supplier Catalog","PO Generator"],trigger:"",approval:"manual"},{id:"inv-5",name:"Audit Report Agent",ref:"",role:"finalizer",goal:"Compile inventory audit report with discrepancies, forecasts, and reorder plan",dependsOn:["inv-4"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-inv-1",trigger:"stockout_risk_detected",action:"escalate_to_supervisor",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"high"},{id:"rr-inv-2",trigger:"discrepancy_threshold_exceeded",action:"flag_for_manual_audit",auto:!1,maxRetries:2,escalateAfterRetries:2,priority:"high"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xlsx","csv"],template:"Inventory Audit Report",storage:"s3://reports/inventory-audits/"}},AUTOMATE_REGULATORY_REPORTING_TEAM_SPEC_0_0_1={id:"automate-regulatory-reporting",version:"0.0.1",name:"Automate Regulatory Reporting Team",description:"A multi-agent team that automates end-to-end regulatory reporting for financial institutions. Ingests data from trading systems, risk engines, and accounting platforms, reconciles positions, computes risk metrics, validates against regulatory rules (Basel III/IV, MiFID II, SOX), and generates submission-ready compliance reports with full audit trails.",tags:["finance","compliance","regulatory","risk","banking","audit"],enabled:!0,icon:"shield-check",emoji:"π¦",color:"#0969da",agentSpecId:"automate-regulatory-reporting:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Compliance Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Data Ingestion to pull positions and transactions, then Risk Calculator for metric computation, then Reconciliation Agent to cross-check figures, then Validation Agent for regulatory rule checks, then Report Generator for submission-ready output. Escalate any reconciliation breaks above $10K immediately to the compliance team.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"900s",retryOnFailure:!0,maxRetries:2},agents:[{id:"reg-1",name:"Data Ingestion Agent",ref:"",role:"initiator",goal:"Extract positions, transactions, and P&L from trading and accounting systems",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Trading Systems MCP",tools:["Position Reader","Transaction Fetcher","P&L Extractor"],trigger:"Schedule: Monthly on the 3rd business day",approval:"auto"},{id:"reg-2",name:"Risk Calculator Agent",ref:"",role:"contributor",goal:"Compute Basel III/IV risk-weighted assets, capital ratios, and VaR metrics",dependsOn:["reg-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Risk Engine MCP",tools:["RWA Calculator","VaR Engine","Capital Ratio Computer","Stress Test Runner"],trigger:"",approval:"auto"},{id:"reg-3",name:"Reconciliation Agent",ref:"",role:"contributor",goal:"Cross-check computed figures against source systems and flag discrepancies",dependsOn:["reg-2"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Reconciliation MCP",tools:["Position Reconciler","Break Detector","Audit Logger"],trigger:"",approval:"auto"},{id:"reg-4",name:"Validation Agent",ref:"",role:"contributor",goal:"Validate all metrics against Basel III/IV, MiFID II, and SOX regulatory rules",dependsOn:["reg-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Compliance Rules MCP",tools:["Basel Rule Validator","MiFID II Checker","SOX Control Verifier"],trigger:"",approval:"manual"},{id:"reg-5",name:"Report Generator Agent",ref:"",role:"finalizer",goal:"Generate submission-ready regulatory reports with full data lineage and audit trail",dependsOn:["reg-4"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","XBRL Formatter","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-reg-1",trigger:"compliance_violation_detected",action:"halt_and_escalate",auto:!0,maxRetries:0,escalateAfterRetries:0,priority:"critical"},{id:"rr-reg-2",trigger:"data_validation_failure",action:"retry_with_fallback",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"high"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"120s",stuckThreshold:"300s",maxRestartAttempts:2},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xbrl","json"],template:"Regulatory Submission Report",storage:"s3://reports/regulatory-submissions/"}},COMPREHENSIVE_SALES_ANALYTICS_TEAM_SPEC_0_0_1={id:"comprehensive-sales-analytics",version:"0.0.1",name:"Comprehensive Sales Analytics Team",description:"A multi-agent team that replaces a single KPI monitor with four specialized agents: a Data Collector that pulls real-time CRM metrics, an Anomaly Detector that flags statistical outliers, a Trend Analyzer that identifies patterns and forecasts, and a Report Generator that compiles executive dashboards and sends alerts. Together they deliver deeper insights, faster detection, and richer reporting than any single agent could.",tags:["sales","analytics","kpi","monitoring","horizontal"],enabled:!0,icon:"graph",emoji:"π",color:"#1a7f37",agentSpecId:"comprehensive-sales-analytics:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Sales Analytics Supervisor",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route data collection to KPI Collector first, then pass raw metrics to Anomaly Detector and Trend Analyzer in parallel, then aggregate all outputs into the Report Generator. Escalate if anomalies exceed the critical threshold (>25% deviation from target).",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:3},agents:[{id:"sa-1",name:"KPI Data Collector",ref:"",role:"initiator",goal:"Pull real-time sales metrics from CRM, ERP, and marketing platforms. Normalize data into a unified schema with timestamps, dimensions (region, product line, rep), and measures (revenue, pipeline, conversion).",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"CRM Data Server",tools:["get_sales_data","get_customer_list","API Connector"],trigger:"Schedule: Daily at 7:30 AM",approval:"auto"},{id:"sa-2",name:"Anomaly Detector",ref:"",role:"contributor",goal:"Apply statistical anomaly detection (Z-score, IQR, moving average) to the collected KPIs. Flag any metric deviating more than 10% from its rolling 30-day average. Classify anomalies as info, warning, or critical.",dependsOn:["sa-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics Server",tools:["run_analysis","Statistical Analysis","ML Predictor"],trigger:"",approval:"auto"},{id:"sa-3",name:"Trend Analyzer",ref:"",role:"contributor",goal:"Identify week-over-week, month-over-month, and quarter-over-quarter trends. Generate 30-day forecasts for each KPI using time-series models. Highlight the top 3 improving and top 3 declining metrics.",dependsOn:["sa-1"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Analytics Server",tools:["run_analysis","generate_charts","Forecaster"],trigger:"",approval:"auto"},{id:"sa-4",name:"Executive Report Generator",ref:"",role:"finalizer",goal:"Compile all insights β raw KPIs, anomalies, trends, and forecasts β into a polished executive dashboard with charts, tables, and narrative commentary. Send the report via Slack and email. Highlight critical anomalies with a red-flag summary at the top.",dependsOn:["sa-2","sa-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender","Slack Notifier"],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-sales-1",trigger:"anomaly_critical",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-sales-2",trigger:"data_stale",action:"retry_collection",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","xlsx","json"],template:"Executive Sales Dashboard",storage:"s3://reports/sales-analytics/"}},CROP_MONITORING_TEAM_SPEC_0_0_1={id:"crop-monitoring",version:"0.0.1",name:"Crop Monitoring",description:"One agent, its data: Crop Monitoring follows crop vigour and growth over a season from the satellite imagery NASA Earthdata holds, and flags the fields that need attention.",tags:["example","scene","earth-observation","agriculture","earthdata","a2a"],enabled:!0,icon:"telescope",emoji:"π°οΈ",color:"#1a7f37",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Crop Monitoring",ref:"",app:"crop-monitoring:0.0.2",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Crop Monitoring answers every request from the imagery itself, one search at a time, and reports what the granules show without adding to it.",entry:"crop-monitoring",suggestions:[{text:"How has crop vigour evolved over the last three months around 45.5N, 10.2E?",emoji:"π±"},{text:"Which fields around 41.9N, 12.5E show a drop in vegetation this month compared with last?",emoji:"πΎ"},{text:"Which datasets and granules cover the Po valley for June 2026?",emoji:"π°οΈ"},{text:"Save the June 2026 granules of the Po valley to my Space.",emoji:"πΎ"}],delegation:{maxDepth:0,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"crop-monitoring",name:"",ref:"",app:"crop-monitoring:0.0.2",runsIn:"runtime",role:"initiator",goal:"Take the person's field and period, search the imagery that covers them, and report the vigour, the growth and the fields to watch.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},DISASTER_ASSESSMENT_TEAM_SPEC_0_0_1={id:"disaster-assessment",version:"0.0.1",name:"Disaster Assessment",description:"An event desk in the browser that gets the area a disaster affected and the damage from Disaster Assessment, and what changed on the ground from Change detection, each on a runtime over A2A, each reading NASA Earthdata. Event response takes the event and reports; the two others read the imagery and answer.",tags:["example","scene","earth-observation","disaster","insurance","earthdata","a2a"],enabled:!0,icon:"pulse",emoji:"π°οΈ",color:"#cf222e",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Event response",ref:"",app:"event-response:0.0.3",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Event response asks Disaster Assessment for the area and the damage, and Change detection for the change on the ground, one request each, and reports what they answer without adding to it.",entry:"event-response",suggestions:[{text:"Valencia, Spain, was flooded on 29 October 2024. What was affected, and what changed?",emoji:"π"},{text:"Fires burned around Los Angeles from 7 January 2025. Which imagery shows what changed?",emoji:"π₯"},{text:"The Ahr valley was hit by a storm on 14 July 2021. Chart the imagery found each day from 10 to 20 July.",emoji:"π§οΈ"},{text:"Send the Valencia flood assessment to the emergency services.",emoji:"π£"}],delegation:{maxDepth:1,allowPeerDelegation:!0,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!1,maxRetries:0},agents:[{id:"event-response",name:"",ref:"",app:"event-response:0.0.3",runsIn:"browser",talksTo:[{member:"disaster-assessment",over:"a2a"},{member:"change-detection",over:"a2a"}],role:"initiator",goal:"Take the person's event, ask Disaster Assessment and Change detection for it, and report what they answered.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"disaster-assessment",name:"",ref:"",app:"disaster-assessment:0.0.2",runsIn:"runtime",role:"contributor",goal:"Estimate the area the event affected and the extent of the damage from the imagery before and after it, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"change-detection",name:"",ref:"",app:"change-detection:0.0.2",runsIn:"runtime",role:"contributor",goal:"Find what changed on the ground between the two dates from the imagery, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},JUPYTER_TEAM_SPEC_0_0_1={id:"jupyter",version:"0.0.1",name:"Jupyter Team",description:"Six agents working in the same Jupyter notebook: the Analyst adds and runs the cells, the Reviewer checks them and records what it finds, the Writer writes the result up between them, Decks turns what they found into a presentation, the Tutor teaches the person Python in the cells they have, and the Compactor rewrites the notebook as short as it can be without changing what it computes.",tags:["notebook","jupyter","collaboration","analysis","review","presentations","teaching","refactoring"],enabled:!0,icon:"book",emoji:"π",color:"#F37726",agentSpecId:"",orchestrationProtocol:"datalayer",executionMode:"supervisor",supervisor:{name:"Jupyter Analyst",ref:"jupyter-data-analyst:0.0.1",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"Keep the work in the notebook. Answer analysis requests directly; send a request to check something to the Reviewer, a request to write something up to the Writer, a request for slides to Decks, a question about the code to the Tutor and a request to tidy the notebook to the Compactor β and never leave results anywhere but the cells, or the deck made from them.",instructions:"",approval:"auto",canTerminate:!1},routingInstructions:'Send anything about exploring, computing, plotting or extending the analysis β "analyze", "plot", "compute", "add a cell thatβ¦" β to the Jupyter Analyst. Send anything about checking, verifying, doubting or re-running β "find what is wrong", "check this", "is this right", "re-run" β to Jupyter Reviewer. Send anything about explaining, summarising, writing up or verifying the wording of a conclusion to Jupyter Writer. Send anything about slides, a deck or a presentation β "make a deck of this", "turn the findings into slides", "present this", "add a slide" β to Jupyter Decks, which builds the deck from what the cells show and opens it beside the conversation. Send anything about understanding or learning β "what does this do", "why did this fail", "teach me", a request for an exercise β to Jupyter Tutor. Send anything about the shape of the notebook β shortening it, merging cells, removing dead code or stale outputs β to Jupyter Compactor. When a request is two of these, the one that produces cells goes first and the one that reads them follows: the Analyst before the Writer or Decks ("analyze this and write it up", "analyze this and make a deck"), the Tutor before the Compactor ("clean this up and explain what you did"). Never let the Compactor rewrite a notebook the person is still learning from without saying what changed. When none fits, answer directly rather than forcing the request onto a specialist.',suggestions:[{text:"Analyze the dataset",summary:"Analyze the dataset",icon:"graph",emoji:"π"},{text:"Find what is wrong",summary:"Find what is wrong",icon:"checklist",emoji:"π§"},{text:"Verify the conclusion",summary:"Verify the conclusion",icon:"pencil",emoji:"βοΈ"},{text:"Turn the findings into a deck",summary:"Findings into a deck",icon:"project",emoji:"π"},{text:"Explain this notebook cell by cell, as if I am new to Python",summary:"Cell by cell, for beginners",icon:"book",emoji:"π"},{text:"Shorten this notebook without changing what it computes",summary:"Shorten the notebook",icon:"fold",emoji:"βοΈ"}],delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:1},agents:[{id:"analyst",name:"Jupyter Analyst",ref:"jupyter-data-analyst:0.0.1",role:"initiator",goal:"Explore the data in the open notebook β add the cells, run them, and leave the results on them for the others to build on.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"reviewer",name:"Jupyter Reviewer",ref:"jupyter-notebook-reviewer:0.0.1",role:"reviewer",goal:"Re-run what matters, find what is wrong or unsupported, and record the verdict in the notebook beside the code it concerns.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"writer",name:"Jupyter Writer",ref:"jupyter-notebook-writer:0.0.1",role:"finalizer",goal:"Write the analysis up between the cells β summary, explanations, conclusion β saying only what the cells support.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"decks",name:"Jupyter Decks",ref:"example-decks:0.0.1",role:"contributor",goal:"Turn what the notebook found into a deck β a title, the numbers as metrics or a chart, the conclusion β open it beside the conversation, and step through it on request.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"tutor",name:"Jupyter Tutor",ref:"jupyter-tutor:0.0.1",role:"contributor",goal:"Teach the person Python in the notebook they have open β what their code does, why it broke, and what to try next β leaving them able to write the next cell themselves.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"compactor",name:"Jupyter Compactor",ref:"jupyter-notebook-compactor:0.0.1",role:"finalizer",goal:"Rewrite the notebook as short as it can be without changing what it computes, and report exactly which cells were touched.",dependsOn:[],subagents:[{name:"CellFixer",ref:"jupyter-cell-fixer:0.0.1",description:"Fixes a failing cell and proves the fix by running it. Reach for this when compaction uncovers a cell that was already broken β repairing it is not part of compacting, and silently leaving it is worse.",instructions:""},{name:"NotebookReproducer",ref:"jupyter-notebook-reproducer:0.0.1",description:"Runs the notebook top to bottom on a fresh sandbox and reports what does not reproduce. Reach for this to prove a compaction changed nothing, which is the claim a compaction rests on.",instructions:""}],model:"",mcpServer:"",tools:[],trigger:"",approval:"manual"}],reactionRules:[{id:"rr-nb-1",trigger:"compaction_would_change_results",action:"request_human_review",auto:!1,maxRetries:0,escalateAfterRetries:0,priority:"high"},{id:"rr-nb-2",trigger:"learner_repeatedly_stuck",action:"escalate_to_supervisor",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"medium"},{id:"rr-nb-3",trigger:"review_found_unsupported_claim",action:"escalate_to_supervisor",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"15s",staleThreshold:"60s",unresponsiveThreshold:"180s",stuckThreshold:"300s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["ipynb","markdown"],template:"Notebook Session Summary",storage:""}},MONTH_END_CLOSE_TEAM_SPEC_0_0_1={id:"month-end-close",version:"0.0.1",name:"Month-end Close",description:"One agent, its data: Month-end Close drives the close from the Odoo books, which it only reads β the checklist, the accruals to book, the reconciliation gaps that remain.",tags:["example","scene","accounting","finance","odoo","a2a"],enabled:!0,icon:"sync",emoji:"π§Ύ",color:"#bf8700",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Month-end Close",ref:"",app:"month-end-close:0.0.2",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Month-end Close answers every request from the books itself, one read at a time, and reports what the books hold without adding to it.",entry:"month-end-close",suggestions:[{text:"Where does the month-end close stand for last month? Give me the checklist.",emoji:"βοΈ"},{text:"Which accruals should be booked for last month? Show me the entries each rests on.",emoji:"π§Ύ"},{text:"Chart last month's expenses by account against the month before.",emoji:"π"},{text:"Post the accruals you suggested for last month.",emoji:"βοΈ"}],delegation:{maxDepth:0,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"month-end-close",name:"",ref:"",app:"month-end-close:0.0.2",runsIn:"runtime",role:"initiator",goal:"Take the person's request, read the period's books, and report where the close stands: what is done, what is to book, what is still open.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},NOTEBOOK_BENCHMARK_TEAM_SPEC_0_0_1={id:"notebook-benchmark",version:"0.0.1",name:"Notebook Benchmark Team",description:"Runs a notebook benchmark end to end: one agent executes it from a clean sandbox, a second compares what came out against what the evalset expected, and a third checks the comparison before it is published. Section 17's vertical slice.",tags:["benchmark","notebook","evaluation","orchestration"],enabled:!0,icon:"beaker",emoji:"π§ͺ",color:"#1ABC9C",agentSpecId:"jupyter-data-analyst:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Benchmark Supervisor",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Place the runner first and wait for it: nothing can be analysed before the notebook has run. Give the analyst the runner's outputs and the evalset's expectations, and the reviewer the analyst's comparison. Answer with the reviewer's verdict and the evidence behind it, never with a summary of your own that nothing produced.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"900s",retryOnFailure:!0,maxRetries:2},agents:[{id:"runner",name:"Benchmark Runner",ref:"",role:"initiator",goal:"Execute the benchmark's notebook from a clean sandbox and return it with its outputs",dependsOn:[],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Executor"],trigger:"",approval:"auto"},{id:"analyst",name:"Benchmark Analyst",ref:"",role:"contributor",goal:"Compare what the notebook produced against what the evalset expected, and say where and by how much they differ",dependsOn:["runner"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Reader"],trigger:"",approval:"auto"},{id:"reviewer",name:"Benchmark Reviewer",ref:"",role:"finalizer",goal:"Check the analyst's comparison against the notebook's own outputs and say whether the conclusion is supported by the evidence",dependsOn:["analyst"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"",tools:["Notebook Reader"],trigger:"",approval:"auto"}]},OPTIMIZE_GRID_OPERATIONS_TEAM_SPEC_0_0_1={id:"optimize-grid-operations",version:"0.0.1",name:"Optimize Grid Operations Team",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%.",tags:["energy","utilities","smart-grid","iot","predictive-maintenance","sustainability"],enabled:!0,icon:"zap",emoji:"β‘",color:"#1a7f37",agentSpecId:"optimize-grid-operations:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Grid Operations Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Start with Sensor Ingestion to process real-time telemetry, then Anomaly Detector for pattern identification, then Failure Predictor for maintenance forecasting, then Grid Balancer for load optimisation. Escalate critical failure predictions (< 48h) immediately to operations dispatch.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:3},agents:[{id:"grid-1",name:"Sensor Ingestion Agent",ref:"",role:"initiator",goal:"Ingest and process real-time telemetry from SCADA, smart meters, and IoT gateways",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"SCADA MCP",tools:["SCADA Connector","Smart Meter Reader","IoT Gateway Adapter","Time Series Processor"],trigger:"Schedule: Every 5 minutes",approval:"auto"},{id:"grid-2",name:"Anomaly Detector Agent",ref:"",role:"contributor",goal:"Detect vibration, temperature, and voltage anomalies across all grid assets",dependsOn:["grid-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Monitoring MCP",tools:["Vibration Analyzer","Temperature Anomaly Detector","Voltage Pattern Scanner","Historical Comparator"],trigger:"",approval:"auto"},{id:"grid-3",name:"Failure Predictor Agent",ref:"",role:"contributor",goal:"Predict equipment failures 2β4 weeks in advance using anomaly patterns and failure history",dependsOn:["grid-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Predictive Analytics MCP",tools:["Failure Correlation Engine","Risk Scorer","Maintenance Scheduler","Work Order Generator"],trigger:"",approval:"manual"},{id:"grid-4",name:"Grid Balancer Agent",ref:"",role:"finalizer",goal:"Optimise real-time load balancing across renewable and conventional generation sources",dependsOn:["grid-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Grid Control MCP",tools:["Load Forecaster","Renewable Integration Model","Dispatch Optimiser","Grid Stability Checker"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-grid-1",trigger:"grid_instability_detected",action:"emergency_rebalance",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"critical"},{id:"rr-grid-2",trigger:"forecast_deviation_high",action:"recalibrate_model",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"medium"}],healthMonitoring:{heartbeatInterval:"10s",staleThreshold:"30s",unresponsiveThreshold:"60s",stuckThreshold:"120s",maxRestartAttempts:5},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["json","csv","pdf"],template:"Grid Operations Dashboard",storage:"s3://reports/grid-operations/"}},PROCESS_CITIZEN_REQUESTS_TEAM_SPEC_0_0_1={id:"process-citizen-requests",version:"0.0.1",name:"Process Citizen Requests Team",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.",tags:["government","public-sector","civic","policy","compliance","transparency"],enabled:!0,icon:"organization",emoji:"ποΈ",color:"#0550ae",agentSpecId:"process-citizen-requests:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Citizen Services Orchestrator Agent",ref:"",model:"openai:gpt-4.1",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route incoming citizen requests to the Intake Agent for classification and triage, then to the Case Processor for handling and routing, then to the Policy Analyst for impact assessment on relevant items, then to the Transparency Agent for audit trail and public documentation. Escalate urgent citizen safety issues immediately to supervisors.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:2},agents:[{id:"cit-1",name:"Intake & Classification Agent",ref:"",role:"initiator",goal:"Classify, triage, and route citizen submissions from web portals, email, and documents",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Citizen Portal MCP",tools:["Request Classifier","Urgency Assessor","Jurisdiction Router","OCR Scanner"],trigger:"Event: new citizen request received",approval:"auto"},{id:"cit-2",name:"Case Processor Agent",ref:"",role:"contributor",goal:"Process and route requests to appropriate departments with required documentation",dependsOn:["cit-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Case Management MCP",tools:["Case Creator","Document Assembler","Department Router","Status Tracker"],trigger:"",approval:"auto"},{id:"cit-3",name:"Policy Impact Analyst Agent",ref:"",role:"contributor",goal:"Model policy outcomes across population datasets with scenario simulation",dependsOn:["cit-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Policy Analytics MCP",tools:["Monte Carlo Simulator","Demographic Analyzer","Budget Impact Model","Scenario Comparator"],trigger:"",approval:"manual"},{id:"cit-4",name:"Transparency & Audit Agent",ref:"",role:"finalizer",goal:"Generate explainable decision documentation with full audit trail for public record",dependsOn:["cit-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Compliance MCP",tools:["Decision Explainer","Audit Trail Builder","FOIA Compliance Checker","Public Record Generator"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-cit-1",trigger:"priority_request_detected",action:"fast_track_processing",auto:!0,maxRetries:2,escalateAfterRetries:2,priority:"high"},{id:"rr-cit-2",trigger:"policy_ambiguity_detected",action:"request_human_review",auto:!1,maxRetries:1,escalateAfterRetries:1,priority:"medium"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json"],template:"Citizen Request Processing Report",storage:"s3://reports/citizen-requests/"}},PROCESS_CLINICAL_TRIAL_DATA_TEAM_SPEC_0_0_1={id:"process-clinical-trial-data",version:"0.0.1",name:"Process Clinical Trial Data Team",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.",tags:["healthcare","pharma","clinical-trials","patient-data","compliance"],enabled:!0,icon:"heart",emoji:"π₯",color:"#cf222e",agentSpecId:"process-clinical-trial-data:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"Clinical Data Orchestrator Agent",ref:"",model:"anthropic:claude-sonnet-4-20250514",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route incoming data through the Ingestion Agent first for format detection and parsing, then to Harmonisation Agent for CDISC SDTM standardisation, then Safety Monitor for adverse event screening, then Submission Preparer for final dataset assembly. Escalate serious adverse events (SAEs) immediately to the medical officer.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"600s",retryOnFailure:!0,maxRetries:2},agents:[{id:"ct-1",name:"Data Ingestion Agent",ref:"",role:"initiator",goal:"Ingest patient records, lab results, and CRFs from clinical sites",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Clinical EDC MCP",tools:["Medidata Connector","Veeva Vault Reader","Oracle Clinical Adapter","Format Detector"],trigger:"Event: new data batch received from site",approval:"auto"},{id:"ct-2",name:"Harmonisation Agent",ref:"",role:"contributor",goal:"Standardise all data to CDISC SDTM format with MedDRA coding",dependsOn:["ct-1"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Data Standards MCP",tools:["SDTM Mapper","MedDRA Coder","Unit Converter","Site Normaliser"],trigger:"",approval:"auto"},{id:"ct-3",name:"Safety Monitor Agent",ref:"",role:"contributor",goal:"Screen every data point for adverse events and safety signals",dependsOn:["ct-2"],subagents:[],model:"anthropic:claude-sonnet-4-20250514",mcpServer:"Safety Database MCP",tools:["AE Classifier","Signal Detector","SAE Escalator","Evidence Trail Builder"],trigger:"",approval:"manual"},{id:"ct-4",name:"Submission Preparer Agent",ref:"",role:"finalizer",goal:"Assemble submission-ready SDTM datasets with validation and define.xml",dependsOn:["ct-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Submission MCP",tools:["Dataset Validator","Define.xml Generator","PDF Report Builder","Compliance Checker"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-clin-1",trigger:"safety_signal_detected",action:"halt_and_escalate",auto:!0,maxRetries:0,escalateAfterRetries:0,priority:"critical"},{id:"rr-clin-2",trigger:"data_integrity_violation",action:"quarantine_and_notify",auto:!0,maxRetries:1,escalateAfterRetries:1,priority:"critical"}],healthMonitoring:{heartbeatInterval:"10s",staleThreshold:"45s",unresponsiveThreshold:"90s",stuckThreshold:"180s",maxRestartAttempts:2},notifications:{on_start:!0,on_completion:!0,on_failure:!0,on_escalation:!0},output:{formats:["pdf","json","xml"],template:"Clinical Trial Data Report",storage:"s3://reports/clinical-trials/"}},SALES_AND_ACCOUNTING_TEAM_SPEC_0_0_1={id:"sales-and-accounting",version:"0.0.1",name:"Sales and Accounting",description:"A sales desk in the browser that gets financial reports from an accounting application on a runtime, over A2A. Sales takes the request and reports the answer; Accounting reads the Odoo books and answers.",tags:["example","sales","accounting","finance","a2a","odoo"],enabled:!0,icon:"people",emoji:"π€",color:"#0969da",agentSpecId:"",orchestrationProtocol:"a2a",executionMode:"supervisor",supervisor:{name:"Sales",ref:"",app:"sales:0.0.3",model:"",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Sales asks Accounting for every figure from the books, one request each time, and reports what Accounting answers without adding to it.",entry:"sales",suggestions:[{text:"Which customer invoices are still open, and how much is due in total?",emoji:"π§Ύ"},{text:"Chart the aged receivables as of today, by customer.",emoji:"β³"},{text:"Which invoices make up the largest balance due? Show me each one.",emoji:"π"},{text:"Send a payment reminder to every customer whose invoice is overdue.",emoji:"βοΈ"}],delegation:{maxDepth:1,allowPeerDelegation:!0,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!1,maxRetries:0},agents:[{id:"sales",name:"",ref:"",app:"sales:0.0.3",runsIn:"browser",talksTo:[{member:"accounting",over:"a2a"}],role:"initiator",goal:"Take the person's request for a financial report, ask Accounting for it, and hand over what Accounting answered.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"},{id:"accounting",name:"",ref:"",app:"accounting:0.0.2",runsIn:"runtime",role:"contributor",goal:"Answer report requests from the Odoo books, read only, over A2A.",dependsOn:[],subagents:[],model:"",mcpServer:"",tools:[],trigger:"",approval:"auto"}]},SYNC_CRM_CONTACTS_TEAM_SPEC_0_0_1={id:"sync-crm-contacts",version:"0.0.1",name:"Sync CRM Contacts Team",description:"A multi-agent team that collects and aggregates contact data from multiple CRM sources, analyzes and deduplicates records, writes cleaned data back, and generates sync summary reports.",tags:["sales","crm","data-sync","deduplication"],enabled:!0,icon:"people",emoji:"π",color:"#0969da",agentSpecId:"sync-crm-contacts:0.0.1",orchestrationProtocol:"datalayer",executionMode:"sequential",supervisor:{name:"CRM Orchestrator Agent",ref:"",model:"bedrock:us.anthropic.claude-sonnet-4-6",goal:"",instructions:"",approval:"auto",canTerminate:!0},routingInstructions:"Route data collection tasks to the Data Collector first, then analysis, then sync, then reporting. Escalate to human if sync fails 3 times.",delegation:{maxDepth:2,allowPeerDelegation:!1,includeGeneralPurpose:!1},context:{sharing:"shared"},validation:{timeout:"300s",retryOnFailure:!0,maxRetries:3},agents:[{id:"tm-1",name:"Data Collector Agent",ref:"",role:"initiator",goal:"Collect and aggregate contact data from multiple CRM sources",dependsOn:[],subagents:[],model:"openai:gpt-4.1",mcpServer:"Data Processing MCP",tools:["API Connector","Data Parser"],trigger:"Schedule: Daily at 2:00 AM",approval:"auto"},{id:"tm-2",name:"Analyzer Agent",ref:"",role:"contributor",goal:"Analyze collected data and identify patterns and duplicates",dependsOn:["tm-1"],subagents:[],model:"bedrock:us.anthropic.claude-sonnet-4-6",mcpServer:"Analytics MCP",tools:["Statistical Analysis","ML Predictor","Deduplicator"],trigger:"",approval:"manual"},{id:"tm-3",name:"Sync Writer Agent",ref:"",role:"contributor",goal:"Write cleaned and merged contacts back to the CRM systems",dependsOn:["tm-2"],subagents:[],model:"openai:gpt-4.1",mcpServer:"CRM Write MCP",tools:["Salesforce Connector","HubSpot Connector"],trigger:"",approval:"manual"},{id:"tm-4",name:"Report Generator Agent",ref:"",role:"finalizer",goal:"Generate sync summary reports and send notifications",dependsOn:["tm-3"],subagents:[],model:"openai:gpt-4.1",mcpServer:"Document Generation MCP",tools:["PDF Generator","Chart Builder","Email Sender"],trigger:"",approval:"auto"}],reactionRules:[{id:"rr-crm-1",trigger:"sync_conflict_detected",action:"log_and_skip",auto:!0,maxRetries:3,escalateAfterRetries:3,priority:"medium"},{id:"rr-crm-2",trigger:"api_rate_limit_hit",action:"backoff_and_retry",auto:!0,maxRetries:5,escalateAfterRetries:5,priority:"low"}],healthMonitoring:{heartbeatInterval:"30s",staleThreshold:"120s",unresponsiveThreshold:"300s",stuckThreshold:"600s",maxRestartAttempts:3},notifications:{on_start:!1,on_completion:!0,on_failure:!0,on_escalation:!1},output:{formats:["json","csv"],template:"CRM Sync Summary",storage:"s3://reports/crm-sync/"}},TEAM_SPECS={"analyze-campaign-performance":ANALYZE_CAMPAIGN_PERFORMANCE_TEAM_SPEC_0_0_1,"analyze-support-tickets":ANALYZE_SUPPORT_TICKETS_TEAM_SPEC_0_0_1,"audit-inventory-levels":AUDIT_INVENTORY_LEVELS_TEAM_SPEC_0_0_1,"automate-regulatory-reporting":AUTOMATE_REGULATORY_REPORTING_TEAM_SPEC_0_0_1,"comprehensive-sales-analytics":COMPREHENSIVE_SALES_ANALYTICS_TEAM_SPEC_0_0_1,"crop-monitoring":CROP_MONITORING_TEAM_SPEC_0_0_1,"disaster-assessment":DISASTER_ASSESSMENT_TEAM_SPEC_0_0_1,jupyter:JUPYTER_TEAM_SPEC_0_0_1,"month-end-close":MONTH_END_CLOSE_TEAM_SPEC_0_0_1,"notebook-benchmark":NOTEBOOK_BENCHMARK_TEAM_SPEC_0_0_1,"optimize-grid-operations":OPTIMIZE_GRID_OPERATIONS_TEAM_SPEC_0_0_1,"process-citizen-requests":PROCESS_CITIZEN_REQUESTS_TEAM_SPEC_0_0_1,"process-clinical-trial-data":PROCESS_CLINICAL_TRIAL_DATA_TEAM_SPEC_0_0_1,"sales-and-accounting":SALES_AND_ACCOUNTING_TEAM_SPEC_0_0_1,"sync-crm-contacts":SYNC_CRM_CONTACTS_TEAM_SPEC_0_0_1},VOICE_CATALOGUE={"kokoro-af-heart":{id:"kokoro-af-heart",version:"0.0.1",name:"Heart",description:"A warm American English voice, Kokoro's best graded (A).",engine:"kokoro",model:"kokoro-82m",voice:"af_heart",languages:["en-US"],where:["server"],licence:{weights:"Apache-2.0"},attribution:"",watermark:!1,sample:"Hello. I read the answers aloud, sentence by sentence, as they are written."},"kokoro-bf-emma":{id:"kokoro-bf-emma",version:"0.0.1",name:"Emma",description:"A clear British English voice.",engine:"kokoro",model:"kokoro-82m",voice:"bf_emma",languages:["en-GB"],where:["server"],licence:{weights:"Apache-2.0"},attribution:"",watermark:!1,sample:"Hello. I read the answers aloud, sentence by sentence, as they are written."},"kokoro-ff-siwis":{id:"kokoro-ff-siwis",version:"0.0.1",name:"Siwis",description:"A French voice, Kokoro's only one, trained on the SIWIS French Speech Synthesis Database, whose licence asks for its attribution.",engine:"kokoro",model:"kokoro-82m",voice:"ff_siwis",languages:["fr-FR"],where:["server"],licence:{weights:"Apache-2.0",dataset:"CC-BY-4.0"},attribution:"Trained on the SIWIS French Speech Synthesis Database, by Pierre-Edouard Honnet, Alexandros Lazaridis, Philip N. Garner and Junichi Yamagishi (Idiap Research Institute), under CC BY 4.0.",watermark:!1,sample:"Bonjour. Je lis les rΓ©ponses Γ voix haute, phrase par phrase, Γ mesure qu'elles s'Γ©crivent."}},SPEECH_MODEL_CATALOGUE={"kokoro-82m":{id:"kokoro-82m",version:"0.0.1",name:"Kokoro 82M",description:"Text to speech on Datalayer's servers, on CPU: hexgrad's Kokoro-82M v1.0 exported to ONNX, in full precision, with the voices file that holds its 54 voices, run by kokoro-onnx. Its phonemes come from eSpeak NG (GPL-3.0), which runs on the server and is never sent to a browser. Full precision, not the 8-bit export: on a 16-core CPU the 8-bit one speaks slower than real time (6 s for 3.9 s of speech), this one about four times faster than real time (1 s).",provider:"hexgrad",task:"tts",engine:"kokoro-onnx",dtype:"fp32",languages:["en","fr","es","it","pt","hi","ja","zh"],where:["server"],streaming:!1,licence:{weights:"Apache-2.0",code:"MIT"},attribution:"",upstream:"https://huggingface.co/hexgrad/Kokoro-82M",revision:"model-files-v1.0",files:[{path:"kokoro-v1.0.onnx",sha256:"7d5df8ecf7d4b1878015a32686053fd0eebe2bc377234608764cc0ef3636a6c5",size:325532387},{path:"voices-v1.0.bin",sha256:"bca610b8308e8d99f32e6fe4197e7ec01679264efed0cac9140fe9c29f1fbf7d",size:28214398}]},"moonshine-base-en":{id:"moonshine-base-en",version:"0.0.1",name:"Moonshine Base (English)",description:"Speech to text in the browser, in English: Useful Sensors' Moonshine Base (61M parameters), its ONNX export quantized to 8 bits, run by transformers.js. One of the English models whose weights are MIT; the legacy non-English Moonshine models are under a non-commercial licence and are not listed.",provider:"usefulsensors",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/UsefulSensors/moonshine-base",revision:"b1e9b6aae3c3c7298f10c3798393fdf38e8fbbad",files:[{path:"config.json",sha256:"fab7241d1e9fc6c2370c4c6dfb5da79bb54d67ed9ab6b507ac51d29d2abe01d1",size:922},{path:"generation_config.json",sha256:"f9b3f711b57be7def2e50a8942f64f36ee0a55fad5b84ff93a687b6c5bcc1d44",size:147},{path:"preprocessor_config.json",sha256:"fa43a7017ef85cd1d0fba0d9aae77c8adb16990ae6f11115631f41ec5d8aa679",size:128},{path:"special_tokens_map.json",sha256:"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",size:3},{path:"tokenizer.json",sha256:"7b913404bdd039af4756783218af4440bc07fb7d6d8258d677e34f95b3ec416f",size:3761754},{path:"tokenizer_config.json",sha256:"edaee394565d428ea98a663ae7209cdcfeefc5585c42d7a570ff7c986df2cd15",size:135735},{path:"onnx/encoder_model_quantized.onnx",sha256:"1dd9ab0a7f987113d30affcba5a068d11c8f90fa0223caa3e491ade431ad9751",size:20513063},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"cc9f3cd6698a369c6008b41aa60aa3fb3322e7f03c9bdf19d8e6b7200afca4f3",size:42498870}]},"moonshine-tiny-en":{id:"moonshine-tiny-en",version:"0.0.1",name:"Moonshine Tiny (English)",description:"Speech to text in the browser, in English: Useful Sensors' Moonshine Tiny (27M parameters), its ONNX export quantized to 8 bits, run by transformers.js. One of the English models whose weights are MIT; the legacy non-English Moonshine models are under a non-commercial licence and are not listed.",provider:"usefulsensors",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/UsefulSensors/moonshine-tiny",revision:"a6da1241cd305dcd64eab1edbd615f2bb9aabb95",files:[{path:"config.json",sha256:"558e1e02069137c796ace1e50c48d8fe451f04a295929138e6bea885517f0edb",size:921},{path:"generation_config.json",sha256:"f9b3f711b57be7def2e50a8942f64f36ee0a55fad5b84ff93a687b6c5bcc1d44",size:147},{path:"preprocessor_config.json",sha256:"fa43a7017ef85cd1d0fba0d9aae77c8adb16990ae6f11115631f41ec5d8aa679",size:128},{path:"special_tokens_map.json",sha256:"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",size:3},{path:"tokenizer.json",sha256:"7b913404bdd039af4756783218af4440bc07fb7d6d8258d677e34f95b3ec416f",size:3761754},{path:"tokenizer_config.json",sha256:"edaee394565d428ea98a663ae7209cdcfeefc5585c42d7a570ff7c986df2cd15",size:135735},{path:"onnx/encoder_model_quantized.onnx",sha256:"c6fc4b7bc5af75c0591fd157a1f3829b533d18e9769a888fd95a62e470dd4f4a",size:7937661},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"eed87831c3a6103534aae7d47a5d485025c659a1323901513961c39fe8a1a367",size:20243286}]},"silero-vad":{id:"silero-vad",version:"0.0.1",name:"Silero VAD",description:"Where speech starts and ends in what the microphone heard, in the browser: Silero VAD (about 2 MB), the build @ricky0123/vad-web 0.0.31 ships and runs on onnxruntime-web. Push-to-talk keeps the speech it finds and drops the rest.",provider:"snakers4",task:"vad",engine:"vad-web",dtype:"fp32",languages:[],where:["device"],streaming:!0,licence:{weights:"MIT",code:"ISC"},attribution:"",upstream:"https://github.com/snakers4/silero-vad",revision:"0.0.31",files:[{path:"silero_vad_legacy.onnx",sha256:"a35ebf52fd3ce5f1469b2a36158dba761bc47b973ea3382b3186ca15b1f5af28",size:1807522}]},"whisper-base":{id:"whisper-base",version:"0.0.1",name:"Whisper Base",description:"Speech to text in the browser for the languages Moonshine's MIT models do not speak, French first: OpenAI's Whisper base (74M parameters, 99 languages), its ONNX export quantized to 8 bits, run by transformers.js. A clip at a time.",provider:"openai",task:"stt",engine:"transformers.js",dtype:"q8",languages:["en","fr"],where:["device"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-base",revision:"1846881b6b3a3024392c1eea3ad983695bc23925",files:[{path:"config.json",sha256:"f4d0608f7d918166da7edb3e188de5ef1bfe70d9802e785d271fd88111e9cf4b",size:2243},{path:"generation_config.json",sha256:"61070cf8de25b1e9256e8e102ded49d8d24a8369ed36ef84fdf21549e68125a0",size:3832},{path:"preprocessor_config.json",sha256:"a6a76d28c93edb273669eb9e0b0636a2bddbb1272c3261e47b7ca6dfdbac1b8d",size:339},{path:"special_tokens_map.json",sha256:"e67ae3a0aaa99abcd9f187138e12db1f65c16a14761c50ef10eef2c174a7a691",size:2194},{path:"tokenizer.json",sha256:"27fc476bfe7f17299480be2273fc0608e4d5a99aba2ab5dec5374b4482d1a566",size:2480466},{path:"tokenizer_config.json",sha256:"2e036e4dbacfdeb7242c7d4ec4149f4a16e86026048f94d1637e3a8ee9c6a573",size:282682},{path:"added_tokens.json",sha256:"9715fd2243b6f06a5858b5e32950d2853f73dd5bc201aafcf76f5082a2d8acd1",size:34604},{path:"normalizer.json",sha256:"bf1c507dc8724ca9cf9903640dacfb69dae2f00edee4f21ceba106a7392f26dd",size:52666},{path:"vocab.json",sha256:"50d6a919f0a0601d56a04eb583c780d18553aa388254ba3158eb6a00f13e2c1a",size:1036584},{path:"onnx/encoder_model_quantized.onnx",sha256:"5862993336bf33acd23736071aae2b32261d3b1b2f37780194460d4ef974dd46",size:23201314},{path:"onnx/decoder_model_merged_quantized.onnx",sha256:"fa3ef9902734ce5ae6f9ef2bdb2ba9a6c4b5785b09f4f420ce036573dc9d090b",size:53693315}]},"whisper-large-v3-turbo":{id:"whisper-large-v3-turbo",version:"0.0.1",name:"Whisper Large v3 Turbo",description:"Speech to text on Datalayer's servers, on CPU: OpenAI's Whisper large-v3-turbo (809M parameters, 99 languages), converted to CTranslate2 in half precision and run by faster-whisper, its weights quantized to 8 bits when loaded. A recording of up to a minute at a time; the language is detected when the page does not say it.",provider:"openai",task:"stt",engine:"faster-whisper",dtype:"float16",languages:["en","fr","es","it","pt","de","nl","ja","zh","hi"],where:["server"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-large-v3-turbo",revision:"0a363e9161cbc7ed1431c9597a8ceaf0c4f78fcf",files:[{path:"config.json",sha256:"b0253ea6c0d3bea6b1e19e91a02acfd3b53f4467362efcb5a3e6b16c9b3a9b7e",size:2263},{path:"preprocessor_config.json",sha256:"7ccc62c6f2765af1f3b46c00c9b5894426835a05021c8b9c01eecb6dfb542711",size:340},{path:"tokenizer.json",sha256:"297b13372ac43916285644fb9687add3cc62ee2a1adb60da3dc25cc94c1871fd",size:2710337},{path:"vocabulary.json",sha256:"c69260f2ab26d659b7c398f9a2b2b48ed0df16c3b47d7326782fd9cba71690c1",size:1068114},{path:"model.bin",sha256:"e76620f83d5f5b69efd3d87e3dc180c1bd21df9fbebacfd4335e5e1efcc018da",size:1617884929}]},"whisper-small":{id:"whisper-small",version:"0.0.1",name:"Whisper Small",description:"Speech to text on Datalayer's servers for short spoken turns, on CPU: OpenAI's Whisper small (244M parameters, 99 languages), converted to CTranslate2 and run by faster-whisper, its weights quantized to 8 bits when loaded. About four times faster than large-v3-turbo; on the fixtures it hears English as well (3.3% against 2.4%) and French less well (16.1% against 2.6%). Recordings longer than a turn go to large-v3-turbo.",provider:"openai",task:"stt",engine:"faster-whisper",dtype:"float16",languages:["en","fr","es","it","pt","de","nl","ja","zh","hi"],where:["server"],streaming:!1,licence:{weights:"MIT",code:"MIT"},attribution:"",upstream:"https://huggingface.co/openai/whisper-small",revision:"536b0662742c02347bc0e980a01041f333bce120",files:[{path:"config.json",sha256:"b55496ac7940a7ae47d2c01eab40edfd8701feec1229d9cce3b40014383fb828",size:2370},{path:"tokenizer.json",sha256:"fb7b63191e9bb045082c79fd742a3106a12c99513ab30df4a0d47fa6cb6fd0ab",size:2203239},{path:"vocabulary.txt",sha256:"34ce3fe1c5041027b3f8d42912270993f986dbc4bb34cf27f951e34a1e453913",size:459861},{path:"model.bin",sha256:"3e305921506d8872816023e4c273e75d2419fb89b24da97b4fe7bce14170d671",size:483546902}]}};function voiceSpeaks(Au,lo){return Au.languages.some($u=>$u===lo||$u.split("-")[0]===lo)}function voiceFor(Au){const lo=Object.values(VOICE_CATALOGUE);return lo.find($u=>$u.languages.includes(Au))??lo.find($u=>voiceSpeaks($u,Au.split("-")[0]))}function transcriberFor(Au){const lo=Au.split("-")[0],$u=Object.values(SPEECH_MODEL_CATALOGUE).filter(Ru=>Ru.task==="stt"&&Ru.where.includes("device")&&Ru.languages.includes(lo));return $u.find(Ru=>Ru.id==="moonshine-tiny-en")??$u.find(Ru=>Ru.id.startsWith("moonshine-"))??$u[0]}const MCP_SERVER_MAP={"tavily:0.0.1":TAVILY_MCP_SERVER_0_0_1},SKILL_MAP={"crawl:0.0.1":CRAWL_SKILL_SPEC_0_0_1,"events:0.0.1":EVENTS_SKILL_SPEC_0_0_1,"github:0.0.1":GITHUB_SKILL_SPEC_0_0_1,"text-summarizer:0.0.1":TEXT_SUMMARIZER_SKILL_SPEC_0_0_1};function toAgentSkillSpec(Au){return{id:Au.id,name:Au.name,description:Au.description,version:Au.version??"0.0.1",tags:Au.tags,enabled:Au.enabled,requiredEnvVars:Au.requiredEnvVars}}const TOOL_MAP={"runtime-echo:0.0.1":RUNTIME_ECHO_BACKEND_TOOL_SPEC_0_0_1},FRONTEND_TOOL_MAP={"jupyter-notebook:0.0.1":JUPYTER_NOTEBOOK_FRONTEND_TOOL_SPEC_0_0_1,"lexical-document:0.0.1":LEXICAL_DOCUMENT_FRONTEND_TOOL_SPEC_0_0_1},COG_CRAWLER_AGENTSPEC_0_0_1={id:"cog-crawler",version:"0.0.1",name:"Crawler Cog",description:"Researches the web and public repositories under the Web Research Frame: every finding rests on a source that was opened, is cited, and is checked before it is reported.",tags:["market-analyst","agent-worker","research","github","analysis","cog"],domain:"market-analyst",enabled:!0,model:"bedrock:us.anthropic.claude-sonnet-4-6",modelAdditionals:["alibaba:qwen-max"],mcpServers:[MCP_SERVER_MAP["tavily:0.0.1"]],skills:[SKILL_MAP["github:0.0.1"]?toAgentSkillSpec(SKILL_MAP["github:0.0.1"]):void 0,SKILL_MAP["events:0.0.1"]?toAgentSkillSpec(SKILL_MAP["events:0.0.1"]):void 0,SKILL_MAP["crawl:0.0.1"]?toAgentSkillSpec(SKILL_MAP["crawl:0.0.1"]):void 0].filter(Boolean),backendTools:[],frontendTools:[FRONTEND_TOOL_MAP["jupyter-notebook:0.0.1"],FRONTEND_TOOL_MAP["lexical-document:0.0.1"]],environmentName:"ai-agents-env",icon:"globe",emoji:"π",color:"#10B981",suggestions:[{text:"Search the web for recent news about AI agents",summary:"AI agent news"},{text:"Find trending open-source Python projects on GitHub",summary:"Trending Python projects"},{text:"Research best practices for building RAG applications",summary:"RAG best practices"},{text:"Compare popular JavaScript frameworks in 2024",summary:"JavaScript frameworks 2024"}],welcomeMessage:`Hi! I'm the Crawler Cog. I research the web and GitHub under the Web Research Frame: I open what I cite, I say which sources are primary, and I tell you where sources disagree.
|
|
2925
2925
|
`,welcomeNotebook:void 0,welcomeDocument:void 0,sandboxVariant:"jupyter-server",harness:"pydantic-ai",systemPrompt:`You are a web crawling and research assistant with access to Tavily search and GitHub tools. Use Tavily to search the web for current information and search GitHub repositories for relevant projects. Synthesize information from multiple sources and provide clear summaries with sources cited.
|
|
2926
2926
|
|
|
2927
2927
|
## Frames
|
|
@@ -41,6 +41,7 @@ export declare const EXAMPLE_FULL_AGENTSPEC_0_0_1: Agentspec;
|
|
|
41
41
|
export declare const EXAMPLE_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1: Agentspec;
|
|
42
42
|
export declare const EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1: Agentspec;
|
|
43
43
|
export declare const EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1: Agentspec;
|
|
44
|
+
export declare const EXAMPLE_HARNESS_CLAUDE_CODE_AGENTSPEC_0_0_1: Agentspec;
|
|
44
45
|
export declare const EXAMPLE_HOOKS_AGENTSPEC_0_0_1: Agentspec;
|
|
45
46
|
export declare const EXAMPLE_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1: Agentspec;
|
|
46
47
|
export declare const EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1: Agentspec;
|
|
@@ -2582,6 +2582,54 @@ beautifully. Just acknowledge that you've created the haiku.
|
|
|
2582
2582
|
parameters: undefined,
|
|
2583
2583
|
subagents: undefined,
|
|
2584
2584
|
};
|
|
2585
|
+
export const EXAMPLE_HARNESS_CLAUDE_CODE_AGENTSPEC_0_0_1 = {
|
|
2586
|
+
id: 'example-harness-claude-code',
|
|
2587
|
+
version: '0.0.1',
|
|
2588
|
+
name: 'A Claude Code Agent',
|
|
2589
|
+
description: `Claude Code as a Datalayer agent: launched in the runtime over the Agent Client Protocol, its files, terminals and permissions decided by the Shield under the application's Rules, every action in the record. Needs the account's ANTHROPIC_API_KEY.`,
|
|
2590
|
+
tags: ['coding', 'harness', 'acp'],
|
|
2591
|
+
domain: undefined,
|
|
2592
|
+
enabled: false,
|
|
2593
|
+
model: undefined,
|
|
2594
|
+
mcpServers: [],
|
|
2595
|
+
skills: [].filter(Boolean),
|
|
2596
|
+
backendTools: [],
|
|
2597
|
+
frontendTools: [],
|
|
2598
|
+
environmentName: 'ai-agents-env',
|
|
2599
|
+
icon: undefined,
|
|
2600
|
+
emoji: undefined,
|
|
2601
|
+
color: undefined,
|
|
2602
|
+
suggestions: [],
|
|
2603
|
+
welcomeMessage: undefined,
|
|
2604
|
+
welcomeNotebook: undefined,
|
|
2605
|
+
welcomeDocument: undefined,
|
|
2606
|
+
sandboxVariant: 'jupyter-server',
|
|
2607
|
+
harness: 'claude-code',
|
|
2608
|
+
systemPrompt: undefined,
|
|
2609
|
+
systemPromptCodemodeAddons: undefined,
|
|
2610
|
+
goal: undefined,
|
|
2611
|
+
delegable: [],
|
|
2612
|
+
protocol: undefined,
|
|
2613
|
+
ui: [],
|
|
2614
|
+
protocols: [],
|
|
2615
|
+
trigger: undefined,
|
|
2616
|
+
modelConfig: undefined,
|
|
2617
|
+
mcpServerTools: undefined,
|
|
2618
|
+
guardrails: undefined,
|
|
2619
|
+
evals: undefined,
|
|
2620
|
+
codemode: undefined,
|
|
2621
|
+
output: undefined,
|
|
2622
|
+
advanced: undefined,
|
|
2623
|
+
checkpoints: undefined,
|
|
2624
|
+
authorizationPolicy: undefined,
|
|
2625
|
+
notifications: undefined,
|
|
2626
|
+
memory: 'ephemeral',
|
|
2627
|
+
preHooks: undefined,
|
|
2628
|
+
postHooks: undefined,
|
|
2629
|
+
toolHooks: undefined,
|
|
2630
|
+
parameters: undefined,
|
|
2631
|
+
subagents: undefined,
|
|
2632
|
+
};
|
|
2585
2633
|
export const EXAMPLE_HOOKS_AGENTSPEC_0_0_1 = {
|
|
2586
2634
|
id: 'example-hooks',
|
|
2587
2635
|
version: '0.0.1',
|
|
@@ -13514,6 +13562,7 @@ export const AGENTSPECS = {
|
|
|
13514
13562
|
'example-gpt-and-claude-collaborate': EXAMPLE_GPT_AND_CLAUDE_COLLABORATE_AGENTSPEC_0_0_1,
|
|
13515
13563
|
'example-guardrails': EXAMPLE_GUARDRAILS_AGENTSPEC_0_0_1,
|
|
13516
13564
|
'example-haiku-generative-ui': EXAMPLE_HAIKU_GENERATIVE_UI_AGENTSPEC_0_0_1,
|
|
13565
|
+
'example-harness-claude-code': EXAMPLE_HARNESS_CLAUDE_CODE_AGENTSPEC_0_0_1,
|
|
13517
13566
|
'example-hooks': EXAMPLE_HOOKS_AGENTSPEC_0_0_1,
|
|
13518
13567
|
'example-human-approved-automation': EXAMPLE_HUMAN_APPROVED_AUTOMATION_AGENTSPEC_0_0_1,
|
|
13519
13568
|
'example-human-in-the-loop': EXAMPLE_HUMAN_IN_THE_LOOP_AGENTSPEC_0_0_1,
|