Releases: Sixt/tensorlake-go
Releases · Sixt/tensorlake-go
Release list
v0.3.1
What's Changed
- fix: Replace
panic("unreachable")with descriptive error in SSE handler — the SSE event loop inhandleSSEResponsecould exit without a terminal event when the server disconnects prematurely, crashing the caller. Now returns an error reporting whether zero or partial events were received and the last event name seen (#21)
v0.3.0
Sandbox APIs (new)
Sandbox Management
CreateSandbox,ListSandboxes,GetSandbox,UpdateSandbox,DeleteSandboxSnapshotSandbox(full or filesystem-only),SuspendSandbox,ResumeSandbox- Restore from snapshot via
CreateSandboxwithSnapshotId
Sandbox File Operations
ReadSandboxFile,WriteSandboxFile,DeleteSandboxFile,ListSandboxDirectory
PTY Sessions
CreatePTY,ListPTY,GetPTY,ResizePTY,KillPTYConnectPTY: WebSocket with custom binary protocol (Ready/Data/Resize/Exit opcodes)
Process Management
StartProcess,ListProcesses,GetProcess,KillProcess,SignalProcessWriteProcessStdin,CloseProcessStdinGetProcessStdout,GetProcessStderr,GetProcessOutputFollowProcessStdout,FollowProcessStderr,FollowProcessOutput(SSE streaming)
Configurable Base URLs
WithSandboxAPIBaseURL: override management API (default:https://api.tensorlake.ai/sandboxes)WithSandboxProxyBaseURL: override file/PTY/process proxy (default:https://sandbox.tensorlake.ai)
Examples (new)
examples/sandbox-terminal: interactive terminal via PTY WebSocket with auto-cleanupexamples/sandbox-benchmark: concurrent sandbox creation latency benchmark (-con,-repeat, percentile reporting)
New Dependencies
github.com/coder/websocketfor PTY WebSocket supportgolang.org/x/termfor terminal raw mode in the example
Tests
All integration tests run against the real API with full lifecycle coverage:
TestSandboxFullLifecycle: 12-step state machine (create → running → snapshot → suspend → resume → delete → restore)TestPTYFullLifecycle: create, list, get, resize, WebSocket I/O, killTestProcessFullLifecycle: start, list, get, stdout/stderr/output, stdin pipe, signal, kill, SSE follow
Documentation
- Sandbox APIs guide — comprehensive docs for all sandbox, file, PTY, and process APIs
- README — updated with sandbox quickstart, PTY, process, and lifecycle examples
- Documentation index — updated with sandbox API reference tables
- Go package reference
v0.2.0
Breaking changes
GetDatasetnow takes*GetDatasetRequestinstead of a plain string, adding support for theIncludeAnalyticsquery parameter
New types and fields
Dataset.Analytics(*DatasetParseJobAnalytics)ParseResult.MergedTables([]MergedTable),PdfBase64,TasksCompletedCount,TasksTotalCountParseConfigurationwrapper type forParseResultOptions.ConfigurationParsingOptions.MergeTablesEnrichmentOptions:TableCellGrounding,ChartExtraction,KeyValueExtractionErrorResponse.TimestampMergedTableandMergeTableActionstypes
Bug fixes
- Fix
UsageJSON tags: singulartoken→ pluraltokens(deserialization was silently dropping values) - Fix
ModelProviderenum values:gemini-3→gemini3,gpt_4o_mini→gpt4o_mini - Fix
ListParseJobsRequestfilename query param:file_name→filename - Fix
Page.ClassificationReasonJSON tag: plural → singular - Fix
FileInfoomitempty tags on required vs optional fields
New enum values
MimeType: DOC, PPT, TIFF, Markdown, XML, RTF, octet-stream, PKCS7 typesPageFragmentType:chart,tracked_changes,commentsErrorCode:INVALID_JOB_STATE,CLIENT_DISCONNECT,INVALID_IDOCRPipelineProvider:model06JobType:edit
Other additions
file_namefield onParseDocumentRequest,ExtractDocumentRequest,ClassifyDocumentRequestIdquery parameter onListParseJobsRequest- Flaky test fix: unique dataset names with
t.Cleanup
v0.1.1
v0.1.0
What's Changed
- all: initialize module and owner information by @changkun in #1
- feat: add enum, consts, client initialization by @changkun in #2
- feat: add file management APIs by @changkun in #3
- fix: ensure no goroutine leak when request creation fails by @changkun in #4
- docs: format items and add more pkg level description by @changkun in #5
- feat: add parsing APIs (read, parse, get results) by @changkun in #6
- feat: add parsing APIs (list, delete) by @changkun in #7
- feat: add parsing APIs (classify, extract) by @changkun in #8
- feat: support SSE mode for parsing retrieval by @changkun in #9
- feat: add dataset APIs by @changkun in #10
- feat: add iterator APIs by @changkun in #11
- docs: update usage documents by @changkun in #12
- all: simplify iterator API by @changkun in #13
New Contributors
Full Changelog: https://github.com/Sixt/tensorlake-go/commits/v0.1.0