@datalayer/jupyter-react 1.1.8 → 1.1.9
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/cell/Cell.d.ts +3 -6
- package/lib/components/cell/Cell.js +2 -11
- package/lib/components/cell/Cell.js.map +1 -1
- package/lib/components/cell/CellAdapter.d.ts +1 -1
- package/lib/components/codemirror/CodeMirrorOutputToolbar.d.ts +2 -2
- package/lib/components/codemirror/CodeMirrorOutputToolbar.js.map +1 -1
- package/lib/components/console/ConsoleAdapter.d.ts +1 -1
- package/lib/components/console/ConsoleAdapter.js +1 -1
- package/lib/components/console/ConsoleAdapter.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabApp.d.ts +16 -19
- package/lib/components/jupyterlab/JupyterLabApp.js +21 -21
- package/lib/components/jupyterlab/JupyterLabApp.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabAppAdapter.d.ts +4 -4
- package/lib/components/jupyterlab/JupyterLabAppAdapter.js +1 -1
- package/lib/components/jupyterlab/JupyterLabAppAdapter.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabAppCss.d.ts +1 -4
- package/lib/components/jupyterlab/JupyterLabAppCss.js +1 -5
- package/lib/components/jupyterlab/JupyterLabAppCss.js.map +1 -1
- package/lib/components/kernel/KernelActionMenu.d.ts +2 -2
- package/lib/components/kernel/KernelActionMenu.js.map +1 -1
- package/lib/components/kernel/KernelDetective.d.ts +1 -1
- package/lib/components/kernel/KernelInspector.d.ts +2 -2
- package/lib/components/kernel/KernelInspector.js.map +1 -1
- package/lib/components/kernel/KernelSelector.d.ts +2 -2
- package/lib/components/kernel/KernelSelector.js.map +1 -1
- package/lib/components/kernel/KernelUsage.d.ts +2 -2
- package/lib/components/kernel/KernelUsage.js.map +1 -1
- package/lib/components/kernel/KernelVariables.d.ts +2 -2
- package/lib/components/kernel/KernelVariables.js.map +1 -1
- package/lib/components/kernel/Kernelndicator.d.ts +1 -1
- package/lib/components/kernel/variables/kernelconnector.d.ts +2 -2
- package/lib/components/kernel/variables/kernelconnector.js +2 -2
- package/lib/components/kernel/variables/widget.d.ts +4 -2
- package/lib/components/kernel/variables/widget.js.map +1 -1
- package/lib/components/lumino/Lumino.d.ts +1 -1
- package/lib/components/lumino/LuminoBox.d.ts +3 -9
- package/lib/components/lumino/LuminoBox.js +1 -6
- package/lib/components/lumino/LuminoBox.js.map +1 -1
- package/lib/components/lumino/ReactPortalWidget.d.ts +1 -2
- package/lib/components/notebook/Notebook.d.ts +4 -6
- package/lib/components/notebook/Notebook.js +11 -26
- package/lib/components/notebook/Notebook.js.map +1 -1
- package/lib/components/notebook/Notebook2Adapter.d.ts +179 -0
- package/lib/components/notebook/Notebook2Adapter.js +542 -10
- package/lib/components/notebook/Notebook2Adapter.js.map +1 -1
- package/lib/components/notebook/Notebook2Base.d.ts +8 -6
- package/lib/components/notebook/Notebook2Base.js +12 -3
- package/lib/components/notebook/Notebook2Base.js.map +1 -1
- package/lib/components/notebook/Notebook2State.d.ts +34 -8
- package/lib/components/notebook/Notebook2State.js +71 -45
- package/lib/components/notebook/Notebook2State.js.map +1 -1
- package/lib/components/notebook/NotebookAdapter.js +6 -5
- package/lib/components/notebook/NotebookAdapter.js.map +1 -1
- package/lib/components/notebook/NotebookState.d.ts +11 -11
- package/lib/components/notebook/cell/sidebar/CellSidebarButton.js +1 -1
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.d.ts +2 -4
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js +1 -3
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js.map +1 -1
- package/lib/components/notebook/index.d.ts +1 -0
- package/lib/components/notebook/index.js +1 -0
- package/lib/components/notebook/index.js.map +1 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.d.ts +28 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js +15 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js.map +1 -1
- package/lib/components/output/Output.d.ts +11 -13
- package/lib/components/output/Output.js +19 -30
- package/lib/components/output/Output.js.map +1 -1
- package/lib/components/output/OutputIPyWidgets.d.ts +2 -2
- package/lib/components/output/OutputIPyWidgets.js.map +1 -1
- package/lib/components/output/OutputRenderer.d.ts +2 -2
- package/lib/components/output/OutputRenderer.js.map +1 -1
- package/lib/components/terminal/Terminal.d.ts +1 -4
- package/lib/components/terminal/Terminal.js +4 -7
- package/lib/components/terminal/Terminal.js.map +1 -1
- package/lib/components/viewer/Viewer.d.ts +1 -1
- package/lib/components/viewer/output/OutputViewer.d.ts +3 -6
- package/lib/components/viewer/output/OutputViewer.js +1 -5
- package/lib/components/viewer/output/OutputViewer.js.map +1 -1
- package/lib/examples/Notebook2Actions.js +1 -1
- package/lib/examples/Notebook2Actions.js.map +1 -1
- package/lib/examples/extensions/celltoolbar/CellToolbarComponent.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/jupyter/Jupyter.d.ts +1 -74
- package/lib/jupyter/Jupyter.js +2 -9
- package/lib/jupyter/Jupyter.js.map +1 -1
- package/lib/jupyter/JupyterConfig.js +2 -2
- package/lib/jupyter/JupyterConfig.js.map +1 -1
- package/lib/jupyter/JupyterContext.d.ts +2 -2
- package/lib/jupyter/ipywidgets/classic/htmlmanager.d.ts +6 -0
- package/lib/jupyter/ipywidgets/classic/htmlmanager.js +8 -0
- package/lib/jupyter/ipywidgets/classic/htmlmanager.js.map +1 -1
- package/lib/jupyter/ipywidgets/lab/manager.d.ts +6 -0
- package/lib/jupyter/ipywidgets/lab/manager.js +8 -0
- package/lib/jupyter/ipywidgets/lab/manager.js.map +1 -1
- package/lib/jupyter/ipywidgets/libembed-amd.d.ts +1 -1
- package/lib/jupyter/ipywidgets/libembed-amd.js +1 -1
- package/lib/jupyter/lite/LiteServer.d.ts +1 -1
- package/lib/jupyter/lite/LiteServer.js +1 -1
- package/lib/theme/JupyterLabCss.d.ts +1 -1
- package/lib/theme/JupyterReactTheme.d.ts +1 -1
- package/lib/tools/__tests__/operationRunner.test.d.ts +1 -0
- package/lib/tools/__tests__/operationRunner.test.js +193 -0
- package/lib/tools/__tests__/operationRunner.test.js.map +1 -0
- package/lib/tools/core/executor.d.ts +46 -0
- package/lib/tools/core/executor.js +55 -0
- package/lib/tools/core/executor.js.map +1 -0
- package/lib/tools/core/formatter.d.ts +20 -0
- package/lib/tools/core/formatter.js +41 -0
- package/lib/tools/core/formatter.js.map +1 -0
- package/lib/tools/core/index.d.ts +18 -0
- package/lib/tools/core/index.js +24 -0
- package/lib/tools/core/index.js.map +1 -0
- package/lib/tools/core/interfaces.d.ts +38 -0
- package/lib/tools/core/interfaces.js +7 -0
- package/lib/tools/core/interfaces.js.map +1 -0
- package/lib/tools/core/operationRunner.d.ts +27 -0
- package/lib/tools/core/operationRunner.js +33 -0
- package/lib/tools/core/operationRunner.js.map +1 -0
- package/lib/tools/core/schema.d.ts +47 -0
- package/lib/tools/core/schema.js +7 -0
- package/lib/tools/core/schema.js.map +1 -0
- package/lib/tools/core/types.d.ts +36 -0
- package/lib/tools/core/types.js +7 -0
- package/lib/tools/core/types.js.map +1 -0
- package/lib/tools/core/zodUtils.d.ts +56 -0
- package/lib/tools/core/zodUtils.js +179 -0
- package/lib/tools/core/zodUtils.js.map +1 -0
- package/lib/tools/definitions/deleteCell.d.ts +7 -0
- package/lib/tools/definitions/deleteCell.js +25 -0
- package/lib/tools/definitions/deleteCell.js.map +1 -0
- package/lib/tools/definitions/executeCode.d.ts +7 -0
- package/lib/tools/definitions/executeCode.js +33 -0
- package/lib/tools/definitions/executeCode.js.map +1 -0
- package/lib/tools/definitions/index.d.ts +12 -0
- package/lib/tools/definitions/index.js +18 -0
- package/lib/tools/definitions/index.js.map +1 -0
- package/lib/tools/definitions/insertCell.d.ts +7 -0
- package/lib/tools/definitions/insertCell.js +24 -0
- package/lib/tools/definitions/insertCell.js.map +1 -0
- package/lib/tools/definitions/readAllCells.d.ts +7 -0
- package/lib/tools/definitions/readAllCells.js +24 -0
- package/lib/tools/definitions/readAllCells.js.map +1 -0
- package/lib/tools/definitions/readCell.d.ts +7 -0
- package/lib/tools/definitions/readCell.js +24 -0
- package/lib/tools/definitions/readCell.js.map +1 -0
- package/lib/tools/definitions/runCell.d.ts +7 -0
- package/lib/tools/definitions/runCell.js +31 -0
- package/lib/tools/definitions/runCell.js.map +1 -0
- package/lib/tools/definitions/updateCell.d.ts +7 -0
- package/lib/tools/definitions/updateCell.js +24 -0
- package/lib/tools/definitions/updateCell.js.map +1 -0
- package/lib/tools/index.d.ts +20 -0
- package/lib/tools/index.js +62 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/operations/deleteCell.d.ts +49 -0
- package/lib/tools/operations/deleteCell.js +103 -0
- package/lib/tools/operations/deleteCell.js.map +1 -0
- package/lib/tools/operations/executeCode.d.ts +33 -0
- package/lib/tools/operations/executeCode.js +45 -0
- package/lib/tools/operations/executeCode.js.map +1 -0
- package/lib/tools/operations/insertCell.d.ts +27 -0
- package/lib/tools/operations/insertCell.js +56 -0
- package/lib/tools/operations/insertCell.js.map +1 -0
- package/lib/tools/operations/readAllCells.d.ts +21 -0
- package/lib/tools/operations/readAllCells.js +45 -0
- package/lib/tools/operations/readAllCells.js.map +1 -0
- package/lib/tools/operations/readCell.d.ts +39 -0
- package/lib/tools/operations/readCell.js +90 -0
- package/lib/tools/operations/readCell.js.map +1 -0
- package/lib/tools/operations/runCell.d.ts +24 -0
- package/lib/tools/operations/runCell.js +124 -0
- package/lib/tools/operations/runCell.js.map +1 -0
- package/lib/tools/operations/updateCell.d.ts +27 -0
- package/lib/tools/operations/updateCell.js +53 -0
- package/lib/tools/operations/updateCell.js.map +1 -0
- package/lib/tools/schemas/deleteCell.d.ts +20 -0
- package/lib/tools/schemas/deleteCell.js +24 -0
- package/lib/tools/schemas/deleteCell.js.map +1 -0
- package/lib/tools/schemas/executeCode.d.ts +19 -0
- package/lib/tools/schemas/executeCode.js +28 -0
- package/lib/tools/schemas/executeCode.js.map +1 -0
- package/lib/tools/schemas/index.d.ts +12 -0
- package/lib/tools/schemas/index.js +18 -0
- package/lib/tools/schemas/index.js.map +1 -0
- package/lib/tools/schemas/insertCell.d.ts +24 -0
- package/lib/tools/schemas/insertCell.js +29 -0
- package/lib/tools/schemas/insertCell.js.map +1 -0
- package/lib/tools/schemas/readAllCells.d.ts +19 -0
- package/lib/tools/schemas/readAllCells.js +18 -0
- package/lib/tools/schemas/readAllCells.js.map +1 -0
- package/lib/tools/schemas/readCell.d.ts +19 -0
- package/lib/tools/schemas/readCell.js +24 -0
- package/lib/tools/schemas/readCell.js.map +1 -0
- package/lib/tools/schemas/runCell.d.ts +21 -0
- package/lib/tools/schemas/runCell.js +39 -0
- package/lib/tools/schemas/runCell.js.map +1 -0
- package/lib/tools/schemas/updateCell.d.ts +19 -0
- package/lib/tools/schemas/updateCell.js +21 -0
- package/lib/tools/schemas/updateCell.js.map +1 -0
- package/package.json +19 -14
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool definitions (schemas) for notebook operations.
|
|
3
|
+
*
|
|
4
|
+
* @module tools/definitions
|
|
5
|
+
*/
|
|
6
|
+
export * from './insertCell';
|
|
7
|
+
export * from './deleteCell';
|
|
8
|
+
export * from './updateCell';
|
|
9
|
+
export * from './readCell';
|
|
10
|
+
export * from './readAllCells';
|
|
11
|
+
export * from './runCell';
|
|
12
|
+
export * from './executeCode';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Tool definitions (schemas) for notebook operations.
|
|
8
|
+
*
|
|
9
|
+
* @module tools/definitions
|
|
10
|
+
*/
|
|
11
|
+
export * from './insertCell';
|
|
12
|
+
export * from './deleteCell';
|
|
13
|
+
export * from './updateCell';
|
|
14
|
+
export * from './readCell';
|
|
15
|
+
export * from './readAllCells';
|
|
16
|
+
export * from './runCell';
|
|
17
|
+
export * from './executeCode';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { zodToToolParameters } from '../core/zodUtils';
|
|
7
|
+
import { insertCellParamsSchema } from '../schemas/insertCell';
|
|
8
|
+
export const insertCellTool = {
|
|
9
|
+
name: 'datalayer_insertCell',
|
|
10
|
+
displayName: 'Insert Notebook Cell',
|
|
11
|
+
toolReferenceName: 'insertCell',
|
|
12
|
+
description: 'IMPORTANT: Call readAllCells first to see the current notebook structure and determine the correct insertion point. Then, insert a code or markdown cell into a Jupyter notebook at a specified position or at the end',
|
|
13
|
+
parameters: zodToToolParameters(insertCellParamsSchema),
|
|
14
|
+
operation: 'insertCell',
|
|
15
|
+
config: {
|
|
16
|
+
confirmationMessage: (params) => `Insert ${params.type} cell into notebook?\n\n${params.source}`,
|
|
17
|
+
invocationMessage: (params) => `Inserting ${params.type} cell into notebook`,
|
|
18
|
+
requiresConfirmation: true,
|
|
19
|
+
canBeReferencedInPrompt: true,
|
|
20
|
+
priority: 'high',
|
|
21
|
+
},
|
|
22
|
+
tags: ['cell', 'notebook', 'manipulation', 'create'],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=insertCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insertCell.js","sourceRoot":"","sources":["../../../src/tools/definitions/insertCell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,sBAAsB;IACnC,iBAAiB,EAAE,YAAY;IAC/B,WAAW,EACT,wNAAwN;IAE1N,UAAU,EAAE,mBAAmB,CAAC,sBAAsB,CAAC;IAEvD,SAAS,EAAE,YAAY;IAEvB,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,MAAwC,EAAE,EAAE,CAChE,UAAU,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,MAAM,EAAE;QACjE,iBAAiB,EAAE,CAAC,MAAwB,EAAE,EAAE,CAC9C,aAAa,MAAM,CAAC,IAAI,qBAAqB;QAC/C,oBAAoB,EAAE,IAAI;QAC1B,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,MAAM;KACjB;IAED,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC;CACrD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { zodToToolParameters } from '../core/zodUtils';
|
|
7
|
+
import { readAllCellsParamsSchema } from '../schemas/readAllCells';
|
|
8
|
+
export const readAllCellsTool = {
|
|
9
|
+
name: 'datalayer_readAllCells',
|
|
10
|
+
displayName: 'Read All Notebook Cells',
|
|
11
|
+
toolReferenceName: 'readAllCells',
|
|
12
|
+
description: "Read all cells from the Jupyter notebook. Supports two response formats: 'brief' (default) returns index, type, and 40-char content preview for structure queries and counting cells; 'detailed' returns full content with source, execution_count, and outputs. Use brief when you need to see notebook structure, count cells, or quickly scan content. Use detailed when you need to read full cell content or outputs. Brief format preview shows first 40 characters of cell source. Returns array of cells with: index (cell position), type (code, markdown, raw), preview (brief only), and optionally source/execution_count/outputs (detailed only). Works on active notebook.",
|
|
13
|
+
parameters: zodToToolParameters(readAllCellsParamsSchema),
|
|
14
|
+
operation: 'readAllCells',
|
|
15
|
+
config: {
|
|
16
|
+
confirmationMessage: () => 'Read all cells from notebook?',
|
|
17
|
+
invocationMessage: () => 'Reading all cells',
|
|
18
|
+
requiresConfirmation: false,
|
|
19
|
+
canBeReferencedInPrompt: true,
|
|
20
|
+
priority: 'high',
|
|
21
|
+
},
|
|
22
|
+
tags: ['cell', 'notebook', 'read', 'inspect', 'all'],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=readAllCells.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readAllCells.js","sourceRoot":"","sources":["../../../src/tools/definitions/readAllCells.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,yBAAyB;IACtC,iBAAiB,EAAE,cAAc;IACjC,WAAW,EACT,0pBAA0pB;IAE5pB,UAAU,EAAE,mBAAmB,CAAC,wBAAwB,CAAC;IAEzD,SAAS,EAAE,cAAc;IAEzB,MAAM,EAAE;QACN,mBAAmB,EAAE,GAAG,EAAE,CAAC,+BAA+B;QAC1D,iBAAiB,EAAE,GAAG,EAAE,CAAC,mBAAmB;QAC5C,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,MAAM;KACjB;IAED,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;CACrD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { zodToToolParameters } from '../core/zodUtils';
|
|
7
|
+
import { readCellParamsSchema } from '../schemas/readCell';
|
|
8
|
+
export const readCellTool = {
|
|
9
|
+
name: 'datalayer_readCell',
|
|
10
|
+
displayName: 'Read Notebook Cell',
|
|
11
|
+
toolReferenceName: 'readCell',
|
|
12
|
+
description: 'Reads a specific cell from a Jupyter notebook by index, including source code and outputs',
|
|
13
|
+
parameters: zodToToolParameters(readCellParamsSchema),
|
|
14
|
+
operation: 'readCell',
|
|
15
|
+
config: {
|
|
16
|
+
confirmationMessage: (params) => `Read cell at index ${params.index}?`,
|
|
17
|
+
invocationMessage: (params) => `Reading cell ${params.index}`,
|
|
18
|
+
requiresConfirmation: false,
|
|
19
|
+
canBeReferencedInPrompt: true,
|
|
20
|
+
priority: 'high',
|
|
21
|
+
},
|
|
22
|
+
tags: ['cell', 'notebook', 'read', 'inspect'],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=readCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readCell.js","sourceRoot":"","sources":["../../../src/tools/definitions/readCell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,oBAAoB;IACjC,iBAAiB,EAAE,UAAU;IAC7B,WAAW,EACT,2FAA2F;IAE7F,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC;IAErD,SAAS,EAAE,UAAU;IAErB,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,MAAyB,EAAE,EAAE,CACjD,sBAAsB,MAAM,CAAC,KAAK,GAAG;QACvC,iBAAiB,EAAE,CAAC,MAAyB,EAAE,EAAE,CAC/C,gBAAgB,MAAM,CAAC,KAAK,EAAE;QAChC,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,MAAM;KACjB;IAED,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;CAC9C,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { zodToToolParameters } from '../core/zodUtils';
|
|
7
|
+
import { runCellParamsSchema } from '../schemas/runCell';
|
|
8
|
+
export const runCellTool = {
|
|
9
|
+
name: 'datalayer_runCell',
|
|
10
|
+
displayName: 'Run Notebook Cell',
|
|
11
|
+
toolReferenceName: 'runCell',
|
|
12
|
+
description: 'Runs a code cell in a Jupyter notebook and returns its outputs with execution metadata. ' +
|
|
13
|
+
'Supports timeout and streaming progress updates. ' +
|
|
14
|
+
'Returns execution_count, outputs, and elapsed_time. ' +
|
|
15
|
+
'If no index is provided, runs the currently active cell.',
|
|
16
|
+
parameters: zodToToolParameters(runCellParamsSchema),
|
|
17
|
+
operation: 'runCell',
|
|
18
|
+
config: {
|
|
19
|
+
confirmationMessage: (params) => params.index !== undefined
|
|
20
|
+
? `Run cell at index ${params.index}?`
|
|
21
|
+
: 'Run cell?',
|
|
22
|
+
invocationMessage: (params) => params.index !== undefined
|
|
23
|
+
? `Running cell ${params.index}${params.timeoutSeconds ? ` (timeout: ${params.timeoutSeconds}s)` : ''}`
|
|
24
|
+
: `Running cell${params.timeoutSeconds ? ` (timeout: ${params.timeoutSeconds}s)` : ''}`,
|
|
25
|
+
requiresConfirmation: false,
|
|
26
|
+
canBeReferencedInPrompt: true,
|
|
27
|
+
priority: 'high',
|
|
28
|
+
},
|
|
29
|
+
tags: ['cell', 'notebook', 'execute', 'run', 'outputs'],
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=runCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runCell.js","sourceRoot":"","sources":["../../../src/tools/definitions/runCell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,mBAAmB;IAChC,iBAAiB,EAAE,SAAS;IAC5B,WAAW,EACT,0FAA0F;QAC1F,mDAAmD;QACnD,sDAAsD;QACtD,0DAA0D;IAE5D,UAAU,EAAE,mBAAmB,CAAC,mBAAmB,CAAC;IAEpD,SAAS,EAAE,SAAS;IAEpB,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,MAA0B,EAAE,EAAE,CAClD,MAAM,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,qBAAqB,MAAM,CAAC,KAAK,GAAG;YACtC,CAAC,CAAC,WAAW;QACjB,iBAAiB,EAAE,CAAC,MAAmD,EAAE,EAAE,CACzE,MAAM,CAAC,KAAK,KAAK,SAAS;YACxB,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACvG,CAAC,CAAC,eAAe,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3F,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,MAAM;KACjB;IAED,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC;CACxD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { zodToToolParameters } from '../core/zodUtils';
|
|
7
|
+
import { updateCellParamsSchema } from '../schemas/updateCell';
|
|
8
|
+
export const updateCellTool = {
|
|
9
|
+
name: 'datalayer_updateCell',
|
|
10
|
+
displayName: 'Update Notebook Cell',
|
|
11
|
+
toolReferenceName: 'updateCell',
|
|
12
|
+
description: "Updates (overwrites) a cell's source code at the specified index. Does NOT execute the cell.",
|
|
13
|
+
parameters: zodToToolParameters(updateCellParamsSchema),
|
|
14
|
+
operation: 'updateCell',
|
|
15
|
+
config: {
|
|
16
|
+
confirmationMessage: (params) => `Update cell at index ${params.index}?\n\n${params.source}`,
|
|
17
|
+
invocationMessage: (params) => `Updating cell ${params.index}`,
|
|
18
|
+
requiresConfirmation: false,
|
|
19
|
+
canBeReferencedInPrompt: true,
|
|
20
|
+
priority: 'medium',
|
|
21
|
+
},
|
|
22
|
+
tags: ['cell', 'notebook', 'manipulation', 'update'],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=updateCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateCell.js","sourceRoot":"","sources":["../../../src/tools/definitions/updateCell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,sBAAsB;IACnC,iBAAiB,EAAE,YAAY;IAC/B,WAAW,EACT,8FAA8F;IAEhG,UAAU,EAAE,mBAAmB,CAAC,sBAAsB,CAAC;IAEvD,SAAS,EAAE,YAAY;IAEvB,MAAM,EAAE;QACN,mBAAmB,EAAE,CAAC,MAAyC,EAAE,EAAE,CACjE,wBAAwB,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,MAAM,EAAE;QAC7D,iBAAiB,EAAE,CAAC,MAAyB,EAAE,EAAE,CAC/C,iBAAiB,MAAM,CAAC,KAAK,EAAE;QACjC,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,IAAI;QAC7B,QAAQ,EAAE,QAAQ;KACnB;IAED,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC;CACrD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ToolDefinition } from './core/schema';
|
|
2
|
+
import type { ToolOperation } from './core/interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Array of all notebook tool definitions
|
|
5
|
+
*/
|
|
6
|
+
export declare const notebookToolDefinitions: ToolDefinition[];
|
|
7
|
+
/**
|
|
8
|
+
* Registry of all notebook tool operations
|
|
9
|
+
* Maps operation names to their implementations
|
|
10
|
+
*/
|
|
11
|
+
export declare const notebookToolOperations: Record<string, ToolOperation<unknown, unknown>>;
|
|
12
|
+
/**
|
|
13
|
+
* Complete notebook tools bundle for easy iteration and registration
|
|
14
|
+
*/
|
|
15
|
+
export declare const notebookTools: {
|
|
16
|
+
definitions: ToolDefinition<unknown>[];
|
|
17
|
+
operations: Record<string, ToolOperation<unknown, unknown>>;
|
|
18
|
+
};
|
|
19
|
+
export * from './core';
|
|
20
|
+
export * from './definitions';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Platform-agnostic notebook tools.
|
|
8
|
+
*
|
|
9
|
+
* @module tools
|
|
10
|
+
*/
|
|
11
|
+
// Import all tool definitions
|
|
12
|
+
import { insertCellTool } from './definitions/insertCell';
|
|
13
|
+
import { deleteCellTool } from './definitions/deleteCell';
|
|
14
|
+
import { updateCellTool } from './definitions/updateCell';
|
|
15
|
+
import { readCellTool } from './definitions/readCell';
|
|
16
|
+
import { readAllCellsTool } from './definitions/readAllCells';
|
|
17
|
+
import { runCellTool } from './definitions/runCell';
|
|
18
|
+
import { executeCodeTool } from './definitions/executeCode';
|
|
19
|
+
// Import all operations
|
|
20
|
+
import { insertCellOperation } from './operations/insertCell';
|
|
21
|
+
import { deleteCellOperation } from './operations/deleteCell';
|
|
22
|
+
import { updateCellOperation } from './operations/updateCell';
|
|
23
|
+
import { readCellOperation } from './operations/readCell';
|
|
24
|
+
import { readAllCellsOperation } from './operations/readAllCells';
|
|
25
|
+
import { runCellOperation } from './operations/runCell';
|
|
26
|
+
import { executeCodeOperation } from './operations/executeCode';
|
|
27
|
+
/**
|
|
28
|
+
* Array of all notebook tool definitions
|
|
29
|
+
*/
|
|
30
|
+
export const notebookToolDefinitions = [
|
|
31
|
+
insertCellTool,
|
|
32
|
+
deleteCellTool,
|
|
33
|
+
updateCellTool,
|
|
34
|
+
readCellTool,
|
|
35
|
+
readAllCellsTool,
|
|
36
|
+
runCellTool,
|
|
37
|
+
executeCodeTool,
|
|
38
|
+
];
|
|
39
|
+
/**
|
|
40
|
+
* Registry of all notebook tool operations
|
|
41
|
+
* Maps operation names to their implementations
|
|
42
|
+
*/
|
|
43
|
+
export const notebookToolOperations = {
|
|
44
|
+
insertCell: insertCellOperation,
|
|
45
|
+
deleteCell: deleteCellOperation,
|
|
46
|
+
updateCell: updateCellOperation,
|
|
47
|
+
readCell: readCellOperation,
|
|
48
|
+
readAllCells: readAllCellsOperation,
|
|
49
|
+
runCell: runCellOperation,
|
|
50
|
+
executeCode: executeCodeOperation,
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Complete notebook tools bundle for easy iteration and registration
|
|
54
|
+
*/
|
|
55
|
+
export const notebookTools = {
|
|
56
|
+
definitions: notebookToolDefinitions,
|
|
57
|
+
operations: notebookToolOperations,
|
|
58
|
+
};
|
|
59
|
+
// Re-export everything for convenience
|
|
60
|
+
export * from './core';
|
|
61
|
+
export * from './definitions';
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMhE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,eAAe;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,gBAAgB;IACzB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE,sBAAsB;CACnC,CAAC;AAEF,uCAAuC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-agnostic cell deletion operation.
|
|
3
|
+
*
|
|
4
|
+
* @module tools/operations/deleteCell
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolOperation } from '../core/interfaces';
|
|
7
|
+
import { type DeleteCellParams } from '../schemas/deleteCell';
|
|
8
|
+
/**
|
|
9
|
+
* Information about a deleted cell.
|
|
10
|
+
*/
|
|
11
|
+
export interface DeletedCellInfo {
|
|
12
|
+
/** Original index of the deleted cell */
|
|
13
|
+
index: number;
|
|
14
|
+
/** Cell type (code, markdown, raw) */
|
|
15
|
+
type: string;
|
|
16
|
+
/** Cell source content */
|
|
17
|
+
source: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Result from deleteCell operation.
|
|
21
|
+
*/
|
|
22
|
+
export interface DeleteCellResult {
|
|
23
|
+
success: boolean;
|
|
24
|
+
deletedCells: DeletedCellInfo[];
|
|
25
|
+
message: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Deletes one or more cells from a notebook at the specified indices.
|
|
29
|
+
*
|
|
30
|
+
* Cells are deleted in reverse order (highest index first) to prevent
|
|
31
|
+
* index shifting issues during multi-cell deletion. This matches the
|
|
32
|
+
* behavior of the Jupyter MCP Server.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // Delete single cell
|
|
37
|
+
* await deleteCellOperation.execute(
|
|
38
|
+
* { indices: [2] },
|
|
39
|
+
* { documentId: "file:///path/to/notebook.ipynb", executor }
|
|
40
|
+
* );
|
|
41
|
+
*
|
|
42
|
+
* // Delete multiple cells
|
|
43
|
+
* await deleteCellOperation.execute(
|
|
44
|
+
* { indices: [1, 3, 5] },
|
|
45
|
+
* { documentId: "file:///path/to/notebook.ipynb", executor }
|
|
46
|
+
* );
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare const deleteCellOperation: ToolOperation<DeleteCellParams, DeleteCellResult>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { readAllCellsOperation } from './readAllCells';
|
|
7
|
+
import { validateWithZod } from '../core/zodUtils';
|
|
8
|
+
import { deleteCellParamsSchema, } from '../schemas/deleteCell';
|
|
9
|
+
/**
|
|
10
|
+
* Deletes one or more cells from a notebook at the specified indices.
|
|
11
|
+
*
|
|
12
|
+
* Cells are deleted in reverse order (highest index first) to prevent
|
|
13
|
+
* index shifting issues during multi-cell deletion. This matches the
|
|
14
|
+
* behavior of the Jupyter MCP Server.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // Delete single cell
|
|
19
|
+
* await deleteCellOperation.execute(
|
|
20
|
+
* { indices: [2] },
|
|
21
|
+
* { documentId: "file:///path/to/notebook.ipynb", executor }
|
|
22
|
+
* );
|
|
23
|
+
*
|
|
24
|
+
* // Delete multiple cells
|
|
25
|
+
* await deleteCellOperation.execute(
|
|
26
|
+
* { indices: [1, 3, 5] },
|
|
27
|
+
* { documentId: "file:///path/to/notebook.ipynb", executor }
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export const deleteCellOperation = {
|
|
32
|
+
name: 'deleteCell',
|
|
33
|
+
async execute(params, context) {
|
|
34
|
+
// Validate params using Zod schema
|
|
35
|
+
const { indices } = validateWithZod(deleteCellParamsSchema, params, this.name);
|
|
36
|
+
const { documentId } = context;
|
|
37
|
+
if (!documentId) {
|
|
38
|
+
throw new Error('Document ID is required for deleteCell operation. ' +
|
|
39
|
+
'Ensure the tool execution context includes a valid documentId.');
|
|
40
|
+
}
|
|
41
|
+
// Ensure executor is available
|
|
42
|
+
if (!context.executor) {
|
|
43
|
+
throw new Error('Executor is required for deleteCell operation. ' +
|
|
44
|
+
'This should be provided by the platform (DefaultExecutor, BridgeExecutor, etc.)');
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
// First, read all cells to get current state and validate indices
|
|
48
|
+
// Request detailed format to get full source for deletion confirmation
|
|
49
|
+
const cellsResult = await readAllCellsOperation.execute({ format: 'detailed' }, context);
|
|
50
|
+
if (!cellsResult.success || !cellsResult.cells) {
|
|
51
|
+
throw new Error('Failed to read cells for bounds validation');
|
|
52
|
+
}
|
|
53
|
+
const cellCount = cellsResult.cellCount || cellsResult.cells.length;
|
|
54
|
+
const cells = cellsResult.cells;
|
|
55
|
+
// Validate ALL indices are in range (match Jupyter MCP Server error format)
|
|
56
|
+
for (const index of indices) {
|
|
57
|
+
if (index < 0 || index >= cellCount) {
|
|
58
|
+
throw new Error(`Cell index ${index} is out of range. Notebook has ${cellCount} cells.`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Sort indices in REVERSE order (highest to lowest) to prevent index shifting
|
|
62
|
+
// This matches the Jupyter MCP Server behavior
|
|
63
|
+
const sortedIndices = [...indices].sort((a, b) => b - a);
|
|
64
|
+
// Store information about cells before deletion
|
|
65
|
+
const deletedCells = [];
|
|
66
|
+
// Delete each cell in reverse order
|
|
67
|
+
for (const index of sortedIndices) {
|
|
68
|
+
// Store cell info before deletion (from original read)
|
|
69
|
+
const cell = cells[index];
|
|
70
|
+
// Execute deletion via executor
|
|
71
|
+
await context.executor.execute(this.name, {
|
|
72
|
+
index,
|
|
73
|
+
});
|
|
74
|
+
// Track deletion with original index
|
|
75
|
+
deletedCells.push({
|
|
76
|
+
index,
|
|
77
|
+
type: cell.type,
|
|
78
|
+
source: cell.source,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// Format message similar to Jupyter MCP Server
|
|
82
|
+
const message = deletedCells
|
|
83
|
+
.map(cell => {
|
|
84
|
+
return (`Deleted cell at index ${cell.index}:\n` +
|
|
85
|
+
`Type: ${cell.type}\n` +
|
|
86
|
+
`----------------------------------------`);
|
|
87
|
+
})
|
|
88
|
+
.join('\n\n');
|
|
89
|
+
// Return success result
|
|
90
|
+
return {
|
|
91
|
+
success: true,
|
|
92
|
+
deletedCells: deletedCells.reverse(), // Reverse to show in original order
|
|
93
|
+
message,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
// Convert error to descriptive error
|
|
98
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
99
|
+
throw new Error(`Failed to delete cell(s): ${errorMessage}`);
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=deleteCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteCell.js","sourceRoot":"","sources":["../../../src/tools/operations/deleteCell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-agnostic code execution operation.
|
|
3
|
+
* Executes code directly in the kernel without creating or modifying cells.
|
|
4
|
+
*
|
|
5
|
+
* @module tools/operations/executeCode
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolOperation } from '../core/interfaces';
|
|
8
|
+
import { type ExecuteCodeParams } from '../schemas/executeCode';
|
|
9
|
+
/**
|
|
10
|
+
* Result from executeCode operation.
|
|
11
|
+
*/
|
|
12
|
+
export interface ExecuteCodeResult {
|
|
13
|
+
success: boolean;
|
|
14
|
+
/** Execution outputs (streams, results, errors) */
|
|
15
|
+
outputs?: Array<{
|
|
16
|
+
type: 'stream' | 'execute_result' | 'display_data' | 'error';
|
|
17
|
+
content: unknown;
|
|
18
|
+
}>;
|
|
19
|
+
/** Error message if execution failed */
|
|
20
|
+
error?: string;
|
|
21
|
+
/** Execution count (if stored in history) */
|
|
22
|
+
executionCount?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Executes code directly in the kernel without creating a cell.
|
|
26
|
+
*
|
|
27
|
+
* This is useful for:
|
|
28
|
+
* - Variable inspection
|
|
29
|
+
* - Environment setup
|
|
30
|
+
* - Background tasks
|
|
31
|
+
* - Tool introspection
|
|
32
|
+
*/
|
|
33
|
+
export declare const executeCodeOperation: ToolOperation<ExecuteCodeParams, ExecuteCodeResult>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { validateWithZod } from '../core/zodUtils';
|
|
7
|
+
import { executeCodeParamsSchema, } from '../schemas/executeCode';
|
|
8
|
+
/**
|
|
9
|
+
* Executes code directly in the kernel without creating a cell.
|
|
10
|
+
*
|
|
11
|
+
* This is useful for:
|
|
12
|
+
* - Variable inspection
|
|
13
|
+
* - Environment setup
|
|
14
|
+
* - Background tasks
|
|
15
|
+
* - Tool introspection
|
|
16
|
+
*/
|
|
17
|
+
export const executeCodeOperation = {
|
|
18
|
+
name: 'executeCode',
|
|
19
|
+
async execute(params, context) {
|
|
20
|
+
// Validate params using Zod schema
|
|
21
|
+
validateWithZod(executeCodeParamsSchema, params, this.name);
|
|
22
|
+
const { documentId } = context;
|
|
23
|
+
if (!documentId) {
|
|
24
|
+
return {
|
|
25
|
+
success: false,
|
|
26
|
+
error: 'Document ID is required for this operation.',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Ensure executor is available
|
|
30
|
+
if (!context.executor) {
|
|
31
|
+
throw new Error('Executor is required for executeCode operation. ' +
|
|
32
|
+
'This should be provided by the platform (DefaultExecutor, BridgeExecutor, etc.)');
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
// Call executor (uses this.name for DRY principle)
|
|
36
|
+
const result = await context.executor.execute(this.name, params);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
41
|
+
throw new Error(`Failed to execute code: ${errorMessage}`);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=executeCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeCode.js","sourceRoot":"","sources":["../../../src/tools/operations/executeCode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAkBhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAG7B;IACF,IAAI,EAAE,aAAa;IAEnB,KAAK,CAAC,OAAO,CACX,MAAe,EACf,OAA6B;QAE7B,mCAAmC;QACnC,eAAe,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,6CAA6C;aACrD,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,iFAAiF,CACpF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEjE,OAAO,MAA2B,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-agnostic cell insertion operation.
|
|
3
|
+
*
|
|
4
|
+
* @module tools/operations/insertCell
|
|
5
|
+
*/
|
|
6
|
+
import type { ToolOperation } from '../core/interfaces';
|
|
7
|
+
import { type InsertCellParams } from '../schemas/insertCell';
|
|
8
|
+
/**
|
|
9
|
+
* Result from insertCell operation.
|
|
10
|
+
*/
|
|
11
|
+
export interface InsertCellResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
index: number;
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Inserts a cell into a notebook at the specified position.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* await insertCellOperation.execute(
|
|
22
|
+
* { type: 'code', source: 'print("Hello")' },
|
|
23
|
+
* { documentId: 'file:///path/to/notebook.ipynb', executor }
|
|
24
|
+
* );
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare const insertCellOperation: ToolOperation<InsertCellParams, InsertCellResult>;
|