feat: publish sanitized custom.97 source

This commit is contained in:
cneicy committed 2026-10-27 20:43:39 +08:00
1 parent 8e6ed0317b
commit 86c0276156
1022 files changed
+69903 -19207

No files matched your search

+9 -1
View File
@@ -13,6 +13,7 @@ var ErrInvalidSample = errors.New("invalid probe answer")
var ErrIncomplete = errors.New("probe response incomplete")
type ProbeResponse struct {
FirstTokenMS *int64 `json:"-"`
Text string `json:"-"`
DeclaredModel string `json:"declared_model,omitempty"`
InputTokens int64 `json:"input_tokens"`
@@ -59,7 +60,7 @@ func completedResponse(response gjson.Result) (ProbeResponse, error) {
// Only a complete response is a sample. Partial deltas, tool calls and a
// truncated stream cannot become a model verdict. Total bytes are bounded.
func ReadResponse(reader io.Reader, contentType string) (ProbeResponse, error) {
func ReadResponse(reader io.Reader, contentType string, onFirstText ...func()) (ProbeResponse, error) {
limited := &io.LimitedReader{R: reader, N: 8 << 20}
buffered := bufio.NewReader(limited)
peek, _ := buffered.Peek(1)
@@ -78,6 +79,7 @@ func ReadResponse(reader io.Reader, contentType string) (ProbeResponse, error) {
var data strings.Builder
var deltas strings.Builder
refused := false
firstText := false
for scanner.Scan() {
line := scanner.Text()
if strings.HasPrefix(line, "data:") {
@@ -104,6 +106,12 @@ func ReadResponse(reader io.Reader, contentType string) (ProbeResponse, error) {
event := gjson.Parse(payload)
typ := event.Get("type").String()
if typ == "response.output_text.delta" {
if !firstText && event.Get("delta").String() != "" {
firstText = true
for _, observe := range onFirstText {
observe()
}
}
deltas.WriteString(event.Get("delta").String())
if deltas.Len() > 65536 {
return ProbeResponse{}, ErrInvalidSample