@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.
Files changed (299) hide show
  1. package/README.md +182 -1
  2. package/lib/AgentNode.d.ts +3 -0
  3. package/lib/AgentNode.js +676 -0
  4. package/lib/App.js +1 -1
  5. package/lib/agent-node/themeStore.d.ts +3 -0
  6. package/lib/agent-node/themeStore.js +156 -0
  7. package/lib/agent-node-main.d.ts +1 -0
  8. package/lib/agent-node-main.js +14 -0
  9. package/lib/agents/AgentDetails.d.ts +22 -1
  10. package/lib/agents/AgentDetails.js +34 -47
  11. package/lib/api/index.d.ts +0 -1
  12. package/lib/api/index.js +4 -2
  13. package/lib/chat/Chat.d.ts +5 -106
  14. package/lib/chat/Chat.js +20 -14
  15. package/lib/chat/ChatFloating.d.ts +7 -140
  16. package/lib/chat/ChatFloating.js +3 -3
  17. package/lib/chat/ChatPopupStandalone.d.ts +8 -47
  18. package/lib/chat/ChatPopupStandalone.js +3 -3
  19. package/lib/chat/ChatSidebar.d.ts +4 -69
  20. package/lib/chat/ChatSidebar.js +83 -51
  21. package/lib/chat/ChatStandalone.d.ts +4 -54
  22. package/lib/chat/ChatStandalone.js +3 -3
  23. package/lib/chat/base/ChatBase.js +1414 -174
  24. package/lib/chat/display/FloatingBrandButton.js +8 -1
  25. package/lib/chat/header/ChatHeader.d.ts +3 -1
  26. package/lib/chat/header/ChatHeader.js +15 -12
  27. package/lib/chat/header/ChatHeaderBase.d.ts +30 -5
  28. package/lib/chat/header/ChatHeaderBase.js +41 -16
  29. package/lib/chat/indicators/McpStatusIndicator.d.ts +7 -4
  30. package/lib/chat/indicators/McpStatusIndicator.js +7 -32
  31. package/lib/chat/indicators/SandboxStatusIndicator.d.ts +4 -1
  32. package/lib/chat/indicators/SandboxStatusIndicator.js +91 -56
  33. package/lib/chat/indicators/SkillsStatusIndicator.d.ts +7 -0
  34. package/lib/chat/indicators/SkillsStatusIndicator.js +88 -0
  35. package/lib/chat/indicators/index.d.ts +1 -0
  36. package/lib/chat/indicators/index.js +1 -0
  37. package/lib/chat/messages/ChatMessageList.d.ts +1 -1
  38. package/lib/chat/messages/ChatMessageList.js +154 -114
  39. package/lib/chat/messages/ChatMessages.js +6 -2
  40. package/lib/chat/prompt/InputFooter.d.ts +21 -6
  41. package/lib/chat/prompt/InputFooter.js +76 -20
  42. package/lib/chat/prompt/InputPrompt.d.ts +5 -1
  43. package/lib/chat/prompt/InputPrompt.js +4 -4
  44. package/lib/chat/prompt/InputPromptFooter.d.ts +3 -1
  45. package/lib/chat/prompt/InputPromptFooter.js +3 -3
  46. package/lib/chat/prompt/InputPromptLexical.d.ts +3 -1
  47. package/lib/chat/prompt/InputPromptLexical.js +12 -5
  48. package/lib/chat/prompt/InputPromptText.d.ts +3 -1
  49. package/lib/chat/prompt/InputPromptText.js +2 -2
  50. package/lib/chat/tools/ToolApprovalBanner.js +1 -1
  51. package/lib/chat/tools/ToolCallDisplay.d.ts +3 -1
  52. package/lib/chat/tools/ToolCallDisplay.js +2 -2
  53. package/lib/chat/usage/TokenUsageBar.js +20 -2
  54. package/lib/client/AgentRuntimesClientContext.d.ts +53 -0
  55. package/lib/client/AgentRuntimesClientContext.js +55 -0
  56. package/lib/client/AgentsMixin.d.ts +0 -18
  57. package/lib/client/AgentsMixin.js +20 -30
  58. package/lib/client/IAgentRuntimesClient.d.ts +215 -0
  59. package/lib/client/IAgentRuntimesClient.js +5 -0
  60. package/lib/client/SdkAgentRuntimesClient.d.ts +151 -0
  61. package/lib/client/SdkAgentRuntimesClient.js +134 -0
  62. package/lib/client/index.d.ts +4 -1
  63. package/lib/client/index.js +3 -1
  64. package/lib/components/NotificationEventCard.js +5 -1
  65. package/lib/config/AgentConfiguration.d.ts +22 -0
  66. package/lib/config/AgentConfiguration.js +319 -64
  67. package/lib/context/ContextDistribution.d.ts +3 -1
  68. package/lib/context/ContextDistribution.js +8 -27
  69. package/lib/context/ContextInspector.d.ts +3 -1
  70. package/lib/context/ContextInspector.js +19 -67
  71. package/lib/context/ContextPanel.d.ts +3 -1
  72. package/lib/context/ContextPanel.js +104 -64
  73. package/lib/context/ContextUsage.d.ts +3 -1
  74. package/lib/context/ContextUsage.js +3 -3
  75. package/lib/context/CostTracker.d.ts +9 -3
  76. package/lib/context/CostTracker.js +26 -47
  77. package/lib/context/CostUsageChart.d.ts +12 -0
  78. package/lib/context/CostUsageChart.js +378 -0
  79. package/lib/context/GraphFlowChart.d.ts +16 -0
  80. package/lib/context/GraphFlowChart.js +182 -0
  81. package/lib/context/TokenUsageChart.d.ts +8 -1
  82. package/lib/context/TokenUsageChart.js +349 -211
  83. package/lib/context/TurnGraphChart.d.ts +39 -0
  84. package/lib/context/TurnGraphChart.js +538 -0
  85. package/lib/context/otelWsPool.d.ts +20 -0
  86. package/lib/context/otelWsPool.js +69 -0
  87. package/lib/examples/A2UiComponentGalleryExample.d.ts +0 -17
  88. package/lib/examples/A2UiComponentGalleryExample.js +315 -522
  89. package/lib/examples/A2UiContactCardExample.d.ts +0 -18
  90. package/lib/examples/A2UiContactCardExample.js +154 -411
  91. package/lib/examples/A2UiRestaurantExample.d.ts +0 -30
  92. package/lib/examples/A2UiRestaurantExample.js +114 -212
  93. package/lib/examples/A2UiViewerExample.d.ts +0 -18
  94. package/lib/examples/A2UiViewerExample.js +283 -532
  95. package/lib/examples/AgUiBackendToolRenderingExample.js +1 -1
  96. package/lib/examples/AgUiHaikuGenUiExample.d.ts +1 -1
  97. package/lib/examples/AgUiHaikuGenUiExample.js +1 -1
  98. package/lib/examples/AgUiSharedStateExample.js +2 -1
  99. package/lib/examples/AgentCheckpointsExample.js +14 -28
  100. package/lib/examples/AgentCodemodeExample.d.ts +4 -6
  101. package/lib/examples/AgentCodemodeExample.js +603 -169
  102. package/lib/examples/AgentEvalsExample.js +339 -53
  103. package/lib/examples/AgentGuardrailsExample.js +383 -66
  104. package/lib/examples/AgentHooksExample.d.ts +3 -0
  105. package/lib/examples/AgentHooksExample.js +122 -0
  106. package/lib/examples/AgentInferenceProviderExample.d.ts +3 -0
  107. package/lib/examples/AgentInferenceProviderExample.js +329 -0
  108. package/lib/examples/AgentMCPExample.d.ts +3 -0
  109. package/lib/examples/AgentMCPExample.js +481 -0
  110. package/lib/examples/AgentMemoryExample.d.ts +1 -2
  111. package/lib/examples/AgentMemoryExample.js +78 -33
  112. package/lib/examples/AgentMonitoringExample.js +261 -200
  113. package/lib/examples/AgentNotificationsExample.d.ts +1 -2
  114. package/lib/examples/AgentNotificationsExample.js +114 -33
  115. package/lib/examples/AgentOtelExample.js +32 -42
  116. package/lib/examples/AgentOutputsExample.d.ts +11 -6
  117. package/lib/examples/AgentOutputsExample.js +433 -81
  118. package/lib/examples/AgentParametersExample.d.ts +3 -0
  119. package/lib/examples/AgentParametersExample.js +248 -0
  120. package/lib/examples/AgentSandboxExample.d.ts +3 -3
  121. package/lib/examples/AgentSandboxExample.js +74 -45
  122. package/lib/examples/AgentSkillsExample.js +95 -103
  123. package/lib/examples/AgentSubagentsExample.d.ts +14 -0
  124. package/lib/examples/AgentSubagentsExample.js +228 -0
  125. package/lib/examples/AgentToolApprovalsExample.js +49 -561
  126. package/lib/examples/AgentTriggersExample.js +823 -569
  127. package/lib/examples/{AgentspecExample.d.ts → AgentspecsExample.d.ts} +2 -2
  128. package/lib/examples/AgentspecsExample.js +1096 -0
  129. package/lib/examples/ChatCustomExample.js +16 -28
  130. package/lib/examples/ChatExample.js +13 -29
  131. package/lib/examples/CopilotKitLexicalExample.js +2 -1
  132. package/lib/examples/CopilotKitNotebookExample.js +2 -1
  133. package/lib/examples/HomeExample.d.ts +15 -0
  134. package/lib/examples/HomeExample.js +77 -0
  135. package/lib/examples/Lexical2Example.js +4 -2
  136. package/lib/examples/{LexicalExample.d.ts → LexicalAgentExample.d.ts} +4 -4
  137. package/lib/examples/{LexicalExample.js → LexicalAgentExample.js} +66 -17
  138. package/lib/examples/{LexicalSidebarExample.d.ts → LexicalAgentSidebarExample.d.ts} +5 -5
  139. package/lib/examples/LexicalAgentSidebarExample.js +261 -0
  140. package/lib/examples/NotebookAgentExample.d.ts +9 -0
  141. package/lib/examples/NotebookAgentExample.js +192 -0
  142. package/lib/examples/{NotebookSidebarExample.d.ts → NotebookAgentSidebarExample.d.ts} +2 -2
  143. package/lib/examples/NotebookAgentSidebarExample.js +221 -0
  144. package/lib/examples/{DatalayerNotebookExample.d.ts → NotebookCollaborationExample.d.ts} +4 -4
  145. package/lib/examples/{DatalayerNotebookExample.js → NotebookCollaborationExample.js} +3 -3
  146. package/lib/examples/NotebookExample.d.ts +4 -7
  147. package/lib/examples/NotebookExample.js +14 -146
  148. package/lib/examples/components/AuthRequiredView.d.ts +6 -0
  149. package/lib/examples/components/AuthRequiredView.js +33 -0
  150. package/lib/examples/components/ExampleWrapper.d.ts +9 -3
  151. package/lib/examples/components/ExampleWrapper.js +45 -9
  152. package/lib/examples/{ag-ui → components}/haiku/HaikuDisplay.js +1 -1
  153. package/lib/examples/{ag-ui → components}/haiku/InlineHaikuCard.js +1 -1
  154. package/lib/examples/{ag-ui → components}/haiku/index.d.ts +1 -1
  155. package/lib/examples/{ag-ui → components}/haiku/index.js +1 -1
  156. package/lib/examples/components/index.d.ts +3 -0
  157. package/lib/examples/components/index.js +4 -0
  158. package/lib/examples/{ag-ui → components}/weather/index.d.ts +1 -1
  159. package/lib/examples/{ag-ui → components}/weather/index.js +1 -1
  160. package/lib/examples/example-selector.d.ts +17 -4
  161. package/lib/examples/example-selector.js +108 -41
  162. package/lib/examples/index.d.ts +10 -6
  163. package/lib/examples/index.js +10 -6
  164. package/lib/examples/lexical/initial-content.json +6 -6
  165. package/lib/examples/main.js +257 -27
  166. package/lib/examples/utils/a2ui.d.ts +18 -0
  167. package/lib/examples/utils/a2ui.js +69 -0
  168. package/lib/examples/utils/a2uiMarkdownProvider.d.ts +7 -0
  169. package/lib/examples/utils/a2uiMarkdownProvider.js +9 -0
  170. package/lib/examples/utils/agentId.d.ts +18 -0
  171. package/lib/examples/utils/agentId.js +54 -0
  172. package/lib/examples/utils/agents/earthquake-detector.json +11 -11
  173. package/lib/examples/utils/agents/sales-forecaster.json +11 -11
  174. package/lib/examples/utils/agents/social-post-generator.json +11 -11
  175. package/lib/examples/utils/agents/stock-market.json +11 -11
  176. package/lib/examples/utils/examplesStore.js +82 -27
  177. package/lib/examples/utils/useExampleAgentRuntimesUrl.d.ts +5 -0
  178. package/lib/examples/utils/useExampleAgentRuntimesUrl.js +19 -0
  179. package/lib/hooks/index.d.ts +8 -8
  180. package/lib/hooks/index.js +7 -7
  181. package/lib/hooks/useA2A.d.ts +2 -3
  182. package/lib/hooks/useAIAgentsWebSocket.d.ts +43 -4
  183. package/lib/hooks/useAIAgentsWebSocket.js +153 -12
  184. package/lib/hooks/useAcp.d.ts +1 -2
  185. package/lib/hooks/useAgUi.d.ts +1 -1
  186. package/lib/hooks/{useAgents.d.ts → useAgentRuntimes.d.ts} +70 -4
  187. package/lib/hooks/{useAgents.js → useAgentRuntimes.js} +237 -32
  188. package/lib/hooks/useAgentsCatalog.js +1 -1
  189. package/lib/hooks/useAgentsService.d.ts +2 -2
  190. package/lib/hooks/useAgentsService.js +7 -7
  191. package/lib/hooks/useCheckpoints.js +1 -1
  192. package/lib/hooks/useConfig.d.ts +4 -1
  193. package/lib/hooks/useConfig.js +10 -3
  194. package/lib/hooks/useContextSnapshot.d.ts +9 -4
  195. package/lib/hooks/useContextSnapshot.js +9 -37
  196. package/lib/hooks/useMonitoring.js +3 -0
  197. package/lib/hooks/useSandbox.d.ts +20 -8
  198. package/lib/hooks/useSandbox.js +105 -40
  199. package/lib/hooks/useSkills.d.ts +23 -5
  200. package/lib/hooks/useSkills.js +94 -39
  201. package/lib/hooks/useToolApprovals.d.ts +60 -36
  202. package/lib/hooks/useToolApprovals.js +318 -69
  203. package/lib/hooks/useVercelAI.d.ts +1 -1
  204. package/lib/index.d.ts +2 -1
  205. package/lib/index.js +1 -0
  206. package/lib/inference/index.d.ts +0 -1
  207. package/lib/middleware/index.d.ts +0 -1
  208. package/lib/protocols/AGUIAdapter.js +6 -0
  209. package/lib/protocols/VercelAIAdapter.d.ts +7 -0
  210. package/lib/protocols/VercelAIAdapter.js +59 -7
  211. package/lib/specs/agents/agents.d.ts +21 -4
  212. package/lib/specs/agents/agents.js +2879 -316
  213. package/lib/specs/agents/index.js +3 -1
  214. package/lib/specs/benchmarks.d.ts +20 -0
  215. package/lib/specs/benchmarks.js +205 -0
  216. package/lib/specs/envvars.js +27 -20
  217. package/lib/specs/evals.d.ts +10 -9
  218. package/lib/specs/evals.js +128 -88
  219. package/lib/specs/events.d.ts +3 -10
  220. package/lib/specs/events.js +127 -84
  221. package/lib/specs/frontendTools.js +2 -2
  222. package/lib/specs/guardrails.d.ts +0 -7
  223. package/lib/specs/guardrails.js +240 -159
  224. package/lib/specs/mcpServers.js +35 -6
  225. package/lib/specs/memory.d.ts +0 -2
  226. package/lib/specs/memory.js +4 -17
  227. package/lib/specs/models.d.ts +0 -2
  228. package/lib/specs/models.js +20 -15
  229. package/lib/specs/notifications.js +102 -18
  230. package/lib/specs/outputs.js +15 -9
  231. package/lib/specs/personas.d.ts +41 -0
  232. package/lib/specs/personas.js +168 -0
  233. package/lib/specs/skills.d.ts +1 -1
  234. package/lib/specs/skills.js +23 -23
  235. package/lib/specs/teams/index.js +3 -1
  236. package/lib/specs/teams/teams.js +468 -348
  237. package/lib/specs/tools.js +4 -4
  238. package/lib/specs/triggers.js +61 -11
  239. package/lib/stores/agentRuntimeStore.d.ts +208 -0
  240. package/lib/stores/agentRuntimeStore.js +650 -0
  241. package/lib/stores/conversationStore.js +2 -2
  242. package/lib/stores/index.d.ts +1 -1
  243. package/lib/stores/index.js +1 -1
  244. package/lib/tools/adapters/copilotkit/lexicalHooks.d.ts +1 -2
  245. package/lib/tools/adapters/copilotkit/lexicalHooks.js +1 -3
  246. package/lib/tools/adapters/copilotkit/notebookHooks.d.ts +1 -2
  247. package/lib/tools/adapters/copilotkit/notebookHooks.js +1 -3
  248. package/lib/tools/index.d.ts +0 -2
  249. package/lib/tools/index.js +0 -1
  250. package/lib/types/agents-lifecycle.d.ts +18 -0
  251. package/lib/types/agents.d.ts +6 -0
  252. package/lib/types/agentspecs.d.ts +54 -1
  253. package/lib/types/benchmarks.d.ts +43 -0
  254. package/lib/types/benchmarks.js +5 -0
  255. package/lib/types/chat.d.ts +325 -8
  256. package/lib/types/context.d.ts +27 -0
  257. package/lib/types/cost.d.ts +2 -2
  258. package/lib/types/evals.d.ts +26 -17
  259. package/lib/types/index.d.ts +3 -0
  260. package/lib/types/index.js +3 -0
  261. package/lib/types/mcp.d.ts +8 -0
  262. package/lib/types/models.d.ts +2 -2
  263. package/lib/types/personas.d.ts +25 -0
  264. package/lib/types/personas.js +5 -0
  265. package/lib/types/skills.d.ts +43 -1
  266. package/lib/types/stream.d.ts +110 -0
  267. package/lib/types/stream.js +36 -0
  268. package/lib/utils/utils.d.ts +9 -5
  269. package/lib/utils/utils.js +9 -5
  270. package/package.json +19 -11
  271. package/scripts/codegen/__pycache__/generate_agents.cpython-313.pyc +0 -0
  272. package/scripts/codegen/__pycache__/generate_benchmarks.cpython-313.pyc +0 -0
  273. package/scripts/codegen/__pycache__/generate_evals.cpython-313.pyc +0 -0
  274. package/scripts/codegen/__pycache__/generate_events.cpython-313.pyc +0 -0
  275. package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
  276. package/scripts/codegen/generate_agents.py +187 -45
  277. package/scripts/codegen/generate_benchmarks.py +441 -0
  278. package/scripts/codegen/generate_evals.py +94 -16
  279. package/scripts/codegen/generate_events.py +35 -14
  280. package/scripts/codegen/generate_personas.py +319 -0
  281. package/scripts/codegen/generate_skills.py +9 -9
  282. package/scripts/sync-jupyter.sh +26 -7
  283. package/lib/api/tool-approvals.d.ts +0 -62
  284. package/lib/api/tool-approvals.js +0 -145
  285. package/lib/examples/AgentspecExample.js +0 -705
  286. package/lib/examples/LexicalSidebarExample.js +0 -163
  287. package/lib/examples/NotebookSidebarExample.js +0 -119
  288. package/lib/examples/NotebookSimpleExample.d.ts +0 -6
  289. package/lib/examples/NotebookSimpleExample.js +0 -22
  290. package/lib/examples/ag-ui/index.d.ts +0 -10
  291. package/lib/examples/ag-ui/index.js +0 -16
  292. package/lib/hooks/useAgentsRegistry.d.ts +0 -10
  293. package/lib/hooks/useAgentsRegistry.js +0 -20
  294. package/lib/stores/agentsStore.d.ts +0 -123
  295. package/lib/stores/agentsStore.js +0 -270
  296. /package/lib/examples/{ag-ui → components}/haiku/HaikuDisplay.d.ts +0 -0
  297. /package/lib/examples/{ag-ui → components}/haiku/InlineHaikuCard.d.ts +0 -0
  298. /package/lib/examples/{ag-ui → components}/weather/InlineWeatherCard.d.ts +0 -0
  299. /package/lib/examples/{ag-ui → components}/weather/InlineWeatherCard.js +0 -0
@@ -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: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION'],
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: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION'],
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: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION'],
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: ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_DEFAULT_REGION'],
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
- { name: 'url', label: 'Endpoint URL', type: 'string', required: true, placeholder: 'https://api.example.com/agent-results' },
18
- { name: 'secret', label: 'Signing Secret', type: 'string', required: false, placeholder: 'Optional HMAC secret for payload signing' },
19
- { name: 'include_output', label: 'Include Output', type: 'boolean', required: false, default: true },
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
- { name: 'recipients', label: 'Recipients', type: 'string', required: true, placeholder: 'ops@company.com, team-lead@company.com' },
32
- { name: 'subject_template', label: 'Subject Template', type: 'string', required: false, placeholder: '[Agent] {{agent_name}} — {{event_type}}' },
33
- { name: 'include_output', label: 'Include Output', type: 'boolean', required: false, default: true },
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
- { name: 'channel', label: 'Channel', type: 'string', required: true, placeholder: '#sales-analytics' },
46
- { name: 'mention_on_failure', label: 'Mention on Failure', type: 'string', required: false, placeholder: '@oncall-team' },
47
- { name: 'include_output', label: 'Include Output', type: 'boolean', required: false, default: false },
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
- { name: 'webhook_url', label: 'Webhook URL', type: 'string', required: true, placeholder: 'https://outlook.office.com/webhook/...' },
60
- { name: 'include_output', label: 'Include Output', type: 'boolean', required: false, default: false },
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
- { name: 'url', label: 'Webhook URL', type: 'string', required: true, placeholder: 'https://api.example.com/agent-events' },
73
- { name: 'secret', label: 'Signing Secret', type: 'string', required: false, placeholder: 'Optional HMAC secret for payload signing' },
74
- { name: 'include_output', label: 'Include Output', type: 'boolean', required: false, default: true },
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
- 'email': EMAIL_NOTIFICATION_SPEC_0_0_1,
83
- 'slack': SLACK_NOTIFICATION_SPEC_0_0_1,
84
- 'teams': TEAMS_NOTIFICATION_SPEC_0_0_1,
85
- 'webhook': WEBHOOK_NOTIFICATION_SPEC_0_0_1,
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);
@@ -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: ['application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'text/markdown'],
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: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
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
- 'csv': CSV_OUTPUT_SPEC_0_0_1,
83
- 'dashboard': DASHBOARD_OUTPUT_SPEC_0_0_1,
84
- 'document': DOCUMENT_OUTPUT_SPEC_0_0_1,
85
- 'email': EMAIL_OUTPUT_SPEC_0_0_1,
86
- 'json': JSON_OUTPUT_SPEC_0_0_1,
87
- 'notebook': NOTEBOOK_OUTPUT_SPEC_0_0_1,
88
- 'spreadsheet': SPREADSHEET_OUTPUT_SPEC_0_0_1,
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
+ }
@@ -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 SKILL_CATALOG: Record<string, SkillSpec>;
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;
@@ -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: ["TAVILY_API_KEY:0.0.1"],
17
+ requiredEnvVars: ['TAVILY_API_KEY:0.0.1'],
18
18
  optionalEnvVars: [],
19
- dependencies: ["requests>=2.31.0", "beautifulsoup4>=4.12.0"],
20
- tags: ["web", "crawl", "scraping"],
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: ["httpx>=0.27.0"],
37
- tags: ["events", "orchestration", "automation"],
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: ["GITHUB_TOKEN:0.0.1"],
51
+ requiredEnvVars: ['GITHUB_TOKEN:0.0.1'],
52
52
  optionalEnvVars: [],
53
- dependencies: ["PyGithub>=2.1.0"],
54
- tags: ["github", "git", "code"],
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: ["fun", "humor", "demo"],
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: ["PyPDF2>=3.0.0", "pdfplumber>=0.10.0"],
88
- tags: ["pdf", "documents", "extraction"],
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: ["agent-skills>=0.0.1"],
105
- tags: ["nlp", "summarization", "text-processing"],
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 SKILL_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,
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(SKILL_CATALOG);
122
+ return Object.values(SKILLS_CATALOG);
123
123
  }
124
124
  function resolveSkillId(skillId) {
125
- if (skillId in SKILL_CATALOG)
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 SKILL_CATALOG)
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 SKILL_CATALOG[resolveSkillId(skillId)];
136
+ return SKILLS_CATALOG[resolveSkillId(skillId)];
137
137
  }
@@ -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 ? specs.filter(s => s.id.startsWith(prefix)) : specs;
34
+ return prefix !== undefined
35
+ ? specs.filter(s => s.id.startsWith(prefix))
36
+ : specs;
35
37
  }