Releases: syrex1013/ColabSDK
Releases · syrex1013/ColabSDK
v0.2.2 — DOM streaming, streamCell overhaul, notebook utilities
What's new in 0.2.2
Added
streamCell(ref, options?)now accepts{ timeoutMs?, heartbeatMs? }— configurable execution timeout (default 180 s) and heartbeat interval (default 30 s)- DOM fallback in
streamCell: whencells.list()returns no output for a running cell (e.g. a 55-minute training loop), the SDK reads live page text via Playwright's shadow-DOM walker and streams it incrementally BrowserSession.readPageText()— public shadow-DOM text-node walkeroutputsToText(outputs)— converts a Jupyteroutputsarray to plain text; exported from package roothasErrorOutput(outputs)— returns true if any output hasoutput_type === "error"; exported from package rootstripOutputs(notebookJson)— strips all cell outputs and execution counts from a notebook JSON string before upload; exported from package rootStreamCellOptionstype exported from package root
Changed
streamCellno longer yields raw JSON snapshots — yields incremental textOutputChunkobjects- Heartbeat messages are yielded as
OutputChunk(typestdout) instead of written directly toprocess.stdout
Fixed
- WebSocket
errorevents onColabProxyabsorbed via EventEmitter (no more uncaught exceptions on socket errors)
v0.1.3
Added
WorkflowManageronclient.workflows— list, upload, load, unload, run, stop workflows- Local workflow JSON definitions in
.colabdev/workflows/ - Streaming workflow execution via
runStream() - MCP workflow tool delegation when Colab exposes workflow tools
- Workflow error types:
WorkflowNotFoundError,WorkflowNotLoadedError,WorkflowAlreadyLoadedError,WorkflowExecutionError - CLI:
colab-dev workflows list|load|unload|run|stop|upload - Example:
examples/09_workflow_management.ts(bun run example:workflows) FileUploadManageronclient.files— upload local files into cells withfiles.upload()widgets- Upload progress via
onProgressandwatchUpload() findUploadCells()to scan notebook for upload-capable cells- Errors:
FileUploadError,UploadWidgetNotFoundError - CLI:
colab-dev files list-upload-cells,colab-dev files upload - Example:
examples/10_file_upload.ts(bun run example:upload)
Fixed
- File upload falls back to writing files into
/contentwhen Colab does not render a browser upload widget - Upload cells are started via the Colab UI so MCP stays available for runtime fallback uploads
Install: npm install @syrex1013/colab-sdk@0.1.3
v0.1.1
[0.1.1] - 2026-06-10
Added
- Professional documentation restyle (README, API reference, publishing guide, examples index, docs hub)
docs/README.mddocumentation index
Changed
- npm publish workflow switched to manual dispatch only (bypass GitHub Actions billing lock)
- CLI bin entry uses
bin/colab-dev.jswrapper
v0.1.0
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Unreleased
Added
- (nothing yet)
0.1.0 - 2026-06-10
Published as @syrex1013/colab-sdk on npm.
Added
ColabClientwithauth,cells,execute, andruntimemanagers- Google login with 2FA support and persistent browser sessions (
.colabdev/) - Notebook cell CRUD: create, edit, list, move, remove, resolve
- Code execution:
runCell,runCode,runAll,interrupt,streamCell - GPU/runtime selection and health checks
- MCP WebSocket proxy integration with Colab frontend tools
- CloakBrowser-based headless automation
- Typed error hierarchy (
ColabSDKErrorand subclasses) colab-devCLI- Example scripts (
examples/01–08) - API reference (
docs/API.md) - Unit test suite with >90% line coverage on core modules
Fixed
extractCellIdreadsnewCellIdfromadd_code_cellresponsesparseCellResulthandles Jupyterstreamoutput formatmove_cellRPC usescellIndexargument- False-positive Colab login detection on Google redirect URLs
- 2FA "Tap Yes" flow and post-approval redirect handling
connect({ gpu })sets connected state before runtime selection