Skip to content

Releases: Sixt/tensorlake-go

v0.3.1

Choose a tag to compare

@changkun changkun released this 10 Apr 20:38
0465e5a

What's Changed

  • fix: Replace panic("unreachable") with descriptive error in SSE handler — the SSE event loop in handleSSEResponse could 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

Choose a tag to compare

@changkun changkun released this 07 Apr 14:37

Sandbox APIs (new)

Sandbox Management

  • CreateSandbox, ListSandboxes, GetSandbox, UpdateSandbox, DeleteSandbox
  • SnapshotSandbox (full or filesystem-only), SuspendSandbox, ResumeSandbox
  • Restore from snapshot via CreateSandbox with SnapshotId

Sandbox File Operations

  • ReadSandboxFile, WriteSandboxFile, DeleteSandboxFile, ListSandboxDirectory

PTY Sessions

  • CreatePTY, ListPTY, GetPTY, ResizePTY, KillPTY
  • ConnectPTY: WebSocket with custom binary protocol (Ready/Data/Resize/Exit opcodes)

Process Management

  • StartProcess, ListProcesses, GetProcess, KillProcess, SignalProcess
  • WriteProcessStdin, CloseProcessStdin
  • GetProcessStdout, GetProcessStderr, GetProcessOutput
  • FollowProcessStdout, 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)

New Dependencies

  • github.com/coder/websocket for PTY WebSocket support
  • golang.org/x/term for 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, kill
  • TestProcessFullLifecycle: start, list, get, stdout/stderr/output, stdin pipe, signal, kill, SSE follow

Documentation

v0.2.0

Choose a tag to compare

@changkun changkun released this 07 Apr 08:34
ab1211f

Breaking changes

  • GetDataset now takes *GetDatasetRequest instead of a plain string, adding support for the IncludeAnalytics query parameter

New types and fields

  • Dataset.Analytics (*DatasetParseJobAnalytics)
  • ParseResult.MergedTables ([]MergedTable), PdfBase64, TasksCompletedCount, TasksTotalCount
  • ParseConfiguration wrapper type for ParseResultOptions.Configuration
  • ParsingOptions.MergeTables
  • EnrichmentOptions: TableCellGrounding, ChartExtraction, KeyValueExtraction
  • ErrorResponse.Timestamp
  • MergedTable and MergeTableActions types

Bug fixes

  • Fix Usage JSON tags: singular token → plural tokens (deserialization was silently dropping values)
  • Fix ModelProvider enum values: gemini-3gemini3, gpt_4o_minigpt4o_mini
  • Fix ListParseJobsRequest filename query param: file_namefilename
  • Fix Page.ClassificationReason JSON tag: plural → singular
  • Fix FileInfo omitempty tags on required vs optional fields

New enum values

  • MimeType: DOC, PPT, TIFF, Markdown, XML, RTF, octet-stream, PKCS7 types
  • PageFragmentType: chart, tracked_changes, comments
  • ErrorCode: INVALID_JOB_STATE, CLIENT_DISCONNECT, INVALID_ID
  • OCRPipelineProvider: model06
  • JobType: edit

Other additions

  • file_name field on ParseDocumentRequest, ExtractDocumentRequest, ClassifyDocumentRequest
  • Id query parameter on ListParseJobsRequest
  • Flaky test fix: unique dataset names with t.Cleanup

v0.1.1

Choose a tag to compare

@changkun changkun released this 22 Dec 14:26
8a4d257

What's Changed

  • feat: simplify region parameter by @changkun in #14
  • feat: add parsing options in get parse results response by @changkun in #15

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@changkun changkun released this 21 Dec 11:59
32b8243

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