@datalayer/agent-runtimes 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -1
- package/lib/AgentNode.d.ts +3 -0
- package/lib/AgentNode.js +676 -0
- package/lib/App.js +1 -1
- package/lib/agent-node/themeStore.d.ts +3 -0
- package/lib/agent-node/themeStore.js +156 -0
- package/lib/agent-node-main.d.ts +1 -0
- package/lib/agent-node-main.js +14 -0
- package/lib/agents/AgentDetails.d.ts +22 -1
- package/lib/agents/AgentDetails.js +34 -47
- package/lib/api/index.d.ts +0 -1
- package/lib/api/index.js +4 -2
- package/lib/chat/Chat.d.ts +5 -106
- package/lib/chat/Chat.js +20 -14
- package/lib/chat/ChatFloating.d.ts +7 -140
- package/lib/chat/ChatFloating.js +3 -3
- package/lib/chat/ChatPopupStandalone.d.ts +8 -47
- package/lib/chat/ChatPopupStandalone.js +3 -3
- package/lib/chat/ChatSidebar.d.ts +4 -69
- package/lib/chat/ChatSidebar.js +83 -51
- package/lib/chat/ChatStandalone.d.ts +4 -54
- package/lib/chat/ChatStandalone.js +3 -3
- package/lib/chat/base/ChatBase.js +1414 -174
- package/lib/chat/display/FloatingBrandButton.js +8 -1
- package/lib/chat/header/ChatHeader.d.ts +3 -1
- package/lib/chat/header/ChatHeader.js +15 -12
- package/lib/chat/header/ChatHeaderBase.d.ts +30 -5
- package/lib/chat/header/ChatHeaderBase.js +41 -16
- package/lib/chat/indicators/McpStatusIndicator.d.ts +7 -4
- package/lib/chat/indicators/McpStatusIndicator.js +7 -32
- package/lib/chat/indicators/SandboxStatusIndicator.d.ts +4 -1
- package/lib/chat/indicators/SandboxStatusIndicator.js +91 -56
- package/lib/chat/indicators/SkillsStatusIndicator.d.ts +7 -0
- package/lib/chat/indicators/SkillsStatusIndicator.js +88 -0
- package/lib/chat/indicators/index.d.ts +1 -0
- package/lib/chat/indicators/index.js +1 -0
- package/lib/chat/messages/ChatMessageList.d.ts +1 -1
- package/lib/chat/messages/ChatMessageList.js +154 -114
- package/lib/chat/messages/ChatMessages.js +6 -2
- package/lib/chat/prompt/InputFooter.d.ts +21 -6
- package/lib/chat/prompt/InputFooter.js +76 -20
- package/lib/chat/prompt/InputPrompt.d.ts +5 -1
- package/lib/chat/prompt/InputPrompt.js +4 -4
- package/lib/chat/prompt/InputPromptFooter.d.ts +3 -1
- package/lib/chat/prompt/InputPromptFooter.js +3 -3
- package/lib/chat/prompt/InputPromptLexical.d.ts +3 -1
- package/lib/chat/prompt/InputPromptLexical.js +12 -5
- package/lib/chat/prompt/InputPromptText.d.ts +3 -1
- package/lib/chat/prompt/InputPromptText.js +2 -2
- package/lib/chat/tools/ToolApprovalBanner.js +1 -1
- package/lib/chat/tools/ToolCallDisplay.d.ts +3 -1
- package/lib/chat/tools/ToolCallDisplay.js +2 -2
- package/lib/chat/usage/TokenUsageBar.js +20 -2
- package/lib/client/AgentRuntimesClientContext.d.ts +53 -0
- package/lib/client/AgentRuntimesClientContext.js +55 -0
- package/lib/client/AgentsMixin.d.ts +0 -18
- package/lib/client/AgentsMixin.js +20 -30
- package/lib/client/IAgentRuntimesClient.d.ts +215 -0
- package/lib/client/IAgentRuntimesClient.js +5 -0
- package/lib/client/SdkAgentRuntimesClient.d.ts +151 -0
- package/lib/client/SdkAgentRuntimesClient.js +134 -0
- package/lib/client/index.d.ts +4 -1
- package/lib/client/index.js +3 -1
- package/lib/components/NotificationEventCard.js +5 -1
- package/lib/config/AgentConfiguration.d.ts +22 -0
- package/lib/config/AgentConfiguration.js +319 -64
- package/lib/context/ContextDistribution.d.ts +3 -1
- package/lib/context/ContextDistribution.js +8 -27
- package/lib/context/ContextInspector.d.ts +3 -1
- package/lib/context/ContextInspector.js +19 -67
- package/lib/context/ContextPanel.d.ts +3 -1
- package/lib/context/ContextPanel.js +104 -64
- package/lib/context/ContextUsage.d.ts +3 -1
- package/lib/context/ContextUsage.js +3 -3
- package/lib/context/CostTracker.d.ts +9 -3
- package/lib/context/CostTracker.js +26 -47
- package/lib/context/CostUsageChart.d.ts +12 -0
- package/lib/context/CostUsageChart.js +378 -0
- package/lib/context/GraphFlowChart.d.ts +16 -0
- package/lib/context/GraphFlowChart.js +182 -0
- package/lib/context/TokenUsageChart.d.ts +8 -1
- package/lib/context/TokenUsageChart.js +349 -211
- package/lib/context/TurnGraphChart.d.ts +39 -0
- package/lib/context/TurnGraphChart.js +538 -0
- package/lib/context/otelWsPool.d.ts +20 -0
- package/lib/context/otelWsPool.js +69 -0
- package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -17
- package/lib/examples/A2UiComponentGalleryExample.js +315 -522
- package/lib/examples/A2UiContactCardExample.d.ts +0 -18
- package/lib/examples/A2UiContactCardExample.js +154 -411
- package/lib/examples/A2UiRestaurantExample.d.ts +0 -30
- package/lib/examples/A2UiRestaurantExample.js +114 -212
- package/lib/examples/A2UiViewerExample.d.ts +0 -18
- package/lib/examples/A2UiViewerExample.js +283 -532
- package/lib/examples/AgUiBackendToolRenderingExample.js +1 -1
- package/lib/examples/AgUiHaikuGenUiExample.d.ts +1 -1
- package/lib/examples/AgUiHaikuGenUiExample.js +1 -1
- package/lib/examples/AgUiSharedStateExample.js +2 -1
- package/lib/examples/AgentCheckpointsExample.js +14 -28
- package/lib/examples/AgentCodemodeExample.d.ts +4 -6
- package/lib/examples/AgentCodemodeExample.js +603 -169
- package/lib/examples/AgentEvalsExample.js +339 -53
- package/lib/examples/AgentGuardrailsExample.js +383 -66
- package/lib/examples/AgentHooksExample.d.ts +3 -0
- package/lib/examples/AgentHooksExample.js +122 -0
- package/lib/examples/AgentInferenceProviderExample.d.ts +3 -0
- package/lib/examples/AgentInferenceProviderExample.js +329 -0
- package/lib/examples/AgentMCPExample.d.ts +3 -0
- package/lib/examples/AgentMCPExample.js +481 -0
- package/lib/examples/AgentMemoryExample.d.ts +1 -2
- package/lib/examples/AgentMemoryExample.js +78 -33
- package/lib/examples/AgentMonitoringExample.js +261 -200
- package/lib/examples/AgentNotificationsExample.d.ts +1 -2
- package/lib/examples/AgentNotificationsExample.js +114 -33
- package/lib/examples/AgentOtelExample.js +32 -42
- package/lib/examples/AgentOutputsExample.d.ts +11 -6
- package/lib/examples/AgentOutputsExample.js +433 -81
- package/lib/examples/AgentParametersExample.d.ts +3 -0
- package/lib/examples/AgentParametersExample.js +248 -0
- package/lib/examples/AgentSandboxExample.d.ts +3 -3
- package/lib/examples/AgentSandboxExample.js +74 -45
- package/lib/examples/AgentSkillsExample.js +95 -103
- package/lib/examples/AgentSubagentsExample.d.ts +14 -0
- package/lib/examples/AgentSubagentsExample.js +228 -0
- package/lib/examples/AgentToolApprovalsExample.js +49 -561
- package/lib/examples/AgentTriggersExample.js +823 -569
- package/lib/examples/{AgentspecExample.d.ts → AgentspecsExample.d.ts} +2 -2
- package/lib/examples/AgentspecsExample.js +1096 -0
- package/lib/examples/ChatCustomExample.js +16 -28
- package/lib/examples/ChatExample.js +13 -29
- package/lib/examples/CopilotKitLexicalExample.js +2 -1
- package/lib/examples/CopilotKitNotebookExample.js +2 -1
- package/lib/examples/HomeExample.d.ts +15 -0
- package/lib/examples/HomeExample.js +77 -0
- package/lib/examples/Lexical2Example.js +4 -2
- package/lib/examples/{LexicalExample.d.ts → LexicalAgentExample.d.ts} +4 -4
- package/lib/examples/{LexicalExample.js → LexicalAgentExample.js} +66 -17
- package/lib/examples/{LexicalSidebarExample.d.ts → LexicalAgentSidebarExample.d.ts} +5 -5
- package/lib/examples/LexicalAgentSidebarExample.js +261 -0
- package/lib/examples/NotebookAgentExample.d.ts +9 -0
- package/lib/examples/NotebookAgentExample.js +192 -0
- package/lib/examples/{NotebookSidebarExample.d.ts → NotebookAgentSidebarExample.d.ts} +2 -2
- package/lib/examples/NotebookAgentSidebarExample.js +221 -0
- package/lib/examples/{DatalayerNotebookExample.d.ts → NotebookCollaborationExample.d.ts} +4 -4
- package/lib/examples/{DatalayerNotebookExample.js → NotebookCollaborationExample.js} +3 -3
- package/lib/examples/NotebookExample.d.ts +4 -7
- package/lib/examples/NotebookExample.js +14 -146
- package/lib/examples/components/AuthRequiredView.d.ts +6 -0
- package/lib/examples/components/AuthRequiredView.js +33 -0
- package/lib/examples/components/ExampleWrapper.d.ts +9 -3
- package/lib/examples/components/ExampleWrapper.js +45 -9
- package/lib/examples/{ag-ui → components}/haiku/HaikuDisplay.js +1 -1
- package/lib/examples/{ag-ui → components}/haiku/InlineHaikuCard.js +1 -1
- package/lib/examples/{ag-ui → components}/haiku/index.d.ts +1 -1
- package/lib/examples/{ag-ui → components}/haiku/index.js +1 -1
- package/lib/examples/components/index.d.ts +3 -0
- package/lib/examples/components/index.js +4 -0
- package/lib/examples/{ag-ui → components}/weather/index.d.ts +1 -1
- package/lib/examples/{ag-ui → components}/weather/index.js +1 -1
- package/lib/examples/example-selector.d.ts +17 -4
- package/lib/examples/example-selector.js +108 -41
- package/lib/examples/index.d.ts +10 -6
- package/lib/examples/index.js +10 -6
- package/lib/examples/lexical/initial-content.json +6 -6
- package/lib/examples/main.js +257 -27
- package/lib/examples/utils/a2ui.d.ts +18 -0
- package/lib/examples/utils/a2ui.js +69 -0
- package/lib/examples/utils/a2uiMarkdownProvider.d.ts +7 -0
- package/lib/examples/utils/a2uiMarkdownProvider.js +9 -0
- package/lib/examples/utils/agentId.d.ts +18 -0
- package/lib/examples/utils/agentId.js +54 -0
- package/lib/examples/utils/agents/earthquake-detector.json +11 -11
- package/lib/examples/utils/agents/sales-forecaster.json +11 -11
- package/lib/examples/utils/agents/social-post-generator.json +11 -11
- package/lib/examples/utils/agents/stock-market.json +11 -11
- package/lib/examples/utils/examplesStore.js +82 -27
- package/lib/examples/utils/useExampleAgentRuntimesUrl.d.ts +5 -0
- package/lib/examples/utils/useExampleAgentRuntimesUrl.js +19 -0
- package/lib/hooks/index.d.ts +8 -8
- package/lib/hooks/index.js +7 -7
- package/lib/hooks/useA2A.d.ts +2 -3
- package/lib/hooks/useAIAgentsWebSocket.d.ts +43 -4
- package/lib/hooks/useAIAgentsWebSocket.js +153 -12
- package/lib/hooks/useAcp.d.ts +1 -2
- package/lib/hooks/useAgUi.d.ts +1 -1
- package/lib/hooks/{useAgents.d.ts → useAgentRuntimes.d.ts} +70 -4
- package/lib/hooks/{useAgents.js → useAgentRuntimes.js} +237 -32
- package/lib/hooks/useAgentsCatalog.js +1 -1
- package/lib/hooks/useAgentsService.d.ts +2 -2
- package/lib/hooks/useAgentsService.js +7 -7
- package/lib/hooks/useCheckpoints.js +1 -1
- package/lib/hooks/useConfig.d.ts +4 -1
- package/lib/hooks/useConfig.js +10 -3
- package/lib/hooks/useContextSnapshot.d.ts +9 -4
- package/lib/hooks/useContextSnapshot.js +9 -37
- package/lib/hooks/useMonitoring.js +3 -0
- package/lib/hooks/useSandbox.d.ts +20 -8
- package/lib/hooks/useSandbox.js +105 -40
- package/lib/hooks/useSkills.d.ts +23 -5
- package/lib/hooks/useSkills.js +94 -39
- package/lib/hooks/useToolApprovals.d.ts +60 -36
- package/lib/hooks/useToolApprovals.js +318 -69
- package/lib/hooks/useVercelAI.d.ts +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +1 -0
- package/lib/inference/index.d.ts +0 -1
- package/lib/middleware/index.d.ts +0 -1
- package/lib/protocols/AGUIAdapter.js +6 -0
- package/lib/protocols/VercelAIAdapter.d.ts +7 -0
- package/lib/protocols/VercelAIAdapter.js +59 -7
- package/lib/specs/agents/agents.d.ts +21 -4
- package/lib/specs/agents/agents.js +2879 -316
- package/lib/specs/agents/index.js +3 -1
- package/lib/specs/benchmarks.d.ts +20 -0
- package/lib/specs/benchmarks.js +205 -0
- package/lib/specs/envvars.js +27 -20
- package/lib/specs/evals.d.ts +10 -9
- package/lib/specs/evals.js +128 -88
- package/lib/specs/events.d.ts +3 -10
- package/lib/specs/events.js +127 -84
- package/lib/specs/frontendTools.js +2 -2
- package/lib/specs/guardrails.d.ts +0 -7
- package/lib/specs/guardrails.js +240 -159
- package/lib/specs/mcpServers.js +35 -6
- package/lib/specs/memory.d.ts +0 -2
- package/lib/specs/memory.js +4 -17
- package/lib/specs/models.d.ts +0 -2
- package/lib/specs/models.js +20 -15
- package/lib/specs/notifications.js +102 -18
- package/lib/specs/outputs.js +15 -9
- package/lib/specs/personas.d.ts +41 -0
- package/lib/specs/personas.js +168 -0
- package/lib/specs/skills.d.ts +1 -1
- package/lib/specs/skills.js +23 -23
- package/lib/specs/teams/index.js +3 -1
- package/lib/specs/teams/teams.js +468 -348
- package/lib/specs/tools.js +4 -4
- package/lib/specs/triggers.js +61 -11
- package/lib/stores/agentRuntimeStore.d.ts +208 -0
- package/lib/stores/agentRuntimeStore.js +650 -0
- package/lib/stores/conversationStore.js +2 -2
- package/lib/stores/index.d.ts +1 -1
- package/lib/stores/index.js +1 -1
- package/lib/tools/adapters/copilotkit/lexicalHooks.d.ts +1 -2
- package/lib/tools/adapters/copilotkit/lexicalHooks.js +1 -3
- package/lib/tools/adapters/copilotkit/notebookHooks.d.ts +1 -2
- package/lib/tools/adapters/copilotkit/notebookHooks.js +1 -3
- package/lib/tools/index.d.ts +0 -2
- package/lib/tools/index.js +0 -1
- package/lib/types/agents-lifecycle.d.ts +18 -0
- package/lib/types/agents.d.ts +6 -0
- package/lib/types/agentspecs.d.ts +54 -1
- package/lib/types/benchmarks.d.ts +43 -0
- package/lib/types/benchmarks.js +5 -0
- package/lib/types/chat.d.ts +325 -8
- package/lib/types/context.d.ts +27 -0
- package/lib/types/cost.d.ts +2 -2
- package/lib/types/evals.d.ts +26 -17
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.js +3 -0
- package/lib/types/mcp.d.ts +8 -0
- package/lib/types/models.d.ts +2 -2
- package/lib/types/personas.d.ts +25 -0
- package/lib/types/personas.js +5 -0
- package/lib/types/skills.d.ts +43 -1
- package/lib/types/stream.d.ts +110 -0
- package/lib/types/stream.js +36 -0
- package/lib/utils/utils.d.ts +9 -5
- package/lib/utils/utils.js +9 -5
- package/package.json +19 -11
- package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_benchmarks.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/generate_events.cpython-313.pyc +0 -0
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- package/scripts/codegen/generate_agents.py +187 -45
- package/scripts/codegen/generate_benchmarks.py +441 -0
- package/scripts/codegen/generate_evals.py +94 -16
- package/scripts/codegen/generate_events.py +35 -14
- package/scripts/codegen/generate_personas.py +319 -0
- package/scripts/codegen/generate_skills.py +9 -9
- package/scripts/sync-jupyter.sh +26 -7
- package/lib/api/tool-approvals.d.ts +0 -62
- package/lib/api/tool-approvals.js +0 -145
- package/lib/examples/AgentspecExample.js +0 -705
- package/lib/examples/LexicalSidebarExample.js +0 -163
- package/lib/examples/NotebookSidebarExample.js +0 -119
- package/lib/examples/NotebookSimpleExample.d.ts +0 -6
- package/lib/examples/NotebookSimpleExample.js +0 -22
- package/lib/examples/ag-ui/index.d.ts +0 -10
- package/lib/examples/ag-ui/index.js +0 -16
- package/lib/hooks/useAgentsRegistry.d.ts +0 -10
- package/lib/hooks/useAgentsRegistry.js +0 -20
- package/lib/stores/agentsStore.d.ts +0 -123
- package/lib/stores/agentsStore.js +0 -270
- /package/lib/examples/{ag-ui → components}/haiku/HaikuDisplay.d.ts +0 -0
- /package/lib/examples/{ag-ui → components}/haiku/InlineHaikuCard.d.ts +0 -0
- /package/lib/examples/{ag-ui → components}/weather/InlineWeatherCard.d.ts +0 -0
- /package/lib/examples/{ag-ui → components}/weather/InlineWeatherCard.js +0 -0
package/lib/specs/models.js
CHANGED
|
@@ -15,7 +15,6 @@ export const AIModels = {
|
|
|
15
15
|
AZURE_OPENAI_GPT_4_1: 'azure-openai:gpt-4.1',
|
|
16
16
|
AZURE_OPENAI_GPT_4O_MINI: 'azure-openai:gpt-4o-mini',
|
|
17
17
|
AZURE_OPENAI_GPT_4O: 'azure-openai:gpt-4o',
|
|
18
|
-
BEDROCK_US_ANTHROPIC_CLAUDE_3_5_HAIKU_20241022_V1_0: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
19
18
|
BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_6_V1: 'bedrock:us.anthropic.claude-opus-4-6-v1',
|
|
20
19
|
BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0: 'bedrock:us.anthropic.claude-opus-4-20250514-v1:0',
|
|
21
20
|
BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_5_20250929_V1_0: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
@@ -111,15 +110,6 @@ export const AZURE_OPENAI_GPT_4O_0_0_1 = {
|
|
|
111
110
|
default: false,
|
|
112
111
|
requiredEnvVars: ['AZURE_OPENAI_API_KEY', 'AZURE_OPENAI_ENDPOINT'],
|
|
113
112
|
};
|
|
114
|
-
export const BEDROCK_US_ANTHROPIC_CLAUDE_3_5_HAIKU_20241022_V1_0_0_0_1 = {
|
|
115
|
-
id: 'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0',
|
|
116
|
-
version: '0.0.1',
|
|
117
|
-
name: 'Bedrock Claude Haiku 3.5',
|
|
118
|
-
description: 'Claude Haiku 3.5 via AWS Bedrock - fast and efficient',
|
|
119
|
-
provider: 'bedrock',
|
|
120
|
-
default: false,
|
|
121
|
-
requiredEnvVars: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION'],
|
|
122
|
-
};
|
|
123
113
|
export const BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_6_V1_0_0_1 = {
|
|
124
114
|
id: 'bedrock:us.anthropic.claude-opus-4-6-v1',
|
|
125
115
|
version: '0.0.1',
|
|
@@ -127,7 +117,11 @@ export const BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_6_V1_0_0_1 = {
|
|
|
127
117
|
description: 'Claude Opus 4.6 via AWS Bedrock',
|
|
128
118
|
provider: 'bedrock',
|
|
129
119
|
default: false,
|
|
130
|
-
requiredEnvVars: [
|
|
120
|
+
requiredEnvVars: [
|
|
121
|
+
'AWS_ACCESS_KEY_ID',
|
|
122
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
123
|
+
'AWS_DEFAULT_REGION',
|
|
124
|
+
],
|
|
131
125
|
};
|
|
132
126
|
export const BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0_0_0_1 = {
|
|
133
127
|
id: 'bedrock:us.anthropic.claude-opus-4-20250514-v1:0',
|
|
@@ -136,7 +130,11 @@ export const BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0_0_0_1 = {
|
|
|
136
130
|
description: 'Claude Opus 4 via AWS Bedrock - highest capability',
|
|
137
131
|
provider: 'bedrock',
|
|
138
132
|
default: false,
|
|
139
|
-
requiredEnvVars: [
|
|
133
|
+
requiredEnvVars: [
|
|
134
|
+
'AWS_ACCESS_KEY_ID',
|
|
135
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
136
|
+
'AWS_DEFAULT_REGION',
|
|
137
|
+
],
|
|
140
138
|
};
|
|
141
139
|
export const BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_5_20250929_V1_0_0_0_1 = {
|
|
142
140
|
id: 'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0',
|
|
@@ -145,7 +143,11 @@ export const BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_5_20250929_V1_0_0_0_1 = {
|
|
|
145
143
|
description: 'Claude Sonnet 4.5 via AWS Bedrock - balanced performance',
|
|
146
144
|
provider: 'bedrock',
|
|
147
145
|
default: true,
|
|
148
|
-
requiredEnvVars: [
|
|
146
|
+
requiredEnvVars: [
|
|
147
|
+
'AWS_ACCESS_KEY_ID',
|
|
148
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
149
|
+
'AWS_DEFAULT_REGION',
|
|
150
|
+
],
|
|
149
151
|
};
|
|
150
152
|
export const BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0_0_0_1 = {
|
|
151
153
|
id: 'bedrock:us.anthropic.claude-sonnet-4-20250514-v1:0',
|
|
@@ -154,7 +156,11 @@ export const BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0_0_0_1 = {
|
|
|
154
156
|
description: 'Claude Sonnet 4 via AWS Bedrock - strong reasoning',
|
|
155
157
|
provider: 'bedrock',
|
|
156
158
|
default: false,
|
|
157
|
-
requiredEnvVars: [
|
|
159
|
+
requiredEnvVars: [
|
|
160
|
+
'AWS_ACCESS_KEY_ID',
|
|
161
|
+
'AWS_SECRET_ACCESS_KEY',
|
|
162
|
+
'AWS_DEFAULT_REGION',
|
|
163
|
+
],
|
|
158
164
|
};
|
|
159
165
|
export const OPENAI_GPT_4_1_MINI_0_0_1 = {
|
|
160
166
|
id: 'openai:gpt-4.1-mini',
|
|
@@ -223,7 +229,6 @@ export const AI_MODEL_CATALOGUE = {
|
|
|
223
229
|
'azure-openai:gpt-4.1': AZURE_OPENAI_GPT_4_1_0_0_1,
|
|
224
230
|
'azure-openai:gpt-4o-mini': AZURE_OPENAI_GPT_4O_MINI_0_0_1,
|
|
225
231
|
'azure-openai:gpt-4o': AZURE_OPENAI_GPT_4O_0_0_1,
|
|
226
|
-
'bedrock:us.anthropic.claude-3-5-haiku-20241022-v1:0': BEDROCK_US_ANTHROPIC_CLAUDE_3_5_HAIKU_20241022_V1_0_0_0_1,
|
|
227
232
|
'bedrock:us.anthropic.claude-opus-4-6-v1': BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_6_V1_0_0_1,
|
|
228
233
|
'bedrock:us.anthropic.claude-opus-4-20250514-v1:0': BEDROCK_US_ANTHROPIC_CLAUDE_OPUS_4_20250514_V1_0_0_0_1,
|
|
229
234
|
'bedrock:us.anthropic.claude-sonnet-4-5-20250929-v1:0': BEDROCK_US_ANTHROPIC_CLAUDE_SONNET_4_5_20250929_V1_0_0_0_1,
|
|
@@ -14,9 +14,27 @@ export const API_PUSH_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
14
14
|
available: false,
|
|
15
15
|
coming_soon: true,
|
|
16
16
|
fields: [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
{
|
|
18
|
+
name: 'url',
|
|
19
|
+
label: 'Endpoint URL',
|
|
20
|
+
type: 'string',
|
|
21
|
+
required: true,
|
|
22
|
+
placeholder: 'https://api.example.com/agent-results',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'secret',
|
|
26
|
+
label: 'Signing Secret',
|
|
27
|
+
type: 'string',
|
|
28
|
+
required: false,
|
|
29
|
+
placeholder: 'Optional HMAC secret for payload signing',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'include_output',
|
|
33
|
+
label: 'Include Output',
|
|
34
|
+
type: 'boolean',
|
|
35
|
+
required: false,
|
|
36
|
+
default: true,
|
|
37
|
+
},
|
|
20
38
|
],
|
|
21
39
|
};
|
|
22
40
|
export const EMAIL_NOTIFICATION_SPEC_0_0_1 = {
|
|
@@ -28,9 +46,27 @@ export const EMAIL_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
28
46
|
available: true,
|
|
29
47
|
coming_soon: false,
|
|
30
48
|
fields: [
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
|
|
49
|
+
{
|
|
50
|
+
name: 'recipients',
|
|
51
|
+
label: 'Recipients',
|
|
52
|
+
type: 'string',
|
|
53
|
+
required: true,
|
|
54
|
+
placeholder: 'ops@company.com, team-lead@company.com',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'subject_template',
|
|
58
|
+
label: 'Subject Template',
|
|
59
|
+
type: 'string',
|
|
60
|
+
required: false,
|
|
61
|
+
placeholder: '[Agent] {{agent_name}} — {{event_type}}',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'include_output',
|
|
65
|
+
label: 'Include Output',
|
|
66
|
+
type: 'boolean',
|
|
67
|
+
required: false,
|
|
68
|
+
default: true,
|
|
69
|
+
},
|
|
34
70
|
],
|
|
35
71
|
};
|
|
36
72
|
export const SLACK_NOTIFICATION_SPEC_0_0_1 = {
|
|
@@ -42,9 +78,27 @@ export const SLACK_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
42
78
|
available: true,
|
|
43
79
|
coming_soon: false,
|
|
44
80
|
fields: [
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
|
|
81
|
+
{
|
|
82
|
+
name: 'channel',
|
|
83
|
+
label: 'Channel',
|
|
84
|
+
type: 'string',
|
|
85
|
+
required: true,
|
|
86
|
+
placeholder: '#sales-analytics',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: 'mention_on_failure',
|
|
90
|
+
label: 'Mention on Failure',
|
|
91
|
+
type: 'string',
|
|
92
|
+
required: false,
|
|
93
|
+
placeholder: '@oncall-team',
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'include_output',
|
|
97
|
+
label: 'Include Output',
|
|
98
|
+
type: 'boolean',
|
|
99
|
+
required: false,
|
|
100
|
+
default: false,
|
|
101
|
+
},
|
|
48
102
|
],
|
|
49
103
|
};
|
|
50
104
|
export const TEAMS_NOTIFICATION_SPEC_0_0_1 = {
|
|
@@ -56,8 +110,20 @@ export const TEAMS_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
56
110
|
available: false,
|
|
57
111
|
coming_soon: true,
|
|
58
112
|
fields: [
|
|
59
|
-
{
|
|
60
|
-
|
|
113
|
+
{
|
|
114
|
+
name: 'webhook_url',
|
|
115
|
+
label: 'Webhook URL',
|
|
116
|
+
type: 'string',
|
|
117
|
+
required: true,
|
|
118
|
+
placeholder: 'https://outlook.office.com/webhook/...',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'include_output',
|
|
122
|
+
label: 'Include Output',
|
|
123
|
+
type: 'boolean',
|
|
124
|
+
required: false,
|
|
125
|
+
default: false,
|
|
126
|
+
},
|
|
61
127
|
],
|
|
62
128
|
};
|
|
63
129
|
export const WEBHOOK_NOTIFICATION_SPEC_0_0_1 = {
|
|
@@ -69,9 +135,27 @@ export const WEBHOOK_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
69
135
|
available: false,
|
|
70
136
|
coming_soon: true,
|
|
71
137
|
fields: [
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
|
|
138
|
+
{
|
|
139
|
+
name: 'url',
|
|
140
|
+
label: 'Webhook URL',
|
|
141
|
+
type: 'string',
|
|
142
|
+
required: true,
|
|
143
|
+
placeholder: 'https://api.example.com/agent-events',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: 'secret',
|
|
147
|
+
label: 'Signing Secret',
|
|
148
|
+
type: 'string',
|
|
149
|
+
required: false,
|
|
150
|
+
placeholder: 'Optional HMAC secret for payload signing',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'include_output',
|
|
154
|
+
label: 'Include Output',
|
|
155
|
+
type: 'boolean',
|
|
156
|
+
required: false,
|
|
157
|
+
default: true,
|
|
158
|
+
},
|
|
75
159
|
],
|
|
76
160
|
};
|
|
77
161
|
// ============================================================================
|
|
@@ -79,10 +163,10 @@ export const WEBHOOK_NOTIFICATION_SPEC_0_0_1 = {
|
|
|
79
163
|
// ============================================================================
|
|
80
164
|
export const NOTIFICATION_CATALOG = {
|
|
81
165
|
'api-push': API_PUSH_NOTIFICATION_SPEC_0_0_1,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
166
|
+
email: EMAIL_NOTIFICATION_SPEC_0_0_1,
|
|
167
|
+
slack: SLACK_NOTIFICATION_SPEC_0_0_1,
|
|
168
|
+
teams: TEAMS_NOTIFICATION_SPEC_0_0_1,
|
|
169
|
+
webhook: WEBHOOK_NOTIFICATION_SPEC_0_0_1,
|
|
86
170
|
};
|
|
87
171
|
export function getNotificationSpecs() {
|
|
88
172
|
return Object.values(NOTIFICATION_CATALOG);
|
package/lib/specs/outputs.js
CHANGED
|
@@ -33,7 +33,11 @@ export const DOCUMENT_OUTPUT_SPEC_0_0_1 = {
|
|
|
33
33
|
icon: 'file',
|
|
34
34
|
supports_template: true,
|
|
35
35
|
supports_storage: true,
|
|
36
|
-
mime_types: [
|
|
36
|
+
mime_types: [
|
|
37
|
+
'application/pdf',
|
|
38
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
39
|
+
'text/markdown',
|
|
40
|
+
],
|
|
37
41
|
};
|
|
38
42
|
export const EMAIL_OUTPUT_SPEC_0_0_1 = {
|
|
39
43
|
id: 'email',
|
|
@@ -73,19 +77,21 @@ export const SPREADSHEET_OUTPUT_SPEC_0_0_1 = {
|
|
|
73
77
|
icon: 'table',
|
|
74
78
|
supports_template: true,
|
|
75
79
|
supports_storage: true,
|
|
76
|
-
mime_types: [
|
|
80
|
+
mime_types: [
|
|
81
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
82
|
+
],
|
|
77
83
|
};
|
|
78
84
|
// ============================================================================
|
|
79
85
|
// Output Catalog
|
|
80
86
|
// ============================================================================
|
|
81
87
|
export const OUTPUT_CATALOG = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
csv: CSV_OUTPUT_SPEC_0_0_1,
|
|
89
|
+
dashboard: DASHBOARD_OUTPUT_SPEC_0_0_1,
|
|
90
|
+
document: DOCUMENT_OUTPUT_SPEC_0_0_1,
|
|
91
|
+
email: EMAIL_OUTPUT_SPEC_0_0_1,
|
|
92
|
+
json: JSON_OUTPUT_SPEC_0_0_1,
|
|
93
|
+
notebook: NOTEBOOK_OUTPUT_SPEC_0_0_1,
|
|
94
|
+
spreadsheet: SPREADSHEET_OUTPUT_SPEC_0_0_1,
|
|
89
95
|
};
|
|
90
96
|
export function getOutputSpecs() {
|
|
91
97
|
return Object.values(OUTPUT_CATALOG);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona Catalog
|
|
3
|
+
*
|
|
4
|
+
* Predefined Persona configurations built on top of agent specs.
|
|
5
|
+
*
|
|
6
|
+
* This file is AUTO-GENERATED from YAML specifications.
|
|
7
|
+
* DO NOT EDIT MANUALLY - run 'make specs' to regenerate.
|
|
8
|
+
*/
|
|
9
|
+
import type { PersonaSpec } from '../types';
|
|
10
|
+
export declare const Personas: {
|
|
11
|
+
readonly CODE: "code";
|
|
12
|
+
readonly FORECASTER: "forecaster";
|
|
13
|
+
readonly INTRUSION: "intrusion";
|
|
14
|
+
readonly JOVYAN: "jovyan";
|
|
15
|
+
readonly MARKETING: "marketing";
|
|
16
|
+
readonly PENTEST: "pentest";
|
|
17
|
+
readonly PHARMA: "pharma";
|
|
18
|
+
readonly POIROT: "poirot";
|
|
19
|
+
readonly SENTINEL: "sentinel";
|
|
20
|
+
readonly TRADER: "trader";
|
|
21
|
+
readonly TUTOR: "tutor";
|
|
22
|
+
readonly TWIN: "twin";
|
|
23
|
+
};
|
|
24
|
+
export type PersonaId = (typeof Personas)[keyof typeof Personas];
|
|
25
|
+
export declare const CODE_PERSONA_0_0_1: PersonaSpec;
|
|
26
|
+
export declare const FORECASTER_PERSONA_0_0_1: PersonaSpec;
|
|
27
|
+
export declare const INTRUSION_PERSONA_0_0_1: PersonaSpec;
|
|
28
|
+
export declare const JOVYAN_PERSONA_0_0_1: PersonaSpec;
|
|
29
|
+
export declare const MARKETING_PERSONA_0_0_1: PersonaSpec;
|
|
30
|
+
export declare const PENTEST_PERSONA_0_0_1: PersonaSpec;
|
|
31
|
+
export declare const PHARMA_PERSONA_0_0_1: PersonaSpec;
|
|
32
|
+
export declare const POIROT_PERSONA_0_0_1: PersonaSpec;
|
|
33
|
+
export declare const SENTINEL_PERSONA_0_0_1: PersonaSpec;
|
|
34
|
+
export declare const TRADER_PERSONA_0_0_1: PersonaSpec;
|
|
35
|
+
export declare const TUTOR_PERSONA_0_0_1: PersonaSpec;
|
|
36
|
+
export declare const TWIN_PERSONA_0_0_1: PersonaSpec;
|
|
37
|
+
export declare const PERSONA_CATALOGUE: Record<string, PersonaSpec>;
|
|
38
|
+
/** Get a persona specification by ID. */
|
|
39
|
+
export declare function getPersona(personaId: string): PersonaSpec | undefined;
|
|
40
|
+
/** List all available personas. */
|
|
41
|
+
export declare function listPersonas(): PersonaSpec[];
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
+
* Distributed under the terms of the Modified BSD License.
|
|
4
|
+
*/
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// Personas Enum
|
|
7
|
+
// ============================================================================
|
|
8
|
+
export const Personas = {
|
|
9
|
+
CODE: 'code',
|
|
10
|
+
FORECASTER: 'forecaster',
|
|
11
|
+
INTRUSION: 'intrusion',
|
|
12
|
+
JOVYAN: 'jovyan',
|
|
13
|
+
MARKETING: 'marketing',
|
|
14
|
+
PENTEST: 'pentest',
|
|
15
|
+
PHARMA: 'pharma',
|
|
16
|
+
POIROT: 'poirot',
|
|
17
|
+
SENTINEL: 'sentinel',
|
|
18
|
+
TRADER: 'trader',
|
|
19
|
+
TUTOR: 'tutor',
|
|
20
|
+
TWIN: 'twin',
|
|
21
|
+
};
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// Persona Definitions
|
|
24
|
+
// ============================================================================
|
|
25
|
+
export const CODE_PERSONA_0_0_1 = {
|
|
26
|
+
id: 'code',
|
|
27
|
+
version: '0.0.1',
|
|
28
|
+
name: 'Code',
|
|
29
|
+
description: 'A pragmatic coding companion focused on writing, reviewing and refactoring software. Pairs well with editors, terminals and code execution sandboxes.',
|
|
30
|
+
tags: ['coding', 'development', 'engineering', 'assistant'],
|
|
31
|
+
icon: 'code',
|
|
32
|
+
emoji: '🧑💻',
|
|
33
|
+
};
|
|
34
|
+
export const FORECASTER_PERSONA_0_0_1 = {
|
|
35
|
+
id: 'forecaster',
|
|
36
|
+
version: '0.0.1',
|
|
37
|
+
name: 'Forecaster',
|
|
38
|
+
description: 'A predictive-analytics persona that builds and explains time-series forecasts — sales pipelines, demand planning, revenue projection and scenario analysis.',
|
|
39
|
+
tags: ['forecasting', 'analytics', 'sales', 'time-series'],
|
|
40
|
+
icon: 'graph',
|
|
41
|
+
emoji: '📈',
|
|
42
|
+
};
|
|
43
|
+
export const INTRUSION_PERSONA_0_0_1 = {
|
|
44
|
+
id: 'intrusion',
|
|
45
|
+
version: '0.0.1',
|
|
46
|
+
name: 'Intrusion',
|
|
47
|
+
description: 'A defensive security persona focused on intrusion detection, log analysis, threat hunting and incident response across networks, endpoints and cloud workloads.',
|
|
48
|
+
tags: ['security', 'intrusion-detection', 'threat-hunting', 'blue-team'],
|
|
49
|
+
icon: 'shield-lock',
|
|
50
|
+
emoji: '🛡️',
|
|
51
|
+
};
|
|
52
|
+
export const JOVYAN_PERSONA_0_0_1 = {
|
|
53
|
+
id: 'jovyan',
|
|
54
|
+
version: '0.0.1',
|
|
55
|
+
name: 'Jovyan',
|
|
56
|
+
description: 'A Jupyter-native companion that lives in notebooks and lexical documents, runs cells, inspects kernels and helps you explore data, narratives and computations.',
|
|
57
|
+
tags: ['jupyter', 'notebook', 'data-science', 'kernels'],
|
|
58
|
+
icon: 'zap',
|
|
59
|
+
emoji: '🪐',
|
|
60
|
+
};
|
|
61
|
+
export const MARKETING_PERSONA_0_0_1 = {
|
|
62
|
+
id: 'marketing',
|
|
63
|
+
version: '0.0.1',
|
|
64
|
+
name: 'Marketing',
|
|
65
|
+
description: 'A creative marketing persona that drafts campaigns, social posts, newsletters and product copy — adapting tone, channel and audience to maximize engagement.',
|
|
66
|
+
tags: ['marketing', 'content', 'social-media', 'copywriting'],
|
|
67
|
+
icon: 'megaphone',
|
|
68
|
+
emoji: '📣',
|
|
69
|
+
};
|
|
70
|
+
export const PENTEST_PERSONA_0_0_1 = {
|
|
71
|
+
id: 'pentest',
|
|
72
|
+
version: '0.0.1',
|
|
73
|
+
name: 'Pentest',
|
|
74
|
+
description: 'An offensive security persona that helps with authorized penetration testing — reconnaissance, vulnerability assessment, exploit reasoning and reporting.',
|
|
75
|
+
tags: ['security', 'penetration-testing', 'red-team', 'vulnerability'],
|
|
76
|
+
icon: 'bug',
|
|
77
|
+
emoji: '🕷️',
|
|
78
|
+
};
|
|
79
|
+
export const PHARMA_PERSONA_0_0_1 = {
|
|
80
|
+
id: 'pharma',
|
|
81
|
+
version: '0.0.1',
|
|
82
|
+
name: 'Pharma',
|
|
83
|
+
description: 'A life-sciences persona for pharmaceutical and clinical workflows — literature review, trial data exploration, regulatory reporting and drug-safety signal triage.',
|
|
84
|
+
tags: ['pharma', 'life-sciences', 'clinical', 'regulatory'],
|
|
85
|
+
icon: 'beaker',
|
|
86
|
+
emoji: '💊',
|
|
87
|
+
};
|
|
88
|
+
export const POIROT_PERSONA_0_0_1 = {
|
|
89
|
+
id: 'poirot',
|
|
90
|
+
version: '0.0.1',
|
|
91
|
+
name: 'Poirot',
|
|
92
|
+
description: 'A meticulous detective persona for investigative workflows — root cause analysis, evidence correlation, timeline reconstruction and hypothesis testing across heterogeneous data.',
|
|
93
|
+
tags: ['investigation', 'root-cause', 'forensics', 'reasoning'],
|
|
94
|
+
icon: 'search',
|
|
95
|
+
emoji: '🕵️',
|
|
96
|
+
};
|
|
97
|
+
export const SENTINEL_PERSONA_0_0_1 = {
|
|
98
|
+
id: 'sentinel',
|
|
99
|
+
version: '0.0.1',
|
|
100
|
+
name: 'Sentinel',
|
|
101
|
+
description: 'A vigilant monitoring persona for real-time signal detection, anomaly spotting and early-warning alerts — including use cases such as seismic activity, infrastructure health and live event streams.',
|
|
102
|
+
tags: ['monitoring', 'detection', 'alerting', 'real-time', 'earthquake'],
|
|
103
|
+
icon: 'shield',
|
|
104
|
+
emoji: '🛰️',
|
|
105
|
+
};
|
|
106
|
+
export const TRADER_PERSONA_0_0_1 = {
|
|
107
|
+
id: 'trader',
|
|
108
|
+
version: '0.0.1',
|
|
109
|
+
name: 'Trader',
|
|
110
|
+
description: 'A markets persona for stock and portfolio analysis — quote retrieval, technical indicators, portfolio tracking and trading research workflows.',
|
|
111
|
+
tags: ['finance', 'stocks', 'markets', 'portfolio'],
|
|
112
|
+
icon: 'pulse',
|
|
113
|
+
emoji: '💹',
|
|
114
|
+
};
|
|
115
|
+
export const TUTOR_PERSONA_0_0_1 = {
|
|
116
|
+
id: 'tutor',
|
|
117
|
+
version: '0.0.1',
|
|
118
|
+
name: 'Tutor',
|
|
119
|
+
description: "A patient teaching companion that explains concepts, walks through examples step by step, asks questions and adapts its style to the learner's level.",
|
|
120
|
+
tags: ['education', 'learning', 'teaching', 'mentorship'],
|
|
121
|
+
icon: 'book',
|
|
122
|
+
emoji: '🎓',
|
|
123
|
+
};
|
|
124
|
+
export const TWIN_PERSONA_0_0_1 = {
|
|
125
|
+
id: 'twin',
|
|
126
|
+
version: '0.0.1',
|
|
127
|
+
name: 'Twin',
|
|
128
|
+
description: 'A digital twin of you — mirrors your context, preferences and history to assist with personal productivity, decision making and continuity across tools and sessions.',
|
|
129
|
+
tags: ['personal', 'productivity', 'context', 'assistant'],
|
|
130
|
+
icon: 'person',
|
|
131
|
+
emoji: '👤',
|
|
132
|
+
};
|
|
133
|
+
// ============================================================================
|
|
134
|
+
// Persona Catalog
|
|
135
|
+
// ============================================================================
|
|
136
|
+
export const PERSONA_CATALOGUE = {
|
|
137
|
+
code: CODE_PERSONA_0_0_1,
|
|
138
|
+
forecaster: FORECASTER_PERSONA_0_0_1,
|
|
139
|
+
intrusion: INTRUSION_PERSONA_0_0_1,
|
|
140
|
+
jovyan: JOVYAN_PERSONA_0_0_1,
|
|
141
|
+
marketing: MARKETING_PERSONA_0_0_1,
|
|
142
|
+
pentest: PENTEST_PERSONA_0_0_1,
|
|
143
|
+
pharma: PHARMA_PERSONA_0_0_1,
|
|
144
|
+
poirot: POIROT_PERSONA_0_0_1,
|
|
145
|
+
sentinel: SENTINEL_PERSONA_0_0_1,
|
|
146
|
+
trader: TRADER_PERSONA_0_0_1,
|
|
147
|
+
tutor: TUTOR_PERSONA_0_0_1,
|
|
148
|
+
twin: TWIN_PERSONA_0_0_1,
|
|
149
|
+
};
|
|
150
|
+
function resolvePersonaId(personaId) {
|
|
151
|
+
if (personaId in PERSONA_CATALOGUE)
|
|
152
|
+
return personaId;
|
|
153
|
+
const idx = personaId.lastIndexOf(':');
|
|
154
|
+
if (idx > 0) {
|
|
155
|
+
const base = personaId.slice(0, idx);
|
|
156
|
+
if (base in PERSONA_CATALOGUE)
|
|
157
|
+
return base;
|
|
158
|
+
}
|
|
159
|
+
return personaId;
|
|
160
|
+
}
|
|
161
|
+
/** Get a persona specification by ID. */
|
|
162
|
+
export function getPersona(personaId) {
|
|
163
|
+
return PERSONA_CATALOGUE[resolvePersonaId(personaId)];
|
|
164
|
+
}
|
|
165
|
+
/** List all available personas. */
|
|
166
|
+
export function listPersonas() {
|
|
167
|
+
return Object.values(PERSONA_CATALOGUE);
|
|
168
|
+
}
|
package/lib/specs/skills.d.ts
CHANGED
|
@@ -13,6 +13,6 @@ export declare const GITHUB_SKILL_SPEC_0_0_1: SkillSpec;
|
|
|
13
13
|
export declare const JOKES_SKILL_SPEC_0_0_1: SkillSpec;
|
|
14
14
|
export declare const PDF_SKILL_SPEC_0_0_1: SkillSpec;
|
|
15
15
|
export declare const TEXT_SUMMARIZER_SKILL_SPEC_0_0_1: SkillSpec;
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const SKILLS_CATALOG: Record<string, SkillSpec>;
|
|
17
17
|
export declare function getSkillSpecs(): SkillSpec[];
|
|
18
18
|
export declare function getSkillSpec(skillId: string): SkillSpec | undefined;
|
package/lib/specs/skills.js
CHANGED
|
@@ -14,10 +14,10 @@ export const CRAWL_SKILL_SPEC_0_0_1 = {
|
|
|
14
14
|
package: undefined,
|
|
15
15
|
method: undefined,
|
|
16
16
|
path: undefined,
|
|
17
|
-
requiredEnvVars: [
|
|
17
|
+
requiredEnvVars: ['TAVILY_API_KEY:0.0.1'],
|
|
18
18
|
optionalEnvVars: [],
|
|
19
|
-
dependencies: [
|
|
20
|
-
tags: [
|
|
19
|
+
dependencies: ['requests>=2.31.0', 'beautifulsoup4>=4.12.0'],
|
|
20
|
+
tags: ['web', 'crawl', 'scraping'],
|
|
21
21
|
icon: 'globe',
|
|
22
22
|
emoji: '🌐',
|
|
23
23
|
enabled: true,
|
|
@@ -33,8 +33,8 @@ export const EVENTS_SKILL_SPEC_0_0_1 = {
|
|
|
33
33
|
path: undefined,
|
|
34
34
|
requiredEnvVars: [],
|
|
35
35
|
optionalEnvVars: [],
|
|
36
|
-
dependencies: [
|
|
37
|
-
tags: [
|
|
36
|
+
dependencies: ['httpx>=0.27.0'],
|
|
37
|
+
tags: ['events', 'orchestration', 'automation'],
|
|
38
38
|
icon: 'bell',
|
|
39
39
|
emoji: '📅',
|
|
40
40
|
enabled: true,
|
|
@@ -48,10 +48,10 @@ export const GITHUB_SKILL_SPEC_0_0_1 = {
|
|
|
48
48
|
package: undefined,
|
|
49
49
|
method: undefined,
|
|
50
50
|
path: undefined,
|
|
51
|
-
requiredEnvVars: [
|
|
51
|
+
requiredEnvVars: ['GITHUB_TOKEN:0.0.1'],
|
|
52
52
|
optionalEnvVars: [],
|
|
53
|
-
dependencies: [
|
|
54
|
-
tags: [
|
|
53
|
+
dependencies: ['PyGithub>=2.1.0'],
|
|
54
|
+
tags: ['github', 'git', 'code'],
|
|
55
55
|
icon: 'mark-github',
|
|
56
56
|
emoji: '🐙',
|
|
57
57
|
enabled: true,
|
|
@@ -68,7 +68,7 @@ export const JOKES_SKILL_SPEC_0_0_1 = {
|
|
|
68
68
|
requiredEnvVars: [],
|
|
69
69
|
optionalEnvVars: [],
|
|
70
70
|
dependencies: [],
|
|
71
|
-
tags: [
|
|
71
|
+
tags: ['fun', 'humor', 'demo'],
|
|
72
72
|
icon: 'smiley',
|
|
73
73
|
emoji: '😄',
|
|
74
74
|
enabled: true,
|
|
@@ -84,8 +84,8 @@ export const PDF_SKILL_SPEC_0_0_1 = {
|
|
|
84
84
|
path: undefined,
|
|
85
85
|
requiredEnvVars: [],
|
|
86
86
|
optionalEnvVars: [],
|
|
87
|
-
dependencies: [
|
|
88
|
-
tags: [
|
|
87
|
+
dependencies: ['PyPDF2>=3.0.0', 'pdfplumber>=0.10.0'],
|
|
88
|
+
tags: ['pdf', 'documents', 'extraction'],
|
|
89
89
|
icon: 'file',
|
|
90
90
|
emoji: '📄',
|
|
91
91
|
enabled: true,
|
|
@@ -101,8 +101,8 @@ export const TEXT_SUMMARIZER_SKILL_SPEC_0_0_1 = {
|
|
|
101
101
|
path: undefined,
|
|
102
102
|
requiredEnvVars: [],
|
|
103
103
|
optionalEnvVars: [],
|
|
104
|
-
dependencies: [
|
|
105
|
-
tags: [
|
|
104
|
+
dependencies: ['agent-skills>=0.0.1'],
|
|
105
|
+
tags: ['nlp', 'summarization', 'text-processing'],
|
|
106
106
|
icon: 'note',
|
|
107
107
|
emoji: '📝',
|
|
108
108
|
enabled: true,
|
|
@@ -110,28 +110,28 @@ export const TEXT_SUMMARIZER_SKILL_SPEC_0_0_1 = {
|
|
|
110
110
|
// ============================================================================
|
|
111
111
|
// Skill Catalog
|
|
112
112
|
// ============================================================================
|
|
113
|
-
export const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
export const SKILLS_CATALOG = {
|
|
114
|
+
crawl: CRAWL_SKILL_SPEC_0_0_1,
|
|
115
|
+
events: EVENTS_SKILL_SPEC_0_0_1,
|
|
116
|
+
github: GITHUB_SKILL_SPEC_0_0_1,
|
|
117
|
+
jokes: JOKES_SKILL_SPEC_0_0_1,
|
|
118
|
+
pdf: PDF_SKILL_SPEC_0_0_1,
|
|
119
119
|
'text-summarizer': TEXT_SUMMARIZER_SKILL_SPEC_0_0_1,
|
|
120
120
|
};
|
|
121
121
|
export function getSkillSpecs() {
|
|
122
|
-
return Object.values(
|
|
122
|
+
return Object.values(SKILLS_CATALOG);
|
|
123
123
|
}
|
|
124
124
|
function resolveSkillId(skillId) {
|
|
125
|
-
if (skillId in
|
|
125
|
+
if (skillId in SKILLS_CATALOG)
|
|
126
126
|
return skillId;
|
|
127
127
|
const idx = skillId.lastIndexOf(':');
|
|
128
128
|
if (idx > 0) {
|
|
129
129
|
const base = skillId.slice(0, idx);
|
|
130
|
-
if (base in
|
|
130
|
+
if (base in SKILLS_CATALOG)
|
|
131
131
|
return base;
|
|
132
132
|
}
|
|
133
133
|
return skillId;
|
|
134
134
|
}
|
|
135
135
|
export function getSkillSpec(skillId) {
|
|
136
|
-
return
|
|
136
|
+
return SKILLS_CATALOG[resolveSkillId(skillId)];
|
|
137
137
|
}
|
package/lib/specs/teams/index.js
CHANGED
|
@@ -31,5 +31,7 @@ export function getTeamSpec(teamId) {
|
|
|
31
31
|
*/
|
|
32
32
|
export function listTeamSpecs(prefix) {
|
|
33
33
|
const specs = Object.values(TEAM_SPECS);
|
|
34
|
-
return prefix !== undefined
|
|
34
|
+
return prefix !== undefined
|
|
35
|
+
? specs.filter(s => s.id.startsWith(prefix))
|
|
36
|
+
: specs;
|
|
35
37
|
}
|