mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
Accumulated work from the branch, carried across the rebase onto origin/studio and merged with what landed there in the meantime. Storage: a workspace can name where its state lives, and the server tracks the one relocation it may be running (internal/storage, config/storage_roots, serve/storage, the Storage panel). Composer intake: what a drop or a long paste becomes is one pure function — payload in, action out — so "what happens if I drop a folder" is a test rather than a branch of an onDrop handler. It sits on the drop router that landed upstream: that one answers which pane a drop hit, this one answers what it means and says so before the pointer is released. A paste long enough to bury the composer becomes a chip beside it instead. Session: the checkpoint agreement and the lineage/torn-log recovery cases, plus the conflict diagnostic learning where two transcripts parted and which roles stood there — a position and a role tell a local reshape from a foreign write without recording any content. Model refs: the default-model write checks the live catalog, so an extension model the runtime knows can be persisted as the default.
20 lines
506 B
Go
20 lines
506 B
Go
//go:build !windows
|
|
|
|
package storage
|
|
|
|
import "golang.org/x/sys/unix"
|
|
|
|
// readVolume asks the filesystem holding dir for its free and total bytes.
|
|
// Bavail, not Bfree: the reserved blocks a filesystem keeps for root are not
|
|
// space a move can use.
|
|
func readVolume(dir string) Volume {
|
|
vol := Volume{Path: dir}
|
|
var st unix.Statfs_t
|
|
if err := unix.Statfs(dir, &st); err != nil {
|
|
return vol
|
|
}
|
|
vol.Free = int64(st.Bavail) * int64(st.Bsize)
|
|
vol.Total = int64(st.Blocks) * int64(st.Bsize)
|
|
return vol
|
|
}
|