spill

package
v0.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package spill 溢出存档平面单源(批三百零一):budgetTool 截断落盘(engine/runner)/ read_spill 工具取回(engine/tools)/控制台取回面(biz/handler)/写侧清理共用同一套 文件名净化、会话隔离与分页语义——LLM 面与控制台面各写一份必漂移(会话隔离三重守卫 的判据只应存在一处)。纯 stdlib 叶子层(kbgroup 先例)。

提示文案契约单源:截断提示文本由 TruncHint 生成、ParseHint 解析——前端 web/src/utils/timeline/mappers.ts spillHintOf 按同一契约解析(双侧钉档:文案变更 须同步该文件与其单测)。

Index

Constants

View Source
const (
	DefaultLimit = 8192
	MaxLimit     = 16384
)

单次取回字节缺省/上限(自 read_spill 迁出:取回文本直接进上下文,上限与输出 预算同数量级——防「分页取回」退化成「全文重塞」)。

Variables

View Source
var ErrBadName = errors.New("定位符非法(只允许本会话存档目录下的裸文件名)")

ErrBadName 定位符非法(含分隔符/点段/空名)。

Functions

func ParseHint

func ParseHint(text string) (locator string, truncated bool)

ParseHint 解析截断提示:返回定位符与截断旗标(无提示=零值)。Go 侧消费者 (tool_result 事件结构化字段)与前端 spillHintOf 同判据——改契约双侧同步。

func Prune

func Prune(dir string, keepNewest int, ttl time.Duration)

Prune 写侧清理(best-effort,清理失败不影响本次存档):keepNewest 数护栏(≤0=不按数) + ttl 按龄(0=不按龄)——「按龄清理」挂账的执行体;无后台任务纪律不变(写侧顺手清)。

func TruncHint

func TruncHint(n TruncNote) string

TruncHint 生成截断提示(自 engine/runner/output.go 迁出逐字保契约)。

Types

type Item

type Item struct {
	Name    string
	Bytes   int64
	ModTime time.Time
}

Item 会话存档清单条目(控制台取回面列表行)。

func List

func List(root, sessionID string) ([]Item, error)

List 会话存档清单(mtime 降序,最新在前)。

type Page

type Page struct {
	Name       string `json:"name"`
	Offset     int64  `json:"offset"`
	Bytes      int    `json:"bytes"`
	Total      int64  `json:"total"`
	EOF        bool   `json:"eof"`
	Content    string `json:"content"`
	NextOffset int64  `json:"next_offset,omitempty"`
}

Page 分页取回结果(read_spill 回包与控制台取回面同构)。

func ReadPage

func ReadPage(root, sessionID, name string, off int64, limit int) (Page, error)

ReadPage 会话隔离分页取回:off<0 视作 0、>total 收到 total;limit<=0 用缺省, 超上限收上限(LLM 面与控制台面同一缺省/上限)。

type TruncNote

type TruncNote struct {
	Omit        int
	Total       int
	Retrievable bool
	Name        string // 存档文件名(spill 定位符)
	Path        string // 服务器路径(retrievable=false 时的落盘提示)
}

TruncNote 参数:省略字节数/全长/存档定位与路径(retrievable=read_spill 已授予)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL