@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
@@ -10,7 +10,7 @@ export const RUNTIME_ECHO_TOOL_SPEC_0_0_1 = {
10
10
  version: '0.0.1',
11
11
  name: 'Runtime Echo',
12
12
  description: 'Echo text back to the caller for quick runtime verification.',
13
- tags: ["runtime", "utility"],
13
+ tags: ['runtime', 'utility'],
14
14
  enabled: true,
15
15
  approval: 'auto',
16
16
  timeout: undefined,
@@ -28,7 +28,7 @@ export const RUNTIME_SEND_MAIL_TOOL_SPEC_0_0_1 = {
28
28
  version: '0.0.1',
29
29
  name: 'Runtime Send Mail (Fake)',
30
30
  description: 'Fake mail sender for tool approval demos; returns a simulated send receipt.',
31
- tags: ["runtime", "approval", "mail"],
31
+ tags: ['runtime', 'approval', 'mail'],
32
32
  enabled: true,
33
33
  approval: 'manual',
34
34
  timeout: undefined,
@@ -46,10 +46,10 @@ export const RUNTIME_SENSITIVE_ECHO_TOOL_SPEC_0_0_1 = {
46
46
  version: '0.0.1',
47
47
  name: 'Runtime Sensitive Echo',
48
48
  description: 'Echo text with a manual approval checkpoint before execution.',
49
- tags: ["runtime", "approval"],
49
+ tags: ['runtime', 'approval'],
50
50
  enabled: true,
51
51
  approval: 'manual',
52
- timeout: '5h0m0s',
52
+ timeout: undefined,
53
53
  requiresApproval: true,
54
54
  runtime: {
55
55
  language: 'python',
@@ -12,10 +12,35 @@ export const EVENT_TRIGGER_SPEC_0_0_1 = {
12
12
  description: 'Trigger on specific events such as a webhook call, API request, database change, file upload, or email arrival.',
13
13
  type: 'event',
14
14
  fields: [
15
- { name: 'event_source', label: 'Event Source URL', type: 'string', required: false, placeholder: 'https://helpdesk.example.com/webhooks', help: 'Allowed event source URL (leave empty to allow any source)' },
16
- { name: 'event', label: 'Event Name', type: 'string', required: false, placeholder: 'email_received' },
17
- { name: 'description', label: 'Description', type: 'string', required: false, placeholder: 'Description (e.g. \'Triggered on incoming email\')' },
18
- { name: 'prompt', label: 'Trigger Prompt', type: 'string', required: false, placeholder: 'Handle the incoming event and execute the agent end-to-end.' },
15
+ {
16
+ name: 'event_source',
17
+ label: 'Event Source URL',
18
+ type: 'string',
19
+ required: false,
20
+ placeholder: 'https://helpdesk.example.com/webhooks',
21
+ help: 'Allowed event source URL (leave empty to allow any source)',
22
+ },
23
+ {
24
+ name: 'event',
25
+ label: 'Event Name',
26
+ type: 'string',
27
+ required: false,
28
+ placeholder: 'email_received',
29
+ },
30
+ {
31
+ name: 'description',
32
+ label: 'Description',
33
+ type: 'string',
34
+ required: false,
35
+ placeholder: "Description (e.g. 'Triggered on incoming email')",
36
+ },
37
+ {
38
+ name: 'prompt',
39
+ label: 'Trigger Prompt',
40
+ type: 'string',
41
+ required: false,
42
+ placeholder: 'Handle the incoming event and execute the agent end-to-end.',
43
+ },
19
44
  ],
20
45
  };
21
46
  export const ONCE_TRIGGER_SPEC_0_0_1 = {
@@ -25,7 +50,13 @@ export const ONCE_TRIGGER_SPEC_0_0_1 = {
25
50
  description: 'Execute agent immediately after deployment.',
26
51
  type: 'once',
27
52
  fields: [
28
- { name: 'prompt', label: 'Trigger Prompt', type: 'string', required: false, placeholder: 'Start when requested by a user and complete the agent once.' },
53
+ {
54
+ name: 'prompt',
55
+ label: 'Trigger Prompt',
56
+ type: 'string',
57
+ required: false,
58
+ placeholder: 'Start when requested by a user and complete the agent once.',
59
+ },
29
60
  ],
30
61
  };
31
62
  export const SCHEDULE_TRIGGER_SPEC_0_0_1 = {
@@ -35,18 +66,37 @@ export const SCHEDULE_TRIGGER_SPEC_0_0_1 = {
35
66
  description: 'Run on a recurring schedule using a cron expression (e.g. daily at 9 AM, every Monday, monthly on the 1st).',
36
67
  type: 'schedule',
37
68
  fields: [
38
- { name: 'cron', label: 'Cron Expression', type: 'string', required: true, placeholder: '0 9 * * * (every day at 9 AM)', font: 'mono' },
39
- { name: 'description', label: 'Description', type: 'string', required: false, placeholder: 'Description (e.g. \'Monthly sales report\')' },
40
- { name: 'prompt', label: 'Trigger Prompt', type: 'string', required: false, placeholder: 'Run the scheduled agent and produce the configured deliverable.' },
69
+ {
70
+ name: 'cron',
71
+ label: 'Cron Expression',
72
+ type: 'string',
73
+ required: true,
74
+ placeholder: '0 9 * * * (every day at 9 AM)',
75
+ font: 'mono',
76
+ },
77
+ {
78
+ name: 'description',
79
+ label: 'Description',
80
+ type: 'string',
81
+ required: false,
82
+ placeholder: "Description (e.g. 'Monthly sales report')",
83
+ },
84
+ {
85
+ name: 'prompt',
86
+ label: 'Trigger Prompt',
87
+ type: 'string',
88
+ required: false,
89
+ placeholder: 'Run the scheduled agent and produce the configured deliverable.',
90
+ },
41
91
  ],
42
92
  };
43
93
  // ============================================================================
44
94
  // Trigger Catalog
45
95
  // ============================================================================
46
96
  export const TRIGGER_CATALOG = {
47
- 'event': EVENT_TRIGGER_SPEC_0_0_1,
48
- 'once': ONCE_TRIGGER_SPEC_0_0_1,
49
- 'schedule': SCHEDULE_TRIGGER_SPEC_0_0_1,
97
+ event: EVENT_TRIGGER_SPEC_0_0_1,
98
+ once: ONCE_TRIGGER_SPEC_0_0_1,
99
+ schedule: SCHEDULE_TRIGGER_SPEC_0_0_1,
50
100
  };
51
101
  export function getTriggerSpecs() {
52
102
  return Object.values(TRIGGER_CATALOG);
@@ -0,0 +1,208 @@
1
+ import type { ServiceManager } from '@jupyterlab/services';
2
+ import type { IRuntimeOptions } from '@datalayer/core/lib/stateful/runtimes/apis';
3
+ import type { AgentStatus, AgentConnection, AgentConfig, Protocol } from '../types';
4
+ import type { AgentStreamSnapshotPayload, AgentStreamToolApprovalPayload, CodemodeStatusData } from '../types/stream';
5
+ import type { ContextSnapshotData } from '../types/context';
6
+ import type { McpToolsetsStatusResponse } from '../types/mcp';
7
+ import type { LoadedSkillInfo } from '../types/skills';
8
+ /**
9
+ * A URL-addressable agent that has been previously connected.
10
+ * May originate from an agent runtime pod OR from the stable agents service.
11
+ */
12
+ export interface AgentRegistryEntry {
13
+ id: string;
14
+ name: string;
15
+ description: string;
16
+ baseUrl: string;
17
+ protocol: Protocol;
18
+ status: AgentStatus;
19
+ error?: string | null;
20
+ lastUpdated: number;
21
+ documentId?: string;
22
+ runtimeId?: string;
23
+ author?: string;
24
+ avatarUrl?: string;
25
+ }
26
+ export type AgentRuntimeWsState = 'closed' | 'connecting' | 'connected';
27
+ export interface LocalTokenTurn {
28
+ turnNumber: number;
29
+ timestampMs: number;
30
+ systemPromptTokens: number;
31
+ toolsDescriptionTokens: number;
32
+ userMessageTokens: number;
33
+ aiMessageTokens: number;
34
+ toolsUsageTokens: number;
35
+ totalTokens: number;
36
+ }
37
+ export interface LocalCostPoint {
38
+ timestampMs: number;
39
+ cumulativeUsd: number;
40
+ }
41
+ export interface MonitoringCacheEntry {
42
+ tokenTurns: LocalTokenTurn[];
43
+ costPoints: LocalCostPoint[];
44
+ }
45
+ export declare function getMonitoringCacheKey(serviceName?: string, agentId?: string): string;
46
+ export interface AgentRuntimeStoreState {
47
+ agents: readonly AgentRegistryEntry[];
48
+ runtime: AgentConnection | null;
49
+ status: AgentStatus;
50
+ error: string | null;
51
+ isLaunching: boolean;
52
+ wsState: AgentRuntimeWsState;
53
+ approvals: AgentStreamToolApprovalPayload[];
54
+ pendingApprovalCount: number;
55
+ contextSnapshot: ContextSnapshotData | null;
56
+ costUsage: ContextSnapshotData['costUsage'] | null;
57
+ mcpStatus: McpToolsetsStatusResponse | null;
58
+ codemodeStatus: CodemodeStatusData | null;
59
+ fullContext: Record<string, unknown> | null;
60
+ monitoringCache: Record<string, MonitoringCacheEntry>;
61
+ loadedSkillsByAgentId: Record<string, LoadedSkillInfo[]>;
62
+ }
63
+ export interface AgentRuntimeStoreActions {
64
+ upsertAgent: (agent: Partial<AgentRegistryEntry> & {
65
+ id: string;
66
+ baseUrl: string;
67
+ protocol: Protocol;
68
+ }) => void;
69
+ getAgentById: (id: string) => AgentRegistryEntry | undefined;
70
+ getAgentByUrl: (baseUrl: string, protocol: Protocol) => AgentRegistryEntry | undefined;
71
+ updateAgentStatus: (id: string, status: AgentStatus, error?: string | null) => void;
72
+ toggleAgentStatus: (id: string) => void;
73
+ deleteAgent: (id: string) => void;
74
+ clearAgents: () => void;
75
+ setLoadedSkillsForAgent: (agentId: string, skills: LoadedSkillInfo[]) => void;
76
+ getLoadedSkillsForAgent: (agentId: string) => LoadedSkillInfo[];
77
+ clearLoadedSkillsForAgent: (agentId: string) => void;
78
+ launchAgent: (options: LaunchAgentOptions) => Promise<AgentConnection>;
79
+ connectAgent: (connection: {
80
+ podName: string;
81
+ environmentName: string;
82
+ serviceManager?: ServiceManager.IManager;
83
+ jupyterBaseUrl?: string;
84
+ kernelId?: string;
85
+ }) => void;
86
+ createAgent: (config?: AgentConfig) => Promise<Pick<AgentConnection, 'agentId' | 'endpoint' | 'isReady'>>;
87
+ disconnect: () => void;
88
+ clearError: () => void;
89
+ setError: (error: string) => void;
90
+ setWsState: (state: AgentRuntimeWsState) => void;
91
+ setWs: (ws: WebSocket | null, agentId?: string) => void;
92
+ applySnapshot: (payload: AgentStreamSnapshotPayload) => void;
93
+ upsertApproval: (approval: AgentStreamToolApprovalPayload) => void;
94
+ removeApproval: (approvalId: string) => void;
95
+ sendDecision: (approvalId: string, approved: boolean, note?: string, toolCallId?: string, agentId?: string) => boolean;
96
+ requestRefresh: (agentId?: string) => boolean;
97
+ sendRawMessage: (payload: Record<string, unknown>, agentId?: string) => boolean;
98
+ appendLocalTokenTurn: (params: {
99
+ serviceName?: string;
100
+ agentId?: string;
101
+ timestampMs: number;
102
+ promptTokens: number;
103
+ completionTokens: number;
104
+ totalTokens: number;
105
+ }) => void;
106
+ mergeTokenTurns: (params: {
107
+ serviceName?: string;
108
+ agentId?: string;
109
+ turns: LocalTokenTurn[];
110
+ }) => void;
111
+ appendLocalTokenTurnFull: (params: {
112
+ serviceName?: string;
113
+ agentId?: string;
114
+ timestampMs: number;
115
+ systemPromptTokens: number;
116
+ toolsDescriptionTokens: number;
117
+ userMessageTokens: number;
118
+ aiMessageTokens: number;
119
+ toolsUsageTokens: number;
120
+ totalTokens: number;
121
+ }) => void;
122
+ upsertLocalCostPoint: (params: {
123
+ serviceName?: string;
124
+ agentId?: string;
125
+ timestampMs: number;
126
+ cumulativeUsd: number;
127
+ }) => void;
128
+ mergeCostPoints: (params: {
129
+ serviceName?: string;
130
+ agentId?: string;
131
+ points: LocalCostPoint[];
132
+ }) => void;
133
+ reset: () => void;
134
+ resetWs: () => void;
135
+ }
136
+ export type AgentRuntimeStore = AgentRuntimeStoreState & AgentRuntimeStoreActions;
137
+ export interface LaunchAgentOptions extends IRuntimeOptions {
138
+ /** Optional runtimes API base URL override for runtime creation. */
139
+ runtimesRunUrl?: string;
140
+ }
141
+ export declare const agentRuntimeStore: Omit<Omit<import("zustand").StoreApi<AgentRuntimeStore>, "subscribe"> & {
142
+ subscribe: {
143
+ (listener: (selectedState: AgentRuntimeStore, previousSelectedState: AgentRuntimeStore) => void): () => void;
144
+ <U>(selector: (state: AgentRuntimeStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
145
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
146
+ fireImmediately?: boolean;
147
+ } | undefined): () => void;
148
+ };
149
+ }, "persist"> & {
150
+ persist: {
151
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<AgentRuntimeStore, unknown>>) => void;
152
+ clearStorage: () => void;
153
+ rehydrate: () => Promise<void> | void;
154
+ hasHydrated: () => boolean;
155
+ onHydrate: (fn: (state: AgentRuntimeStore) => void) => () => void;
156
+ onFinishHydration: (fn: (state: AgentRuntimeStore) => void) => () => void;
157
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<AgentRuntimeStore, unknown>>;
158
+ };
159
+ };
160
+ export declare function useAgentRuntimeStore(): AgentRuntimeStore;
161
+ export declare function useAgentRuntimeStore<T>(selector: (state: AgentRuntimeStore) => T): T;
162
+ export declare const useAgentRuntimeConnection: () => AgentConnection | null;
163
+ export declare const useAgentRuntimeStatus: () => AgentStatus;
164
+ export declare const useAgentRuntimeError: () => string | null;
165
+ export declare const useAgentRuntimeIsLaunching: () => boolean;
166
+ export declare const useAgentRuntimeApprovals: () => AgentStreamToolApprovalPayload[];
167
+ export declare const useAgentRuntimePendingCount: () => number;
168
+ export declare const useAgentRuntimeMcpStatus: () => McpToolsetsStatusResponse | null;
169
+ export declare const useAgentRuntimeFullContext: () => Record<string, unknown> | null;
170
+ export declare const useAgentRuntimeContextSnapshot: () => ContextSnapshotData | null;
171
+ export declare const useAgentRuntimeCostUsage: () => {
172
+ lastTurnCostUsd: number;
173
+ cumulativeCostUsd: number;
174
+ perRunBudgetUsd: number | null;
175
+ cumulativeBudgetUsd: number | null;
176
+ requestCount: number;
177
+ totalTokensUsed: number;
178
+ modelBreakdown: Array<{
179
+ model: string;
180
+ inputTokens: number;
181
+ outputTokens: number;
182
+ costUsd: number;
183
+ requests: number;
184
+ }>;
185
+ runs: Array<{
186
+ timestamp: string;
187
+ model: string;
188
+ inputTokens: number;
189
+ outputTokens: number;
190
+ runCostUsd: number;
191
+ cumulativeCostUsd: number;
192
+ pricePerInputToken: number | null;
193
+ pricePerOutputToken: number | null;
194
+ pricingResolved: boolean;
195
+ }>;
196
+ lastUpdated: string | null;
197
+ } | null | undefined;
198
+ export declare const useAgentRuntimeCodemodeStatus: () => CodemodeStatusData | null;
199
+ export declare const useAgentRuntimeWsState: () => AgentRuntimeWsState;
200
+ export declare const useAgentRuntimeLoadedSkills: (agentId?: string) => LoadedSkillInfo[];
201
+ export declare const getAgentRuntimeState: () => AgentRuntimeStore;
202
+ export declare const subscribeToAgentRuntime: {
203
+ (listener: (selectedState: AgentRuntimeStore, previousSelectedState: AgentRuntimeStore) => void): () => void;
204
+ <U>(selector: (state: AgentRuntimeStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
205
+ equalityFn?: ((a: U, b: U) => boolean) | undefined;
206
+ fireImmediately?: boolean;
207
+ } | undefined): () => void;
208
+ };