@datalayer/agent-runtimes 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/agents/index.d.ts +6 -0
- package/lib/components/{students → agents}/index.js +6 -1
- package/lib/components/{NotificationEventCard.js → cards/NotificationEventCard.js} +1 -1
- package/lib/components/{OutputCard.js → cards/OutputCard.js} +1 -1
- package/lib/components/cards/index.d.ts +9 -0
- package/lib/components/cards/index.js +13 -0
- package/lib/components/{runtimes/RuntimeCellVariables.d.ts → code-sandboxes/CodeSandboxCellVariables.d.ts} +3 -3
- package/lib/components/{runtimes/RuntimeCellVariables.js → code-sandboxes/CodeSandboxCellVariables.js} +2 -2
- package/lib/components/{runtimes/RuntimeCellVariablesDialog.d.ts → code-sandboxes/CodeSandboxCellVariablesDialog.d.ts} +4 -4
- package/lib/components/{runtimes/RuntimeCellVariablesDialog.js → code-sandboxes/CodeSandboxCellVariablesDialog.js} +4 -4
- package/lib/components/code-sandboxes/CodeSandboxLauncher.d.ts +0 -2
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +0 -2
- package/lib/components/code-sandboxes/CodeSandboxPicker.d.ts +30 -5
- package/lib/components/code-sandboxes/CodeSandboxPicker.js +188 -55
- package/lib/components/{runtimes/RuntimePickerCell.d.ts → code-sandboxes/CodeSandboxPickerCell.d.ts} +5 -5
- package/lib/components/{runtimes/RuntimePickerCell.js → code-sandboxes/CodeSandboxPickerCell.js} +6 -6
- package/lib/components/{runtimes/RuntimeReservationControl.d.ts → code-sandboxes/CodeSandboxReservationControl.d.ts} +3 -3
- package/lib/components/{runtimes/RuntimeReservationControl.js → code-sandboxes/CodeSandboxReservationControl.js} +5 -5
- package/lib/components/{runtimes/RuntimeTransfer.d.ts → code-sandboxes/CodeSandboxTransfer.d.ts} +1 -1
- package/lib/components/{runtimes/RuntimeUtils.d.ts → code-sandboxes/CodeSandboxUtils.d.ts} +3 -3
- package/lib/components/{runtimes/RuntimeUtils.js → code-sandboxes/CodeSandboxUtils.js} +1 -1
- package/lib/components/code-sandboxes/CodeSandboxVariables.d.ts +71 -0
- package/lib/components/{runtimes/RuntimeVariables.js → code-sandboxes/CodeSandboxVariables.js} +77 -2
- package/lib/components/code-sandboxes/NewCodeSandboxControls.js +3 -3
- package/lib/components/code-sandboxes/index.d.ts +19 -1
- package/lib/components/code-sandboxes/index.js +19 -1
- package/lib/components/index.d.ts +4 -6
- package/lib/components/index.js +4 -6
- package/lib/components/progress/CreditsIndicator.js +1 -1
- package/package.json +2 -2
- package/lib/components/runtimes/RuntimeLauncherDialog.d.ts +0 -7
- package/lib/components/runtimes/RuntimeLauncherDialog.js +0 -11
- package/lib/components/runtimes/RuntimePickerBase.d.ts +0 -8
- package/lib/components/runtimes/RuntimePickerBase.js +0 -12
- package/lib/components/runtimes/RuntimePickerNotebook.d.ts +0 -42
- package/lib/components/runtimes/RuntimePickerNotebook.js +0 -197
- package/lib/components/runtimes/RuntimeSimplePicker.d.ts +0 -38
- package/lib/components/runtimes/RuntimeSimplePicker.js +0 -156
- package/lib/components/runtimes/RuntimeVariables.d.ts +0 -38
- package/lib/components/runtimes/index.d.ts +0 -12
- package/lib/components/runtimes/index.js +0 -17
- package/lib/components/students/StudentItemStatus.d.ts +0 -7
- package/lib/components/students/StudentItemStatus.js +0 -68
- package/lib/components/students/index.d.ts +0 -1
- package/scripts/codegen/__pycache__/versioning.cpython-313.pyc +0 -0
- /package/lib/components/{AgentSummary.d.ts → agents/AgentSummary.d.ts} +0 -0
- /package/lib/components/{AgentSummary.js → agents/AgentSummary.js} +0 -0
- /package/lib/components/{NotificationEventCard.d.ts → cards/NotificationEventCard.d.ts} +0 -0
- /package/lib/components/{OutputCard.d.ts → cards/OutputCard.d.ts} +0 -0
- /package/lib/components/{ToolApprovalCard.d.ts → cards/ToolApprovalCard.d.ts} +0 -0
- /package/lib/components/{ToolApprovalCard.js → cards/ToolApprovalCard.js} +0 -0
- /package/lib/components/{runtimes/RuntimeTransfer.js → code-sandboxes/CodeSandboxTransfer.js} +0 -0
|
@@ -12,11 +12,11 @@ import { Slider } from '@datalayer/primer-addons';
|
|
|
12
12
|
*
|
|
13
13
|
* TODO this should be configurable
|
|
14
14
|
*/
|
|
15
|
-
export const
|
|
15
|
+
export const MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES = 24 * 60;
|
|
16
16
|
/**
|
|
17
17
|
* Runtime reservation control
|
|
18
18
|
*/
|
|
19
|
-
export function
|
|
19
|
+
export function CodeSandboxReservationControl(props) {
|
|
20
20
|
const { addCredits, burningRate, disabled, error, label, max: maxProps, onTimeChange, time, } = props;
|
|
21
21
|
// The caller computes its maximum from the credits and the burning rate of
|
|
22
22
|
// an environment, either of which may not be known yet — and a slider given
|
|
@@ -24,8 +24,8 @@ export function RuntimeReservationControl(props) {
|
|
|
24
24
|
// hold in any case.
|
|
25
25
|
const requestedMax = Number.isFinite(maxProps)
|
|
26
26
|
? maxProps
|
|
27
|
-
:
|
|
28
|
-
const max = Math.max(1, Math.min(requestedMax,
|
|
27
|
+
: MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES;
|
|
28
|
+
const max = Math.max(1, Math.min(requestedMax, MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES));
|
|
29
29
|
const displayedTime = Number.isFinite(time)
|
|
30
30
|
? Math.min(max, Math.max(1, time))
|
|
31
31
|
: 1;
|
|
@@ -45,5 +45,5 @@ export function RuntimeReservationControl(props) {
|
|
|
45
45
|
gridTemplateColumns: 'max-content 1fr max-content max-content',
|
|
46
46
|
gridGap: 'var(--stack-gap-condensed)',
|
|
47
47
|
width: '100%',
|
|
48
|
-
}, children: [_jsx(Slider, { step: 1, min: 1, max: max, value: displayedTime, onChange: handleTimeChange, disabled: disabled, label: "", displayValue: false }), _jsx(TextInput, { type: "number", step: "1", min: "1", max: max, disabled: disabled, value: displayedTime.toFixed(2), onChange: handleTimeChange }), (max === 0 || max > Number.EPSILON) && (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["out of ", maxProps, " available minutes"] }), addCredits && (_jsx(IconButton, { icon: PlusIcon, "aria-label": "Add credits", onClick: () => addCredits() }))] }))] }), _jsxs(FormControl.Caption, { children: ["Maximum execution time that can be consumed by the runtime. It must be less than ", (
|
|
48
|
+
}, children: [_jsx(Slider, { step: 1, min: 1, max: max, value: displayedTime, onChange: handleTimeChange, disabled: disabled, label: "", displayValue: false }), _jsx(TextInput, { type: "number", step: "1", min: "1", max: max, disabled: disabled, value: displayedTime.toFixed(2), onChange: handleTimeChange }), (max === 0 || max > Number.EPSILON) && (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["out of ", maxProps, " available minutes"] }), addCredits && (_jsx(IconButton, { icon: PlusIcon, "aria-label": "Add credits", onClick: () => addCredits() }))] }))] }), _jsxs(FormControl.Caption, { children: ["Maximum execution time that can be consumed by the runtime. It must be less than ", (MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES / 60).toFixed(0), ' ', "hours.", burningRate && (_jsxs(_Fragment, { children: [_jsx("br", {}), `With the current value, the runtime execution will consume at most ${(time * burningRate * 60).toFixed(2)} credits.`] }))] }), error && (_jsx(FormControl.Validation, { variant: "error", children: error }))] })) : (_jsx(_Fragment, {}));
|
|
49
49
|
}
|
|
@@ -2,14 +2,14 @@ import { SessionContext } from '@jupyterlab/apputils';
|
|
|
2
2
|
import { ITranslator } from '@jupyterlab/translation';
|
|
3
3
|
import { IMultiServiceManager } from '../../runtimes';
|
|
4
4
|
import { IRuntimeDesc } from '../../models';
|
|
5
|
-
export type
|
|
5
|
+
export type IDatalayerCodeSandboxDesc = IRuntimeDesc & {
|
|
6
6
|
gpu?: string;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
9
|
* Create the grouped runtime descriptions.
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
12
|
-
[g: string]:
|
|
11
|
+
export declare function getGroupedCodeSandboxDescs(multiServiceManager: IMultiServiceManager, kernelId?: string, translator?: ITranslator, filterKernels?: (desc: IDatalayerCodeSandboxDesc) => boolean, variant?: 'document' | 'cell'): {
|
|
12
|
+
[g: string]: IDatalayerCodeSandboxDesc[];
|
|
13
13
|
} | undefined;
|
|
14
14
|
/**
|
|
15
15
|
* Get the default kernel name given a selector.
|
|
@@ -10,7 +10,7 @@ const ASSIGN_EXISTING_RUNTIME_LABEL = 'Assign an existing Runtime';
|
|
|
10
10
|
/**
|
|
11
11
|
* Create the grouped runtime descriptions.
|
|
12
12
|
*/
|
|
13
|
-
export function
|
|
13
|
+
export function getGroupedCodeSandboxDescs(multiServiceManager, kernelId, translator, filterKernels = () => true, variant) {
|
|
14
14
|
translator = translator ?? nullTranslator;
|
|
15
15
|
const trans = translator.load('jupyterlab');
|
|
16
16
|
// The specifications land asynchronously, and a runtime that already runs
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { ISessionContext } from '@jupyterlab/apputils';
|
|
3
|
+
import { ITranslator } from '@jupyterlab/translation';
|
|
4
|
+
import type { IRuntimeDesc } from '../../models';
|
|
5
|
+
/** What {@link useCodeSandboxVariablesTransfer} answers. */
|
|
6
|
+
export interface ICodeSandboxVariablesTransfer {
|
|
7
|
+
/**
|
|
8
|
+
* Whether carrying variables over is possible at all.
|
|
9
|
+
*
|
|
10
|
+
* Both ends must speak a language the snippets know how to serialize: the
|
|
11
|
+
* sandbox the variables come from, and the one they would go to.
|
|
12
|
+
*/
|
|
13
|
+
available: boolean;
|
|
14
|
+
/** The variables of the current sandbox, by name and type. */
|
|
15
|
+
variables?: {
|
|
16
|
+
[name: string]: string;
|
|
17
|
+
};
|
|
18
|
+
/** Those the user chose to carry over. */
|
|
19
|
+
selected: string[];
|
|
20
|
+
setSelected: (names: string[]) => void;
|
|
21
|
+
/** Whether the user asked for the transfer at all. */
|
|
22
|
+
transfer: boolean;
|
|
23
|
+
setTransfer: (value: boolean) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The variables of the current sandbox, and which of them to carry over.
|
|
27
|
+
*
|
|
28
|
+
* Listing them runs code in the sandbox — the snippet that names them — so it
|
|
29
|
+
* is deferred until the user asks for the transfer, and done once.
|
|
30
|
+
*
|
|
31
|
+
* @param sessionContext The session the variables are read from
|
|
32
|
+
* @param target The sandbox they would be carried to
|
|
33
|
+
* @param enabled Whether the transfer is offered at all
|
|
34
|
+
*/
|
|
35
|
+
export declare function useCodeSandboxVariablesTransfer(sessionContext: ISessionContext | undefined, target: IRuntimeDesc | undefined, enabled?: boolean): ICodeSandboxVariablesTransfer;
|
|
36
|
+
/**
|
|
37
|
+
* {@link CodeSandboxVariables} properties
|
|
38
|
+
*/
|
|
39
|
+
export interface ICodeSandboxVariablesProps {
|
|
40
|
+
/**
|
|
41
|
+
* Component class name
|
|
42
|
+
*/
|
|
43
|
+
className?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Available kernel variables
|
|
46
|
+
*
|
|
47
|
+
* Mapping (variable name, variable type)
|
|
48
|
+
*/
|
|
49
|
+
kernelVariables?: {
|
|
50
|
+
[name: string]: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Kernel variables to be transferred.
|
|
54
|
+
*/
|
|
55
|
+
selectedVariables: string[];
|
|
56
|
+
setSelectVariable: (l: string[]) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Whether to transfer the variable from the current
|
|
59
|
+
* to the selected kernel or not.
|
|
60
|
+
*/
|
|
61
|
+
transferVariables: boolean;
|
|
62
|
+
setTransferVariable: (v: boolean) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Application translator
|
|
65
|
+
*/
|
|
66
|
+
translator?: ITranslator;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Runtime variables selector component.
|
|
70
|
+
*/
|
|
71
|
+
export declare function CodeSandboxVariables(props: ICodeSandboxVariablesProps): ReactElement;
|
package/lib/components/{runtimes/RuntimeVariables.js → code-sandboxes/CodeSandboxVariables.js}
RENAMED
|
@@ -3,16 +3,91 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
4
4
|
* Distributed under the terms of the Modified BSD License.
|
|
5
5
|
*/
|
|
6
|
-
import { useMemo } from 'react';
|
|
6
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
7
7
|
import { IconButton, ToggleSwitch, FormControl } from '@primer/react';
|
|
8
8
|
import { Box } from '@datalayer/primer-addons';
|
|
9
9
|
import { Blankslate, DataTable, Table } from '@primer/react/experimental';
|
|
10
10
|
import { nullTranslator } from '@jupyterlab/translation';
|
|
11
11
|
import { checkIcon } from '@jupyterlab/ui-components';
|
|
12
|
+
import { JSONExt } from '@lumino/coreutils';
|
|
13
|
+
import { KernelExecutor } from '@datalayer/jupyter-react';
|
|
14
|
+
import { RuntimeSnippetsFacade } from '../../jupyter';
|
|
15
|
+
/**
|
|
16
|
+
* The variables of the current sandbox, and which of them to carry over.
|
|
17
|
+
*
|
|
18
|
+
* Listing them runs code in the sandbox — the snippet that names them — so it
|
|
19
|
+
* is deferred until the user asks for the transfer, and done once.
|
|
20
|
+
*
|
|
21
|
+
* @param sessionContext The session the variables are read from
|
|
22
|
+
* @param target The sandbox they would be carried to
|
|
23
|
+
* @param enabled Whether the transfer is offered at all
|
|
24
|
+
*/
|
|
25
|
+
export function useCodeSandboxVariablesTransfer(sessionContext, target, enabled = true) {
|
|
26
|
+
const [variables, setVariables] = useState();
|
|
27
|
+
const [selected, setSelectedState] = useState([]);
|
|
28
|
+
const [transfer, setTransferState] = useState(false);
|
|
29
|
+
const [listed, setListed] = useState(false);
|
|
30
|
+
const sourceLanguage = sessionContext?.session?.kernel?.name && sessionContext.specsManager.specs
|
|
31
|
+
? sessionContext.specsManager.specs.kernelspecs[sessionContext.session.kernel.name]?.language
|
|
32
|
+
: undefined;
|
|
33
|
+
const available = enabled &&
|
|
34
|
+
RuntimeSnippetsFacade.supports(sourceLanguage ?? '') &&
|
|
35
|
+
RuntimeSnippetsFacade.supports(target?.language ?? '');
|
|
36
|
+
const list = useCallback(async () => {
|
|
37
|
+
if (listed) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
setListed(true);
|
|
41
|
+
const connection = sessionContext?.session?.kernel;
|
|
42
|
+
const spec = connection &&
|
|
43
|
+
sessionContext?.specsManager.specs?.kernelspecs[connection.model.name];
|
|
44
|
+
if (!connection || !spec) {
|
|
45
|
+
setVariables({});
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const snippets = new RuntimeSnippetsFacade(spec.language);
|
|
49
|
+
const outputs = await new KernelExecutor({ connection }).execute(snippets.listVariables());
|
|
50
|
+
const content = outputs.get(0).data['text/plain'];
|
|
51
|
+
if (!content) {
|
|
52
|
+
setVariables({});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// The payload comes quoted, as the representation of a string.
|
|
56
|
+
const listedVariables = JSON.parse(content.slice(1, content.length - 1));
|
|
57
|
+
setVariables(listedVariables);
|
|
58
|
+
// Everything is carried over unless the user says otherwise.
|
|
59
|
+
setSelectedState(Object.keys(listedVariables ?? {}));
|
|
60
|
+
}, [listed, sessionContext]);
|
|
61
|
+
const setSelected = useCallback((names) => {
|
|
62
|
+
setSelectedState(current => JSONExt.deepEqual(current, names) ? current : names);
|
|
63
|
+
}, [setSelectedState]);
|
|
64
|
+
const setTransfer = useCallback((value) => {
|
|
65
|
+
setTransferState(current => {
|
|
66
|
+
if (current === value) {
|
|
67
|
+
return current;
|
|
68
|
+
}
|
|
69
|
+
if (value) {
|
|
70
|
+
list().catch(reason => {
|
|
71
|
+
console.error('Failed to list the variables of the sandbox', reason);
|
|
72
|
+
setListed(false);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return value;
|
|
76
|
+
});
|
|
77
|
+
}, [list]);
|
|
78
|
+
return {
|
|
79
|
+
available,
|
|
80
|
+
variables,
|
|
81
|
+
selected: available && transfer ? selected : [],
|
|
82
|
+
setSelected,
|
|
83
|
+
transfer,
|
|
84
|
+
setTransfer,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
12
87
|
/**
|
|
13
88
|
* Runtime variables selector component.
|
|
14
89
|
*/
|
|
15
|
-
export function
|
|
90
|
+
export function CodeSandboxVariables(props) {
|
|
16
91
|
const { className, translator, selectedVariables, setSelectVariable, transferVariables, setTransferVariable, kernelVariables, } = props;
|
|
17
92
|
const trans = useMemo(() => (translator ?? nullTranslator).load('jupyterlab'), [translator]);
|
|
18
93
|
const nRows = Object.keys(kernelVariables ?? {}).length;
|
|
@@ -18,7 +18,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
18
18
|
import { FormControl, ToggleSwitch, Tooltip, IconButton } from '@primer/react';
|
|
19
19
|
import { AlertIcon } from '@primer/octicons-react';
|
|
20
20
|
import { useCoreStore, useIAMStore } from '../../state/substates';
|
|
21
|
-
import {
|
|
21
|
+
import { CodeSandboxReservationControl, MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES, } from './CodeSandboxReservationControl';
|
|
22
22
|
/**
|
|
23
23
|
* The credits arithmetic both the launcher and the picker ask.
|
|
24
24
|
*
|
|
@@ -58,7 +58,7 @@ export function useNewCodeSandboxAllowance(burningRate) {
|
|
|
58
58
|
}
|
|
59
59
|
/** The credits a time reservation stands for. */
|
|
60
60
|
export function creditsLimitFor(timeLimitMinutes, burningRate) {
|
|
61
|
-
return (Math.min(timeLimitMinutes,
|
|
61
|
+
return (Math.min(timeLimitMinutes, MAXIMAL_CODE_SANDBOX_TIME_RESERVATION_MINUTES) *
|
|
62
62
|
burningRate *
|
|
63
63
|
60);
|
|
64
64
|
}
|
|
@@ -69,7 +69,7 @@ export function creditsLimitFor(timeLimitMinutes, burningRate) {
|
|
|
69
69
|
export function NewCodeSandboxControls(props) {
|
|
70
70
|
const { addCredits, burningRate, withReservation = true, disabled, error, max, onTimeChange, onUserStorageToggle, storageDisabled, timeLimit, userStorage, } = props;
|
|
71
71
|
const { configuration } = useCoreStore();
|
|
72
|
-
return (_jsxs(_Fragment, { children: [withReservation && (_jsx(
|
|
72
|
+
return (_jsxs(_Fragment, { children: [withReservation && (_jsx(CodeSandboxReservationControl, { addCredits: addCredits, disabled: disabled, label: 'Time reservation', max: max, time: timeLimit, burningRate: burningRate, onTimeChange: onTimeChange, error: error })), !configuration.whiteLabel && (_jsxs(FormControl, { disabled: storageDisabled, layout: "horizontal", children: [_jsxs(FormControl.Label, { id: "new-sandbox-user-storage-label", children: ["User storage", _jsx(Tooltip, { text: "The runtime will be slower to start.", direction: "e", style: { marginLeft: 3 }, children: _jsx(IconButton, { icon: AlertIcon, "aria-label": "", variant: "invisible" }) })] }), _jsx(ToggleSwitch, { disabled: storageDisabled, checked: userStorage, size: "small", onClick: event => {
|
|
73
73
|
event.preventDefault();
|
|
74
74
|
onUserStorageToggle();
|
|
75
75
|
}, "aria-labelledby": "new-sandbox-user-storage-label" })] }))] }));
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The code sandboxes: what runs the code of a notebook, a document or a cell.
|
|
3
|
+
*
|
|
4
|
+
* One launcher and one picker, and everything they are made of. The launcher
|
|
5
|
+
* asks for a NEW sandbox and starts it; the picker lists what already runs
|
|
6
|
+
* next to the environments a new one could be started in. The pickers of a
|
|
7
|
+
* notebook, of a cell and of a toolbar are compositions of those two — none
|
|
8
|
+
* of them carries a second copy of either.
|
|
9
|
+
*
|
|
10
|
+
* @module components/code-sandboxes
|
|
11
|
+
*/
|
|
12
|
+
export * from './CodeSandboxCellVariables';
|
|
13
|
+
export * from './CodeSandboxCellVariablesDialog';
|
|
2
14
|
export * from './CodeSandboxLauncher';
|
|
15
|
+
export * from './CodeSandboxPicker';
|
|
16
|
+
export * from './CodeSandboxPickerCell';
|
|
17
|
+
export * from './CodeSandboxReservationControl';
|
|
18
|
+
export * from './CodeSandboxTransfer';
|
|
19
|
+
export * from './CodeSandboxUtils';
|
|
20
|
+
export * from './CodeSandboxVariables';
|
|
3
21
|
export * from './NewCodeSandboxControls';
|
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The code sandboxes: what runs the code of a notebook, a document or a cell.
|
|
7
|
+
*
|
|
8
|
+
* One launcher and one picker, and everything they are made of. The launcher
|
|
9
|
+
* asks for a NEW sandbox and starts it; the picker lists what already runs
|
|
10
|
+
* next to the environments a new one could be started in. The pickers of a
|
|
11
|
+
* notebook, of a cell and of a toolbar are compositions of those two — none
|
|
12
|
+
* of them carries a second copy of either.
|
|
13
|
+
*
|
|
14
|
+
* @module components/code-sandboxes
|
|
15
|
+
*/
|
|
16
|
+
export * from './CodeSandboxCellVariables';
|
|
17
|
+
export * from './CodeSandboxCellVariablesDialog';
|
|
6
18
|
export * from './CodeSandboxLauncher';
|
|
19
|
+
export * from './CodeSandboxPicker';
|
|
20
|
+
export * from './CodeSandboxPickerCell';
|
|
21
|
+
export * from './CodeSandboxReservationControl';
|
|
22
|
+
export * from './CodeSandboxTransfer';
|
|
23
|
+
export * from './CodeSandboxUtils';
|
|
24
|
+
export * from './CodeSandboxVariables';
|
|
7
25
|
export * from './NewCodeSandboxControls';
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
export * from './ToolApprovalCard';
|
|
2
|
-
export * from './NotificationEventCard';
|
|
3
|
-
export * from './OutputCard';
|
|
4
|
-
export * from './AgentSummary';
|
|
5
1
|
export * from './a2ui';
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './
|
|
2
|
+
export * from './agents';
|
|
3
|
+
export * from './cards';
|
|
4
|
+
export * from './code-sandboxes';
|
|
8
5
|
export * from './scheduler';
|
|
6
|
+
export * from './snapshots';
|
package/lib/components/index.js
CHANGED
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
|
-
export * from './ToolApprovalCard';
|
|
6
|
-
export * from './NotificationEventCard';
|
|
7
|
-
export * from './OutputCard';
|
|
8
|
-
export * from './AgentSummary';
|
|
9
5
|
export * from './a2ui';
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
6
|
+
export * from './agents';
|
|
7
|
+
export * from './cards';
|
|
8
|
+
export * from './code-sandboxes';
|
|
12
9
|
export * from './scheduler';
|
|
10
|
+
export * from './snapshots';
|
|
@@ -5,8 +5,8 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
5
5
|
*/
|
|
6
6
|
import { useState, useEffect } from 'react';
|
|
7
7
|
import { Box } from '@datalayer/primer-addons';
|
|
8
|
-
import { useNavigate } from '@datalayer/core/lib/hooks/useNavigate';
|
|
9
8
|
import { ConsumptionBar } from '@datalayer/core/lib/components/progress/ConsumptionBar';
|
|
9
|
+
import { useNavigate } from '@datalayer/core/lib/hooks/useNavigate';
|
|
10
10
|
/**
|
|
11
11
|
* Credits indicator component.
|
|
12
12
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datalayer/agent-runtimes",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.26",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
".",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"@agentclientprotocol/sdk": "^0.8.0",
|
|
139
139
|
"@ai-sdk/react": "4.0.23",
|
|
140
140
|
"@anthropic-ai/sdk": "^0.52.0",
|
|
141
|
-
"@datalayer/core": "^1.1.
|
|
141
|
+
"@datalayer/core": "^1.1.57",
|
|
142
142
|
"@datalayer/icons-react": "^1.0.7",
|
|
143
143
|
"@datalayer/jupyter-lexical": "^1.0.16",
|
|
144
144
|
"@datalayer/lexical-loro": "^1.0.0",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Moved: the launcher lives with the code sandboxes now.
|
|
3
|
-
*
|
|
4
|
-
* @deprecated Import from `components/code-sandboxes/CodeSandboxLauncher`.
|
|
5
|
-
* @module components/runtimes/RuntimeLauncherDialog
|
|
6
|
-
*/
|
|
7
|
-
export { CodeSandboxLauncher, RuntimeLauncherDialog, type ICodeSandboxLauncherProps, type IRuntimeLauncherDialogProps, } from '../code-sandboxes/CodeSandboxLauncher';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Moved: the launcher lives with the code sandboxes now.
|
|
7
|
-
*
|
|
8
|
-
* @deprecated Import from `components/code-sandboxes/CodeSandboxLauncher`.
|
|
9
|
-
* @module components/runtimes/RuntimeLauncherDialog
|
|
10
|
-
*/
|
|
11
|
-
export { CodeSandboxLauncher, RuntimeLauncherDialog, } from '../code-sandboxes/CodeSandboxLauncher';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Moved: the picker lives with the code sandboxes now.
|
|
3
|
-
*
|
|
4
|
-
* @deprecated Import from `components/code-sandboxes/CodeSandboxPicker`.
|
|
5
|
-
* @module components/runtimes/RuntimePickerBase
|
|
6
|
-
*/
|
|
7
|
-
export { CodeSandboxPicker, RuntimePickerBase, type ICodeSandboxPickerProps, type IRuntimePickerBaseProps, } from '../code-sandboxes/CodeSandboxPicker';
|
|
8
|
-
export { default } from '../code-sandboxes/CodeSandboxPicker';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2025-2026 Datalayer, Inc.
|
|
3
|
-
* Distributed under the terms of the Modified BSD License.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Moved: the picker lives with the code sandboxes now.
|
|
7
|
-
*
|
|
8
|
-
* @deprecated Import from `components/code-sandboxes/CodeSandboxPicker`.
|
|
9
|
-
* @module components/runtimes/RuntimePickerBase
|
|
10
|
-
*/
|
|
11
|
-
export { CodeSandboxPicker, RuntimePickerBase, } from '../code-sandboxes/CodeSandboxPicker';
|
|
12
|
-
export { default } from '../code-sandboxes/CodeSandboxPicker';
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
2
|
-
import { CommandRegistry } from '@lumino/commands';
|
|
3
|
-
import type { IMultiServiceManager, IDatalayerSessionContext } from '../../runtimes';
|
|
4
|
-
import { RuntimeTransfer } from './RuntimeTransfer';
|
|
5
|
-
/**
|
|
6
|
-
* {@link RuntimePickerNotebook} properties
|
|
7
|
-
*/
|
|
8
|
-
export interface IRuntimePickerNotebookProps {
|
|
9
|
-
/**
|
|
10
|
-
* Callback to allow the user to login
|
|
11
|
-
*/
|
|
12
|
-
logIn?: () => void;
|
|
13
|
-
/**
|
|
14
|
-
* Document session context
|
|
15
|
-
*/
|
|
16
|
-
sessionContext: IDatalayerSessionContext;
|
|
17
|
-
/**
|
|
18
|
-
* Multi service manager
|
|
19
|
-
*/
|
|
20
|
-
multiServiceManager: IMultiServiceManager;
|
|
21
|
-
/**
|
|
22
|
-
* Set the selected kernel
|
|
23
|
-
*/
|
|
24
|
-
setValue: (v: RuntimeTransfer | Error) => void;
|
|
25
|
-
/**
|
|
26
|
-
* Close the dialog
|
|
27
|
-
*/
|
|
28
|
-
close: () => void;
|
|
29
|
-
/**
|
|
30
|
-
* Command registry
|
|
31
|
-
*/
|
|
32
|
-
commands: CommandRegistry;
|
|
33
|
-
/**
|
|
34
|
-
* Application translator
|
|
35
|
-
*/
|
|
36
|
-
translator?: ITranslator;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Runtime Picker components for a Notebook.
|
|
40
|
-
*/
|
|
41
|
-
export declare function RuntimePickerNotebook(props: IRuntimePickerNotebookProps): JSX.Element;
|
|
42
|
-
export default RuntimePickerNotebook;
|