feat: notebook per-cell execution via open-terminal REST endpoints

- Add notebook API functions (createNotebookSession, executeNotebookCell, stopNotebookSession)
- Create CellEditor component with CodeMirror for cell editing
- Rewrite NotebookView with session-based execution, Run All, Restart, Stop
- Kernel status indicator with tooltips
- Wire baseUrl/apiKey through FilePreview and FileNav
This commit is contained in:
Timothy Jaeryang Baek committed 2026-03-05 16:08:11 -06:00
1 parent 8cd2157564
commit 4b3ed3e802
5 files changed
+523 -33

No files matched your search

@@ -25,6 +25,10 @@
export let fileSqliteData: ArrayBuffer | null = null;
export let fileContent: string | null = null;
// Terminal connection for notebook execution
export let baseUrl: string = '';
export let apiKey: string = '';
// Office preview props
export let fileOfficeHtml: string | null = null;
export let fileOfficeSlides: string[] | null = null;
@@ -409,7 +413,7 @@
</div>
{:else if isNotebook && !showRaw && parsedNotebook}
<div class="overflow-auto h-full">
<NotebookView notebook={parsedNotebook} />
<NotebookView notebook={parsedNotebook} filePath={selectedFile ?? ''} {baseUrl} {apiKey} />
</div>
{:else if isJson && !showRaw && parsedJson !== undefined}
<div class="overflow-auto h-full">