@datalayer/agent-runtimes 1.0.17 → 1.0.19

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.
@@ -1521,6 +1521,438 @@ export const EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1 = {
1521
1521
  },
1522
1522
  subagents: undefined,
1523
1523
  };
1524
+ export const EXAMPLE_SANDBOX_COLAB_AGENTSPEC_0_0_1 = {
1525
+ id: 'example-sandbox-colab',
1526
+ version: '0.0.1',
1527
+ name: 'Example Sandbox Colab Agent',
1528
+ description: `Demonstration agent configured to run codemode code execution with the 'colab' sandbox variant.`,
1529
+ tags: ['sandbox', 'codemode', 'colab'],
1530
+ enabled: true,
1531
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1532
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1533
+ skills: [
1534
+ SKILL_MAP['events:0.0.1']
1535
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1536
+ : undefined,
1537
+ ].filter(Boolean),
1538
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1539
+ frontendTools: [
1540
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1541
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1542
+ ],
1543
+ environmentName: 'ai-agents-env',
1544
+ icon: 'package',
1545
+ emoji: 'E',
1546
+ color: '#1F6FEB',
1547
+ suggestions: [
1548
+ "Use execute_code to print('sandbox variant: colab')",
1549
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1550
+ 'Use execute_code to load pandas and build a small DataFrame',
1551
+ ],
1552
+ welcomeMessage: "You're connected to the colab sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1553
+ welcomeNotebook: undefined,
1554
+ welcomeDocument: undefined,
1555
+ sandboxVariant: 'colab',
1556
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1557
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1558
+ goal: undefined,
1559
+ protocol: undefined,
1560
+ uiExtension: undefined,
1561
+ trigger: undefined,
1562
+ modelConfig: undefined,
1563
+ mcpServerTools: undefined,
1564
+ guardrails: undefined,
1565
+ evals: undefined,
1566
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1567
+ output: undefined,
1568
+ advanced: undefined,
1569
+ authorizationPolicy: undefined,
1570
+ notifications: undefined,
1571
+ memory: 'ephemeral',
1572
+ preHooks: undefined,
1573
+ postHooks: undefined,
1574
+ toolHooks: undefined,
1575
+ parameters: undefined,
1576
+ subagents: undefined,
1577
+ };
1578
+ export const EXAMPLE_SANDBOX_DATALAYER_AGENTSPEC_0_0_1 = {
1579
+ id: 'example-sandbox-datalayer',
1580
+ version: '0.0.1',
1581
+ name: 'Example Sandbox Datalayer Agent',
1582
+ description: `Demonstration agent configured to run codemode code execution with the 'datalayer' sandbox variant.`,
1583
+ tags: ['sandbox', 'codemode', 'datalayer'],
1584
+ enabled: true,
1585
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1586
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1587
+ skills: [
1588
+ SKILL_MAP['events:0.0.1']
1589
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1590
+ : undefined,
1591
+ ].filter(Boolean),
1592
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1593
+ frontendTools: [
1594
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1595
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1596
+ ],
1597
+ environmentName: 'ai-agents-env',
1598
+ icon: 'package',
1599
+ emoji: 'D',
1600
+ color: '#1F6FEB',
1601
+ suggestions: [
1602
+ "Use execute_code to print('sandbox variant: datalayer')",
1603
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1604
+ 'Use execute_code to load pandas and build a small DataFrame',
1605
+ ],
1606
+ welcomeMessage: "You're connected to the datalayer sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1607
+ welcomeNotebook: undefined,
1608
+ welcomeDocument: undefined,
1609
+ sandboxVariant: 'datalayer',
1610
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1611
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1612
+ goal: undefined,
1613
+ protocol: undefined,
1614
+ uiExtension: undefined,
1615
+ trigger: undefined,
1616
+ modelConfig: undefined,
1617
+ mcpServerTools: undefined,
1618
+ guardrails: undefined,
1619
+ evals: undefined,
1620
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1621
+ output: undefined,
1622
+ advanced: undefined,
1623
+ authorizationPolicy: undefined,
1624
+ notifications: undefined,
1625
+ memory: 'ephemeral',
1626
+ preHooks: undefined,
1627
+ postHooks: undefined,
1628
+ toolHooks: undefined,
1629
+ parameters: undefined,
1630
+ subagents: undefined,
1631
+ };
1632
+ export const EXAMPLE_SANDBOX_DOCKER_AGENTSPEC_0_0_1 = {
1633
+ id: 'example-sandbox-docker',
1634
+ version: '0.0.1',
1635
+ name: 'Example Sandbox Docker Agent',
1636
+ description: `Demonstration agent configured to run codemode code execution with the 'docker' sandbox variant.`,
1637
+ tags: ['sandbox', 'codemode', 'docker'],
1638
+ enabled: true,
1639
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1640
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1641
+ skills: [
1642
+ SKILL_MAP['events:0.0.1']
1643
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1644
+ : undefined,
1645
+ ].filter(Boolean),
1646
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1647
+ frontendTools: [
1648
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1649
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1650
+ ],
1651
+ environmentName: 'ai-agents-env',
1652
+ icon: 'package',
1653
+ emoji: 'C',
1654
+ color: '#1F6FEB',
1655
+ suggestions: [
1656
+ "Use execute_code to print('sandbox variant: docker')",
1657
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1658
+ 'Use execute_code to load pandas and build a small DataFrame',
1659
+ ],
1660
+ welcomeMessage: "You're connected to the docker sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1661
+ welcomeNotebook: undefined,
1662
+ welcomeDocument: undefined,
1663
+ sandboxVariant: 'docker',
1664
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1665
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1666
+ goal: undefined,
1667
+ protocol: undefined,
1668
+ uiExtension: undefined,
1669
+ trigger: undefined,
1670
+ modelConfig: undefined,
1671
+ mcpServerTools: undefined,
1672
+ guardrails: undefined,
1673
+ evals: undefined,
1674
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1675
+ output: undefined,
1676
+ advanced: undefined,
1677
+ authorizationPolicy: undefined,
1678
+ notifications: undefined,
1679
+ memory: 'ephemeral',
1680
+ preHooks: undefined,
1681
+ postHooks: undefined,
1682
+ toolHooks: undefined,
1683
+ parameters: undefined,
1684
+ subagents: undefined,
1685
+ };
1686
+ export const EXAMPLE_SANDBOX_EVAL_AGENTSPEC_0_0_1 = {
1687
+ id: 'example-sandbox-eval',
1688
+ version: '0.0.1',
1689
+ name: 'Example Sandbox Eval Agent',
1690
+ description: `Demonstration agent configured to run codemode code execution with the 'eval' sandbox variant.`,
1691
+ tags: ['sandbox', 'codemode', 'eval'],
1692
+ enabled: true,
1693
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1694
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1695
+ skills: [
1696
+ SKILL_MAP['events:0.0.1']
1697
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1698
+ : undefined,
1699
+ ].filter(Boolean),
1700
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1701
+ frontendTools: [
1702
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1703
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1704
+ ],
1705
+ environmentName: 'ai-agents-env',
1706
+ icon: 'package',
1707
+ emoji: 'A',
1708
+ color: '#1F6FEB',
1709
+ suggestions: [
1710
+ "Use execute_code to print('sandbox variant: eval')",
1711
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1712
+ 'Use execute_code to load pandas and build a small DataFrame',
1713
+ ],
1714
+ welcomeMessage: "You're connected to the eval sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1715
+ welcomeNotebook: undefined,
1716
+ welcomeDocument: undefined,
1717
+ sandboxVariant: 'eval',
1718
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1719
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1720
+ goal: undefined,
1721
+ protocol: undefined,
1722
+ uiExtension: undefined,
1723
+ trigger: undefined,
1724
+ modelConfig: undefined,
1725
+ mcpServerTools: undefined,
1726
+ guardrails: undefined,
1727
+ evals: undefined,
1728
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1729
+ output: undefined,
1730
+ advanced: undefined,
1731
+ authorizationPolicy: undefined,
1732
+ notifications: undefined,
1733
+ memory: 'ephemeral',
1734
+ preHooks: undefined,
1735
+ postHooks: undefined,
1736
+ toolHooks: undefined,
1737
+ parameters: undefined,
1738
+ subagents: undefined,
1739
+ };
1740
+ export const EXAMPLE_SANDBOX_JUPYTER_AGENTSPEC_0_0_1 = {
1741
+ id: 'example-sandbox-jupyter',
1742
+ version: '0.0.1',
1743
+ name: 'Example Sandbox Jupyter Agent',
1744
+ description: `Demonstration agent configured to run codemode code execution with the 'jupyter' sandbox variant.`,
1745
+ tags: ['sandbox', 'codemode', 'jupyter'],
1746
+ enabled: true,
1747
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1748
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1749
+ skills: [
1750
+ SKILL_MAP['events:0.0.1']
1751
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1752
+ : undefined,
1753
+ ].filter(Boolean),
1754
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1755
+ frontendTools: [
1756
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1757
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1758
+ ],
1759
+ environmentName: 'ai-agents-env',
1760
+ icon: 'package',
1761
+ emoji: 'B',
1762
+ color: '#1F6FEB',
1763
+ suggestions: [
1764
+ "Use execute_code to print('sandbox variant: jupyter')",
1765
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1766
+ 'Use execute_code to load pandas and build a small DataFrame',
1767
+ ],
1768
+ welcomeMessage: "You're connected to the jupyter sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1769
+ welcomeNotebook: undefined,
1770
+ welcomeDocument: undefined,
1771
+ sandboxVariant: 'jupyter',
1772
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1773
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1774
+ goal: undefined,
1775
+ protocol: undefined,
1776
+ uiExtension: undefined,
1777
+ trigger: undefined,
1778
+ modelConfig: undefined,
1779
+ mcpServerTools: undefined,
1780
+ guardrails: undefined,
1781
+ evals: undefined,
1782
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1783
+ output: undefined,
1784
+ advanced: undefined,
1785
+ authorizationPolicy: undefined,
1786
+ notifications: undefined,
1787
+ memory: 'ephemeral',
1788
+ preHooks: undefined,
1789
+ postHooks: undefined,
1790
+ toolHooks: undefined,
1791
+ parameters: undefined,
1792
+ subagents: undefined,
1793
+ };
1794
+ export const EXAMPLE_SANDBOX_KAGGLE_AGENTSPEC_0_0_1 = {
1795
+ id: 'example-sandbox-kaggle',
1796
+ version: '0.0.1',
1797
+ name: 'Example Sandbox Kaggle Agent',
1798
+ description: `Demonstration agent configured to run codemode code execution with the 'kaggle' sandbox variant.`,
1799
+ tags: ['sandbox', 'codemode', 'kaggle'],
1800
+ enabled: true,
1801
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1802
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1803
+ skills: [
1804
+ SKILL_MAP['events:0.0.1']
1805
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1806
+ : undefined,
1807
+ ].filter(Boolean),
1808
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1809
+ frontendTools: [
1810
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1811
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1812
+ ],
1813
+ environmentName: 'ai-agents-env',
1814
+ icon: 'package',
1815
+ emoji: 'H',
1816
+ color: '#1F6FEB',
1817
+ suggestions: [
1818
+ "Use execute_code to print('sandbox variant: kaggle')",
1819
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1820
+ 'Use execute_code to load pandas and build a small DataFrame',
1821
+ ],
1822
+ welcomeMessage: "You're connected to the kaggle sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1823
+ welcomeNotebook: undefined,
1824
+ welcomeDocument: undefined,
1825
+ sandboxVariant: 'kaggle',
1826
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1827
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1828
+ goal: undefined,
1829
+ protocol: undefined,
1830
+ uiExtension: undefined,
1831
+ trigger: undefined,
1832
+ modelConfig: undefined,
1833
+ mcpServerTools: undefined,
1834
+ guardrails: undefined,
1835
+ evals: undefined,
1836
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1837
+ output: undefined,
1838
+ advanced: undefined,
1839
+ authorizationPolicy: undefined,
1840
+ notifications: undefined,
1841
+ memory: 'ephemeral',
1842
+ preHooks: undefined,
1843
+ postHooks: undefined,
1844
+ toolHooks: undefined,
1845
+ parameters: undefined,
1846
+ subagents: undefined,
1847
+ };
1848
+ export const EXAMPLE_SANDBOX_MODAL_AGENTSPEC_0_0_1 = {
1849
+ id: 'example-sandbox-modal',
1850
+ version: '0.0.1',
1851
+ name: 'Example Sandbox Modal Agent',
1852
+ description: `Demonstration agent configured to run codemode code execution with the 'modal' sandbox variant.`,
1853
+ tags: ['sandbox', 'codemode', 'modal'],
1854
+ enabled: true,
1855
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1856
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1857
+ skills: [
1858
+ SKILL_MAP['events:0.0.1']
1859
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1860
+ : undefined,
1861
+ ].filter(Boolean),
1862
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1863
+ frontendTools: [
1864
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1865
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1866
+ ],
1867
+ environmentName: 'ai-agents-env',
1868
+ icon: 'package',
1869
+ emoji: 'G',
1870
+ color: '#1F6FEB',
1871
+ suggestions: [
1872
+ "Use execute_code to print('sandbox variant: modal')",
1873
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1874
+ 'Use execute_code to load pandas and build a small DataFrame',
1875
+ ],
1876
+ welcomeMessage: "You're connected to the modal sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1877
+ welcomeNotebook: undefined,
1878
+ welcomeDocument: undefined,
1879
+ sandboxVariant: 'modal',
1880
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1881
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1882
+ goal: undefined,
1883
+ protocol: undefined,
1884
+ uiExtension: undefined,
1885
+ trigger: undefined,
1886
+ modelConfig: undefined,
1887
+ mcpServerTools: undefined,
1888
+ guardrails: undefined,
1889
+ evals: undefined,
1890
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1891
+ output: undefined,
1892
+ advanced: undefined,
1893
+ authorizationPolicy: undefined,
1894
+ notifications: undefined,
1895
+ memory: 'ephemeral',
1896
+ preHooks: undefined,
1897
+ postHooks: undefined,
1898
+ toolHooks: undefined,
1899
+ parameters: undefined,
1900
+ subagents: undefined,
1901
+ };
1902
+ export const EXAMPLE_SANDBOX_MONTY_AGENTSPEC_0_0_1 = {
1903
+ id: 'example-sandbox-monty',
1904
+ version: '0.0.1',
1905
+ name: 'Example Sandbox Monty Agent',
1906
+ description: `Demonstration agent configured to run codemode code execution with the 'monty' sandbox variant.`,
1907
+ tags: ['sandbox', 'codemode', 'monty'],
1908
+ enabled: true,
1909
+ model: 'bedrock:us.anthropic.claude-opus-4-8',
1910
+ mcpServers: [MCP_SERVER_MAP['tavily:0.0.1']],
1911
+ skills: [
1912
+ SKILL_MAP['events:0.0.1']
1913
+ ? toAgentSkillSpec(SKILL_MAP['events:0.0.1'])
1914
+ : undefined,
1915
+ ].filter(Boolean),
1916
+ tools: [TOOL_MAP['runtime-echo:0.0.1']],
1917
+ frontendTools: [
1918
+ FRONTEND_TOOL_MAP['jupyter-notebook:0.0.1'],
1919
+ FRONTEND_TOOL_MAP['lexical-document:0.0.1'],
1920
+ ],
1921
+ environmentName: 'ai-agents-env',
1922
+ icon: 'package',
1923
+ emoji: 'F',
1924
+ color: '#1F6FEB',
1925
+ suggestions: [
1926
+ "Use execute_code to print('sandbox variant: monty')",
1927
+ 'Use execute_code to compute sum(i*i for i in range(20))',
1928
+ 'Use execute_code to load pandas and build a small DataFrame',
1929
+ ],
1930
+ welcomeMessage: "You're connected to the monty sandbox variant demo. Ask me to run Python code and I will use execute_code in codemode.",
1931
+ welcomeNotebook: undefined,
1932
+ welcomeDocument: undefined,
1933
+ sandboxVariant: 'monty',
1934
+ systemPrompt: `You are a sandbox-variant demonstration assistant. Prefer executing Python code via execute_code for computations, data checks, and quick experiments, then summarize results clearly.`,
1935
+ systemPromptCodemodeAddons: `Always use execute_code when the user requests calculations, scripts, DataFrame operations, package checks, or shell-style diagnostics.`,
1936
+ goal: undefined,
1937
+ protocol: undefined,
1938
+ uiExtension: undefined,
1939
+ trigger: undefined,
1940
+ modelConfig: undefined,
1941
+ mcpServerTools: undefined,
1942
+ guardrails: undefined,
1943
+ evals: undefined,
1944
+ codemode: { enabled: true, token_reduction: '~80%', speedup: '~1.5x' },
1945
+ output: undefined,
1946
+ advanced: undefined,
1947
+ authorizationPolicy: undefined,
1948
+ notifications: undefined,
1949
+ memory: 'ephemeral',
1950
+ preHooks: undefined,
1951
+ postHooks: undefined,
1952
+ toolHooks: undefined,
1953
+ parameters: undefined,
1954
+ subagents: undefined,
1955
+ };
1524
1956
  export const EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1 = {
1525
1957
  id: 'example-shared-state',
1526
1958
  version: '0.0.1',
@@ -6301,6 +6733,14 @@ export const AGENTSPECS = {
6301
6733
  'example-otel': EXAMPLE_OTEL_AGENTSPEC_0_0_1,
6302
6734
  'example-output': EXAMPLE_OUTPUT_AGENTSPEC_0_0_1,
6303
6735
  'example-parameters': EXAMPLE_PARAMETERS_AGENTSPEC_0_0_1,
6736
+ 'example-sandbox-colab': EXAMPLE_SANDBOX_COLAB_AGENTSPEC_0_0_1,
6737
+ 'example-sandbox-datalayer': EXAMPLE_SANDBOX_DATALAYER_AGENTSPEC_0_0_1,
6738
+ 'example-sandbox-docker': EXAMPLE_SANDBOX_DOCKER_AGENTSPEC_0_0_1,
6739
+ 'example-sandbox-eval': EXAMPLE_SANDBOX_EVAL_AGENTSPEC_0_0_1,
6740
+ 'example-sandbox-jupyter': EXAMPLE_SANDBOX_JUPYTER_AGENTSPEC_0_0_1,
6741
+ 'example-sandbox-kaggle': EXAMPLE_SANDBOX_KAGGLE_AGENTSPEC_0_0_1,
6742
+ 'example-sandbox-modal': EXAMPLE_SANDBOX_MODAL_AGENTSPEC_0_0_1,
6743
+ 'example-sandbox-monty': EXAMPLE_SANDBOX_MONTY_AGENTSPEC_0_0_1,
6304
6744
  'example-shared-state': EXAMPLE_SHARED_STATE_AGENTSPEC_0_0_1,
6305
6745
  'example-simple': EXAMPLE_SIMPLE_AGENTSPEC_0_0_1,
6306
6746
  'example-skills': EXAMPLE_SKILLS_AGENTSPEC_0_0_1,
@@ -63,7 +63,7 @@ export interface Agentspec {
63
63
  welcomeNotebook?: string;
64
64
  /** Path to Lexical document to show on agent creation */
65
65
  welcomeDocument?: string;
66
- /** Sandbox variant to use for this agent ('eval', 'jupyter') */
66
+ /** Sandbox variant to use for this agent (e.g. 'eval', 'jupyter', 'kaggle'). */
67
67
  sandboxVariant?: string;
68
68
  /** User-facing objective for the agent */
69
69
  goal?: string;
@@ -4,6 +4,7 @@
4
4
  * @module types/chat
5
5
  */
6
6
  import type { ComponentType, ReactNode } from 'react';
7
+ import type { ICollaborationProvider } from '@datalayer/jupyter-react';
7
8
  import type { ChatMessage, MessageHandler } from './messages';
8
9
  import type { Protocol, ProtocolConfig } from './protocol';
9
10
  import type { McpServerSelection } from './inference';
@@ -12,6 +13,8 @@ import type { AgentRuntimeConfig } from './config';
12
13
  import type { SandboxWsStatus } from './sandbox';
13
14
  import type { FrontendToolDefinition } from './tools';
14
15
  import type { PoweredByTagProps } from '../chat/display/PoweredByTag';
16
+ import type { EphemeralRuntimeOverride } from '../chat/notebook/EphemeralNotebook';
17
+ import type { EphemeralDocumentCollaboration } from '../chat/document/EphemeralDocument';
15
18
  /**
16
19
  * Context passed to tool-call pre-hooks.
17
20
  * Fires when a tool call starts executing (backend or frontend).
@@ -366,6 +369,34 @@ export interface ChatCommonProps {
366
369
  * Defaults to the toolbar from `@datalayer/jupyter-react` when omitted.
367
370
  */
368
371
  ephemeralNotebookToolbar?: EphemeralNotebookToolbarComponent;
372
+ /**
373
+ * Optional real-time collaboration provider for the ephemeral notebook.
374
+ * When supplied, the notebook joins a shared collaborative room so its state
375
+ * transits over RTC (e.g. between an Agent Node and the SaaS UI) instead of
376
+ * the tunnel. The caller owns the provider lifecycle.
377
+ */
378
+ ephemeralNotebookCollaborationProvider?: ICollaborationProvider;
379
+ /**
380
+ * Explicit collaboration room / document id for the ephemeral notebook. When
381
+ * set it becomes the notebook id directly so multiple peers (e.g. an Agent
382
+ * Node and the SaaS UI) share the same collaborative room and tool scope.
383
+ */
384
+ ephemeralNotebookCollaborationDocumentId?: string;
385
+ /**
386
+ * Optional real-time collaboration configuration for the ephemeral document
387
+ * (Lexical). When supplied the document joins a shared Loro room over
388
+ * WebSocket so its rich-text state transits over RTC (e.g. between an Agent
389
+ * Node and the SaaS UI). Its `roomId` also becomes the document id so all
390
+ * peers share the same collaborative room and lexical tool scope.
391
+ */
392
+ ephemeralDocumentCollaboration?: EphemeralDocumentCollaboration;
393
+ /**
394
+ * Explicit runtime endpoint for the ephemeral notebook kernel. When set, the
395
+ * notebook binds its kernel to this endpoint directly instead of resolving a
396
+ * pod from the user's runtimes list — used to reach an Agent Node's Jupyter
397
+ * server through the runtimes tunnel HTTP/WebSocket proxy.
398
+ */
399
+ ephemeralRuntimeOverride?: EphemeralRuntimeOverride;
369
400
  /** Pre-hook: fires when a tool call starts executing */
370
401
  onToolCallStart?: (context: ToolCallStartContext) => void;
371
402
  /** Post-hook: fires when a tool result is received */
@@ -419,6 +450,18 @@ export interface ChatCommonProps {
419
450
  * so the indicator reflects the surface's runtime.
420
451
  */
421
452
  kernel?: import('@jupyterlab/services/lib/kernel/kernel').IKernelConnection | null;
453
+ /**
454
+ * Optional environment name displayed in the chat header's kernel
455
+ * indicator details (e.g. the agent's local sandbox name). Defaults to
456
+ * the indicator's own "browser-runtime" placeholder when omitted.
457
+ */
458
+ kernelEnvironmentName?: string;
459
+ /** Optional CPU info displayed in the chat header's kernel indicator. */
460
+ kernelCpu?: string;
461
+ /** Optional memory info displayed in the chat header's kernel indicator. */
462
+ kernelMemory?: string;
463
+ /** Optional GPU info displayed in the chat header's kernel indicator. */
464
+ kernelGpu?: string;
422
465
  /**
423
466
  * Disable ChatBase's internal JupyterReactTheme wrapper.
424
467
  * Use this when the host page already provides a JupyterReactTheme boundary.
@@ -746,6 +789,34 @@ export interface ChatBaseProps {
746
789
  * Defaults to the toolbar from `@datalayer/jupyter-react` when omitted.
747
790
  */
748
791
  ephemeralNotebookToolbar?: EphemeralNotebookToolbarComponent;
792
+ /**
793
+ * Optional real-time collaboration provider for the ephemeral notebook.
794
+ * When supplied, the notebook joins a shared collaborative room so its state
795
+ * transits over RTC (e.g. between an Agent Node and the SaaS UI) instead of
796
+ * the tunnel. The caller owns the provider lifecycle.
797
+ */
798
+ ephemeralNotebookCollaborationProvider?: ICollaborationProvider;
799
+ /**
800
+ * Explicit collaboration room / document id for the ephemeral notebook. When
801
+ * set it becomes the notebook id directly so multiple peers (e.g. an Agent
802
+ * Node and the SaaS UI) share the same collaborative room and tool scope.
803
+ */
804
+ ephemeralNotebookCollaborationDocumentId?: string;
805
+ /**
806
+ * Optional real-time collaboration configuration for the ephemeral document
807
+ * (Lexical). When supplied the document joins a shared Loro room over
808
+ * WebSocket so its rich-text state transits over RTC (e.g. between an Agent
809
+ * Node and the SaaS UI). Its `roomId` also becomes the document id so all
810
+ * peers share the same collaborative room and lexical tool scope.
811
+ */
812
+ ephemeralDocumentCollaboration?: EphemeralDocumentCollaboration;
813
+ /**
814
+ * Explicit runtime endpoint for the ephemeral notebook kernel. When set, the
815
+ * notebook binds its kernel to this endpoint directly instead of resolving a
816
+ * pod from the user's runtimes list — used to reach an Agent Node's Jupyter
817
+ * server through the runtimes tunnel HTTP/WebSocket proxy.
818
+ */
819
+ ephemeralRuntimeOverride?: EphemeralRuntimeOverride;
749
820
  /**
750
821
  * Callback when the agent requests authorization for an external service.
751
822
  * This is called when a tool needs OAuth access to a service like GitHub.
@@ -33,7 +33,7 @@ export interface AgentConfig {
33
33
  inferenceProvider?: string;
34
34
  /** Enable codemode if supported by the selected spec/runtime. */
35
35
  enableCodemode?: boolean;
36
- /** Optional sandbox variant (e.g. eval, jupyter). */
36
+ /** Optional sandbox variant (e.g. eval, jupyter, kaggle). */
37
37
  sandboxVariant?: string;
38
38
  /** Optional Jupyter sandbox URL for jupyter-backed sandbox mode. */
39
39
  jupyterSandbox?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalayer/agent-runtimes",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  ".",
@@ -102,8 +102,8 @@
102
102
  "start:acp:vite": "VITE_ACP_WS_URL=ws://localhost:8765/api/v1/acp/ws vite",
103
103
  "start:agent": "run-p server:start start:agent:vite",
104
104
  "start:agent:vite": "vite --open /html/agent.html",
105
- "start:agent-node": "run-p server:start:agent-node start:agent-node:vite",
106
- "start:agent-node:vite": "vite --open /html/agent-node.html",
105
+ "start:agent-node": "run-p server:start:agent-node jupyter:start start:agent-node:vite",
106
+ "start:agent-node:vite": "VITE_JUPYTER_SANDBOX_URL=${VITE_JUPYTER_SANDBOX_URL:-http://localhost:8888/api/jupyter-server?token=60c1661cc408f978c309d04157af55c9588ff9557c9380e4fb50785750703da6} vite --open /html/agent-node.html",
107
107
  "start:agent-notebook": "run-p server:start jupyter:start start:agent-notebook:vite",
108
108
  "start:agent-notebook:vite": "vite --open /html/agent-notebook.html",
109
109
  "start:agent-document": "run-p server:start jupyter:start start:agent-document:vite",
@@ -141,6 +141,7 @@
141
141
  "@datalayer/core": "^1.1.48",
142
142
  "@datalayer/icons-react": "^1.0.7",
143
143
  "@datalayer/jupyter-lexical": "^1.0.16",
144
+ "@datalayer/lexical-loro": "^1.0.0",
144
145
  "@datalayer/jupyter-react": "^2.0.7",
145
146
  "@datalayer/primer-addons": "^1.0.15",
146
147
  "@datalayer/primer-rjsf": "^1.0.3",