From 9d1d99515babdf257525275b6541cb0b18e611d2 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Sun, 7 Dec 2025 07:00:53 -0800 Subject: [PATCH 01/21] Refactored formatters + added support for formatting streams. --- go/ai/action_test.go | 8 +- go/ai/format_array.go | 107 ++++-- go/ai/format_enum.go | 52 ++- go/ai/format_json.go | 138 ++++--- go/ai/format_jsonl.go | 143 ++++++-- go/ai/format_text.go | 33 +- go/ai/formatter.go | 36 +- go/ai/formatter_test.go | 346 ++++++++++++++++++ go/ai/gen.go | 14 +- go/ai/generate.go | 75 +++- go/ai/generate_test.go | 232 ++++++++++++ go/core/schemas.config | 2 + go/internal/base/extract.go | 253 +++++++++++++ go/internal/base/extract_test.go | 194 ++++++++++ .../cmd/jsonschemagen/jsonschemagen.go | 17 + 15 files changed, 1500 insertions(+), 150 deletions(-) create mode 100644 go/internal/base/extract.go create mode 100644 go/internal/base/extract_test.go diff --git a/go/ai/action_test.go b/go/ai/action_test.go index e41679bd5b..b24e7c8c87 100644 --- a/go/ai/action_test.go +++ b/go/ai/action_test.go @@ -136,13 +136,15 @@ func TestGenerateAction(t *testing.T) { t.Fatalf("action failed: %v", err) } - if diff := cmp.Diff(tc.ExpectChunks, chunks); diff != "" { + if diff := cmp.Diff(tc.ExpectChunks, chunks, cmp.Options{ + cmpopts.IgnoreFields(ModelResponseChunk{}, "formatHandler"), + }); diff != "" { t.Errorf("chunks mismatch (-want +got):\n%s", diff) } if diff := cmp.Diff(tc.ExpectResponse, resp, cmp.Options{ cmpopts.EquateEmpty(), - cmpopts.IgnoreFields(ModelResponse{}, "LatencyMs"), + cmpopts.IgnoreFields(ModelResponse{}, "LatencyMs", "formatHandler"), cmpopts.IgnoreFields(GenerationUsage{}, "InputCharacters", "OutputCharacters"), }); diff != "" { t.Errorf("response mismatch (-want +got):\n%s", diff) @@ -155,7 +157,7 @@ func TestGenerateAction(t *testing.T) { if diff := cmp.Diff(tc.ExpectResponse, resp, cmp.Options{ cmpopts.EquateEmpty(), - cmpopts.IgnoreFields(ModelResponse{}, "LatencyMs"), + cmpopts.IgnoreFields(ModelResponse{}, "LatencyMs", "formatHandler"), cmpopts.IgnoreFields(GenerationUsage{}, "InputCharacters", "OutputCharacters"), }); diff != "" { t.Errorf("response mismatch (-want +got):\n%s", diff) diff --git a/go/ai/format_array.go b/go/ai/format_array.go index a063231e45..ab6c91897f 100644 --- a/go/ai/format_array.go +++ b/go/ai/format_array.go @@ -23,10 +23,15 @@ import ( "github.com/firebase/genkit/go/internal/base" ) -type arrayFormatter struct{} +type arrayFormatter struct { + stateless bool +} // Name returns the name of the formatter. func (a arrayFormatter) Name() string { + if a.stateless { + return OutputFormatArrayV2 + } return OutputFormatArray } @@ -43,6 +48,7 @@ func (a arrayFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be a JSON array conforming to the following schema:\n\n```%s```", string(jsonBytes)) handler := &arrayHandler{ + stateless: a.stateless, instructions: instructions, config: ModelOutputConfig{ Format: OutputFormatArray, @@ -55,58 +61,89 @@ func (a arrayFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type arrayHandler struct { - instructions string - config ModelOutputConfig + stateless bool + instructions string + config ModelOutputConfig + accumulatedText string + currentIndex int + cursor int } // Instructions returns the instructions for the formatter. -func (a arrayHandler) Instructions() string { +func (a *arrayHandler) Instructions() string { return a.instructions } // Config returns the output config for the formatter. -func (a arrayHandler) Config() ModelOutputConfig { +func (a *arrayHandler) Config() ModelOutputConfig { return a.config } -// ParseMessage parses the message and returns the formatted message. -func (a arrayHandler) ParseMessage(m *Message) (*Message, error) { - if a.config.Format == OutputFormatArray { - if m == nil { - return nil, errors.New("message is empty") - } - if len(m.Content) == 0 { - return nil, errors.New("message has no content") +// ParseOutput parses the final message and returns the parsed array. +func (a *arrayHandler) ParseOutput(m *Message) (any, error) { + result := base.ExtractItems(m.Text(), 0) + return result.Items, nil +} + +// ParseChunk processes a streaming chunk and returns parsed output. +func (a *arrayHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { + if chunk.Index != a.currentIndex { + a.accumulatedText = "" + a.currentIndex = chunk.Index + a.cursor = 0 + } + + for _, part := range chunk.Content { + if part.IsText() { + a.accumulatedText += part.Text } + } + + result := base.ExtractItems(a.accumulatedText, a.cursor) + a.cursor = result.Cursor + return result.Items, nil +} + +// ParseMessage parses the message and returns the formatted message. +func (a *arrayHandler) ParseMessage(m *Message) (*Message, error) { + if a.stateless { + return m, nil + } + + if m == nil { + return nil, errors.New("message is empty") + } + if len(m.Content) == 0 { + return nil, errors.New("message has no content") + } - var nonTextParts []*Part - accumulatedText := strings.Builder{} + var nonTextParts []*Part + accumulatedText := strings.Builder{} - for _, part := range m.Content { - if !part.IsText() { - nonTextParts = append(nonTextParts, part) - } else { - accumulatedText.WriteString(part.Text) - } + for _, part := range m.Content { + if !part.IsText() { + nonTextParts = append(nonTextParts, part) + } else { + accumulatedText.WriteString(part.Text) } + } - var newParts []*Part - lines := base.GetJSONObjectLines(accumulatedText.String()) - for _, line := range lines { - var schemaBytes []byte - schemaBytes, err := json.Marshal(a.config.Schema["items"]) - if err != nil { - return nil, fmt.Errorf("expected schema is not valid: %w", err) - } - if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { - return nil, err - } - - newParts = append(newParts, NewJSONPart(line)) + var newParts []*Part + lines := base.GetJSONObjectLines(accumulatedText.String()) + for _, line := range lines { + var schemaBytes []byte + schemaBytes, err := json.Marshal(a.config.Schema["items"]) + if err != nil { + return nil, fmt.Errorf("expected schema is not valid: %w", err) + } + if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { + return nil, err } - m.Content = append(newParts, nonTextParts...) + newParts = append(newParts, NewJSONPart(line)) } + m.Content = append(newParts, nonTextParts...) + return m, nil } diff --git a/go/ai/format_enum.go b/go/ai/format_enum.go index 8fa07f62dc..0fa9fdf554 100644 --- a/go/ai/format_enum.go +++ b/go/ai/format_enum.go @@ -52,23 +52,46 @@ func (e enumFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type enumHandler struct { - instructions string - config ModelOutputConfig - enums []string + instructions string + config ModelOutputConfig + enums []string + accumulatedText string + currentIndex int } // Instructions returns the instructions for the formatter. -func (e enumHandler) Instructions() string { +func (e *enumHandler) Instructions() string { return e.instructions } // Config returns the output config for the formatter. -func (e enumHandler) Config() ModelOutputConfig { +func (e *enumHandler) Config() ModelOutputConfig { return e.config } +// ParseOutput parses the final message and returns the enum value. +func (e *enumHandler) ParseOutput(m *Message) (any, error) { + return e.parseEnum(m.Text()) +} + +// ParseChunk processes a streaming chunk and returns parsed output. +func (e *enumHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { + if chunk.Index != e.currentIndex { + e.accumulatedText = "" + e.currentIndex = chunk.Index + } + + for _, part := range chunk.Content { + if part.IsText() { + e.accumulatedText += part.Text + } + } + + return e.parseEnum(e.accumulatedText) +} + // ParseMessage parses the message and returns the formatted message. -func (e enumHandler) ParseMessage(m *Message) (*Message, error) { +func (e *enumHandler) ParseMessage(m *Message) (*Message, error) { if e.config.Format == OutputFormatEnum { if m == nil { return nil, errors.New("message is empty") @@ -127,3 +150,20 @@ func objectEnums(schema map[string]any) []string { return enums } + +// parseEnum is the shared parsing logic used by both ParseOutput and ParseChunk. +func (e *enumHandler) parseEnum(text string) (any, error) { + if text == "" { + return nil, nil + } + + re := regexp.MustCompile(`['"]`) + clean := re.ReplaceAllString(text, "") + trimmed := strings.TrimSpace(clean) + + if slices.Contains(e.enums, trimmed) { + return trimmed, nil + } + + return nil, nil +} diff --git a/go/ai/format_json.go b/go/ai/format_json.go index b38e3b3805..17c951c201 100644 --- a/go/ai/format_json.go +++ b/go/ai/format_json.go @@ -23,10 +23,15 @@ import ( "github.com/firebase/genkit/go/internal/base" ) -type jsonFormatter struct{} +type jsonFormatter struct { + stateless bool +} // Name returns the name of the formatter. func (j jsonFormatter) Name() string { + if j.stateless { + return OutputFormatJSONV2 + } return OutputFormatJSON } @@ -42,10 +47,16 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions = fmt.Sprintf("Output should be in JSON format and conform to the following schema:\n\n```%s```", string(jsonBytes)) } + format := OutputFormatJSON + if j.stateless { + format = OutputFormatJSONV2 + } + handler := &jsonHandler{ + stateless: j.stateless, instructions: instructions, config: ModelOutputConfig{ - Format: OutputFormatJSON, + Format: format, Schema: schema, ContentType: "application/json", }, @@ -56,64 +67,109 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { // jsonHandler is a handler for the JSON formatter. type jsonHandler struct { - instructions string - config ModelOutputConfig + stateless bool + instructions string + config ModelOutputConfig + accumulatedText string + currentIndex int } // Instructions returns the instructions for the formatter. -func (j jsonHandler) Instructions() string { +func (j *jsonHandler) Instructions() string { return j.instructions } // Config returns the output config for the formatter. -func (j jsonHandler) Config() ModelOutputConfig { +func (j *jsonHandler) Config() ModelOutputConfig { return j.config } -// ParseMessage parses the message and returns the formatted message. -func (j jsonHandler) ParseMessage(m *Message) (*Message, error) { - if j.config.Format == OutputFormatJSON { - if m == nil { - return nil, errors.New("message is empty") - } - if len(m.Content) == 0 { - return nil, errors.New("message has no content") +// ParseOutput parses the final message and returns the parsed JSON value. +func (j *jsonHandler) ParseOutput(m *Message) (any, error) { + return j.parseJSON(m.Text()) +} + +// ParseChunk processes a streaming chunk and returns parsed output. +func (j *jsonHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { + if chunk.Index != j.currentIndex { + j.accumulatedText = "" + j.currentIndex = chunk.Index + } + + for _, part := range chunk.Content { + if part.IsText() { + j.accumulatedText += part.Text } + } - var nonTextParts []*Part - accumulatedText := strings.Builder{} + return j.parseJSON(j.accumulatedText) +} - for _, part := range m.Content { - if !part.IsText() { - nonTextParts = append(nonTextParts, part) - } else { - accumulatedText.WriteString(part.Text) - } +// ParseMessage parses the message and returns the formatted message. +func (j *jsonHandler) ParseMessage(m *Message) (*Message, error) { + if j.stateless { + return m, nil + } + + if m == nil { + return nil, errors.New("message is empty") + } + if len(m.Content) == 0 { + return nil, errors.New("message has no content") + } + + var nonTextParts []*Part + accumulatedText := strings.Builder{} + + for _, part := range m.Content { + if !part.IsText() { + nonTextParts = append(nonTextParts, part) + } else { + accumulatedText.WriteString(part.Text) } + } - newParts := []*Part{} - text := base.ExtractJSONFromMarkdown(accumulatedText.String()) - if text != "" { - if j.config.Schema != nil { - schemaBytes, err := json.Marshal(j.config.Schema) - if err != nil { - return nil, fmt.Errorf("expected schema is not valid: %w", err) - } - if err = base.ValidateRaw([]byte(text), schemaBytes); err != nil { - return nil, err - } - } else { - if !base.ValidJSON(text) { - return nil, errors.New("message is not a valid JSON") - } + newParts := []*Part{} + text := base.ExtractJSONFromMarkdown(accumulatedText.String()) + if text != "" { + if j.config.Schema != nil { + schemaBytes, err := json.Marshal(j.config.Schema) + if err != nil { + return nil, fmt.Errorf("expected schema is not valid: %w", err) + } + if err = base.ValidateRaw([]byte(text), schemaBytes); err != nil { + return nil, err + } + } else { + if !base.ValidJSON(text) { + return nil, errors.New("message is not a valid JSON") } - newParts = append(newParts, NewJSONPart(text)) } + newParts = append(newParts, NewJSONPart(text)) + } - newParts = append(newParts, nonTextParts...) + newParts = append(newParts, nonTextParts...) - m.Content = newParts - } + m.Content = newParts return m, nil } + +// parseJSON is the shared parsing logic used by both ParseOutput and ParseChunk. +func (j *jsonHandler) parseJSON(text string) (any, error) { + if text == "" { + return nil, nil + } + + extracted := base.ExtractJSONFromMarkdown(text) + if extracted == "" { + return nil, nil + } + + result, err := base.ExtractJSON(extracted) + if err != nil { + return nil, nil + } + + return result, nil +} diff --git a/go/ai/format_jsonl.go b/go/ai/format_jsonl.go index f45c180129..3aceb6891f 100644 --- a/go/ai/format_jsonl.go +++ b/go/ai/format_jsonl.go @@ -23,10 +23,15 @@ import ( "github.com/firebase/genkit/go/internal/base" ) -type jsonlFormatter struct{} +type jsonlFormatter struct { + stateless bool +} // Name returns the name of the formatter. func (j jsonlFormatter) Name() string { + if j.stateless { + return OutputFormatJSONLV2 + } return OutputFormatJSONL } @@ -43,10 +48,16 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be JSONL format, a sequence of JSON objects (one per line) separated by a newline '\\n' character. Each line should be a JSON object conforming to the following schema:\n\n```%s```", string(jsonBytes)) + format := OutputFormatJSONL + if j.stateless { + format = OutputFormatJSONLV2 + } + handler := &jsonlHandler{ + stateless: j.stateless, instructions: instructions, config: ModelOutputConfig{ - Format: OutputFormatJSONL, + Format: format, Schema: schema, ContentType: "application/jsonl", }, @@ -56,60 +67,120 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type jsonlHandler struct { - instructions string - config ModelOutputConfig + stateless bool + instructions string + config ModelOutputConfig + accumulatedText string + currentIndex int } // Instructions returns the instructions for the formatter. -func (j jsonlHandler) Instructions() string { +func (j *jsonlHandler) Instructions() string { return j.instructions } // Config returns the output config for the formatter. -func (j jsonlHandler) Config() ModelOutputConfig { +func (j *jsonlHandler) Config() ModelOutputConfig { return j.config } -// ParseMessage parses the message and returns the formatted message. -func (j jsonlHandler) ParseMessage(m *Message) (*Message, error) { - if j.config.Format == OutputFormatJSONL { - if m == nil { - return nil, errors.New("message is empty") +// parseJSONL is the shared parsing logic used by both ParseOutput and ParseChunk. +func (j *jsonlHandler) parseJSONL(text string, allowPartial bool) []any { + if text == "" { + return []any{} + } + + results := []any{} + lines := strings.Split(text, "\n") + + for i, line := range lines { + trimmed := strings.TrimSpace(line) + isLastLine := i == len(lines)-1 + + if strings.HasPrefix(trimmed, "{") { + var result any + err := json.Unmarshal([]byte(trimmed), &result) + if err != nil { + if allowPartial && isLastLine { + partialResult, partialErr := base.ParsePartialJSON(trimmed) + if partialErr == nil && partialResult != nil { + results = append(results, partialResult) + } + } + continue + } + if result != nil { + results = append(results, result) + } } - if len(m.Content) == 0 { - return nil, errors.New("message has no content") + } + + return results +} + +// ParseOutput parses the final message and returns the parsed array of objects. +func (j *jsonlHandler) ParseOutput(m *Message) (any, error) { + return j.parseJSONL(m.Text(), false), nil +} + +// ParseChunk processes a streaming chunk and returns parsed output. +func (j *jsonlHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { + if chunk.Index != j.currentIndex { + j.accumulatedText = "" + j.currentIndex = chunk.Index + } + + for _, part := range chunk.Content { + if part.IsText() { + j.accumulatedText += part.Text } + } - var nonTextParts []*Part - accumulatedText := strings.Builder{} + return j.parseJSONL(j.accumulatedText, true), nil +} - for _, part := range m.Content { - if !part.IsText() { - nonTextParts = append(nonTextParts, part) - } else { - accumulatedText.WriteString(part.Text) - } +// ParseMessage parses the message and returns the formatted message. +func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { + if j.stateless { + return m, nil + } + + if m == nil { + return nil, errors.New("message is empty") + } + if len(m.Content) == 0 { + return nil, errors.New("message has no content") + } + + var nonTextParts []*Part + accumulatedText := strings.Builder{} + + for _, part := range m.Content { + if !part.IsText() { + nonTextParts = append(nonTextParts, part) + } else { + accumulatedText.WriteString(part.Text) } + } - var newParts []*Part - lines := base.GetJSONObjectLines(accumulatedText.String()) - for _, line := range lines { - if j.config.Schema != nil { - var schemaBytes []byte - schemaBytes, err := json.Marshal(j.config.Schema["items"]) - if err != nil { - return nil, fmt.Errorf("expected schema is not valid: %w", err) - } - if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { - return nil, err - } + var newParts []*Part + lines := base.GetJSONObjectLines(accumulatedText.String()) + for _, line := range lines { + if j.config.Schema != nil { + var schemaBytes []byte + schemaBytes, err := json.Marshal(j.config.Schema["items"]) + if err != nil { + return nil, fmt.Errorf("expected schema is not valid: %w", err) + } + if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { + return nil, err } - - newParts = append(newParts, NewJSONPart(line)) } - m.Content = append(newParts, nonTextParts...) + newParts = append(newParts, NewJSONPart(line)) } + m.Content = append(newParts, nonTextParts...) + return m, nil } diff --git a/go/ai/format_text.go b/go/ai/format_text.go index b9b85d9b8a..2ca3fefb6f 100644 --- a/go/ai/format_text.go +++ b/go/ai/format_text.go @@ -33,21 +33,44 @@ func (t textFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type textHandler struct { - instructions string - config ModelOutputConfig + instructions string + config ModelOutputConfig + accumulatedText string + currentIndex int } // Config returns the output config for the formatter. -func (t textHandler) Config() ModelOutputConfig { +func (t *textHandler) Config() ModelOutputConfig { return t.config } // Instructions returns the instructions for the formatter. -func (t textHandler) Instructions() string { +func (t *textHandler) Instructions() string { return t.instructions } +// ParseOutput parses the final message and returns the text content. +func (t *textHandler) ParseOutput(m *Message) (any, error) { + return m.Text(), nil +} + +// ParseChunk processes a streaming chunk and returns parsed output. +func (t *textHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { + if chunk.Index != t.currentIndex { + t.accumulatedText = "" + t.currentIndex = chunk.Index + } + + for _, part := range chunk.Content { + if part.IsText() { + t.accumulatedText += part.Text + } + } + + return t.accumulatedText, nil +} + // ParseMessage parses the message and returns the formatted message. -func (t textHandler) ParseMessage(m *Message) (*Message, error) { +func (t *textHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } diff --git a/go/ai/formatter.go b/go/ai/formatter.go index 8bf2a8fb18..07232ec932 100644 --- a/go/ai/formatter.go +++ b/go/ai/formatter.go @@ -21,20 +21,26 @@ import ( ) const ( - OutputFormatText string = "text" - OutputFormatJSON string = "json" - OutputFormatJSONL string = "jsonl" - OutputFormatMedia string = "media" - OutputFormatArray string = "array" - OutputFormatEnum string = "enum" + OutputFormatText string = "text" + OutputFormatJSON string = "json" + OutputFormatJSONV2 string = "json.v2" + OutputFormatJSONL string = "jsonl" + OutputFormatJSONLV2 string = "jsonl.v2" + OutputFormatMedia string = "media" + OutputFormatArray string = "array" + OutputFormatArrayV2 string = "array.v2" + OutputFormatEnum string = "enum" ) // Default formats get automatically registered on registry init var DEFAULT_FORMATS = []Formatter{ + textFormatter{}, jsonFormatter{}, + jsonFormatter{stateless: true}, jsonlFormatter{}, - textFormatter{}, + jsonlFormatter{stateless: true}, arrayFormatter{}, + arrayFormatter{stateless: true}, enumFormatter{}, } @@ -46,9 +52,12 @@ type Formatter interface { Handler(schema map[string]any) (FormatHandler, error) } -// FormatHandler represents the handler part of the Formatter interface. +// FormatHandler is a handler for formatting messages. +// A new instance is created via Formatter.Handler() for each request. type FormatHandler interface { // ParseMessage parses the message and returns a new formatted message. + // + // Legacy: New format handlers should implement this as a passthrough and implement [StreamingFormatHandler] instead. ParseMessage(message *Message) (*Message, error) // Instructions returns the formatter instructions to embed in the prompt. Instructions() string @@ -56,6 +65,17 @@ type FormatHandler interface { Config() ModelOutputConfig } +// StreamingFormatHandler is a handler for formatting messages that supports streaming. +// This interface must be implemented to be able to use [ModelResponse.Output] and [ModelResponseChunk.Output]. +type StreamingFormatHandler interface { + // ParseOutput parses the final output and returns parsed output. + ParseOutput(message *Message) (any, error) + // ParseChunk processes a streaming chunk and returns parsed output. + // The handler maintains its own internal state. When the chunk's index changes, the state is reset for the new turn. + // Returns parsed output, or nil if nothing can be parsed yet. + ParseChunk(chunk *ModelResponseChunk) (any, error) +} + // ConfigureFormats registers default formats in the registry func ConfigureFormats(reg api.Registry) { for _, format := range DEFAULT_FORMATS { diff --git a/go/ai/formatter_test.go b/go/ai/formatter_test.go index 1b55f1bad7..8a96c0b0b4 100644 --- a/go/ai/formatter_test.go +++ b/go/ai/formatter_test.go @@ -1518,3 +1518,349 @@ func TestEnumParserStreaming(t *testing.T) { }) } } + +func TestJSONFormatterProcessChunk(t *testing.T) { + tests := []struct { + name string + text string + want any + wantNil bool + }{ + { + name: "complete JSON", + text: `{"name": "John", "age": 30}`, + want: map[string]any{"name": "John", "age": float64(30)}, + }, + { + name: "partial JSON", + text: `{"name": "John", "age": 3`, + want: map[string]any{"name": "John", "age": float64(3)}, + }, + { + name: "JSON in markdown", + text: "```json\n{\"name\": \"Jane\"}\n```", + want: map[string]any{"name": "Jane"}, + }, + { + name: "empty text", + text: "", + wantNil: true, + }, + { + name: "incremental chunks simulated", + text: `{"name": "John", "age": 30}`, + want: map[string]any{"name": "John", "age": float64(30)}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + handler, err := jsonFormatter{}.Handler(map[string]any{"type": "object"}) + if err != nil { + t.Fatal(err) + } + + sfh, ok := handler.(StreamingFormatHandler) + if !ok { + t.Fatal("handler does not implement StreamingFormatHandler") + } + + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(tt.text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Errorf("ProcessChunk() error = %v", err) + return + } + if tt.wantNil { + if got != nil { + t.Errorf("ProcessChunk() = %v, want nil", got) + } + return + } + if diff := cmp.Diff(tt.want, got); diff != "" { + t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) + } + }) + } +} + +func TestJSONLFormatterProcessChunk(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + }, + } + + tests := []struct { + name string + text string + want []any + wantNil bool + }{ + { + name: "two complete lines", + text: "{\"name\": \"John\"}\n{\"name\": \"Jane\"}", + want: []any{ + map[string]any{"name": "John"}, + map[string]any{"name": "Jane"}, + }, + }, + { + name: "one complete, one partial", + text: "{\"name\": \"John\"}\n{\"name\": \"J", + want: []any{ + map[string]any{"name": "John"}, + map[string]any{"name": "J"}, + }, + }, + { + name: "incremental chunks simulated", + text: "{\"name\": \"John\"}\n{\"name\": \"Jane\"}", + want: []any{ + map[string]any{"name": "John"}, + map[string]any{"name": "Jane"}, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + handler, err := jsonlFormatter{}.Handler(schema) + if err != nil { + t.Fatal(err) + } + + sfh, ok := handler.(StreamingFormatHandler) + if !ok { + t.Fatal("handler does not implement StreamingFormatHandler") + } + + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(tt.text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Errorf("ProcessChunk() error = %v", err) + return + } + if tt.wantNil { + if got != nil { + t.Errorf("ProcessChunk() = %v, want nil", got) + } + return + } + if diff := cmp.Diff(tt.want, got); diff != "" { + t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) + } + }) + } +} + +func TestArrayFormatterProcessChunk(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + }, + } + + tests := []struct { + name string + text string + want []any + wantNil bool + }{ + { + name: "complete array", + text: `[{"name": "John"}, {"name": "Jane"}]`, + want: []any{ + map[string]any{"name": "John"}, + map[string]any{"name": "Jane"}, + }, + }, + { + name: "partial array", + text: `[{"name": "John"}, {"name": "J`, + want: []any{ + map[string]any{"name": "John"}, + }, + }, + { + name: "incremental chunks simulated", + text: `[{"name": "John"}, {"name": "Jane"}]`, + want: []any{ + map[string]any{"name": "John"}, + map[string]any{"name": "Jane"}, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + handler, err := arrayFormatter{}.Handler(schema) + if err != nil { + t.Fatal(err) + } + + sfh, ok := handler.(StreamingFormatHandler) + if !ok { + t.Fatal("handler does not implement StreamingFormatHandler") + } + + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(tt.text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Errorf("ProcessChunk() error = %v", err) + return + } + if tt.wantNil { + if got != nil { + t.Errorf("ProcessChunk() = %v, want nil", got) + } + return + } + + gotSlice, ok := got.([]any) + if !ok { + t.Errorf("ProcessChunk() returned %T, want []any", got) + return + } + + if diff := cmp.Diff(tt.want, gotSlice); diff != "" { + t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) + } + }) + } +} + +func TestTextFormatterProcessChunk(t *testing.T) { + tests := []struct { + name string + text string + want string + }{ + { + name: "simple text", + text: "Hello, world!", + want: "Hello, world!", + }, + { + name: "incremental text simulated", + text: "Hello, world!", + want: "Hello, world!", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + handler, err := textFormatter{}.Handler(nil) + if err != nil { + t.Fatal(err) + } + + sfh, ok := handler.(StreamingFormatHandler) + if !ok { + t.Fatal("handler does not implement StreamingFormatHandler") + } + + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(tt.text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Errorf("ProcessChunk() error = %v", err) + return + } + if got != tt.want { + t.Errorf("ProcessChunk() = %v, want %v", got, tt.want) + } + }) + } +} + +func TestEnumFormatterProcessChunk(t *testing.T) { + schema := map[string]any{ + "type": "object", + "properties": map[string]any{ + "value": map[string]any{ + "type": "string", + "enum": []any{"option1", "option2", "option3"}, + }, + }, + } + + tests := []struct { + name string + text string + want string + wantNil bool + }{ + { + name: "valid enum", + text: "option1", + want: "option1", + }, + { + name: "valid enum with quotes", + text: "\"option2\"", + want: "option2", + }, + { + name: "invalid enum", + text: "invalid", + wantNil: true, + }, + { + name: "partial match", + text: "opt", + wantNil: true, + }, + { + name: "incremental chunks simulated", + text: "option1", + want: "option1", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + handler, err := enumFormatter{}.Handler(schema) + if err != nil { + t.Fatal(err) + } + + sfh, ok := handler.(StreamingFormatHandler) + if !ok { + t.Fatal("handler does not implement StreamingFormatHandler") + } + + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(tt.text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Errorf("ProcessChunk() error = %v", err) + return + } + if tt.wantNil { + if got != nil { + t.Errorf("ProcessChunk() = %v, want nil", got) + } + return + } + if got != tt.want { + t.Errorf("ProcessChunk() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/go/ai/gen.go b/go/ai/gen.go index 5d24d51bf0..0aba7f4ca9 100644 --- a/go/ai/gen.go +++ b/go/ai/gen.go @@ -262,17 +262,19 @@ type ModelResponse struct { // Request is the [ModelRequest] struct used to trigger this response. Request *ModelRequest `json:"request,omitempty"` // Usage describes how many resources were used by this generation request. - Usage *GenerationUsage `json:"usage,omitempty"` + Usage *GenerationUsage `json:"usage,omitempty"` + formatHandler StreamingFormatHandler } // A ModelResponseChunk is the portion of the [ModelResponse] // that is passed to a streaming callback. type ModelResponseChunk struct { - Aggregated bool `json:"aggregated,omitempty"` - Content []*Part `json:"content,omitempty"` - Custom any `json:"custom,omitempty"` - Index int `json:"index,omitempty"` - Role Role `json:"role,omitempty"` + Aggregated bool `json:"aggregated,omitempty"` + Content []*Part `json:"content,omitempty"` + Custom any `json:"custom,omitempty"` + Index int `json:"index,omitempty"` + Role Role `json:"role,omitempty"` + formatHandler StreamingFormatHandler } // OutputConfig describes the structure that the model's output diff --git a/go/ai/generate.go b/go/ai/generate.go index fe8470d301..27136a7d95 100644 --- a/go/ai/generate.go +++ b/go/ai/generate.go @@ -334,6 +334,11 @@ func GenerateWithRequest(ctx context.Context, r api.Registry, opts *GenerateActi currentRole := RoleModel currentIndex := messageIndex + var streamingHandler StreamingFormatHandler + if sfh, ok := formatHandler.(StreamingFormatHandler); ok { + streamingHandler = sfh + } + if cb != nil { wrappedCb = func(ctx context.Context, chunk *ModelResponseChunk) error { if chunk.Role != currentRole && chunk.Role != "" { @@ -344,6 +349,7 @@ func GenerateWithRequest(ctx context.Context, r api.Registry, opts *GenerateActi if chunk.Role == "" { chunk.Role = RoleModel } + chunk.formatHandler = streamingHandler return cb(ctx, chunk) } } @@ -354,6 +360,7 @@ func GenerateWithRequest(ctx context.Context, r api.Registry, opts *GenerateActi } if formatHandler != nil { + resp.formatHandler = streamingHandler resp.Message, err = formatHandler.ParseMessage(resp.Message) if err != nil { logger.FromContext(ctx).Debug("model failed to generate output matching expected schema", "error", err.Error()) @@ -526,7 +533,6 @@ func GenerateText(ctx context.Context, r api.Registry, opts ...GenerateOption) ( } // Generate run generate request for this model. Returns ModelResponse struct. -// TODO: Stream GenerateData with partial JSON func GenerateData[Out any](ctx context.Context, r api.Registry, opts ...GenerateOption) (*Out, *ModelResponse, error) { var value Out opts = append(opts, WithOutputType(value)) @@ -758,14 +764,29 @@ func (mr *ModelResponse) Reasoning() string { return sb.String() } -// Output unmarshals structured JSON output into the provided -// struct pointer. +// Output parses the structured output from the response and unmarshals it into v. +// If a format handler is set, it uses the handler's ParseOutput method. +// Otherwise, it falls back to parsing the response text as JSON. func (mr *ModelResponse) Output(v any) error { - j := base.ExtractJSONFromMarkdown(mr.Text()) - if j == "" { - return errors.New("unable to parse JSON from response text") + if mr.Message == nil || len(mr.Message.Content) == 0 { + return errors.New("no content in response") + } + + if mr.formatHandler != nil { + output, err := mr.formatHandler.ParseOutput(mr.Message) + if err != nil { + return err + } + + b, err := json.Marshal(output) + if err != nil { + return fmt.Errorf("failed to marshal output: %w", err) + } + return json.Unmarshal(b, v) } - return json.Unmarshal([]byte(j), v) + + // For backward compatibility, extract JSON from the response text. + return json.Unmarshal([]byte(base.ExtractJSONFromMarkdown(mr.Message.Text())), v) } // ToolRequests returns the tool requests from the response. @@ -809,9 +830,9 @@ func (mr *ModelResponse) Media() string { return "" } -// Text returns the text content of the [ModelResponseChunk] -// as a string. It returns an error if there is no Content -// in the response chunk. +// Text returns the text content of the ModelResponseChunk as a string. +// It returns an empty string if there is no Content in the response chunk. +// For the parsed structured output, use [ModelResponseChunk.Output] instead. func (c *ModelResponseChunk) Text() string { if len(c.Content) == 0 { return "" @@ -828,6 +849,40 @@ func (c *ModelResponseChunk) Text() string { return sb.String() } +// Output parses the chunk using the format handler and unmarshals the result into v. +// Returns an error if the format handler is not set or does not support parsing chunks. +func (c *ModelResponseChunk) Output(v any) error { + if c.formatHandler == nil { + return errors.New("output format chosen does not support parsing chunks") + } + + output, err := c.formatHandler.ParseChunk(c) + if err != nil { + return err + } + + b, err := json.Marshal(output) + if err != nil { + return fmt.Errorf("failed to marshal chunk output: %w", err) + } + return json.Unmarshal(b, v) +} + +// outputer is an interface for types that can unmarshal structured output. +type outputer interface { + Output(v any) error +} + +// OutputFrom is a convenience function that parses structured output from a +// [ModelResponse] or [ModelResponseChunk] and returns it as a typed value. +// This is equivalent to calling Output() but returns the value directly instead +// of requiring a pointer argument. +func OutputFrom[T any](src outputer) (T, error) { + var v T + err := src.Output(&v) + return v, err +} + // Text returns the contents of a [Message] as a string. It // returns an empty string if the message has no content. // If you want to get reasoning from the message, use Reasoning() instead. diff --git a/go/ai/generate_test.go b/go/ai/generate_test.go index 95299f1852..1996fdb7fb 100644 --- a/go/ai/generate_test.go +++ b/go/ai/generate_test.go @@ -1269,3 +1269,235 @@ func TestResourceProcessingError(t *testing.T) { t.Fatalf("wrong error: %v", err) } } + +func TestModelResponseOutput(t *testing.T) { + t.Run("single JSON part (json format)", func(t *testing.T) { + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewJSONPart(`{"name":"Alice","age":30}`), + }, + }, + } + + var result struct { + Name string `json:"name"` + Age int `json:"age"` + } + err := mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if result.Name != "Alice" || result.Age != 30 { + t.Errorf("Output() = %+v, want {Alice 30}", result) + } + }) + + t.Run("JSON array without format handler", func(t *testing.T) { + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart(`[{"id":1},{"id":2},{"id":3}]`), + }, + }, + } + + var result []struct { + ID int `json:"id"` + } + err := mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if len(result) != 3 { + t.Fatalf("Output() got %d items, want 3", len(result)) + } + for i, item := range result { + if item.ID != i+1 { + t.Errorf("Output()[%d].ID = %d, want %d", i, item.ID, i+1) + } + } + }) + + t.Run("plain JSON text without format handler", func(t *testing.T) { + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart(`{"value":42}`), + }, + }, + } + + var result struct { + Value int `json:"value"` + } + err := mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if result.Value != 42 { + t.Errorf("Output().Value = %d, want 42", result.Value) + } + }) + + t.Run("no content error", func(t *testing.T) { + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{}, + }, + } + + var result any + err := mr.Output(&result) + if err == nil { + t.Error("Output() expected error for empty content") + } + }) + + t.Run("nil message error", func(t *testing.T) { + mr := &ModelResponse{ + Message: nil, + } + + var result any + err := mr.Output(&result) + if err == nil { + t.Error("Output() expected error for nil message") + } + }) + + t.Run("no JSON found error", func(t *testing.T) { + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart("Just plain text with no JSON"), + }, + }, + } + + var result any + err := mr.Output(&result) + if err == nil { + t.Error("Output() expected error when no JSON found") + } + }) + + t.Run("format-aware: jsonl format with handler", func(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + "properties": map[string]any{ + "line": map[string]any{"type": "integer"}, + }, + }, + } + formatter := jsonlFormatter{} + handler, err := formatter.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } + streamingHandler := handler.(StreamingFormatHandler) + + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart("{\"line\":1}\n{\"line\":2}"), + }, + }, + formatHandler: streamingHandler, + } + + var result []struct { + Line int `json:"line"` + } + err = mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if len(result) != 2 || result[0].Line != 1 || result[1].Line != 2 { + t.Errorf("Output() = %+v, want [{1} {2}]", result) + } + }) + + t.Run("format-aware: array format with handler", func(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + "properties": map[string]any{ + "item": map[string]any{"type": "string"}, + }, + }, + } + formatter := arrayFormatter{} + handler, err := formatter.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } + streamingHandler := handler.(StreamingFormatHandler) + + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart(`[{"item":"a"},{"item":"b"}]`), + }, + }, + formatHandler: streamingHandler, + } + + var result []struct { + Item string `json:"item"` + } + err = mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if len(result) != 2 || result[0].Item != "a" || result[1].Item != "b" { + t.Errorf("Output() = %+v, want [{a} {b}]", result) + } + }) + + t.Run("format-aware: json format with handler", func(t *testing.T) { + schema := map[string]any{ + "type": "object", + "properties": map[string]any{ + "key": map[string]any{"type": "string"}, + }, + } + formatter := jsonFormatter{} + handler, err := formatter.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } + streamingHandler := handler.(StreamingFormatHandler) + + mr := &ModelResponse{ + Message: &Message{ + Role: RoleModel, + Content: []*Part{ + NewTextPart(`{"key":"value"}`), + }, + }, + formatHandler: streamingHandler, + } + + var result struct { + Key string `json:"key"` + } + err = mr.Output(&result) + if err != nil { + t.Fatalf("Output() error = %v", err) + } + if result.Key != "value" { + t.Errorf("Output().Key = %q, want %q", result.Key, "value") + } + }) +} diff --git a/go/core/schemas.config b/go/core/schemas.config index fba66996b5..30b3998b73 100644 --- a/go/core/schemas.config +++ b/go/core/schemas.config @@ -261,6 +261,7 @@ ModelResponse.request type *ModelRequest ModelResponse.usage type *GenerationUsage ModelResponse.raw omit ModelResponse.operation omit +ModelResponse field formatHandler StreamingFormatHandler # ModelResponseChunk ModelResponseChunk pkg ai @@ -269,6 +270,7 @@ ModelResponseChunk.content type []*Part ModelResponseChunk.custom type any ModelResponseChunk.index type int ModelResponseChunk.role type Role +ModelResponseChunk field formatHandler StreamingFormatHandler GenerationCommonConfig doc GenerationCommonConfig holds configuration for generation. diff --git a/go/internal/base/extract.go b/go/internal/base/extract.go new file mode 100644 index 0000000000..6e6917bbf0 --- /dev/null +++ b/go/internal/base/extract.go @@ -0,0 +1,253 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package base + +import ( + "encoding/json" + "strings" +) + +// ExtractJSON extracts JSON from string with lenient parsing rules. +// It handles both complete and partial JSON structures. +func ExtractJSON(text string) (any, error) { + var openingChar, closingChar rune + var startPos int = -1 + nestingCount := 0 + inString := false + escapeNext := false + + for i, char := range text { + // Replace non-breaking space with regular space + if char == '\u00A0' { + char = ' ' + } + + if escapeNext { + escapeNext = false + continue + } + + if char == '\\' { + escapeNext = true + continue + } + + if char == '"' { + inString = !inString + continue + } + + if inString { + continue + } + + if openingChar == 0 && (char == '{' || char == '[') { + // Look for opening character + openingChar = char + if char == '{' { + closingChar = '}' + } else { + closingChar = ']' + } + startPos = i + nestingCount++ + } else if char == openingChar { + // Increment nesting for matching opening character + nestingCount++ + } else if char == closingChar { + // Decrement nesting for matching closing character + nestingCount-- + if nestingCount == 0 { + // Reached end of target element + jsonStr := text[startPos : i+1] + var result any + err := json.Unmarshal([]byte(jsonStr), &result) + if err != nil { + return nil, err + } + return result, nil + } + } + } + + if startPos != -1 && nestingCount > 0 { + // If an incomplete JSON structure is detected, try to parse it partially + jsonStr := text[startPos:] + result, err := ParsePartialJSON(jsonStr) + if err != nil { + return nil, err + } + return result, nil + } + + return nil, nil +} + +// ParsePartialJSON attempts to parse incomplete JSON by completing it. +func ParsePartialJSON(jsonStr string) (any, error) { + // Try to parse as-is first + var result any + err := json.Unmarshal([]byte(jsonStr), &result) + if err == nil { + return result, nil + } + + // If it fails, try to complete the JSON structure + completed := CompleteJSON(jsonStr) + err = json.Unmarshal([]byte(completed), &result) + return result, err +} + +// CompleteJSON attempts to complete an incomplete JSON string. +func CompleteJSON(jsonStr string) string { + jsonStr = strings.TrimSpace(jsonStr) + if jsonStr == "" { + return "{}" + } + + // Count unclosed structures + var openBraces, openBrackets int + inString := false + escapeNext := false + + for _, char := range jsonStr { + if escapeNext { + escapeNext = false + continue + } + + if char == '\\' { + escapeNext = true + continue + } + + if char == '"' { + inString = !inString + continue + } + + if inString { + continue + } + + switch char { + case '{': + openBraces++ + case '}': + openBraces-- + case '[': + openBrackets++ + case ']': + openBrackets-- + } + } + + // Close any unclosed string + if inString { + jsonStr += "\"" + } + + // Remove trailing comma if present (before closing) + jsonStr = strings.TrimRight(jsonStr, " \t\n\r") + jsonStr = strings.TrimSuffix(jsonStr, ",") + + // Close open structures + for i := 0; i < openBrackets; i++ { + jsonStr += "]" + } + for i := 0; i < openBraces; i++ { + jsonStr += "}" + } + + return jsonStr +} + +// ExtractItemsResult contains the result of extracting items from an array. +type ExtractItemsResult struct { + Items []any + Cursor int +} + +// ExtractItems extracts complete objects from the first array found in the text. +// Processes text from the cursor position and returns both complete items +// and the new cursor position. +func ExtractItems(text string, cursor int) ExtractItemsResult { + items := []any{} + currentCursor := cursor + + // Find the first array start if we haven't already processed any text + if cursor == 0 { + arrayStart := strings.Index(text, "[") + if arrayStart == -1 { + return ExtractItemsResult{Items: items, Cursor: len(text)} + } + currentCursor = arrayStart + 1 + } + + objectStart := -1 + braceCount := 0 + inString := false + escapeNext := false + + // Process the text from the cursor position + for i := currentCursor; i < len(text); i++ { + char := rune(text[i]) + + if escapeNext { + escapeNext = false + continue + } + + if char == '\\' { + escapeNext = true + continue + } + + if char == '"' { + inString = !inString + continue + } + + if inString { + continue + } + + if char == '{' { + if braceCount == 0 { + objectStart = i + } + braceCount++ + } else if char == '}' { + braceCount-- + if braceCount == 0 && objectStart != -1 { + var obj any + err := json.Unmarshal([]byte(text[objectStart:i+1]), &obj) + if err == nil { + items = append(items, obj) + currentCursor = i + 1 + objectStart = -1 + } + } + } else if char == ']' && braceCount == 0 { + // End of array + break + } + } + + return ExtractItemsResult{ + Items: items, + Cursor: currentCursor, + } +} diff --git a/go/internal/base/extract_test.go b/go/internal/base/extract_test.go new file mode 100644 index 0000000000..4142f82de3 --- /dev/null +++ b/go/internal/base/extract_test.go @@ -0,0 +1,194 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package base + +import ( + "encoding/json" + "testing" + + "github.com/google/go-cmp/cmp" +) + +func TestExtractJSON(t *testing.T) { + tests := []struct { + name string + input string + want any + wantErr bool + }{ + { + name: "complete object", + input: `{"name": "John", "age": 30}`, + want: map[string]any{"name": "John", "age": float64(30)}, + }, + { + name: "complete array", + input: `[1, 2, 3]`, + want: []any{float64(1), float64(2), float64(3)}, + }, + { + name: "object with prefix text", + input: `Some text before {"name": "Jane"}`, + want: map[string]any{"name": "Jane"}, + }, + { + name: "incomplete object", + input: `{"name": "John", "age": 3`, + want: map[string]any{"name": "John", "age": float64(3)}, + }, + { + name: "incomplete object with partial string", + input: `{"name": "Jo`, + want: map[string]any{"name": "Jo"}, + }, + { + name: "incomplete nested object", + input: `{"person": {"name": "John"`, + want: map[string]any{"person": map[string]any{"name": "John"}}, + }, + { + name: "object with trailing comma", + input: `{"name": "John",`, + want: map[string]any{"name": "John"}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got, err := ExtractJSON(tt.input) + if (err != nil) != tt.wantErr { + t.Errorf("ExtractJSON() error = %v, wantErr %v", err, tt.wantErr) + return + } + if diff := cmp.Diff(tt.want, got); diff != "" { + t.Errorf("ExtractJSON() mismatch (-want +got):\n%s", diff) + } + }) + } +} + +func TestExtractItems(t *testing.T) { + tests := []struct { + name string + input string + cursor int + wantItems []any + wantCursor int + }{ + { + name: "complete array", + input: `[{"name": "John"}, {"name": "Jane"}]`, + cursor: 0, + wantItems: []any{map[string]any{"name": "John"}, map[string]any{"name": "Jane"}}, + wantCursor: 35, + }, + { + name: "partial array - first item", + input: `[{"name": "John"}`, + cursor: 0, + wantItems: []any{map[string]any{"name": "John"}}, + wantCursor: 17, + }, + { + name: "partial array - incomplete second item", + input: `[{"name": "John"}, {"name": "J`, + cursor: 0, + wantItems: []any{map[string]any{"name": "John"}}, + wantCursor: 17, + }, + { + name: "incremental parsing from cursor", + input: `[{"name": "John"}, {"name": "Jane"}]`, + cursor: 18, + wantItems: []any{map[string]any{"name": "Jane"}}, + wantCursor: 35, + }, + { + name: "array with prefix text", + input: `Some text [{"name": "John"}]`, + cursor: 0, + wantItems: []any{map[string]any{"name": "John"}}, + wantCursor: 27, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := ExtractItems(tt.input, tt.cursor) + if diff := cmp.Diff(tt.wantItems, result.Items); diff != "" { + t.Errorf("ExtractItems() items mismatch (-want +got):\n%s", diff) + } + if result.Cursor != tt.wantCursor { + t.Errorf("ExtractItems() cursor = %v, want %v", result.Cursor, tt.wantCursor) + } + }) + } +} + +func TestCompleteJSON(t *testing.T) { + tests := []struct { + name string + input string + want string + }{ + { + name: "unclosed object", + input: `{"name": "John"`, + want: `{"name": "John"}`, + }, + { + name: "unclosed array", + input: `[1, 2, 3`, + want: `[1, 2, 3]`, + }, + { + name: "unclosed string", + input: `{"name": "John`, + want: `{"name": "John"}`, + }, + { + name: "nested unclosed", + input: `{"person": {"name": "John"`, + want: `{"person": {"name": "John"}}`, + }, + { + name: "trailing comma", + input: `{"name": "John",`, + want: `{"name": "John"}`, + }, + { + name: "empty string", + input: "", + want: "{}", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + got := CompleteJSON(tt.input) + if got != tt.want { + t.Errorf("CompleteJSON() = %v, want %v", got, tt.want) + } + + // Verify result is valid JSON + var result any + err := json.Unmarshal([]byte(got), &result) + if err != nil { + t.Errorf("CompleteJSON() produced invalid JSON: %v", err) + } + }) + } +} + diff --git a/go/internal/cmd/jsonschemagen/jsonschemagen.go b/go/internal/cmd/jsonschemagen/jsonschemagen.go index 6714c0dce8..d692b40109 100644 --- a/go/internal/cmd/jsonschemagen/jsonschemagen.go +++ b/go/internal/cmd/jsonschemagen/jsonschemagen.go @@ -410,6 +410,9 @@ func (g *generator) generateStruct(name string, s *Schema, tcfg *itemConfig) err jsonTag := fmt.Sprintf(`json:"%s,omitempty"`, field) g.pr(fmt.Sprintf(" %s %s `%s`\n", adjustIdentifier(field), typeExpr, jsonTag)) } + for _, f := range tcfg.fields { + g.pr(fmt.Sprintf(" %s %s\n", f.name, f.typeExpr)) + } g.pr("}\n\n") return nil } @@ -580,6 +583,13 @@ type itemConfig struct { pkgPath string typeExpr string docLines []string + fields []extraField +} + +// extraField represents an additional unexported field to add to a struct. +type extraField struct { + name string + typeExpr string } // parseConfigFile parses the config file. @@ -602,6 +612,8 @@ type itemConfig struct { // package path, relative to outdir (last component is package name) // import // path of package to import (for packages only) +// field NAME TYPE +// add an unexported field to the struct (for types only) func parseConfigFile(filename string) (config, error) { c := config{ itemConfigs: map[string]*itemConfig{}, @@ -667,6 +679,11 @@ func parseConfigFile(filename string) (config, error) { return errf("need NAME import PATH") } ic.pkgPath = words[2] + case "field": + if len(words) < 4 { + return errf("need NAME field FIELDNAME TYPE") + } + ic.fields = append(ic.fields, extraField{name: words[2], typeExpr: words[3]}) default: return errf("unknown directive %q", words[1]) } From f445059d26d094959a9be8b80424f874a3faab02 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Sun, 7 Dec 2025 12:58:29 -0800 Subject: [PATCH 02/21] Added V2 of formatters that have legacy behavior. --- go/ai/format_array.go | 51 ++-------------------------- go/ai/format_enum.go | 20 +++++++---- go/ai/format_json.go | 9 ++--- go/ai/format_jsonl.go | 79 +++++++++++++++++++++---------------------- go/ai/formatter.go | 33 ++++++++++++------ go/ai/generate.go | 11 +++--- 6 files changed, 84 insertions(+), 119 deletions(-) diff --git a/go/ai/format_array.go b/go/ai/format_array.go index ab6c91897f..8ca9db2780 100644 --- a/go/ai/format_array.go +++ b/go/ai/format_array.go @@ -16,22 +16,15 @@ package ai import ( "encoding/json" - "errors" "fmt" - "strings" "github.com/firebase/genkit/go/internal/base" ) -type arrayFormatter struct { - stateless bool -} +type arrayFormatter struct{} // Name returns the name of the formatter. func (a arrayFormatter) Name() string { - if a.stateless { - return OutputFormatArrayV2 - } return OutputFormatArray } @@ -48,9 +41,9 @@ func (a arrayFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be a JSON array conforming to the following schema:\n\n```%s```", string(jsonBytes)) handler := &arrayHandler{ - stateless: a.stateless, instructions: instructions, config: ModelOutputConfig{ + Constrained: true, Format: OutputFormatArray, Schema: schema, ContentType: "application/json", @@ -61,7 +54,6 @@ func (a arrayFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type arrayHandler struct { - stateless bool instructions string config ModelOutputConfig accumulatedText string @@ -106,44 +98,5 @@ func (a *arrayHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { // ParseMessage parses the message and returns the formatted message. func (a *arrayHandler) ParseMessage(m *Message) (*Message, error) { - if a.stateless { - return m, nil - } - - if m == nil { - return nil, errors.New("message is empty") - } - if len(m.Content) == 0 { - return nil, errors.New("message has no content") - } - - var nonTextParts []*Part - accumulatedText := strings.Builder{} - - for _, part := range m.Content { - if !part.IsText() { - nonTextParts = append(nonTextParts, part) - } else { - accumulatedText.WriteString(part.Text) - } - } - - var newParts []*Part - lines := base.GetJSONObjectLines(accumulatedText.String()) - for _, line := range lines { - var schemaBytes []byte - schemaBytes, err := json.Marshal(a.config.Schema["items"]) - if err != nil { - return nil, fmt.Errorf("expected schema is not valid: %w", err) - } - if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { - return nil, err - } - - newParts = append(newParts, NewJSONPart(line)) - } - - m.Content = append(newParts, nonTextParts...) - return m, nil } diff --git a/go/ai/format_enum.go b/go/ai/format_enum.go index 0fa9fdf554..0d2aa390f9 100644 --- a/go/ai/format_enum.go +++ b/go/ai/format_enum.go @@ -20,6 +20,8 @@ import ( "regexp" "slices" "strings" + + "github.com/firebase/genkit/go/core" ) type enumFormatter struct{} @@ -33,7 +35,7 @@ func (e enumFormatter) Name() string { func (e enumFormatter) Handler(schema map[string]any) (FormatHandler, error) { enums := objectEnums(schema) if schema == nil || len(enums) == 0 { - return nil, fmt.Errorf("schema is not valid JSON enum") + return nil, core.NewError(core.INVALID_ARGUMENT, "schema must be an object with an 'enum' property for enum format") } instructions := fmt.Sprintf("Output should be ONLY one of the following enum values. Do not output any additional information or add quotes.\n\n```%s```", strings.Join(enums, "\n")) @@ -41,6 +43,7 @@ func (e enumFormatter) Handler(schema map[string]any) (FormatHandler, error) { handler := &enumHandler{ instructions: instructions, config: ModelOutputConfig{ + Constrained: true, Format: OutputFormatEnum, Schema: schema, ContentType: "text/enum", @@ -87,7 +90,10 @@ func (e *enumHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { } } - return e.parseEnum(e.accumulatedText) + // Ignore error since we are doing best effort parsing. + enum, _ := e.parseEnum(e.accumulatedText) + + return enum, nil } // ParseMessage parses the message and returns the formatted message. @@ -152,18 +158,18 @@ func objectEnums(schema map[string]any) []string { } // parseEnum is the shared parsing logic used by both ParseOutput and ParseChunk. -func (e *enumHandler) parseEnum(text string) (any, error) { +func (e *enumHandler) parseEnum(text string) (string, error) { if text == "" { - return nil, nil + return "", nil } re := regexp.MustCompile(`['"]`) clean := re.ReplaceAllString(text, "") trimmed := strings.TrimSpace(clean) - if slices.Contains(e.enums, trimmed) { - return trimmed, nil + if !slices.Contains(e.enums, trimmed) { + return "", fmt.Errorf("message %s not in list of valid enums: %s", trimmed, strings.Join(e.enums, ", ")) } - return nil, nil + return trimmed, nil } diff --git a/go/ai/format_json.go b/go/ai/format_json.go index 17c951c201..afbee39a00 100644 --- a/go/ai/format_json.go +++ b/go/ai/format_json.go @@ -47,16 +47,12 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions = fmt.Sprintf("Output should be in JSON format and conform to the following schema:\n\n```%s```", string(jsonBytes)) } - format := OutputFormatJSON - if j.stateless { - format = OutputFormatJSONV2 - } - handler := &jsonHandler{ stateless: j.stateless, instructions: instructions, config: ModelOutputConfig{ - Format: format, + Constrained: true, + Format: OutputFormatJSON, Schema: schema, ContentType: "application/json", }, @@ -111,6 +107,7 @@ func (j *jsonHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } + // Legacy behavior. if m == nil { return nil, errors.New("message is empty") } diff --git a/go/ai/format_jsonl.go b/go/ai/format_jsonl.go index 3aceb6891f..570701b1e6 100644 --- a/go/ai/format_jsonl.go +++ b/go/ai/format_jsonl.go @@ -20,6 +20,7 @@ import ( "fmt" "strings" + "github.com/firebase/genkit/go/core" "github.com/firebase/genkit/go/internal/base" ) @@ -38,7 +39,7 @@ func (j jsonlFormatter) Name() string { // Handler returns a new formatter handler for the given schema. func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { if schema == nil || !base.ValidateIsJSONArray(schema) { - return nil, fmt.Errorf("schema is not valid JSONL") + return nil, core.NewError(core.INVALID_ARGUMENT, "schema must be an array of objects for JSONL format") } jsonBytes, err := json.Marshal(schema["items"]) @@ -48,16 +49,11 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be JSONL format, a sequence of JSON objects (one per line) separated by a newline '\\n' character. Each line should be a JSON object conforming to the following schema:\n\n```%s```", string(jsonBytes)) - format := OutputFormatJSONL - if j.stateless { - format = OutputFormatJSONLV2 - } - handler := &jsonlHandler{ stateless: j.stateless, instructions: instructions, config: ModelOutputConfig{ - Format: format, + Format: OutputFormatJSONL, Schema: schema, ContentType: "application/jsonl", }, @@ -84,40 +80,6 @@ func (j *jsonlHandler) Config() ModelOutputConfig { return j.config } -// parseJSONL is the shared parsing logic used by both ParseOutput and ParseChunk. -func (j *jsonlHandler) parseJSONL(text string, allowPartial bool) []any { - if text == "" { - return []any{} - } - - results := []any{} - lines := strings.Split(text, "\n") - - for i, line := range lines { - trimmed := strings.TrimSpace(line) - isLastLine := i == len(lines)-1 - - if strings.HasPrefix(trimmed, "{") { - var result any - err := json.Unmarshal([]byte(trimmed), &result) - if err != nil { - if allowPartial && isLastLine { - partialResult, partialErr := base.ParsePartialJSON(trimmed) - if partialErr == nil && partialResult != nil { - results = append(results, partialResult) - } - } - continue - } - if result != nil { - results = append(results, result) - } - } - } - - return results -} - // ParseOutput parses the final message and returns the parsed array of objects. func (j *jsonlHandler) ParseOutput(m *Message) (any, error) { return j.parseJSONL(m.Text(), false), nil @@ -145,6 +107,7 @@ func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } + // Legacy behavior. if m == nil { return nil, errors.New("message is empty") } @@ -184,3 +147,37 @@ func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } + +// parseJSONL is the shared parsing logic used by both ParseOutput and ParseChunk. +func (j *jsonlHandler) parseJSONL(text string, allowPartial bool) []any { + if text == "" { + return []any{} + } + + results := []any{} + lines := strings.Split(text, "\n") + + for i, line := range lines { + trimmed := strings.TrimSpace(line) + isLastLine := i == len(lines)-1 + + if strings.HasPrefix(trimmed, "{") { + var result any + err := json.Unmarshal([]byte(trimmed), &result) + if err != nil { + if allowPartial && isLastLine { + partialResult, partialErr := base.ParsePartialJSON(trimmed) + if partialErr == nil && partialResult != nil { + results = append(results, partialResult) + } + } + continue + } + if result != nil { + results = append(results, result) + } + } + } + + return results +} diff --git a/go/ai/formatter.go b/go/ai/formatter.go index 07232ec932..affb5deffb 100644 --- a/go/ai/formatter.go +++ b/go/ai/formatter.go @@ -21,15 +21,27 @@ import ( ) const ( - OutputFormatText string = "text" - OutputFormatJSON string = "json" - OutputFormatJSONV2 string = "json.v2" - OutputFormatJSONL string = "jsonl" + // OutputFormatText is the default format. + OutputFormatText string = "text" + // OutputFormatJSON is the legacy format for JSON content. It modifies the message content in place by stripping out non-JSON content. + // + // Deprecated: Use OutputFormatJSONV2 instead. + OutputFormatJSON string = "json" + // OutputFormatJSONV2 is the format for JSON content. + OutputFormatJSONV2 string = "json.v2" + // OutputFormatJSONL is the legacy format for JSONL content. It modifies the message content in place by splitting out a single text part into multiple JSON parts, one per JSON object line. + // It does not support [ModelResponse.Output] to an array; each JSON part must be unmarshaled manually. + // + // Deprecated: Use OutputFormatJSONLV2 instead. + OutputFormatJSONL string = "jsonl" + // OutputFormatJSONLV2 is the format for JSONL content. OutputFormatJSONLV2 string = "jsonl.v2" - OutputFormatMedia string = "media" - OutputFormatArray string = "array" - OutputFormatArrayV2 string = "array.v2" - OutputFormatEnum string = "enum" + // OutputFormatMedia is the format for media content. + OutputFormatMedia string = "media" + // OutputFormatArray is the format for array content. + OutputFormatArray string = "array" + // OutputFormatEnum is the format for enum content. + OutputFormatEnum string = "enum" ) // Default formats get automatically registered on registry init @@ -40,7 +52,6 @@ var DEFAULT_FORMATS = []Formatter{ jsonlFormatter{}, jsonlFormatter{stateless: true}, arrayFormatter{}, - arrayFormatter{stateless: true}, enumFormatter{}, } @@ -53,11 +64,11 @@ type Formatter interface { } // FormatHandler is a handler for formatting messages. -// A new instance is created via Formatter.Handler() for each request. +// A new instance is created via [Formatter.Handler] for each request. type FormatHandler interface { // ParseMessage parses the message and returns a new formatted message. // - // Legacy: New format handlers should implement this as a passthrough and implement [StreamingFormatHandler] instead. + // Legacy: New format handlers should implement this as a no-op passthrough and implement [StreamingFormatHandler] instead. ParseMessage(message *Message) (*Message, error) // Instructions returns the formatter instructions to embed in the prompt. Instructions() string diff --git a/go/ai/generate.go b/go/ai/generate.go index 27136a7d95..4db116eaa6 100644 --- a/go/ai/generate.go +++ b/go/ai/generate.go @@ -288,7 +288,7 @@ func GenerateWithRequest(ctx context.Context, r api.Registry, opts *GenerateActi // Native constrained output is enabled only when the user has // requested it, the model supports it, and there's a JSON schema. outputCfg.Constrained = opts.Output.JsonSchema != nil && - opts.Output.Constrained && m.(*model).supportsConstrained(len(toolDefs) > 0) + opts.Output.Constrained && outputCfg.Constrained && m.(*model).supportsConstrained(len(toolDefs) > 0) // Add schema instructions to prompt when not using native constraints. // This is a no-op for unstructured output requests. @@ -361,6 +361,7 @@ func GenerateWithRequest(ctx context.Context, r api.Registry, opts *GenerateActi if formatHandler != nil { resp.formatHandler = streamingHandler + // This is legacy behavior. New format handlers should implement ParseMessage as a passthrough. resp.Message, err = formatHandler.ParseMessage(resp.Message) if err != nil { logger.FromContext(ctx).Debug("model failed to generate output matching expected schema", "error", err.Error()) @@ -876,11 +877,11 @@ type outputer interface { // OutputFrom is a convenience function that parses structured output from a // [ModelResponse] or [ModelResponseChunk] and returns it as a typed value. // This is equivalent to calling Output() but returns the value directly instead -// of requiring a pointer argument. -func OutputFrom[T any](src outputer) (T, error) { +// of requiring a pointer argument. If you need to handle the error, use Output() instead. +func OutputFrom[T any](src outputer) T { var v T - err := src.Output(&v) - return v, err + src.Output(&v) + return v } // Text returns the contents of a [Message] as a string. It From 6dc77f14bfae320995cafb5fba1a015d09a86e0c Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Sun, 7 Dec 2025 14:08:28 -0800 Subject: [PATCH 03/21] Added back backward compatibility for JSONL. --- go/ai/format_json.go | 24 +++++++++---- go/ai/format_jsonl.go | 80 +++++++++++++++++++++++++++++++++++-------- go/ai/formatter.go | 4 +-- 3 files changed, 85 insertions(+), 23 deletions(-) diff --git a/go/ai/format_json.go b/go/ai/format_json.go index afbee39a00..b3f60c2635 100644 --- a/go/ai/format_json.go +++ b/go/ai/format_json.go @@ -24,12 +24,13 @@ import ( ) type jsonFormatter struct { - stateless bool + // v2 does not implement ParseMessage. + v2 bool } // Name returns the name of the formatter. func (j jsonFormatter) Name() string { - if j.stateless { + if j.v2 { return OutputFormatJSONV2 } return OutputFormatJSON @@ -48,7 +49,7 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { } handler := &jsonHandler{ - stateless: j.stateless, + v2: j.v2, instructions: instructions, config: ModelOutputConfig{ Constrained: true, @@ -63,7 +64,7 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { // jsonHandler is a handler for the JSON formatter. type jsonHandler struct { - stateless bool + v2 bool instructions string config ModelOutputConfig accumulatedText string @@ -82,7 +83,18 @@ func (j *jsonHandler) Config() ModelOutputConfig { // ParseOutput parses the final message and returns the parsed JSON value. func (j *jsonHandler) ParseOutput(m *Message) (any, error) { - return j.parseJSON(m.Text()) + result, err := j.parseJSON(m.Text()) + if err != nil { + return nil, err + } + + if j.config.Schema != nil { + if err := base.ValidateValue(result, j.config.Schema); err != nil { + return nil, err + } + } + + return result, nil } // ParseChunk processes a streaming chunk and returns parsed output. @@ -103,7 +115,7 @@ func (j *jsonHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { // ParseMessage parses the message and returns the formatted message. func (j *jsonHandler) ParseMessage(m *Message) (*Message, error) { - if j.stateless { + if j.v2 { return m, nil } diff --git a/go/ai/format_jsonl.go b/go/ai/format_jsonl.go index 570701b1e6..032b7d90f7 100644 --- a/go/ai/format_jsonl.go +++ b/go/ai/format_jsonl.go @@ -25,12 +25,13 @@ import ( ) type jsonlFormatter struct { - stateless bool + // v2 does not implement ParseMessage. + v2 bool } // Name returns the name of the formatter. func (j jsonlFormatter) Name() string { - if j.stateless { + if j.v2 { return OutputFormatJSONLV2 } return OutputFormatJSONL @@ -50,7 +51,7 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be JSONL format, a sequence of JSON objects (one per line) separated by a newline '\\n' character. Each line should be a JSON object conforming to the following schema:\n\n```%s```", string(jsonBytes)) handler := &jsonlHandler{ - stateless: j.stateless, + v2: j.v2, instructions: instructions, config: ModelOutputConfig{ Format: OutputFormatJSONL, @@ -63,11 +64,12 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type jsonlHandler struct { - stateless bool + v2 bool instructions string config ModelOutputConfig accumulatedText string currentIndex int + cursor int } // Instructions returns the instructions for the formatter. @@ -82,7 +84,39 @@ func (j *jsonlHandler) Config() ModelOutputConfig { // ParseOutput parses the final message and returns the parsed array of objects. func (j *jsonlHandler) ParseOutput(m *Message) (any, error) { - return j.parseJSONL(m.Text(), false), nil + // Handle legacy behavior where ParseMessage split out content into multiple JSON parts. + var jsonParts []string + for _, part := range m.Content { + if part.IsText() && part.ContentType == "application/json" { + jsonParts = append(jsonParts, part.Text) + } + } + + var text string + if len(jsonParts) > 0 { + text = strings.Join(jsonParts, "\n") + } else { + var sb strings.Builder + for _, part := range m.Content { + if part.IsText() { + sb.WriteString(part.Text) + } + } + text = sb.String() + } + + result, _, err := j.parseJSONL(text, 0, false) + if err != nil { + return nil, err + } + + if j.config.Schema != nil { + if err := base.ValidateValue(result, j.config.Schema); err != nil { + return nil, err + } + } + + return result, nil } // ParseChunk processes a streaming chunk and returns parsed output. @@ -90,6 +124,7 @@ func (j *jsonlHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { if chunk.Index != j.currentIndex { j.accumulatedText = "" j.currentIndex = chunk.Index + j.cursor = 0 } for _, part := range chunk.Content { @@ -98,12 +133,17 @@ func (j *jsonlHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { } } - return j.parseJSONL(j.accumulatedText, true), nil + items, newCursor, err := j.parseJSONL(j.accumulatedText, j.cursor, true) + if err != nil { + return nil, err + } + j.cursor = newCursor + return items, nil } // ParseMessage parses the message and returns the formatted message. func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { - if j.stateless { + if j.v2 { return m, nil } @@ -148,18 +188,22 @@ func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } -// parseJSONL is the shared parsing logic used by both ParseOutput and ParseChunk. -func (j *jsonlHandler) parseJSONL(text string, allowPartial bool) []any { - if text == "" { - return []any{} +// parseJSONL parses JSONL starting from the cursor position. +// Returns the parsed items, the new cursor position, and any error. +func (j *jsonlHandler) parseJSONL(text string, cursor int, allowPartial bool) ([]any, int, error) { + if text == "" || cursor >= len(text) { + return nil, cursor, nil } results := []any{} - lines := strings.Split(text, "\n") + remaining := text[cursor:] + lines := strings.Split(remaining, "\n") + currentPos := cursor for i, line := range lines { - trimmed := strings.TrimSpace(line) isLastLine := i == len(lines)-1 + lineLen := len(line) + trimmed := strings.TrimSpace(line) if strings.HasPrefix(trimmed, "{") { var result any @@ -170,14 +214,20 @@ func (j *jsonlHandler) parseJSONL(text string, allowPartial bool) []any { if partialErr == nil && partialResult != nil { results = append(results, partialResult) } + // Don't advance cursor for partial line. + break } - continue + return nil, cursor, fmt.Errorf("invalid JSON on line %d: %w", i+1, err) } if result != nil { results = append(results, result) } } + + if !isLastLine { + currentPos += lineLen + 1 // +1 for newline + } } - return results + return results, currentPos, nil } diff --git a/go/ai/formatter.go b/go/ai/formatter.go index affb5deffb..f6d07b390a 100644 --- a/go/ai/formatter.go +++ b/go/ai/formatter.go @@ -48,9 +48,9 @@ const ( var DEFAULT_FORMATS = []Formatter{ textFormatter{}, jsonFormatter{}, - jsonFormatter{stateless: true}, + jsonFormatter{v2: true}, jsonlFormatter{}, - jsonlFormatter{stateless: true}, + jsonlFormatter{v2: true}, arrayFormatter{}, enumFormatter{}, } From f5d9f5c134555b308cf9df72e6071119e22d63f7 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Fri, 12 Dec 2025 14:35:54 -0800 Subject: [PATCH 04/21] Removed v2 formats. --- go/ai/format_enum.go | 41 +++++++++++++---- go/ai/format_json.go | 15 +------ go/ai/format_jsonl.go | 75 +++----------------------------- go/ai/formatter.go | 19 +++----- go/ai/option.go | 18 +++++++- go/plugins/googlegenai/gemini.go | 24 ++++++---- 6 files changed, 76 insertions(+), 116 deletions(-) diff --git a/go/ai/format_enum.go b/go/ai/format_enum.go index 0d2aa390f9..35540e7d4e 100644 --- a/go/ai/format_enum.go +++ b/go/ai/format_enum.go @@ -136,25 +136,48 @@ func (e *enumHandler) ParseMessage(m *Message) (*Message, error) { return m, nil } -// Get enum strings from json schema +// Get enum strings from json schema. +// Supports both top-level enum (e.g. {"type": "string", "enum": ["a", "b"]}) +// and nested property enum (e.g. {"properties": {"value": {"enum": ["a", "b"]}}}). func objectEnums(schema map[string]any) []string { - var enums []string + if enums := extractEnumStrings(schema["enum"]); len(enums) > 0 { + return enums + } if properties, ok := schema["properties"].(map[string]any); ok { for _, propValue := range properties { if propMap, ok := propValue.(map[string]any); ok { - if enumSlice, ok := propMap["enum"].([]any); ok { - for _, enumVal := range enumSlice { - if enumStr, ok := enumVal.(string); ok { - enums = append(enums, enumStr) - } - } + if enums := extractEnumStrings(propMap["enum"]); len(enums) > 0 { + return enums } } } } - return enums + return nil +} + +// Extracts string values from an enum field, supporting both []any (from JSON) and []string (from Go code). +func extractEnumStrings(v any) []string { + if v == nil { + return nil + } + + if strs, ok := v.([]string); ok { + return strs + } + + if slice, ok := v.([]any); ok { + enums := make([]string, 0, len(slice)) + for _, val := range slice { + if s, ok := val.(string); ok { + enums = append(enums, s) + } + } + return enums + } + + return nil } // parseEnum is the shared parsing logic used by both ParseOutput and ParseChunk. diff --git a/go/ai/format_json.go b/go/ai/format_json.go index b3f60c2635..c7962d860c 100644 --- a/go/ai/format_json.go +++ b/go/ai/format_json.go @@ -23,16 +23,10 @@ import ( "github.com/firebase/genkit/go/internal/base" ) -type jsonFormatter struct { - // v2 does not implement ParseMessage. - v2 bool -} +type jsonFormatter struct{} // Name returns the name of the formatter. func (j jsonFormatter) Name() string { - if j.v2 { - return OutputFormatJSONV2 - } return OutputFormatJSON } @@ -49,7 +43,6 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { } handler := &jsonHandler{ - v2: j.v2, instructions: instructions, config: ModelOutputConfig{ Constrained: true, @@ -64,7 +57,6 @@ func (j jsonFormatter) Handler(schema map[string]any) (FormatHandler, error) { // jsonHandler is a handler for the JSON formatter. type jsonHandler struct { - v2 bool instructions string config ModelOutputConfig accumulatedText string @@ -115,11 +107,6 @@ func (j *jsonHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { // ParseMessage parses the message and returns the formatted message. func (j *jsonHandler) ParseMessage(m *Message) (*Message, error) { - if j.v2 { - return m, nil - } - - // Legacy behavior. if m == nil { return nil, errors.New("message is empty") } diff --git a/go/ai/format_jsonl.go b/go/ai/format_jsonl.go index 032b7d90f7..5e16dac353 100644 --- a/go/ai/format_jsonl.go +++ b/go/ai/format_jsonl.go @@ -16,7 +16,6 @@ package ai import ( "encoding/json" - "errors" "fmt" "strings" @@ -24,16 +23,10 @@ import ( "github.com/firebase/genkit/go/internal/base" ) -type jsonlFormatter struct { - // v2 does not implement ParseMessage. - v2 bool -} +type jsonlFormatter struct{} // Name returns the name of the formatter. func (j jsonlFormatter) Name() string { - if j.v2 { - return OutputFormatJSONLV2 - } return OutputFormatJSONL } @@ -51,7 +44,6 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { instructions := fmt.Sprintf("Output should be JSONL format, a sequence of JSON objects (one per line) separated by a newline '\\n' character. Each line should be a JSON object conforming to the following schema:\n\n```%s```", string(jsonBytes)) handler := &jsonlHandler{ - v2: j.v2, instructions: instructions, config: ModelOutputConfig{ Format: OutputFormatJSONL, @@ -64,7 +56,6 @@ func (j jsonlFormatter) Handler(schema map[string]any) (FormatHandler, error) { } type jsonlHandler struct { - v2 bool instructions string config ModelOutputConfig accumulatedText string @@ -84,28 +75,14 @@ func (j *jsonlHandler) Config() ModelOutputConfig { // ParseOutput parses the final message and returns the parsed array of objects. func (j *jsonlHandler) ParseOutput(m *Message) (any, error) { - // Handle legacy behavior where ParseMessage split out content into multiple JSON parts. - var jsonParts []string + var sb strings.Builder for _, part := range m.Content { - if part.IsText() && part.ContentType == "application/json" { - jsonParts = append(jsonParts, part.Text) - } - } - - var text string - if len(jsonParts) > 0 { - text = strings.Join(jsonParts, "\n") - } else { - var sb strings.Builder - for _, part := range m.Content { - if part.IsText() { - sb.WriteString(part.Text) - } + if part.IsText() { + sb.WriteString(part.Text) } - text = sb.String() } - result, _, err := j.parseJSONL(text, 0, false) + result, _, err := j.parseJSONL(sb.String(), 0, false) if err != nil { return nil, err } @@ -143,48 +120,6 @@ func (j *jsonlHandler) ParseChunk(chunk *ModelResponseChunk) (any, error) { // ParseMessage parses the message and returns the formatted message. func (j *jsonlHandler) ParseMessage(m *Message) (*Message, error) { - if j.v2 { - return m, nil - } - - // Legacy behavior. - if m == nil { - return nil, errors.New("message is empty") - } - if len(m.Content) == 0 { - return nil, errors.New("message has no content") - } - - var nonTextParts []*Part - accumulatedText := strings.Builder{} - - for _, part := range m.Content { - if !part.IsText() { - nonTextParts = append(nonTextParts, part) - } else { - accumulatedText.WriteString(part.Text) - } - } - - var newParts []*Part - lines := base.GetJSONObjectLines(accumulatedText.String()) - for _, line := range lines { - if j.config.Schema != nil { - var schemaBytes []byte - schemaBytes, err := json.Marshal(j.config.Schema["items"]) - if err != nil { - return nil, fmt.Errorf("expected schema is not valid: %w", err) - } - if err = base.ValidateRaw([]byte(line), schemaBytes); err != nil { - return nil, err - } - } - - newParts = append(newParts, NewJSONPart(line)) - } - - m.Content = append(newParts, nonTextParts...) - return m, nil } diff --git a/go/ai/formatter.go b/go/ai/formatter.go index f6d07b390a..5f43ca6ed7 100644 --- a/go/ai/formatter.go +++ b/go/ai/formatter.go @@ -23,24 +23,19 @@ import ( const ( // OutputFormatText is the default format. OutputFormatText string = "text" - // OutputFormatJSON is the legacy format for JSON content. It modifies the message content in place by stripping out non-JSON content. - // - // Deprecated: Use OutputFormatJSONV2 instead. + // OutputFormatJSON is the legacy format for JSON content. + // For streaming, each chunk represents the full object received up to that point. OutputFormatJSON string = "json" - // OutputFormatJSONV2 is the format for JSON content. - OutputFormatJSONV2 string = "json.v2" - // OutputFormatJSONL is the legacy format for JSONL content. It modifies the message content in place by splitting out a single text part into multiple JSON parts, one per JSON object line. - // It does not support [ModelResponse.Output] to an array; each JSON part must be unmarshaled manually. - // - // Deprecated: Use OutputFormatJSONLV2 instead. + // OutputFormatJSONL is the format for JSONL content. + // For streaming, each chunk represents new items since the last chunk. OutputFormatJSONL string = "jsonl" - // OutputFormatJSONLV2 is the format for JSONL content. - OutputFormatJSONLV2 string = "jsonl.v2" // OutputFormatMedia is the format for media content. OutputFormatMedia string = "media" // OutputFormatArray is the format for array content. + // For streaming, each chunk represents new items since the last chunk. OutputFormatArray string = "array" // OutputFormatEnum is the format for enum content. + // The value must be a string. OutputFormatEnum string = "enum" ) @@ -48,9 +43,7 @@ const ( var DEFAULT_FORMATS = []Formatter{ textFormatter{}, jsonFormatter{}, - jsonFormatter{v2: true}, jsonlFormatter{}, - jsonlFormatter{v2: true}, arrayFormatter{}, enumFormatter{}, } diff --git a/go/ai/option.go b/go/ai/option.go index bb20b7f350..5419d00d58 100644 --- a/go/ai/option.go +++ b/go/ai/option.go @@ -486,7 +486,7 @@ func (o *outputOptions) applyGenerate(genOpts *generateOptions) error { return o.applyOutput(&genOpts.outputOptions) } -// WithOutputType sets the schema and format of the output based on the value provided. +// WithOutputType sets the output format to JSON and the schema derived from the given value. func WithOutputType(output any) OutputOption { return &outputOptions{ OutputSchema: base.SchemaAsMap(base.InferJSONSchema(output)), @@ -499,6 +499,22 @@ func WithOutputFormat(format string) OutputOption { return &outputOptions{OutputFormat: format} } +// WithOutputEnums sets the output format to enum and the schema based on the given values. +// Accepts any string-based type (e.g. type MyEnum string). +func WithOutputEnums[T ~string](values ...T) OutputOption { + enumStrs := make([]string, len(values)) + for i, v := range values { + enumStrs[i] = string(v) + } + return &outputOptions{ + OutputSchema: map[string]any{ + "type": "string", + "enum": enumStrs, + }, + OutputFormat: OutputFormatEnum, + } +} + // WithOutputInstructions sets custom instructions for constraining output format in the prompt. // // When [WithOutputType] is used without this option, default instructions will be automatically set. diff --git a/go/plugins/googlegenai/gemini.go b/go/plugins/googlegenai/gemini.go index ee430a697f..82618ac64d 100644 --- a/go/plugins/googlegenai/gemini.go +++ b/go/plugins/googlegenai/gemini.go @@ -375,20 +375,26 @@ func toGeminiRequest(input *ai.ModelRequest, cache *genai.CachedContent) (*genai return nil, errors.New("response schema must be set using Genkit feature: ai.WithTools() or ai.WithOuputType()") } if gcc.ResponseMIMEType != "" { - return nil, errors.New("response MIME type must be set using Genkit feature: ai.WithOuputType()") + return nil, errors.New("response MIME type must be set using Genkit feature: ai.WithOuputType(), ai.WithOutputSchema(), ai.WithOutputSchemaByName()") + } + if gcc.ResponseJsonSchema != nil { + return nil, errors.New("response JSON schema must be set using Genkit feature: ai.WithOutputSchema()") } - // Set response MIME type based on output format if specified + // Set response MIME type and schema based on output format. + // Gemini supports constrained output with application/json and text/x.enum. hasOutput := input.Output != nil - isJsonFormat := hasOutput && input.Output.Format == "json" - isJsonContentType := hasOutput && input.Output.ContentType == "application/json" - jsonMode := isJsonFormat || isJsonContentType - // this setting is not compatible with tools forcing controlled output generation - if jsonMode && len(input.Tools) == 0 { - gcc.ResponseMIMEType = "application/json" + // JSON mode is not compatible with tools + if hasOutput && len(input.Tools) == 0 { + switch { + case input.Output.ContentType == "application/json" || input.Output.Format == "json": + gcc.ResponseMIMEType = "application/json" + case input.Output.ContentType == "text/enum" || input.Output.Format == "enum": + gcc.ResponseMIMEType = "text/x.enum" + } } - if input.Output != nil && input.Output.Constrained { + if input.Output != nil && input.Output.Constrained && gcc.ResponseMIMEType != "" { schema, err := toGeminiSchema(input.Output.Schema, input.Output.Schema) if err != nil { return nil, err From af4ecf62218261583d33b11f4ef0c4960767d393 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Fri, 12 Dec 2025 14:56:32 -0800 Subject: [PATCH 05/21] Update gen.go --- go/ai/gen.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/ai/gen.go b/go/ai/gen.go index 3fa16bc302..2e48bce7d3 100644 --- a/go/ai/gen.go +++ b/go/ai/gen.go @@ -275,7 +275,7 @@ type ModelResponseChunk struct { Aggregated bool `json:"aggregated,omitempty"` Content []*Part `json:"content,omitempty"` Custom any `json:"custom,omitempty"` - Index int `json:"index,omitempty"` + Index int `json:"index"` Role Role `json:"role,omitempty"` formatHandler StreamingFormatHandler } From 39f9f747c9d344154990cbded5db56bffa4a6507 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Fri, 12 Dec 2025 14:58:36 -0800 Subject: [PATCH 06/21] Update extract_test.go --- go/internal/base/extract_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/go/internal/base/extract_test.go b/go/internal/base/extract_test.go index 4142f82de3..83d64c2d74 100644 --- a/go/internal/base/extract_test.go +++ b/go/internal/base/extract_test.go @@ -191,4 +191,3 @@ func TestCompleteJSON(t *testing.T) { }) } } - From c48d79cbd3b80c4358e53d7ff169f58f280f4419 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Fri, 12 Dec 2025 15:11:15 -0800 Subject: [PATCH 07/21] Update formatter_test.go --- go/ai/formatter_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/go/ai/formatter_test.go b/go/ai/formatter_test.go index 8a96c0b0b4..31f6579ab7 100644 --- a/go/ai/formatter_test.go +++ b/go/ai/formatter_test.go @@ -391,6 +391,7 @@ func TestHandlers(t *testing.T) { }, "additionalProperties": false, }, + Constrained: true, ContentType: "application/json", }, instructions: "Output should be in JSON format and conform to the following schema:\n\n```{\"additionalProperties\":false,\"properties\":{\"age\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}```", @@ -455,7 +456,7 @@ func TestHandlers(t *testing.T) { }, "additionalProperties": false, }, - Constrained: false, + Constrained: true, ContentType: "application/json", }, instructions: "Output should be a JSON array conforming to the following schema:\n\n```{\"properties\":{\"id\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}```", @@ -468,7 +469,7 @@ func TestHandlers(t *testing.T) { output: ModelOutputConfig{ Format: OutputFormatEnum, Schema: enumSchema, - Constrained: false, + Constrained: true, ContentType: "text/enum", }, instructions: "Output should be ONLY one of the following enum values. Do not output any additional information or add quotes.\n\n```red\ngreen\nblue```", From 72425bebddc3ce169f9b17c918ce027ddeaa829b Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Mon, 15 Dec 2025 07:29:29 -0800 Subject: [PATCH 08/21] Update formatter_test.go --- go/ai/formatter_test.go | 128 +++++++++++++--------------------------- 1 file changed, 41 insertions(+), 87 deletions(-) diff --git a/go/ai/formatter_test.go b/go/ai/formatter_test.go index 31f6579ab7..06f58e3308 100644 --- a/go/ai/formatter_test.go +++ b/go/ai/formatter_test.go @@ -681,7 +681,7 @@ func TestJsonlParser(t *testing.T) { wantErr bool }{ { - name: "parses jsonl schema", + name: "passthrough jsonl schema", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -702,35 +702,13 @@ func TestJsonlParser(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart("{\"id\": 1, \"name\": \"test\"}"), - NewJSONPart("{\"id\": 2}"), + NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), }, }, wantErr: false, }, { - name: "contains unexpected field fails", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "foo": "bar"}\n{"id": 2}\n`)), - }, - }, - wantErr: true, - }, - { - name: "parses JSONl with preamble and code fence", + name: "passthrough JSONl with preamble and code fence", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -750,8 +728,7 @@ func TestJsonlParser(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart("{\"id\": 1}"), - NewJSONPart("{\"id\": 2}"), + NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), }, }, wantErr: false, @@ -794,7 +771,7 @@ func TestArrayParser(t *testing.T) { wantErr bool }{ { - name: "parses array schema", + name: "passthrough array schema", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -816,60 +793,39 @@ func TestArrayParser(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart("{\"id\": 1, \"name\": \"test\"}"), - NewJSONPart("{\"id\": 2}"), + NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), }, }, wantErr: false, }, { - name: "contains unexpected field fails", + name: "passthrough empty array", schema: map[string]any{ "type": "array", "items": map[string]any{ "type": "object", "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, + "id": map[string]any{"type": "integer"}, }, - "required": []string{"name", "age"}, }, "additionalProperties": false, }, response: &Message{ Role: RoleModel, Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "foo": "bar"}`)), - }, - }, - wantErr: true, - }, - { - name: "parses empty array", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, + NewTextPart("[]"), }, - "additionalProperties": false, }, - response: &Message{ + want: &Message{ Role: RoleModel, Content: []*Part{ NewTextPart("[]"), }, }, - want: &Message{ - Role: RoleModel, - Content: nil, - }, wantErr: false, }, { - name: "parses array with preamble and code fence", + name: "passthrough array with preamble and code fence", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -889,8 +845,7 @@ func TestArrayParser(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart("{\"id\": 1}"), - NewJSONPart("{\"id\": 2}"), + NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), }, }, wantErr: false, @@ -1153,7 +1108,7 @@ func TestJsonlParserStreaming(t *testing.T) { wantErr bool }{ { - name: "parses streaming JSONL from multiple parts", + name: "passthrough streaming JSONL from multiple parts", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1177,14 +1132,16 @@ func TestJsonlParserStreaming(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart(`{"id": 1, "name": "Alice"}`), - NewJSONPart(`{"id": 2, "name": "Bob"}`), + NewTextPart(`{"id": 1, "na`), + NewTextPart(`me": "Alice"}\n`), + NewTextPart(`{"id": 2, "`), + NewTextPart(`name": "Bob"}`), }, }, wantErr: false, }, { - name: "parses streaming JSONL with mixed content", + name: "passthrough streaming JSONL with mixed content", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1206,15 +1163,15 @@ func TestJsonlParserStreaming(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart(`{"id": 1}`), - NewJSONPart(`{"id": 2}`), + NewTextPart(`{"id"`), + NewTextPart(`: 1}\n{"id": 2}`), NewToolRequestPart(&ToolRequest{Name: "testTool"}), }, }, wantErr: false, }, { - name: "no text part present streaming JSONL", + name: "passthrough no text part present streaming JSONL", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1275,7 +1232,7 @@ func TestArrayParserStreaming(t *testing.T) { wantErr bool }{ { - name: "parses streaming array from multiple parts", + name: "passthrough streaming array from multiple parts", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1300,14 +1257,16 @@ func TestArrayParserStreaming(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart(`{"id": 1, "name": "test"}`), - NewJSONPart(`{"id": 2}`), + NewTextPart(`{"id": 1, "na`), + NewTextPart(`me": "test"}\n`), + NewTextPart(`{"id"`), + NewTextPart(`: 2}`), }, }, wantErr: false, }, { - name: "parses array with preamble and code fence", + name: "passthrough array with preamble and code fence", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1330,14 +1289,16 @@ func TestArrayParserStreaming(t *testing.T) { want: &Message{ Role: RoleModel, Content: []*Part{ - NewJSONPart("{\"id\": 1}"), - NewJSONPart("{\"id\": 2}"), + NewTextPart("Here are the"), + NewTextPart("objects:\n\n```\n"), + NewTextPart(" {\"id\": 1}\n"), + NewTextPart("{\"id\": 2}\n```"), }, }, wantErr: false, }, { - name: "no text part present streaming array", + name: "passthrough no text part present streaming array", schema: map[string]any{ "type": "array", "items": map[string]any{ @@ -1800,10 +1761,9 @@ func TestEnumFormatterProcessChunk(t *testing.T) { } tests := []struct { - name string - text string - want string - wantNil bool + name string + text string + want string }{ { name: "valid enum", @@ -1816,14 +1776,14 @@ func TestEnumFormatterProcessChunk(t *testing.T) { want: "option2", }, { - name: "invalid enum", - text: "invalid", - wantNil: true, + name: "invalid enum returns empty string", + text: "invalid", + want: "", }, { - name: "partial match", - text: "opt", - wantNil: true, + name: "partial match returns empty string", + text: "opt", + want: "", }, { name: "incremental chunks simulated", @@ -1853,12 +1813,6 @@ func TestEnumFormatterProcessChunk(t *testing.T) { t.Errorf("ProcessChunk() error = %v", err) return } - if tt.wantNil { - if got != nil { - t.Errorf("ProcessChunk() = %v, want nil", got) - } - return - } if got != tt.want { t.Errorf("ProcessChunk() = %v, want %v", got, tt.want) } From 0e5b472262862d057c61c6dc991b023924220ec4 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Mon, 15 Dec 2025 07:39:38 -0800 Subject: [PATCH 09/21] Update gemini_test.go --- go/plugins/googlegenai/gemini_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go/plugins/googlegenai/gemini_test.go b/go/plugins/googlegenai/gemini_test.go index d9332e0cd4..daa4da215e 100644 --- a/go/plugins/googlegenai/gemini_test.go +++ b/go/plugins/googlegenai/gemini_test.go @@ -158,10 +158,10 @@ func TestConvertRequest(t *testing.T) { t.Errorf("topK: got: nil, want %d", ogCfg.TopK) } if gcc.ResponseMIMEType != "" { - t.Errorf("ResponseMIMEType should been empty if tools are present") + t.Errorf("ResponseMIMEType should be empty if tools are present") } - if gcc.ResponseSchema == nil { - t.Errorf("ResponseSchema should not be empty") + if gcc.ResponseSchema != nil { + t.Errorf("ResponseSchema should be nil when tools are present (JSON mode is not compatible with tools)") } if gcc.ThinkingConfig == nil { t.Errorf("ThinkingConfig should not be empty") From 31f46e7f1dd63c3e78da6cb3a4de17bbb2e165e2 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Mon, 15 Dec 2025 08:04:03 -0800 Subject: [PATCH 10/21] Rewrote formatter tests. --- go/ai/formatter_test.go | 2491 ++++++++++++------------------------ go/samples/formats/main.go | 15 +- 2 files changed, 862 insertions(+), 1644 deletions(-) diff --git a/go/ai/formatter_test.go b/go/ai/formatter_test.go index 06f58e3308..40afd0008d 100644 --- a/go/ai/formatter_test.go +++ b/go/ai/formatter_test.go @@ -16,1805 +16,1020 @@ package ai import ( "context" + "strings" "testing" - "github.com/firebase/genkit/go/internal/base" "github.com/google/go-cmp/cmp" ) -func TestConstrainedGenerate(t *testing.T) { - JSON := "{\"foo\": \"bar\"}" - JSONmd := "```json" + JSON + "```" +func TestTextFormatter(t *testing.T) { + t.Run("handler config", func(t *testing.T) { + handler, err := textFormatter{}.Handler(nil) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } - modelOpts := ModelOptions{ - Label: modelName, - Supports: &ModelSupports{ - Multiturn: true, - Tools: true, - SystemRole: true, - Media: false, - Constrained: ConstrainedSupportAll, - }, - Versions: []string{"echo-001", "echo-002"}, - } + config := handler.Config() + if config.ContentType != "text/plain" { + t.Errorf("ContentType = %q, want %q", config.ContentType, "text/plain") + } + if handler.Instructions() != "" { + t.Errorf("Instructions() = %q, want empty", handler.Instructions()) + } + }) - formatModel := DefineModel(r, "test/format", &modelOpts, func(ctx context.Context, gr *ModelRequest, msc ModelStreamCallback) (*ModelResponse, error) { - if msc != nil { - msc(ctx, &ModelResponseChunk{ - Content: []*Part{NewTextPart("stream!")}, - }) + t.Run("ParseOutput returns text content", func(t *testing.T) { + handler, _ := textFormatter{}.Handler(nil) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("Hello, world!")}, } - return &ModelResponse{ - Request: gr, - Message: NewModelTextMessage(JSONmd), - }, nil + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) + } + if got != "Hello, world!" { + t.Errorf("ParseOutput() = %v, want %q", got, "Hello, world!") + } }) - t.Run("doesn't inject instructions when model supports native contrained generation", func(t *testing.T) { - wantText := JSON - wantStreamText := "stream!" - wantRequest := &ModelRequest{ - Messages: []*Message{ - { - Role: RoleUser, - Content: []*Part{ - NewTextPart("generate json"), - }, - }, - }, - Output: &ModelOutputConfig{ - Format: OutputFormatJSON, - Schema: map[string]any{ - "additionalProperties": bool(false), - "properties": map[string]any{ - "foo": map[string]any{"type": string("string")}, - }, - "required": []any{string("foo")}, - "type": string("object"), - }, - Constrained: true, - ContentType: "application/json", - }, - Config: &GenerationCommonConfig{Temperature: 1}, - Tools: []*ToolDefinition{}, + t.Run("ParseChunk accumulates text across chunks", func(t *testing.T) { + handler, _ := textFormatter{}.Handler(nil) + sfh := handler.(StreamingFormatHandler) + + chunks := []string{"Hello", ", ", "world!"} + var lastResult any + + for _, text := range chunks { + chunk := &ModelResponseChunk{ + Content: []*Part{NewTextPart(text)}, + Index: 0, + } + got, err := sfh.ParseChunk(chunk) + if err != nil { + t.Fatalf("ParseChunk() error = %v", err) + } + lastResult = got } - streamText := "" - res, err := Generate(context.Background(), r, - WithModel(formatModel), - WithPrompt("generate json"), - WithConfig(&GenerationCommonConfig{ - Temperature: 1, - }), - WithStreaming(func(ctx context.Context, grc *ModelResponseChunk) error { - streamText += grc.Text() - return nil - }), - WithOutputType(struct { - Foo string `json:"foo"` - }{}), - ) + if lastResult != "Hello, world!" { + t.Errorf("final ParseChunk() = %v, want %q", lastResult, "Hello, world!") + } + }) + + t.Run("ParseChunk resets on index change", func(t *testing.T) { + handler, _ := textFormatter{}.Handler(nil) + sfh := handler.(StreamingFormatHandler) + + sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("first turn")}, + Index: 0, + }) + + got, _ := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("second turn")}, + Index: 1, + }) + + if got != "second turn" { + t.Errorf("ParseChunk() after index change = %v, want %q", got, "second turn") + } + }) +} + +func TestJSONFormatter(t *testing.T) { + schema := map[string]any{ + "type": "object", + "properties": map[string]any{ + "name": map[string]any{"type": "string"}, + "age": map[string]any{"type": "integer"}, + }, + "additionalProperties": false, + } + + t.Run("handler config with schema", func(t *testing.T) { + handler, err := jsonFormatter{}.Handler(schema) if err != nil { - t.Fatal(err) + t.Fatalf("Handler() error = %v", err) } - gotText := res.Text() - if diff := cmp.Diff(gotText, wantText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + config := handler.Config() + if config.Format != OutputFormatJSON { + t.Errorf("Format = %q, want %q", config.Format, OutputFormatJSON) } - if diff := cmp.Diff(streamText, wantStreamText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + if config.ContentType != "application/json" { + t.Errorf("ContentType = %q, want %q", config.ContentType, "application/json") } - if diff := cmp.Diff(res.Request, wantRequest); diff != "" { - t.Errorf("Request diff (+got -want):\n%s", diff) + if !config.Constrained { + t.Errorf("Constrained = false, want true") + } + if config.Schema == nil { + t.Errorf("Schema = nil, want schema") } - }) - t.Run("doesn't use format instructions when explicitly instructed not to", func(t *testing.T) { - wantText := JSON - wantStreamText := "stream!" - wantRequest := &ModelRequest{ - Messages: []*Message{ - { - Role: RoleUser, - Content: []*Part{ - NewTextPart("generate json"), - }, - }, - }, - Output: &ModelOutputConfig{ - Format: OutputFormatJSON, - ContentType: "application/json", - }, - Config: &GenerationCommonConfig{Temperature: 1}, - Tools: []*ToolDefinition{}, + instructions := handler.Instructions() + if !strings.Contains(instructions, "JSON format") { + t.Errorf("Instructions() should mention JSON format") } + if !strings.Contains(instructions, `"name"`) { + t.Errorf("Instructions() should contain schema") + } + }) - streamText := "" - res, err := Generate(context.Background(), r, - WithModel(formatModel), - WithPrompt("generate json"), - WithConfig(&GenerationCommonConfig{ - Temperature: 1, - }), - WithStreaming(func(ctx context.Context, grc *ModelResponseChunk) error { - streamText += grc.Text() - return nil - }), - WithOutputType(struct { - Foo string `json:"foo"` - }{}), - WithOutputInstructions(""), - ) + t.Run("handler config without schema", func(t *testing.T) { + handler, err := jsonFormatter{}.Handler(nil) if err != nil { - t.Fatal(err) + t.Fatalf("Handler() error = %v", err) } - gotText := res.Text() - if diff := cmp.Diff(gotText, wantText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + if handler.Instructions() != "" { + t.Errorf("Instructions() = %q, want empty when no schema", handler.Instructions()) } - if diff := cmp.Diff(streamText, wantStreamText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + }) + + t.Run("ParseOutput extracts and validates JSON", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(`{"name": "Alice", "age": 30}`)}, + } + + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) } - if diff := cmp.Diff(res.Request, wantRequest); diff != "" { - t.Errorf("Request diff (+got -want):\n%s", diff) + + want := map[string]any{"name": "Alice", "age": float64(30)} + if diff := cmp.Diff(want, got); diff != "" { + t.Errorf("ParseOutput() mismatch (-want +got):\n%s", diff) } }) - t.Run("uses format instructions given by user", func(t *testing.T) { - customInstructions := "The generated output should be in JSON format and conform to the following schema:\n\n```{\"additionalProperties\":false,\"properties\":{\"foo\":{\"type\":\"string\"}},\"required\":[\"foo\"],\"type\":\"object\"}```" - wantText := JSON - wantStreamText := "stream!" - wantRequest := &ModelRequest{ - Messages: []*Message{ - { - Role: RoleUser, - Content: []*Part{ - NewTextPart("generate json"), - { - Kind: PartText, - ContentType: "plain/text", - Text: customInstructions, - Metadata: map[string]any{"purpose": "output"}, - }, - }, - }, - }, - Output: &ModelOutputConfig{ - Format: OutputFormatJSON, - ContentType: "application/json", - }, - Config: &GenerationCommonConfig{Temperature: 1}, - Tools: []*ToolDefinition{}, + t.Run("ParseOutput extracts JSON from markdown", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("Here is the result:\n\n```json\n{\"name\": \"Bob\", \"age\": 25}\n```")}, } - streamText := "" - res, err := Generate(context.Background(), r, - WithModel(formatModel), - WithPrompt("generate json"), - WithConfig(&GenerationCommonConfig{ - Temperature: 1, - }), - WithStreaming(func(ctx context.Context, grc *ModelResponseChunk) error { - streamText += grc.Text() - return nil - }), - WithOutputType(struct { - Foo string `json:"foo"` - }{}), - WithOutputInstructions(customInstructions), - ) + got, err := sfh.ParseOutput(msg) if err != nil { - t.Fatal(err) + t.Fatalf("ParseOutput() error = %v", err) } - gotText := res.Text() - if diff := cmp.Diff(gotText, wantText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + want := map[string]any{"name": "Bob", "age": float64(25)} + if diff := cmp.Diff(want, got); diff != "" { + t.Errorf("ParseOutput() mismatch (-want +got):\n%s", diff) } - if diff := cmp.Diff(streamText, wantStreamText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + }) + + t.Run("ParseOutput validates against schema", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(`{"name": "Alice", "unknown_field": "bad"}`)}, } - if diff := cmp.Diff(res.Request, wantRequest); diff != "" { - t.Errorf("Request diff (+got -want):\n%s", diff) + + _, err := sfh.ParseOutput(msg) + if err == nil { + t.Error("ParseOutput() should fail validation for unknown field") } }) - t.Run("uses simulated constrained generation when explicitly told to do so", func(t *testing.T) { - wantText := JSON - wantStreamText := "stream!" - wantRequest := &ModelRequest{ - Messages: []*Message{ - { - Role: RoleUser, - Content: []*Part{ - NewTextPart("generate json"), - { - Kind: PartText, - ContentType: "plain/text", - Text: "Output should be in JSON format and conform to the following schema:\n\n```{\"additionalProperties\":false,\"properties\":{\"foo\":{\"type\":\"string\"}},\"required\":[\"foo\"],\"type\":\"object\"}```", - Metadata: map[string]any{"purpose": "output"}, - }, - }, - }, - }, - Output: &ModelOutputConfig{ - Format: OutputFormatJSON, - ContentType: "application/json", - }, - Config: &GenerationCommonConfig{Temperature: 1}, - Tools: []*ToolDefinition{}, - } + t.Run("ParseChunk handles partial JSON", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(nil) + sfh := handler.(StreamingFormatHandler) - streamText := "" - res, err := Generate(context.Background(), r, - WithModel(formatModel), - WithPrompt("generate json"), - WithConfig(&GenerationCommonConfig{ - Temperature: 1, - }), - WithStreaming(func(ctx context.Context, grc *ModelResponseChunk) error { - streamText += grc.Text() - return nil - }), - WithOutputType(struct { - Foo string `json:"foo"` - }{}), - WithCustomConstrainedOutput(), - ) + got, err := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart(`{"name": "Jo`)}, + Index: 0, + }) if err != nil { - t.Fatal(err) + t.Fatalf("ParseChunk() error = %v", err) } - gotText := res.Text() - if diff := cmp.Diff(gotText, wantText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + gotMap, ok := got.(map[string]any) + if !ok { + t.Fatalf("ParseChunk() returned %T, want map[string]any", got) } - if diff := cmp.Diff(streamText, wantStreamText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) - } - if diff := cmp.Diff(res.Request, wantRequest); diff != "" { - t.Errorf("Request diff (+got -want):\n%s", diff) + if gotMap["name"] != "Jo" { + t.Errorf("ParseChunk() name = %v, want %q", gotMap["name"], "Jo") } }) - t.Run("works with prompts", func(t *testing.T) { - wantText := JSON - wantRequest := &ModelRequest{ - Messages: []*Message{ - { - Role: RoleUser, - Content: []*Part{ - NewTextPart("generate json"), - { - Kind: PartText, - ContentType: "plain/text", - Text: "Output should be in JSON format and conform to the following schema:\n\n```{\"additionalProperties\":false,\"properties\":{\"foo\":{\"type\":\"string\"}},\"required\":[\"foo\"],\"type\":\"object\"}```", - Metadata: map[string]any{"purpose": "output"}, - }, - }, - }, - }, - Output: &ModelOutputConfig{ - Format: OutputFormatJSON, - ContentType: "application/json", - }, - Config: &GenerationCommonConfig{Temperature: 1}, - Tools: []*ToolDefinition{}, + t.Run("ParseChunk accumulates across chunks", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(nil) + sfh := handler.(StreamingFormatHandler) + + sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart(`{"name"`)}, + Index: 0, + }) + + got, err := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart(`: "Alice", "age": 30}`)}, + Index: 0, + }) + if err != nil { + t.Fatalf("ParseChunk() error = %v", err) } - p := DefinePrompt(r, "formatPrompt", - WithPrompt("generate json"), - WithModel(formatModel), - WithOutputType(struct { - Foo string `json:"foo"` - }{}), - WithCustomConstrainedOutput(), - ) + want := map[string]any{"name": "Alice", "age": float64(30)} + if diff := cmp.Diff(want, got); diff != "" { + t.Errorf("ParseChunk() mismatch (-want +got):\n%s", diff) + } + }) - res, err := p.Execute( - context.Background(), - WithConfig(&GenerationCommonConfig{Temperature: 1}), - ) + t.Run("ParseMessage validates JSON and creates JSON part", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(schema) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(`{"name": "Alice", "age": 30}`)}, + } + + got, err := handler.ParseMessage(msg) if err != nil { - t.Fatal(err) + t.Fatalf("ParseMessage() error = %v", err) } - gotText := res.Text() - if diff := cmp.Diff(gotText, wantText); diff != "" { - t.Errorf("Text() diff (+got -want):\n%s", diff) + if len(got.Content) != 1 { + t.Fatalf("ParseMessage() returned %d parts, want 1", len(got.Content)) } - if diff := cmp.Diff(res.Request, wantRequest); diff != "" { - t.Errorf("Request diff (+got -want):\n%s", diff) + if got.Content[0].ContentType != "application/json" { + t.Errorf("Part ContentType = %q, want %q", got.Content[0].ContentType, "application/json") } }) -} -func TestHandlers(t *testing.T) { - type TestEnum struct { - FavColor string `json:"fav_color,omitempty" jsonschema:"enum=red,enum=green,enum=blue"` - } + t.Run("ParseMessage fails on invalid JSON", func(t *testing.T) { + handler, _ := jsonFormatter{}.Handler(nil) - enumSchema := base.SchemaAsMap(base.InferJSONSchema(TestEnum{})) - - tests := []struct { - name string - format string - schema map[string]any - output ModelOutputConfig - instructions string - wantErr bool - }{ - { - name: "not existing format", - format: "foobar", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - wantErr: true, - }, - { - name: "text handler", - format: "text", - schema: nil, - output: ModelOutputConfig{ - ContentType: "text/plain", - }, - instructions: "", - wantErr: false, - }, - { - name: "json handler", - format: "json", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - output: ModelOutputConfig{ - Format: "json", - Schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - Constrained: true, - ContentType: "application/json", - }, - instructions: "Output should be in JSON format and conform to the following schema:\n\n```{\"additionalProperties\":false,\"properties\":{\"age\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}```", - wantErr: false, - }, - { - name: "jsonl handler", - format: OutputFormatJSONL, - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - output: ModelOutputConfig{ - Format: OutputFormatJSONL, - Schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - ContentType: "application/jsonl", - }, - instructions: "Output should be JSONL format, a sequence of JSON objects (one per line) separated by a newline '\\n' character. Each line should be a JSON object conforming to the following schema:\n\n```{\"properties\":{\"age\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}```", - wantErr: false, - }, - { - name: "array handler", - format: "array", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - }, - "additionalProperties": false, - }, - output: ModelOutputConfig{ - Format: OutputFormatArray, - Schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - }, - "additionalProperties": false, - }, - Constrained: true, - ContentType: "application/json", - }, - instructions: "Output should be a JSON array conforming to the following schema:\n\n```{\"properties\":{\"id\":{\"type\":\"integer\"},\"name\":{\"type\":\"string\"}},\"type\":\"object\"}```", - wantErr: false, - }, - { - name: "enum handler", - format: "enum", - schema: enumSchema, - output: ModelOutputConfig{ - Format: OutputFormatEnum, - Schema: enumSchema, - Constrained: true, - ContentType: "text/enum", + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("not valid json")}, + } + + _, err := handler.ParseMessage(msg) + if err == nil { + t.Error("ParseMessage() should fail for invalid JSON") + } + }) +} + +func TestJSONLFormatter(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + "properties": map[string]any{ + "id": map[string]any{"type": "integer"}, + "name": map[string]any{"type": "string"}, }, - instructions: "Output should be ONLY one of the following enum values. Do not output any additional information or add quotes.\n\n```red\ngreen\nblue```", - wantErr: false, }, } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - format, err := resolveFormat(r, tt.schema, tt.format) - if (err != nil) != tt.wantErr { - t.Errorf("resolveFormat() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("handler requires array schema", func(t *testing.T) { + _, err := jsonlFormatter{}.Handler(nil) + if err == nil { + t.Error("Handler() should fail without schema") + } - if !tt.wantErr { - handler, err := format.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - instructions := handler.Instructions() - config := handler.Config() + _, err = jsonlFormatter{}.Handler(map[string]any{"type": "object"}) + if err == nil { + t.Error("Handler() should fail with non-array schema") + } + }) - if diff := cmp.Diff(tt.instructions, instructions); diff != "" { - t.Errorf("Instructions diff (+got -want):\n%s", diff) - } - if diff := cmp.Diff(tt.output, config); diff != "" { - t.Errorf("config diff (+got -want):\n%s", diff) - } - } - }) - } -} + t.Run("handler config", func(t *testing.T) { + handler, err := jsonlFormatter{}.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } -func TestJsonParser(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "parses json schema", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"name": "John", "age": 19}`)), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewJSONPart("{\"name\": \"John\", \"age\": 19}"), - }, - }, - wantErr: false, - }, - { - name: "contains unexpected field fails", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"name": "John", "height": 190}`)), - }, - }, - wantErr: true, - }, - { - name: "parses JSON with preamble and code fence", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here is the JSON:\n\n```json\n{\"id\": 1}\n```"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewJSONPart("{\"id\": 1}"), - }, - }, - wantErr: false, - }, - } + config := handler.Config() + if config.Format != OutputFormatJSONL { + t.Errorf("Format = %q, want %q", config.Format, OutputFormatJSONL) + } + if config.ContentType != "application/jsonl" { + t.Errorf("ContentType = %q, want %q", config.ContentType, "application/jsonl") + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := jsonFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + instructions := handler.Instructions() + if !strings.Contains(instructions, "JSONL format") { + t.Errorf("Instructions() should mention JSONL format") + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("ParseOutput parses multiple lines", func(t *testing.T) { + handler, _ := jsonlFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } -} + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("{\"id\": 1, \"name\": \"Alice\"}\n{\"id\": 2, \"name\": \"Bob\"}")}, + } -func TestTextParser(t *testing.T) { - tests := []struct { - name string - response *Message - want *Message - wantErr bool - }{ - { - name: "parses complete text response", - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Hello World"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Hello World"), - }, - }, - wantErr: false, - }, - { - name: "handles empty response", - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(""), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(""), - }, - }, - wantErr: false, - }, - } + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := textFormatter{} - handler, err := formatter.Handler(nil) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + want := []any{ + map[string]any{"id": float64(1), "name": "Alice"}, + map[string]any{"id": float64(2), "name": "Bob"}, + } + if diff := cmp.Diff(want, got); diff != "" { + t.Errorf("ParseOutput() mismatch (-want +got):\n%s", diff) + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("ParseChunk handles streaming JSONL", func(t *testing.T) { + handler, _ := jsonlFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } + got1, _ := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("{\"id\": 1}\n")}, + Index: 0, }) - } + + items1, ok := got1.([]any) + if !ok || len(items1) != 1 { + t.Fatalf("first ParseChunk() should return 1 item, got %v", got1) + } + + got2, _ := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("{\"id\": 2}")}, + Index: 0, + }) + + items2, ok := got2.([]any) + if !ok || len(items2) != 1 { + t.Fatalf("second ParseChunk() should return 1 new item (partial), got %v", got2) + } + }) } -func TestJsonlParser(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "passthrough jsonl schema", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), - }, - }, - wantErr: false, - }, - { - name: "passthrough JSONl with preamble and code fence", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), - }, +func TestArrayFormatter(t *testing.T) { + schema := map[string]any{ + "type": "array", + "items": map[string]any{ + "type": "object", + "properties": map[string]any{ + "id": map[string]any{"type": "integer"}, }, - wantErr: false, }, } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := jsonlFormatter{} - defer func() { - if r := recover(); r != nil && tt.wantErr { - t.Log("Test passed, panic was caught!") - } - }() - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } + t.Run("handler requires array schema", func(t *testing.T) { + _, err := arrayFormatter{}.Handler(nil) + if err == nil { + t.Error("Handler() should fail without schema") + } - message, err := handler.ParseMessage(tt.response) - if err != nil { - t.Errorf("Parse failed") - } + _, err = arrayFormatter{}.Handler(map[string]any{"type": "string"}) + if err == nil { + t.Error("Handler() should fail with non-array schema") + } + }) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } -} + t.Run("handler config", func(t *testing.T) { + handler, err := arrayFormatter{}.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } -func TestArrayParser(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "passthrough array schema", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - "required": []string{"id"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(JSONMarkdown(`{"id": 1, "name": "test"}\n{"id": 2}\n`)), - }, - }, - wantErr: false, - }, - { - name: "passthrough empty array", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("[]"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("[]"), - }, - }, - wantErr: false, - }, - { - name: "passthrough array with preamble and code fence", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the objects:\n\n```\n{\"id\": 1}\n{\"id\": 2}\n```"), - }, - }, - wantErr: false, - }, - } + config := handler.Config() + if config.Format != OutputFormatArray { + t.Errorf("Format = %q, want %q", config.Format, OutputFormatArray) + } + if config.ContentType != "application/json" { + t.Errorf("ContentType = %q, want %q", config.ContentType, "application/json") + } + if !config.Constrained { + t.Error("Constrained = false, want true") + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := arrayFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + instructions := handler.Instructions() + if !strings.Contains(instructions, "JSON array") { + t.Errorf("Instructions() should mention JSON array") + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("ParseOutput extracts array items", func(t *testing.T) { + handler, _ := arrayFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(`[{"id": 1}, {"id": 2}]`)}, + } + + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) + } + + want := []any{ + map[string]any{"id": float64(1)}, + map[string]any{"id": float64(2)}, + } + if diff := cmp.Diff(want, got); diff != "" { + t.Errorf("ParseOutput() mismatch (-want +got):\n%s", diff) + } + }) + + t.Run("ParseChunk handles streaming array", func(t *testing.T) { + handler, _ := arrayFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart(`[{"id": 1},`)}, + Index: 0, }) - } + + got, _ := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart(` {"id": 2}]`)}, + Index: 0, + }) + + items, ok := got.([]any) + if !ok { + t.Fatalf("ParseChunk() returned %T, want []any", got) + } + if len(items) != 1 { + t.Errorf("ParseChunk() returned %d new items, want 1", len(items)) + } + }) } -func TestEnumParser(t *testing.T) { - type TestEnum struct { - FavColor string `json:"fav_color,omitempty" jsonschema:"enum=red,enum=green,enum=blue"` +func TestEnumFormatter(t *testing.T) { + schema := map[string]any{ + "type": "string", + "enum": []any{"red", "green", "blue"}, } - enumSchema := base.SchemaAsMap(base.InferJSONSchema(TestEnum{})) - - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "parses simple enum value", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("red"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("red"), - }, - }, - wantErr: false, - }, - { - name: "trims whitespace", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(" green\n"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("green"), - }, - }, - wantErr: false, - }, - { - name: "fails on invalid enum", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("VALUE1"), - }, + nestedSchema := map[string]any{ + "type": "object", + "properties": map[string]any{ + "color": map[string]any{ + "type": "string", + "enum": []any{"red", "green", "blue"}, }, - wantErr: true, }, } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := enumFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + t.Run("handler requires schema with enum", func(t *testing.T) { + _, err := enumFormatter{}.Handler(nil) + if err == nil { + t.Error("Handler() should fail without schema") + } - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + _, err = enumFormatter{}.Handler(map[string]any{"type": "string"}) + if err == nil { + t.Error("Handler() should fail without enum property") + } + }) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } -} + t.Run("handler config with top-level enum", func(t *testing.T) { + handler, err := enumFormatter{}.Handler(schema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } -func TestJsonParserStreaming(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "parses streaming JSON from multiple parts", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - "age": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"name`), - NewTextPart(`": "John", `), - NewTextPart(`"age": 19}`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewJSONPart(`{"name": "John", "age": 19}`), - }, - }, - wantErr: false, - }, - { - name: "parses streaming JSON with markdown from multiple parts", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("```json\n"), - NewTextPart(`{"id"`), - NewTextPart(`: 1}`), - NewTextPart("\n```"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewJSONPart("{\"id\": 1}"), - }, - }, - wantErr: false, - }, - { - name: "preserves non-text parts with streaming JSON", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"name"`), - NewTextPart(`: "test"}`), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewJSONPart(`{"name": "test"}`), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - { - name: "no text part present streaming JSON", - schema: map[string]any{ - "type": "object", - "properties": map[string]any{ - "name": map[string]any{"type": "string"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - } + config := handler.Config() + if config.Format != OutputFormatEnum { + t.Errorf("Format = %q, want %q", config.Format, OutputFormatEnum) + } + if config.ContentType != "text/enum" { + t.Errorf("ContentType = %q, want %q", config.ContentType, "text/enum") + } + if !config.Constrained { + t.Error("Constrained = false, want true") + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := jsonFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + instructions := handler.Instructions() + if !strings.Contains(instructions, "red") || !strings.Contains(instructions, "green") { + t.Errorf("Instructions() should list enum values") + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("handler supports nested enum in properties", func(t *testing.T) { + handler, err := enumFormatter{}.Handler(nestedSchema) + if err != nil { + t.Fatalf("Handler() error = %v", err) + } - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } + instructions := handler.Instructions() + if !strings.Contains(instructions, "red") { + t.Errorf("Instructions() should list enum values from nested property") + } + }) + + t.Run("ParseOutput validates enum value", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("green")}, + } + + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) + } + if got != "green" { + t.Errorf("ParseOutput() = %v, want %q", got, "green") + } + }) + + t.Run("ParseOutput strips quotes and whitespace", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(" \"blue\" \n")}, + } + + got, err := sfh.ParseOutput(msg) + if err != nil { + t.Fatalf("ParseOutput() error = %v", err) + } + if got != "blue" { + t.Errorf("ParseOutput() = %v, want %q", got, "blue") + } + }) + + t.Run("ParseOutput fails on invalid enum", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("yellow")}, + } + + _, err := sfh.ParseOutput(msg) + if err == nil { + t.Error("ParseOutput() should fail for invalid enum value") + } + }) + + t.Run("ParseChunk returns valid enum or empty", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + sfh := handler.(StreamingFormatHandler) + + got1, err := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("re")}, + Index: 0, }) - } + if err != nil { + t.Fatalf("ParseChunk() error = %v", err) + } + if got1 != "" { + t.Errorf("ParseChunk() with partial = %v, want empty", got1) + } + + got2, err := sfh.ParseChunk(&ModelResponseChunk{ + Content: []*Part{NewTextPart("d")}, + Index: 0, + }) + if err != nil { + t.Fatalf("ParseChunk() error = %v", err) + } + if got2 != "red" { + t.Errorf("ParseChunk() with complete enum = %v, want %q", got2, "red") + } + }) + + t.Run("ParseMessage validates and cleans enum", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart(" 'green'\n")}, + } + + got, err := handler.ParseMessage(msg) + if err != nil { + t.Fatalf("ParseMessage() error = %v", err) + } + + if got.Content[0].Text != "green" { + t.Errorf("ParseMessage() text = %q, want %q", got.Content[0].Text, "green") + } + }) + + t.Run("ParseMessage preserves non-text parts", func(t *testing.T) { + handler, _ := enumFormatter{}.Handler(schema) + + toolPart := NewToolRequestPart(&ToolRequest{Name: "test"}) + msg := &Message{ + Role: RoleModel, + Content: []*Part{NewTextPart("red"), toolPart}, + } + + got, err := handler.ParseMessage(msg) + if err != nil { + t.Fatalf("ParseMessage() error = %v", err) + } + + if len(got.Content) != 2 { + t.Fatalf("ParseMessage() returned %d parts, want 2", len(got.Content)) + } + }) } -func TestJsonlParserStreaming(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "passthrough streaming JSONL from multiple parts", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id": 1, "na`), - NewTextPart(`me": "Alice"}\n`), - NewTextPart(`{"id": 2, "`), - NewTextPart(`name": "Bob"}`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id": 1, "na`), - NewTextPart(`me": "Alice"}\n`), - NewTextPart(`{"id": 2, "`), - NewTextPart(`name": "Bob"}`), - }, - }, - wantErr: false, - }, - { - name: "passthrough streaming JSONL with mixed content", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id"`), - NewTextPart(`: 1}\n{"id": 2}`), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id"`), - NewTextPart(`: 1}\n{"id": 2}`), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - { - name: "passthrough no text part present streaming JSONL", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - } +func TestResolveFormat(t *testing.T) { + t.Run("defaults to text when no format or schema", func(t *testing.T) { + formatter, err := resolveFormat(r, nil, "") + if err != nil { + t.Fatalf("resolveFormat() error = %v", err) + } + if formatter.Name() != OutputFormatText { + t.Errorf("resolveFormat() = %q, want %q", formatter.Name(), OutputFormatText) + } + }) - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := jsonlFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + t.Run("defaults to text even when schema present but no format", func(t *testing.T) { + schema := map[string]any{"type": "object"} + formatter, err := resolveFormat(r, schema, "") + if err != nil { + t.Fatalf("resolveFormat() error = %v", err) + } + // Note: The current implementation defaults to text when format is empty, + // even if schema is present. The schema/format combination is typically + // handled at a higher level (e.g., in Generate options). + if formatter.Name() != OutputFormatText { + t.Errorf("resolveFormat() = %q, want %q", formatter.Name(), OutputFormatText) + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("uses explicit format", func(t *testing.T) { + formatter, err := resolveFormat(r, nil, OutputFormatJSON) + if err != nil { + t.Fatalf("resolveFormat() error = %v", err) + } + if formatter.Name() != OutputFormatJSON { + t.Errorf("resolveFormat() = %q, want %q", formatter.Name(), OutputFormatJSON) + } + }) - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } + t.Run("returns error for unknown format", func(t *testing.T) { + _, err := resolveFormat(r, nil, "unknown_format") + if err == nil { + t.Error("resolveFormat() should fail for unknown format") + } + }) } -func TestArrayParserStreaming(t *testing.T) { - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "passthrough streaming array from multiple parts", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - "required": []string{"id"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id": 1, "na`), - NewTextPart(`me": "test"}\n`), - NewTextPart(`{"id"`), - NewTextPart(`: 2}`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`{"id": 1, "na`), - NewTextPart(`me": "test"}\n`), - NewTextPart(`{"id"`), - NewTextPart(`: 2}`), - }, - }, - wantErr: false, - }, - { - name: "passthrough array with preamble and code fence", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - }, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the"), - NewTextPart("objects:\n\n```\n"), - NewTextPart(" {\"id\": 1}\n"), - NewTextPart("{\"id\": 2}\n```"), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("Here are the"), - NewTextPart("objects:\n\n```\n"), - NewTextPart(" {\"id\": 1}\n"), - NewTextPart("{\"id\": 2}\n```"), - }, - }, - wantErr: false, - }, - { - name: "passthrough no text part present streaming array", - schema: map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - "properties": map[string]any{ - "id": map[string]any{"type": "integer"}, - "name": map[string]any{"type": "string"}, - }, - "required": []string{"id"}, - }, - "additionalProperties": false, - }, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - } +func TestInjectInstructions(t *testing.T) { + t.Run("empty instructions returns unchanged messages", func(t *testing.T) { + msgs := []*Message{{Role: RoleUser, Content: []*Part{NewTextPart("hello")}}} + result := injectInstructions(msgs, "") + if len(result[0].Content) != 1 { + t.Errorf("should not modify messages with empty instructions") + } + }) + + t.Run("adds to system message if present", func(t *testing.T) { + msgs := []*Message{ + {Role: RoleSystem, Content: []*Part{NewTextPart("system prompt")}}, + {Role: RoleUser, Content: []*Part{NewTextPart("user message")}}, + } + + result := injectInstructions(msgs, "output instructions") + + if len(result[0].Content) != 2 { + t.Fatalf("system message should have 2 parts, got %d", len(result[0].Content)) + } + if result[0].Content[1].Text != "output instructions" { + t.Errorf("injected text = %q, want %q", result[0].Content[1].Text, "output instructions") + } + if result[0].Content[1].Metadata["purpose"] != "output" { + t.Errorf("injected part should have purpose=output metadata") + } + }) - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := arrayFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + t.Run("adds to last user message if no system message", func(t *testing.T) { + msgs := []*Message{ + {Role: RoleUser, Content: []*Part{NewTextPart("first user")}}, + {Role: RoleModel, Content: []*Part{NewTextPart("model response")}}, + {Role: RoleUser, Content: []*Part{NewTextPart("second user")}}, + } - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + result := injectInstructions(msgs, "output instructions") - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } + if len(result[2].Content) != 2 { + t.Fatalf("last user message should have 2 parts, got %d", len(result[2].Content)) + } + if result[2].Content[1].Text != "output instructions" { + t.Errorf("should inject into last user message") + } + }) + + t.Run("does not inject if output part already exists", func(t *testing.T) { + existingOutputPart := NewTextPart("existing output") + existingOutputPart.Metadata = map[string]any{"purpose": "output"} + + msgs := []*Message{ + {Role: RoleUser, Content: []*Part{NewTextPart("user"), existingOutputPart}}, + } + + result := injectInstructions(msgs, "new instructions") + + if len(result[0].Content) != 2 { + t.Errorf("should not add additional output part when one exists") + } + }) } -func TestEnumParserStreaming(t *testing.T) { - type TestEnum struct { - FavColor string `json:"fav_color,omitempty" jsonschema:"enum=red,enum=green,enum=blue"` - } +func TestObjectEnums(t *testing.T) { + t.Run("extracts top-level enum", func(t *testing.T) { + schema := map[string]any{ + "type": "string", + "enum": []any{"a", "b", "c"}, + } - enumSchema := base.SchemaAsMap(base.InferJSONSchema(TestEnum{})) - - tests := []struct { - name string - schema map[string]any - response *Message - want *Message - wantErr bool - }{ - { - name: "parses streaming enum from multiple parts", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`"gr`), - NewTextPart(`een"`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("green"), - }, - }, - wantErr: false, - }, - { - name: "parses streaming enum with whitespace", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(` "re`), - NewTextPart(`d"`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("red"), - }, - }, - wantErr: false, - }, - { - name: "fails on invalid streaming enum", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart(`yel`), - NewTextPart(`low`), - }, - }, - wantErr: true, - }, - { - name: "preserves non-text parts with streaming enum", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - NewTextPart(`bl`), - NewTextPart(`ue`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("blue"), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - }, - }, - wantErr: false, - }, - { - name: "no text parts present with streaming enum", - schema: enumSchema, - response: &Message{ - Role: RoleModel, - Content: []*Part{ - NewToolRequestPart(&ToolRequest{Name: "testTool"}), - NewTextPart(`bl`), - NewTextPart(`ue`), - }, - }, - want: &Message{ - Role: RoleModel, - Content: []*Part{ - NewTextPart("blue"), - NewToolRequestPart(&ToolRequest{Name: "testTool"}), + enums := objectEnums(schema) + want := []string{"a", "b", "c"} + if diff := cmp.Diff(want, enums); diff != "" { + t.Errorf("objectEnums() mismatch (-want +got):\n%s", diff) + } + }) + + t.Run("extracts enum from nested property", func(t *testing.T) { + schema := map[string]any{ + "type": "object", + "properties": map[string]any{ + "status": map[string]any{ + "type": "string", + "enum": []any{"active", "inactive"}, }, }, - wantErr: false, - }, - } + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - formatter := enumFormatter{} - handler, err := formatter.Handler(tt.schema) - if err != nil { - t.Fatalf("Handler() error = %v", err) - } - message, err := handler.ParseMessage(tt.response) + enums := objectEnums(schema) + want := []string{"active", "inactive"} + if diff := cmp.Diff(want, enums); diff != "" { + t.Errorf("objectEnums() mismatch (-want +got):\n%s", diff) + } + }) - if (err != nil) != tt.wantErr { - t.Errorf("ParseMessage() error = %v, wantErr %v", err, tt.wantErr) - if err != nil { - t.Logf("Error message: %v", err) - } - } + t.Run("handles []string enum values", func(t *testing.T) { + schema := map[string]any{ + "type": "string", + "enum": []string{"x", "y", "z"}, + } - if !tt.wantErr { - if diff := cmp.Diff(tt.want, message); diff != "" { - t.Errorf("Request msgs diff (+got -want):\n%s", diff) - } - } - }) - } + enums := objectEnums(schema) + want := []string{"x", "y", "z"} + if diff := cmp.Diff(want, enums); diff != "" { + t.Errorf("objectEnums() mismatch (-want +got):\n%s", diff) + } + }) + + t.Run("returns nil for schema without enum", func(t *testing.T) { + schema := map[string]any{"type": "string"} + enums := objectEnums(schema) + if enums != nil { + t.Errorf("objectEnums() = %v, want nil", enums) + } + }) } -func TestJSONFormatterProcessChunk(t *testing.T) { - tests := []struct { - name string - text string - want any - wantNil bool - }{ - { - name: "complete JSON", - text: `{"name": "John", "age": 30}`, - want: map[string]any{"name": "John", "age": float64(30)}, - }, - { - name: "partial JSON", - text: `{"name": "John", "age": 3`, - want: map[string]any{"name": "John", "age": float64(3)}, - }, - { - name: "JSON in markdown", - text: "```json\n{\"name\": \"Jane\"}\n```", - want: map[string]any{"name": "Jane"}, - }, - { - name: "empty text", - text: "", - wantNil: true, - }, - { - name: "incremental chunks simulated", - text: `{"name": "John", "age": 30}`, - want: map[string]any{"name": "John", "age": float64(30)}, - }, +func TestStreamingFormatHandlerInterface(t *testing.T) { + formatters := []Formatter{ + textFormatter{}, + jsonFormatter{}, + jsonlFormatter{}, + arrayFormatter{}, + enumFormatter{}, } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - handler, err := jsonFormatter{}.Handler(map[string]any{"type": "object"}) - if err != nil { - t.Fatal(err) - } + arraySchema := map[string]any{ + "type": "array", + "items": map[string]any{"type": "object"}, + } + enumSchema := map[string]any{ + "type": "string", + "enum": []any{"a", "b"}, + } - sfh, ok := handler.(StreamingFormatHandler) - if !ok { - t.Fatal("handler does not implement StreamingFormatHandler") + for _, f := range formatters { + t.Run(f.Name()+" implements StreamingFormatHandler", func(t *testing.T) { + var schema map[string]any + switch f.Name() { + case OutputFormatJSONL, OutputFormatArray: + schema = arraySchema + case OutputFormatEnum: + schema = enumSchema } - chunk := &ModelResponseChunk{ - Content: []*Part{NewTextPart(tt.text)}, - Index: 0, - } - got, err := sfh.ParseChunk(chunk) + handler, err := f.Handler(schema) if err != nil { - t.Errorf("ProcessChunk() error = %v", err) - return - } - if tt.wantNil { - if got != nil { - t.Errorf("ProcessChunk() = %v, want nil", got) - } - return + t.Fatalf("Handler() error = %v", err) } - if diff := cmp.Diff(tt.want, got); diff != "" { - t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) + + if _, ok := handler.(StreamingFormatHandler); !ok { + t.Errorf("%s handler does not implement StreamingFormatHandler", f.Name()) } }) } } -func TestJSONLFormatterProcessChunk(t *testing.T) { - schema := map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - }, +func TestConstrainedGenerateWithFormats(t *testing.T) { + type FooBar struct { + Foo string `json:"foo"` } - tests := []struct { - name string - text string - want []any - wantNil bool - }{ - { - name: "two complete lines", - text: "{\"name\": \"John\"}\n{\"name\": \"Jane\"}", - want: []any{ - map[string]any{"name": "John"}, - map[string]any{"name": "Jane"}, - }, - }, - { - name: "one complete, one partial", - text: "{\"name\": \"John\"}\n{\"name\": \"J", - want: []any{ - map[string]any{"name": "John"}, - map[string]any{"name": "J"}, - }, - }, - { - name: "incremental chunks simulated", - text: "{\"name\": \"John\"}\n{\"name\": \"Jane\"}", - want: []any{ - map[string]any{"name": "John"}, - map[string]any{"name": "Jane"}, - }, + JSON := `{"foo": "bar"}` + JSONmd := "```json" + JSON + "```" + + modelOpts := ModelOptions{ + Label: "formatModel", + Supports: &ModelSupports{ + Multiturn: true, + Tools: true, + SystemRole: true, + Media: false, + Constrained: ConstrainedSupportAll, }, } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - handler, err := jsonlFormatter{}.Handler(schema) - if err != nil { - t.Fatal(err) - } + formatModel := DefineModel(r, "test/format", &modelOpts, func(ctx context.Context, gr *ModelRequest, msc ModelStreamCallback) (*ModelResponse, error) { + return &ModelResponse{ + Request: gr, + Message: NewModelTextMessage(JSONmd), + }, nil + }) - sfh, ok := handler.(StreamingFormatHandler) - if !ok { - t.Fatal("handler does not implement StreamingFormatHandler") - } + t.Run("native constrained mode sends schema to model", func(t *testing.T) { + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + ) + if err != nil { + t.Fatal(err) + } - chunk := &ModelResponseChunk{ - Content: []*Part{NewTextPart(tt.text)}, - Index: 0, - } - got, err := sfh.ParseChunk(chunk) - if err != nil { - t.Errorf("ProcessChunk() error = %v", err) - return - } - if tt.wantNil { - if got != nil { - t.Errorf("ProcessChunk() = %v, want nil", got) - } - return - } - if diff := cmp.Diff(tt.want, got); diff != "" { - t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) - } - }) - } -} + if res.Request.Output == nil { + t.Fatal("Output config should be set") + } + if !res.Request.Output.Constrained { + t.Error("Constrained should be true for native mode") + } + if res.Request.Output.Schema == nil { + t.Error("Schema should be set in output config") + } + }) -func TestArrayFormatterProcessChunk(t *testing.T) { - schema := map[string]any{ - "type": "array", - "items": map[string]any{ - "type": "object", - }, - } + t.Run("simulated constrained mode injects instructions", func(t *testing.T) { + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + WithCustomConstrainedOutput(), + ) + if err != nil { + t.Fatal(err) + } - tests := []struct { - name string - text string - want []any - wantNil bool - }{ - { - name: "complete array", - text: `[{"name": "John"}, {"name": "Jane"}]`, - want: []any{ - map[string]any{"name": "John"}, - map[string]any{"name": "Jane"}, - }, - }, - { - name: "partial array", - text: `[{"name": "John"}, {"name": "J`, - want: []any{ - map[string]any{"name": "John"}, - }, - }, - { - name: "incremental chunks simulated", - text: `[{"name": "John"}, {"name": "Jane"}]`, - want: []any{ - map[string]any{"name": "John"}, - map[string]any{"name": "Jane"}, - }, - }, - } + if res.Request.Output.Constrained { + t.Error("Constrained should be false for simulated mode") + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - handler, err := arrayFormatter{}.Handler(schema) - if err != nil { - t.Fatal(err) + var foundOutputPart bool + for _, msg := range res.Request.Messages { + for _, part := range msg.Content { + if part.Metadata != nil && part.Metadata["purpose"] == "output" { + foundOutputPart = true + if !strings.Contains(part.Text, "JSON format") { + t.Error("Output instructions should mention JSON format") + } + } } + } + if !foundOutputPart { + t.Error("Should inject output instructions in simulated mode") + } + }) - sfh, ok := handler.(StreamingFormatHandler) - if !ok { - t.Fatal("handler does not implement StreamingFormatHandler") - } + t.Run("empty output instructions disables injection", func(t *testing.T) { + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + WithOutputInstructions(""), + ) + if err != nil { + t.Fatal(err) + } - chunk := &ModelResponseChunk{ - Content: []*Part{NewTextPart(tt.text)}, - Index: 0, - } - got, err := sfh.ParseChunk(chunk) - if err != nil { - t.Errorf("ProcessChunk() error = %v", err) - return - } - if tt.wantNil { - if got != nil { - t.Errorf("ProcessChunk() = %v, want nil", got) + for _, msg := range res.Request.Messages { + for _, part := range msg.Content { + if part.Metadata != nil && part.Metadata["purpose"] == "output" { + t.Error("Should not inject output part when instructions are empty string") } - return - } - - gotSlice, ok := got.([]any) - if !ok { - t.Errorf("ProcessChunk() returned %T, want []any", got) - return } + } + if res.Request.Output.Schema != nil { + t.Error("Schema should not be set when using empty output instructions") + } + }) - if diff := cmp.Diff(tt.want, gotSlice); diff != "" { - t.Errorf("ProcessChunk() mismatch (-want +got):\n%s", diff) - } - }) - } -} + t.Run("custom output instructions are used", func(t *testing.T) { + customInstructions := "Please respond with valid JSON matching the schema" -func TestTextFormatterProcessChunk(t *testing.T) { - tests := []struct { - name string - text string - want string - }{ - { - name: "simple text", - text: "Hello, world!", - want: "Hello, world!", - }, - { - name: "incremental text simulated", - text: "Hello, world!", - want: "Hello, world!", - }, - } + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + WithOutputInstructions(customInstructions), + ) + if err != nil { + t.Fatal(err) + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - handler, err := textFormatter{}.Handler(nil) - if err != nil { - t.Fatal(err) + var foundCustomInstructions bool + for _, msg := range res.Request.Messages { + for _, part := range msg.Content { + if part.Text == customInstructions { + foundCustomInstructions = true + } } + } + if !foundCustomInstructions { + t.Error("Custom output instructions should be injected") + } + }) - sfh, ok := handler.(StreamingFormatHandler) - if !ok { - t.Fatal("handler does not implement StreamingFormatHandler") - } + t.Run("parsed output is available", func(t *testing.T) { + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + ) + if err != nil { + t.Fatal(err) + } - chunk := &ModelResponseChunk{ - Content: []*Part{NewTextPart(tt.text)}, - Index: 0, - } - got, err := sfh.ParseChunk(chunk) - if err != nil { - t.Errorf("ProcessChunk() error = %v", err) - return - } - if got != tt.want { - t.Errorf("ProcessChunk() = %v, want %v", got, tt.want) - } - }) - } -} + var output FooBar + err = res.Output(&output) + if err != nil { + t.Fatalf("Output() error = %v", err) + } -func TestEnumFormatterProcessChunk(t *testing.T) { - schema := map[string]any{ - "type": "object", - "properties": map[string]any{ - "value": map[string]any{ - "type": "string", - "enum": []any{"option1", "option2", "option3"}, - }, - }, - } + if output.Foo != "bar" { + t.Errorf("Output().Foo = %v, want %q", output.Foo, "bar") + } + }) - tests := []struct { - name string - text string - want string - }{ - { - name: "valid enum", - text: "option1", - want: "option1", - }, - { - name: "valid enum with quotes", - text: "\"option2\"", - want: "option2", - }, - { - name: "invalid enum returns empty string", - text: "invalid", - want: "", - }, - { - name: "partial match returns empty string", - text: "opt", - want: "", - }, - { - name: "incremental chunks simulated", - text: "option1", - want: "option1", - }, - } + t.Run("text response is extracted from markdown", func(t *testing.T) { + res, err := Generate(context.Background(), r, + WithModel(formatModel), + WithPrompt("generate json"), + WithOutputType(FooBar{}), + ) + if err != nil { + t.Fatal(err) + } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - handler, err := enumFormatter{}.Handler(schema) - if err != nil { - t.Fatal(err) - } + text := res.Text() + if text != JSON { + t.Errorf("Text() = %q, want %q", text, JSON) + } + }) +} - sfh, ok := handler.(StreamingFormatHandler) - if !ok { - t.Fatal("handler does not implement StreamingFormatHandler") - } +func TestDefaultFormats(t *testing.T) { + expectedFormats := []string{ + OutputFormatText, + OutputFormatJSON, + OutputFormatJSONL, + OutputFormatArray, + OutputFormatEnum, + } - chunk := &ModelResponseChunk{ - Content: []*Part{NewTextPart(tt.text)}, - Index: 0, - } - got, err := sfh.ParseChunk(chunk) - if err != nil { - t.Errorf("ProcessChunk() error = %v", err) - return + for _, format := range expectedFormats { + t.Run(format+" is registered", func(t *testing.T) { + formatter := r.LookupValue("/format/" + format) + if formatter == nil { + t.Errorf("format %q not registered", format) } - if got != tt.want { - t.Errorf("ProcessChunk() = %v, want %v", got, tt.want) + if f, ok := formatter.(Formatter); !ok || f.Name() != format { + t.Errorf("registered format has wrong name") } }) } diff --git a/go/samples/formats/main.go b/go/samples/formats/main.go index 20ae2a399a..575fcf12ef 100644 --- a/go/samples/formats/main.go +++ b/go/samples/formats/main.go @@ -37,8 +37,8 @@ type StoryCharacter struct { func main() { ctx := context.Background() g := genkit.Init(ctx, - genkit.WithPlugins(&googlegenai.VertexAI{}), - genkit.WithDefaultModel("vertexai/gemini-2.5-pro"), + genkit.WithPlugins(&googlegenai.GoogleAI{}), + genkit.WithDefaultModel("googleai/gemini-2.5-flash"), ) var callback func(context.Context, *ai.ModelResponseChunk) error @@ -72,12 +72,15 @@ func main() { return cb(ctx, c.Text()) } } - resp, err := defaultPrompt.Execute(ctx, ai.WithInput(StoryCharacter{Name: "Willy the Pig"}), ai.WithStreaming(callback)) + resp, err := defaultPrompt.Execute(ctx, + ai.WithInput(StoryCharacter{Name: "Willy the Pig"}), + ai.WithStreaming(callback), + ) if err != nil { return nil, err } - var defaultCharacter StoryCharacter + var defaultCharacter []*StoryCharacter if err := resp.Output(&defaultCharacter); err != nil { return nil, err } @@ -87,12 +90,12 @@ func main() { return nil, err } - var customCharacter StoryCharacter + var customCharacter []*StoryCharacter if err := resp.Output(&customCharacter); err != nil { return nil, err } - return []*StoryCharacter{&defaultCharacter, &customCharacter}, nil + return append(defaultCharacter, customCharacter...), nil }) mux := http.NewServeMux() From 327540a0ae24207af75f3aa8ecf7db7645fe3290 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Thu, 11 Dec 2025 07:41:24 -0800 Subject: [PATCH 11/21] Added iterator streaming functions and typed prompts. --- go/ai/generate.go | 95 +++++++++++++++++- go/ai/prompt.go | 230 ++++++++++++++++++++++++++++++++++++++++++++ go/genkit/genkit.go | 102 ++++++++++++++++++++ 3 files changed, 426 insertions(+), 1 deletion(-) diff --git a/go/ai/generate.go b/go/ai/generate.go index 9972f7f816..06b291d0db 100644 --- a/go/ai/generate.go +++ b/go/ai/generate.go @@ -550,7 +550,56 @@ func GenerateText(ctx context.Context, r api.Registry, opts ...GenerateOption) ( return res.Text(), nil } -// Generate run generate request for this model. Returns ModelResponse struct. +// StreamValue is either a streamed chunk or the final response of a generate request. +type StreamValue[Out, Stream any] struct { + Done bool + Chunk Stream // valid if Done is false + Output Out // valid if Done is true + Response *ModelResponse // valid if Done is true +} + +// ModelStreamValue is a stream value for a model response. +type ModelStreamValue = StreamValue[*ModelResponse, *ModelResponseChunk] + +// errGenerateStop is a sentinel error used to signal early termination of streaming. +var errGenerateStop = errors.New("stop") + +// GenerateStream generates a model response and streams the output. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, generation has failed with that +// error; the yield function will not be called again. +// +// If the yield function's [StreamValue] argument has Done == true, the value's +// Response field contains the final response; the yield function will not be called +// again. +// +// Otherwise the Chunk field of the passed [StreamValue] holds a streamed chunk. +func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) func(func(*ModelStreamValue, error) bool) { + return func(yield func(*ModelStreamValue, error) bool) { + cb := func(ctx context.Context, chunk *ModelResponseChunk) error { + if ctx.Err() != nil { + return ctx.Err() + } + if !yield(&ModelStreamValue{Chunk: chunk}, nil) { + return errGenerateStop + } + return nil + } + + allOpts := append(slices.Clone(opts), WithStreaming(cb)) + + resp, err := Generate(ctx, r, allOpts...) + if err != nil { + yield(nil, err) + } else { + yield(&ModelStreamValue{Done: true, Response: resp}, nil) + } + } +} + +// GenerateData runs a generate request and returns strongly-typed output. func GenerateData[Out any](ctx context.Context, r api.Registry, opts ...GenerateOption) (*Out, *ModelResponse, error) { var value Out opts = append(opts, WithOutputType(value)) @@ -568,6 +617,50 @@ func GenerateData[Out any](ctx context.Context, r api.Registry, opts ...Generate return &value, resp, nil } +// GenerateDataStream generates a model response with streaming and returns strongly-typed output. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, generation has failed with that +// error; the yield function will not be called again. +// +// If the yield function's [StreamValue] argument has Done == true, the value's +// Output and Response fields contain the final typed output and response; the yield function +// will not be called again. +// +// Otherwise the Chunk field of the passed [StreamValue] holds a streamed chunk. +func GenerateDataStream[Out, Stream any](ctx context.Context, r api.Registry, opts ...GenerateOption) func(func(*StreamValue[Out, Stream], error) bool) { + return func(yield func(*StreamValue[Out, Stream], error) bool) { + cb := func(ctx context.Context, chunk *ModelResponseChunk) error { + if ctx.Err() != nil { + return ctx.Err() + } + // TODO: Convert ModelResponseChunk to Stream type. + if !yield(&StreamValue[Out, Stream]{}, nil) { + return errGenerateStop + } + return nil + } + + var value Out + allOpts := append(slices.Clone(opts), WithOutputType(value), WithStreaming(cb)) + + resp, err := Generate(ctx, r, allOpts...) + if err != nil { + yield(nil, err) + return + } + + err = resp.Output(&value) + if err != nil { + yield(nil, err) + return + } + + yield(&StreamValue[Out, Stream]{Done: true, Output: value, Response: resp}, nil) + } +} + // Generate applies the [Action] to provided request. func (m *model) Generate(ctx context.Context, req *ModelRequest, cb ModelStreamCallback) (*ModelResponse, error) { if m == nil { diff --git a/go/ai/prompt.go b/go/ai/prompt.go index e41d248fc3..f860fc8102 100644 --- a/go/ai/prompt.go +++ b/go/ai/prompt.go @@ -40,6 +40,8 @@ type Prompt interface { Name() string // Execute executes the prompt with the given options and returns a [ModelResponse]. Execute(ctx context.Context, opts ...PromptExecuteOption) (*ModelResponse, error) + // ExecuteStream executes the prompt with streaming and returns an iterator. + ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) func(func(*ModelStreamValue, error) bool) // Render renders the prompt with the given input and returns a [GenerateActionOptions] to be used with [GenerateWithRequest]. Render(ctx context.Context, input any) (*GenerateActionOptions, error) } @@ -51,6 +53,14 @@ type prompt struct { registry api.Registry } +// DataPrompt is a prompt with strongly-typed input and output. +// It wraps an underlying Prompt and provides type-safe Execute and Render methods. +// The Out type parameter can be string for text outputs or any struct type for JSON outputs. +type DataPrompt[In, Out, Stream any] struct { + prompt Prompt + registry api.Registry +} + // DefinePrompt creates a new [Prompt] and registers it. func DefinePrompt(r api.Registry, name string, opts ...PromptOption) Prompt { if name == "" { @@ -242,6 +252,51 @@ func (p *prompt) Execute(ctx context.Context, opts ...PromptExecuteOption) (*Mod return GenerateWithRequest(ctx, r, actionOpts, execOpts.Middleware, execOpts.Stream) } +// ExecuteStream executes the prompt with streaming and returns an iterator. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, execution has failed with that +// error; the yield function will not be called again. +// +// If the yield function's [ModelStreamValue] argument has Done == true, the value's +// Response field contains the final response; the yield function will not be called again. +// +// Otherwise the Chunk field of the passed [ModelStreamValue] holds a streamed chunk. +func (p *prompt) ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) func(func(*ModelStreamValue, error) bool) { + return func(yield func(*ModelStreamValue, error) bool) { + if p == nil { + yield(nil, errors.New("Prompt.ExecuteStream: execute called on a nil Prompt; check that all prompts are defined")) + return + } + + cb := func(ctx context.Context, chunk *ModelResponseChunk) error { + if ctx.Err() != nil { + return ctx.Err() + } + if !yield(&ModelStreamValue{Chunk: chunk}, nil) { + return errPromptStop + } + return nil + } + + allOpts := make([]PromptExecuteOption, 0, len(opts)+1) + allOpts = append(allOpts, opts...) + allOpts = append(allOpts, WithStreaming(cb)) + + resp, err := p.Execute(ctx, allOpts...) + if err != nil { + yield(nil, err) + return + } + + yield(&ModelStreamValue{Done: true, Response: resp}, nil) + } +} + +// errPromptStop is a sentinel error used to signal early termination of streaming. +var errPromptStop = errors.New("stop") + // Render renders the prompt template based on user input. func (p *prompt) Render(ctx context.Context, input any) (*GenerateActionOptions, error) { if p == nil { @@ -803,3 +858,178 @@ func contentType(ct, uri string) (string, []byte, error) { return "", nil, errors.New("uri content type not found") } + +// DefineDataPrompt creates a new data prompt and registers it. +// It automatically infers input schema from the In type parameter and configures +// output schema and JSON format from the Out type parameter (unless Out is string). +func DefineDataPrompt[In, Out, Stream any](r api.Registry, name string, opts ...PromptOption) *DataPrompt[In, Out, Stream] { + if name == "" { + panic("ai.DefineDataPrompt: name is required") + } + + allOpts := make([]PromptOption, 0, len(opts)+2) + + var in In + allOpts = append(allOpts, WithInputType(in)) + + var out Out + switch any(out).(type) { + case string: + // String output - no schema needed + default: + allOpts = append(allOpts, WithOutputType(out)) + } + + allOpts = append(allOpts, opts...) + + p := DefinePrompt(r, name, allOpts...) + + return &DataPrompt[In, Out, Stream]{ + prompt: p, + registry: r, + } +} + +// LookupDataPrompt looks up a prompt by name and wraps it with type information. +// This is useful for wrapping prompts loaded from .prompt files with strong types. +// It returns nil if the prompt was not found. +func LookupDataPrompt[In, Out, Stream any](r api.Registry, name string) *DataPrompt[In, Out, Stream] { + p := LookupPrompt(r, name) + if p == nil { + return nil + } + + return AsDataPrompt[In, Out, Stream](p) +} + +// AsDataPrompt wraps an existing Prompt with type information, returning a DataPrompt. +// This is useful for adding strong typing to a dynamically obtained prompt. +func AsDataPrompt[In, Out, Stream any](p Prompt) *DataPrompt[In, Out, Stream] { + if p == nil { + return nil + } + + return &DataPrompt[In, Out, Stream]{ + prompt: p, + registry: p.(*prompt).registry, + } +} + +// Name returns the name of the prompt. +func (tp *DataPrompt[In, Out, Stream]) Name() string { + if tp == nil || tp.prompt == nil { + return "" + } + return tp.prompt.Name() +} + +// Execute executes the typed prompt and returns the strongly-typed output along with the full model response. +// For structured output types (non-string Out), the prompt must be configured with the appropriate +// output schema, either through [DefineDataPrompt] or by using [WithOutputType] when defining the prompt. +func (tp *DataPrompt[In, Out, Stream]) Execute(ctx context.Context, input In, opts ...PromptExecuteOption) (*Out, *ModelResponse, error) { + if tp == nil || tp.prompt == nil { + return nil, nil, errors.New("TypedPrompt.Execute: called on a nil prompt; check that all prompts are defined") + } + + allOpts := make([]PromptExecuteOption, 0, len(opts)+1) + allOpts = append(allOpts, WithInput(input)) + allOpts = append(allOpts, opts...) + + resp, err := tp.prompt.Execute(ctx, allOpts...) + if err != nil { + return nil, nil, err + } + + output, err := extractTypedOutput[Out](resp) + if err != nil { + return nil, resp, err + } + + return output, resp, nil +} + +// ExecuteStream executes the typed prompt with streaming and returns an iterator. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, execution has failed with that +// error; the yield function will not be called again. +// +// If the yield function's DataPromptStreamValue argument has Done == true, the value's +// Output and Response fields contain the final typed output and response; the yield function +// will not be called again. +// +// Otherwise the Chunk field of the passed DataPromptStreamValue holds a streamed chunk. +// +// For structured output types (non-string Out), the prompt must be configured with the appropriate +// output schema, either through [DefineDataPrompt] or by using [WithOutputType] when defining the prompt. +func (tp *DataPrompt[In, Out, Stream]) ExecuteStream(ctx context.Context, input In, opts ...PromptExecuteOption) func(func(*StreamValue[Out, Stream], error) bool) { + return func(yield func(*StreamValue[Out, Stream], error) bool) { + if tp == nil || tp.prompt == nil { + yield(nil, errors.New("DataPrompt.ExecuteStream: called on a nil prompt; check that all prompts are defined")) + return + } + + cb := func(ctx context.Context, chunk *ModelResponseChunk) error { + if ctx.Err() != nil { + return ctx.Err() + } + // TODO: Convert ModelResponseChunk to StreamValue[Out, Stream]. + if !yield(&StreamValue[Out, Stream]{}, nil) { + return errTypedPromptStop + } + return nil + } + + allOpts := make([]PromptExecuteOption, 0, len(opts)+2) + allOpts = append(allOpts, WithInput(input)) + allOpts = append(allOpts, opts...) + allOpts = append(allOpts, WithStreaming(cb)) + + resp, err := tp.prompt.Execute(ctx, allOpts...) + if err != nil { + yield(nil, err) + return + } + + output, err := extractTypedOutput[Out](resp) + if err != nil { + yield(nil, err) + return + } + + yield(&StreamValue[Out, Stream]{Done: true, Output: *output, Response: resp}, nil) + } +} + +// Render renders the typed prompt template with the given input. +func (tp *DataPrompt[In, Out, Stream]) Render(ctx context.Context, input In) (*GenerateActionOptions, error) { + if tp == nil || tp.prompt == nil { + return nil, errors.New("TypedPrompt.Render: called on a nil prompt; check that all prompts are defined") + } + + return tp.prompt.Render(ctx, input) +} + +// errTypedPromptStop is a sentinel error used to signal early termination of streaming. +var errTypedPromptStop = errors.New("stop") + +// extractTypedOutput extracts the typed output from a model response. +func extractTypedOutput[Out any](resp *ModelResponse) (*Out, error) { + var output Out + + switch any(output).(type) { + case string: + // String output - use Text() + text := resp.Text() + // Type assertion to convert string to Out (which we know is string) + result := any(text).(Out) + return &result, nil + default: + // Structured output - unmarshal from response + if err := resp.Output(&output); err != nil { + return nil, fmt.Errorf("TypedPrompt: failed to parse output: %w", err) + } + return &output, nil + } +} diff --git a/go/genkit/genkit.go b/go/genkit/genkit.go index 0068a2145e..9081410951 100644 --- a/go/genkit/genkit.go +++ b/go/genkit/genkit.go @@ -659,6 +659,42 @@ func DefineSchemaFor[T any](g *Genkit) { core.DefineSchemaFor[T](g.reg) } +// DefineDataPrompt creates a new [ai.DataPrompt] with strongly-typed input and output. +// It automatically infers input schema from the In type parameter and configures +// output schema and JSON format from the Out type parameter (unless Out is string). +// +// Example: +// +// type GeoInput struct { +// Country string `json:"country"` +// } +// +// type GeoOutput struct { +// Capital string `json:"capital"` +// } +// +// capitalPrompt := genkit.DefineDataPrompt[GeoInput, GeoOutput, *ai.ModelResponseChunk](g, "findCapital", +// ai.WithModelName("googleai/gemini-2.5-flash"), +// ai.WithSystem("You are a helpful geography assistant."), +// ai.WithPrompt("What is the capital of {{country}}?"), +// ) +// +// output, resp, err := capitalPrompt.Execute(ctx, GeoInput{Country: "France"}) +// if err != nil { +// log.Fatalf("Execute failed: %v", err) +// } +// fmt.Printf("Capital: %s\n", output.Capital) +func DefineDataPrompt[In, Out, Stream any](g *Genkit, name string, opts ...ai.PromptOption) *ai.DataPrompt[In, Out, Stream] { + return ai.DefineDataPrompt[In, Out, Stream](g.reg, name, opts...) +} + +// LookupDataPrompt looks up a prompt by name and wraps it with type information. +// This is useful for wrapping prompts loaded from .prompt files with strong types. +// It returns nil if the prompt was not found. +func LookupDataPrompt[In, Out, Stream any](g *Genkit, name string) *ai.DataPrompt[In, Out, Stream] { + return ai.LookupDataPrompt[In, Out, Stream](g.reg, name) +} + // GenerateWithRequest performs a model generation request using explicitly provided // [ai.GenerateActionOptions]. This function is typically used in conjunction with // prompts defined via [DefinePrompt], where [ai.prompt.Render] produces the @@ -708,6 +744,36 @@ func Generate(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) (*ai.Mo return ai.Generate(ctx, g.reg, opts...) } +// GenerateStream generates a model response and streams the output. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, generation has failed with that +// error; the yield function will not be called again. +// +// If the yield function's [ai.ModelStreamValue] argument has Done == true, the value's +// Response field contains the final response; the yield function will not be called again. +// +// Otherwise the Chunk field of the passed [ai.ModelStreamValue] holds a streamed chunk. +// +// Example: +// +// for result, err := range genkit.GenerateStream(ctx, g, +// ai.WithPrompt("Tell me a story about a brave knight."), +// ) { +// if err != nil { +// log.Fatalf("Stream error: %v", err) +// } +// if result.Done { +// fmt.Println("\nFinal response:", result.Response.Text()) +// } else { +// fmt.Print(result.Chunk.Text()) +// } +// } +func GenerateStream(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) func(func(*ai.ModelStreamValue, error) bool) { + return ai.GenerateStream(ctx, g.reg, opts...) +} + // GenerateOperation performs a model generation request using a flexible set of options // provided via [ai.GenerateOption] arguments. It's a convenient way to make // generation calls without pre-defining a prompt object. @@ -796,6 +862,42 @@ func GenerateData[Out any](ctx context.Context, g *Genkit, opts ...ai.GenerateOp return ai.GenerateData[Out](ctx, g.reg, opts...) } +// GenerateDataStream generates a model response with streaming and returns strongly-typed output. +// It returns a function whose argument function (the "yield function") will be repeatedly +// called with the results. +// +// If the yield function is passed a non-nil error, generation has failed with that +// error; the yield function will not be called again. +// +// If the yield function's [ai.StreamValue] argument has Done == true, the value's +// Output and Response fields contain the final typed output and response; the yield function +// will not be called again. +// +// Otherwise the Chunk field of the passed [ai.StreamValue] holds a streamed chunk. +// +// Example: +// +// type Story struct { +// Title string `json:"title"` +// Content string `json:"content"` +// } +// +// for result, err := range genkit.GenerateDataStream[Story, *ai.ModelResponseChunk](ctx, g, +// ai.WithPrompt("Write a short story about a brave knight."), +// ) { +// if err != nil { +// log.Fatalf("Stream error: %v", err) +// } +// if result.Done { +// fmt.Printf("Story: %+v\n", result.Output) +// } else { +// fmt.Print(result.Chunk.Text()) +// } +// } +func GenerateDataStream[Out, Stream any](ctx context.Context, g *Genkit, opts ...ai.GenerateOption) func(func(*ai.StreamValue[Out, Stream], error) bool) { + return ai.GenerateDataStream[Out, Stream](ctx, g.reg, opts...) +} + // Retrieve performs a document retrieval request using a flexible set of options // provided via [ai.RetrieverOption] arguments. It's a convenient way to retrieve // relevant documents from registered retrievers without directly calling the From 1d57a9fabed0e386274aef29bb087f4b04d2e1b3 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Sat, 13 Dec 2025 07:18:01 -0800 Subject: [PATCH 12/21] Update generate.go --- go/ai/generate.go | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/go/ai/generate.go b/go/ai/generate.go index 06b291d0db..6a116353b8 100644 --- a/go/ai/generate.go +++ b/go/ai/generate.go @@ -550,6 +550,24 @@ func GenerateText(ctx context.Context, r api.Registry, opts ...GenerateOption) ( return res.Text(), nil } +// GenerateData runs a generate request and returns strongly-typed output. +func GenerateData[Out any](ctx context.Context, r api.Registry, opts ...GenerateOption) (*Out, *ModelResponse, error) { + var value Out + opts = append(opts, WithOutputType(value)) + + resp, err := Generate(ctx, r, opts...) + if err != nil { + return nil, nil, err + } + + err = resp.Output(&value) + if err != nil { + return nil, nil, err + } + + return &value, resp, nil +} + // StreamValue is either a streamed chunk or the final response of a generate request. type StreamValue[Out, Stream any] struct { Done bool @@ -599,24 +617,6 @@ func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) } } -// GenerateData runs a generate request and returns strongly-typed output. -func GenerateData[Out any](ctx context.Context, r api.Registry, opts ...GenerateOption) (*Out, *ModelResponse, error) { - var value Out - opts = append(opts, WithOutputType(value)) - - resp, err := Generate(ctx, r, opts...) - if err != nil { - return nil, nil, err - } - - err = resp.Output(&value) - if err != nil { - return nil, nil, err - } - - return &value, resp, nil -} - // GenerateDataStream generates a model response with streaming and returns strongly-typed output. // It returns a function whose argument function (the "yield function") will be repeatedly // called with the results. From b490aa89cd4bdb9758326054b780958271377ccb Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Thu, 18 Dec 2025 09:25:28 -0800 Subject: [PATCH 13/21] Iterated on the new APIs. --- go/ai/generate.go | 84 ++++++++++++------ go/ai/prompt.go | 123 +++++++++----------------- go/genkit/genkit.go | 21 +++-- go/plugins/googlegenai/googlegenai.go | 15 ++-- 4 files changed, 118 insertions(+), 125 deletions(-) diff --git a/go/ai/generate.go b/go/ai/generate.go index 6a116353b8..2ce1d69841 100644 --- a/go/ai/generate.go +++ b/go/ai/generate.go @@ -21,6 +21,7 @@ import ( "encoding/json" "errors" "fmt" + "iter" "slices" "strings" @@ -577,24 +578,24 @@ type StreamValue[Out, Stream any] struct { } // ModelStreamValue is a stream value for a model response. -type ModelStreamValue = StreamValue[*ModelResponse, *ModelResponseChunk] +// Out is never set because the output is already available in the Response field. +type ModelStreamValue = StreamValue[struct{}, *ModelResponseChunk] // errGenerateStop is a sentinel error used to signal early termination of streaming. var errGenerateStop = errors.New("stop") // GenerateStream generates a model response and streams the output. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. +// It returns an iterator that yields streaming results. // // If the yield function is passed a non-nil error, generation has failed with that // error; the yield function will not be called again. // -// If the yield function's [StreamValue] argument has Done == true, the value's +// If the yield function's [ModelStreamValue] argument has Done == true, the value's // Response field contains the final response; the yield function will not be called // again. // -// Otherwise the Chunk field of the passed [StreamValue] holds a streamed chunk. -func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) func(func(*ModelStreamValue, error) bool) { +// Otherwise the Chunk field of the passed [ModelStreamValue] holds a streamed chunk. +func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) iter.Seq2[*ModelStreamValue, error] { return func(yield func(*ModelStreamValue, error) bool) { cb := func(ctx context.Context, chunk *ModelResponseChunk) error { if ctx.Err() != nil { @@ -618,8 +619,7 @@ func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) } // GenerateDataStream generates a model response with streaming and returns strongly-typed output. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. +// It returns an iterator that yields streaming results. // // If the yield function is passed a non-nil error, generation has failed with that // error; the yield function will not be called again. @@ -629,21 +629,27 @@ func GenerateStream(ctx context.Context, r api.Registry, opts ...GenerateOption) // will not be called again. // // Otherwise the Chunk field of the passed [StreamValue] holds a streamed chunk. -func GenerateDataStream[Out, Stream any](ctx context.Context, r api.Registry, opts ...GenerateOption) func(func(*StreamValue[Out, Stream], error) bool) { - return func(yield func(*StreamValue[Out, Stream], error) bool) { +func GenerateDataStream[Out any](ctx context.Context, r api.Registry, opts ...GenerateOption) iter.Seq2[*StreamValue[Out, Out], error] { + return func(yield func(*StreamValue[Out, Out], error) bool) { cb := func(ctx context.Context, chunk *ModelResponseChunk) error { if ctx.Err() != nil { return ctx.Err() } - // TODO: Convert ModelResponseChunk to Stream type. - if !yield(&StreamValue[Out, Stream]{}, nil) { + var streamValue Out + if err := chunk.Output(&streamValue); err != nil { + yield(nil, err) + return err + } + if !yield(&StreamValue[Out, Out]{Chunk: streamValue}, nil) { return errGenerateStop } return nil } + // Prepend WithOutputType so the user can override the output format. var value Out - allOpts := append(slices.Clone(opts), WithOutputType(value), WithStreaming(cb)) + allOpts := append([]GenerateOption{WithOutputType(value)}, opts...) + allOpts = append(allOpts, WithStreaming(cb)) resp, err := Generate(ctx, r, allOpts...) if err != nil { @@ -651,13 +657,13 @@ func GenerateDataStream[Out, Stream any](ctx context.Context, r api.Registry, op return } - err = resp.Output(&value) + output, err := extractTypedOutput[Out](resp) if err != nil { yield(nil, err) return } - yield(&StreamValue[Out, Stream]{Done: true, Output: value, Response: resp}, nil) + yield(&StreamValue[Out, Out]{Done: true, Output: output, Response: resp}, nil) } } @@ -844,7 +850,7 @@ func handleToolRequests(ctx context.Context, r api.Registry, req *ModelRequest, // [ModelResponse] as a string. It returns an empty string if there // are no candidates or if the candidate has no message. func (mr *ModelResponse) Text() string { - if mr.Message == nil { + if mr == nil || mr.Message == nil { return "" } return mr.Message.Text() @@ -853,7 +859,7 @@ func (mr *ModelResponse) Text() string { // History returns messages from the request combined with the response message // to represent the conversation history. func (mr *ModelResponse) History() []*Message { - if mr.Message == nil { + if mr == nil || mr.Message == nil { return mr.Request.Messages } return append(mr.Request.Messages, mr.Message) @@ -862,7 +868,7 @@ func (mr *ModelResponse) History() []*Message { // Reasoning concatenates all reasoning parts present in the message func (mr *ModelResponse) Reasoning() string { var sb strings.Builder - if mr.Message == nil { + if mr == nil || mr.Message == nil { return "" } @@ -879,7 +885,7 @@ func (mr *ModelResponse) Reasoning() string { // If a format handler is set, it uses the handler's ParseOutput method. // Otherwise, it falls back to parsing the response text as JSON. func (mr *ModelResponse) Output(v any) error { - if mr.Message == nil || len(mr.Message.Content) == 0 { + if mr == nil || mr.Message == nil || len(mr.Message.Content) == 0 { return errors.New("no content in response") } @@ -903,7 +909,7 @@ func (mr *ModelResponse) Output(v any) error { // ToolRequests returns the tool requests from the response. func (mr *ModelResponse) ToolRequests() []*ToolRequest { toolReqs := []*ToolRequest{} - if mr.Message == nil { + if mr == nil || mr.Message == nil { return toolReqs } for _, part := range mr.Message.Content { @@ -917,7 +923,7 @@ func (mr *ModelResponse) ToolRequests() []*ToolRequest { // Interrupts returns the interrupted tool request parts from the response. func (mr *ModelResponse) Interrupts() []*Part { parts := []*Part{} - if mr.Message == nil { + if mr == nil || mr.Message == nil { return parts } for _, part := range mr.Message.Content { @@ -930,7 +936,7 @@ func (mr *ModelResponse) Interrupts() []*Part { // Media returns the media content of the [ModelResponse] as a string. func (mr *ModelResponse) Media() string { - if mr.Message == nil { + if mr == nil || mr.Message == nil { return "" } for _, part := range mr.Message.Content { @@ -996,17 +1002,41 @@ func (c *ModelResponseChunk) Output(v any) error { // outputer is an interface for types that can unmarshal structured output. type outputer interface { - Output(v any) error + // Text returns the contents of the output as a string. + Text() string + // Output parses the structured output from the response and unmarshals it into value. + Output(value any) error } // OutputFrom is a convenience function that parses structured output from a // [ModelResponse] or [ModelResponseChunk] and returns it as a typed value. // This is equivalent to calling Output() but returns the value directly instead // of requiring a pointer argument. If you need to handle the error, use Output() instead. -func OutputFrom[T any](src outputer) T { - var v T - src.Output(&v) - return v +func OutputFrom[Out any](src outputer) Out { + output, err := extractTypedOutput[Out](src) + if err != nil { + return base.Zero[Out]() + } + return output +} + +// extractTypedOutput extracts the typed output from a model response. +// It supports string output by calling Text() and returning the result. +func extractTypedOutput[Out any](o outputer) (Out, error) { + var output Out + + switch any(output).(type) { + case string: + text := o.Text() + // Type assertion to convert string to Out (which we know is string). + result := any(text).(Out) + return result, nil + default: + if err := o.Output(&output); err != nil { + return base.Zero[Out](), fmt.Errorf("failed to parse output: %w", err) + } + return output, nil + } } // Text returns the contents of a [Message] as a string. It diff --git a/go/ai/prompt.go b/go/ai/prompt.go index f860fc8102..4236dc20db 100644 --- a/go/ai/prompt.go +++ b/go/ai/prompt.go @@ -19,11 +19,13 @@ import ( "encoding/json" "errors" "fmt" + "iter" "log/slog" "maps" "os" "path/filepath" "reflect" + "slices" "strings" "github.com/firebase/genkit/go/core" @@ -41,7 +43,7 @@ type Prompt interface { // Execute executes the prompt with the given options and returns a [ModelResponse]. Execute(ctx context.Context, opts ...PromptExecuteOption) (*ModelResponse, error) // ExecuteStream executes the prompt with streaming and returns an iterator. - ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) func(func(*ModelStreamValue, error) bool) + ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) iter.Seq2[*ModelStreamValue, error] // Render renders the prompt with the given input and returns a [GenerateActionOptions] to be used with [GenerateWithRequest]. Render(ctx context.Context, input any) (*GenerateActionOptions, error) } @@ -56,9 +58,8 @@ type prompt struct { // DataPrompt is a prompt with strongly-typed input and output. // It wraps an underlying Prompt and provides type-safe Execute and Render methods. // The Out type parameter can be string for text outputs or any struct type for JSON outputs. -type DataPrompt[In, Out, Stream any] struct { - prompt Prompt - registry api.Registry +type DataPrompt[In, Out any] struct { + Prompt } // DefinePrompt creates a new [Prompt] and registers it. @@ -146,7 +147,7 @@ func LookupPrompt(r api.Registry, name string) Prompt { // passes the rendered template to the AI model specified by the prompt. func (p *prompt) Execute(ctx context.Context, opts ...PromptExecuteOption) (*ModelResponse, error) { if p == nil { - return nil, errors.New("Prompt.Execute: execute called on a nil Prompt; check that all prompts are defined") + return nil, core.NewError(core.INVALID_ARGUMENT, "Prompt.Execute: prompt is nil") } execOpts := &promptExecutionOptions{} @@ -253,8 +254,6 @@ func (p *prompt) Execute(ctx context.Context, opts ...PromptExecuteOption) (*Mod } // ExecuteStream executes the prompt with streaming and returns an iterator. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. // // If the yield function is passed a non-nil error, execution has failed with that // error; the yield function will not be called again. @@ -263,10 +262,10 @@ func (p *prompt) Execute(ctx context.Context, opts ...PromptExecuteOption) (*Mod // Response field contains the final response; the yield function will not be called again. // // Otherwise the Chunk field of the passed [ModelStreamValue] holds a streamed chunk. -func (p *prompt) ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) func(func(*ModelStreamValue, error) bool) { +func (p *prompt) ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) iter.Seq2[*ModelStreamValue, error] { return func(yield func(*ModelStreamValue, error) bool) { if p == nil { - yield(nil, errors.New("Prompt.ExecuteStream: execute called on a nil Prompt; check that all prompts are defined")) + yield(nil, core.NewError(core.INVALID_ARGUMENT, "Prompt.ExecuteStream: prompt is nil")) return } @@ -300,7 +299,7 @@ var errPromptStop = errors.New("stop") // Render renders the prompt template based on user input. func (p *prompt) Render(ctx context.Context, input any) (*GenerateActionOptions, error) { if p == nil { - return nil, errors.New("Prompt.Render: called on a nil prompt; check that all prompts are defined") + return nil, core.NewError(core.INVALID_ARGUMENT, "Prompt.Render: prompt is nil") } if len(p.Middleware) > 0 { @@ -862,7 +861,7 @@ func contentType(ct, uri string) (string, []byte, error) { // DefineDataPrompt creates a new data prompt and registers it. // It automatically infers input schema from the In type parameter and configures // output schema and JSON format from the Out type parameter (unless Out is string). -func DefineDataPrompt[In, Out, Stream any](r api.Registry, name string, opts ...PromptOption) *DataPrompt[In, Out, Stream] { +func DefineDataPrompt[In, Out any](r api.Registry, name string, opts ...PromptOption) *DataPrompt[In, Out] { if name == "" { panic("ai.DefineDataPrompt: name is required") } @@ -884,89 +883,71 @@ func DefineDataPrompt[In, Out, Stream any](r api.Registry, name string, opts ... p := DefinePrompt(r, name, allOpts...) - return &DataPrompt[In, Out, Stream]{ - prompt: p, - registry: r, - } + return &DataPrompt[In, Out]{Prompt: p} } // LookupDataPrompt looks up a prompt by name and wraps it with type information. // This is useful for wrapping prompts loaded from .prompt files with strong types. // It returns nil if the prompt was not found. -func LookupDataPrompt[In, Out, Stream any](r api.Registry, name string) *DataPrompt[In, Out, Stream] { +func LookupDataPrompt[In, Out any](r api.Registry, name string) *DataPrompt[In, Out] { p := LookupPrompt(r, name) if p == nil { return nil } - return AsDataPrompt[In, Out, Stream](p) + return AsDataPrompt[In, Out](p) } // AsDataPrompt wraps an existing Prompt with type information, returning a DataPrompt. // This is useful for adding strong typing to a dynamically obtained prompt. -func AsDataPrompt[In, Out, Stream any](p Prompt) *DataPrompt[In, Out, Stream] { +func AsDataPrompt[In, Out any](p Prompt) *DataPrompt[In, Out] { if p == nil { return nil } - return &DataPrompt[In, Out, Stream]{ - prompt: p, - registry: p.(*prompt).registry, - } -} - -// Name returns the name of the prompt. -func (tp *DataPrompt[In, Out, Stream]) Name() string { - if tp == nil || tp.prompt == nil { - return "" - } - return tp.prompt.Name() + return &DataPrompt[In, Out]{Prompt: p} } // Execute executes the typed prompt and returns the strongly-typed output along with the full model response. // For structured output types (non-string Out), the prompt must be configured with the appropriate // output schema, either through [DefineDataPrompt] or by using [WithOutputType] when defining the prompt. -func (tp *DataPrompt[In, Out, Stream]) Execute(ctx context.Context, input In, opts ...PromptExecuteOption) (*Out, *ModelResponse, error) { - if tp == nil || tp.prompt == nil { - return nil, nil, errors.New("TypedPrompt.Execute: called on a nil prompt; check that all prompts are defined") +func (dp *DataPrompt[In, Out]) Execute(ctx context.Context, input In, opts ...PromptExecuteOption) (Out, *ModelResponse, error) { + if dp == nil { + return base.Zero[Out](), nil, core.NewError(core.INVALID_ARGUMENT, "DataPrompt.Execute: prompt is nil") } - allOpts := make([]PromptExecuteOption, 0, len(opts)+1) - allOpts = append(allOpts, WithInput(input)) - allOpts = append(allOpts, opts...) + allOpts := append(slices.Clone(opts), WithInput(input)) - resp, err := tp.prompt.Execute(ctx, allOpts...) + resp, err := dp.Prompt.Execute(ctx, allOpts...) if err != nil { - return nil, nil, err + return base.Zero[Out](), nil, err } output, err := extractTypedOutput[Out](resp) if err != nil { - return nil, resp, err + return base.Zero[Out](), resp, err } return output, resp, nil } // ExecuteStream executes the typed prompt with streaming and returns an iterator. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. // // If the yield function is passed a non-nil error, execution has failed with that // error; the yield function will not be called again. // -// If the yield function's DataPromptStreamValue argument has Done == true, the value's +// If the yield function's StreamValue argument has Done == true, the value's // Output and Response fields contain the final typed output and response; the yield function // will not be called again. // -// Otherwise the Chunk field of the passed DataPromptStreamValue holds a streamed chunk. +// Otherwise the Chunk field of the passed StreamValue holds a streamed chunk. // // For structured output types (non-string Out), the prompt must be configured with the appropriate // output schema, either through [DefineDataPrompt] or by using [WithOutputType] when defining the prompt. -func (tp *DataPrompt[In, Out, Stream]) ExecuteStream(ctx context.Context, input In, opts ...PromptExecuteOption) func(func(*StreamValue[Out, Stream], error) bool) { - return func(yield func(*StreamValue[Out, Stream], error) bool) { - if tp == nil || tp.prompt == nil { - yield(nil, errors.New("DataPrompt.ExecuteStream: called on a nil prompt; check that all prompts are defined")) +func (dp *DataPrompt[In, Out]) ExecuteStream(ctx context.Context, input In, opts ...PromptExecuteOption) iter.Seq2[*StreamValue[Out, Out], error] { + return func(yield func(*StreamValue[Out, Out], error) bool) { + if dp == nil { + yield(nil, core.NewError(core.INVALID_ARGUMENT, "DataPrompt.ExecuteStream: prompt is nil")) return } @@ -974,19 +955,20 @@ func (tp *DataPrompt[In, Out, Stream]) ExecuteStream(ctx context.Context, input if ctx.Err() != nil { return ctx.Err() } - // TODO: Convert ModelResponseChunk to StreamValue[Out, Stream]. - if !yield(&StreamValue[Out, Stream]{}, nil) { - return errTypedPromptStop + streamValue, err := extractTypedOutput[Out](chunk) + if err != nil { + yield(nil, err) + return err + } + if !yield(&StreamValue[Out, Out]{Chunk: streamValue}, nil) { + return errGenerateStop } return nil } - allOpts := make([]PromptExecuteOption, 0, len(opts)+2) - allOpts = append(allOpts, WithInput(input)) - allOpts = append(allOpts, opts...) - allOpts = append(allOpts, WithStreaming(cb)) + allOpts := append(slices.Clone(opts), WithInput(input), WithStreaming(cb)) - resp, err := tp.prompt.Execute(ctx, allOpts...) + resp, err := dp.Prompt.Execute(ctx, allOpts...) if err != nil { yield(nil, err) return @@ -998,38 +980,15 @@ func (tp *DataPrompt[In, Out, Stream]) ExecuteStream(ctx context.Context, input return } - yield(&StreamValue[Out, Stream]{Done: true, Output: *output, Response: resp}, nil) + yield(&StreamValue[Out, Out]{Done: true, Output: output, Response: resp}, nil) } } // Render renders the typed prompt template with the given input. -func (tp *DataPrompt[In, Out, Stream]) Render(ctx context.Context, input In) (*GenerateActionOptions, error) { - if tp == nil || tp.prompt == nil { +func (dp *DataPrompt[In, Out]) Render(ctx context.Context, input In) (*GenerateActionOptions, error) { + if dp == nil || dp.Prompt == nil { return nil, errors.New("TypedPrompt.Render: called on a nil prompt; check that all prompts are defined") } - return tp.prompt.Render(ctx, input) -} - -// errTypedPromptStop is a sentinel error used to signal early termination of streaming. -var errTypedPromptStop = errors.New("stop") - -// extractTypedOutput extracts the typed output from a model response. -func extractTypedOutput[Out any](resp *ModelResponse) (*Out, error) { - var output Out - - switch any(output).(type) { - case string: - // String output - use Text() - text := resp.Text() - // Type assertion to convert string to Out (which we know is string) - result := any(text).(Out) - return &result, nil - default: - // Structured output - unmarshal from response - if err := resp.Output(&output); err != nil { - return nil, fmt.Errorf("TypedPrompt: failed to parse output: %w", err) - } - return &output, nil - } + return dp.Prompt.Render(ctx, input) } diff --git a/go/genkit/genkit.go b/go/genkit/genkit.go index 9081410951..041bbeb81f 100644 --- a/go/genkit/genkit.go +++ b/go/genkit/genkit.go @@ -21,6 +21,7 @@ import ( "context" "errors" "fmt" + "iter" "log/slog" "os" "os/signal" @@ -684,15 +685,15 @@ func DefineSchemaFor[T any](g *Genkit) { // log.Fatalf("Execute failed: %v", err) // } // fmt.Printf("Capital: %s\n", output.Capital) -func DefineDataPrompt[In, Out, Stream any](g *Genkit, name string, opts ...ai.PromptOption) *ai.DataPrompt[In, Out, Stream] { - return ai.DefineDataPrompt[In, Out, Stream](g.reg, name, opts...) +func DefineDataPrompt[In, Out any](g *Genkit, name string, opts ...ai.PromptOption) *ai.DataPrompt[In, Out] { + return ai.DefineDataPrompt[In, Out](g.reg, name, opts...) } // LookupDataPrompt looks up a prompt by name and wraps it with type information. // This is useful for wrapping prompts loaded from .prompt files with strong types. // It returns nil if the prompt was not found. -func LookupDataPrompt[In, Out, Stream any](g *Genkit, name string) *ai.DataPrompt[In, Out, Stream] { - return ai.LookupDataPrompt[In, Out, Stream](g.reg, name) +func LookupDataPrompt[In, Out any](g *Genkit, name string) *ai.DataPrompt[In, Out] { + return ai.LookupDataPrompt[In, Out](g.reg, name) } // GenerateWithRequest performs a model generation request using explicitly provided @@ -745,8 +746,7 @@ func Generate(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) (*ai.Mo } // GenerateStream generates a model response and streams the output. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. +// It returns an iterator that yields streaming results. // // If the yield function is passed a non-nil error, generation has failed with that // error; the yield function will not be called again. @@ -770,7 +770,7 @@ func Generate(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) (*ai.Mo // fmt.Print(result.Chunk.Text()) // } // } -func GenerateStream(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) func(func(*ai.ModelStreamValue, error) bool) { +func GenerateStream(ctx context.Context, g *Genkit, opts ...ai.GenerateOption) iter.Seq2[*ai.ModelStreamValue, error] { return ai.GenerateStream(ctx, g.reg, opts...) } @@ -863,8 +863,7 @@ func GenerateData[Out any](ctx context.Context, g *Genkit, opts ...ai.GenerateOp } // GenerateDataStream generates a model response with streaming and returns strongly-typed output. -// It returns a function whose argument function (the "yield function") will be repeatedly -// called with the results. +// It returns an iterator that yields streaming results. // // If the yield function is passed a non-nil error, generation has failed with that // error; the yield function will not be called again. @@ -894,8 +893,8 @@ func GenerateData[Out any](ctx context.Context, g *Genkit, opts ...ai.GenerateOp // fmt.Print(result.Chunk.Text()) // } // } -func GenerateDataStream[Out, Stream any](ctx context.Context, g *Genkit, opts ...ai.GenerateOption) func(func(*ai.StreamValue[Out, Stream], error) bool) { - return ai.GenerateDataStream[Out, Stream](ctx, g.reg, opts...) +func GenerateDataStream[Out any](ctx context.Context, g *Genkit, opts ...ai.GenerateOption) iter.Seq2[*ai.StreamValue[Out, Out], error] { + return ai.GenerateDataStream[Out](ctx, g.reg, opts...) } // Retrieve performs a document retrieval request using a flexible set of options diff --git a/go/plugins/googlegenai/googlegenai.go b/go/plugins/googlegenai/googlegenai.go index d056e6fb1c..8ddbdfbe4a 100644 --- a/go/plugins/googlegenai/googlegenai.go +++ b/go/plugins/googlegenai/googlegenai.go @@ -283,14 +283,19 @@ func (v *VertexAI) IsDefinedEmbedder(g *genkit.Genkit, name string) bool { return genkit.LookupEmbedder(g, api.NewName(vertexAIProvider, name)) != nil } -// GoogleAIModelRef creates a new ModelRef for a Google AI model with the given name and configuration. -func GoogleAIModelRef(name string, config *genai.GenerateContentConfig) ai.ModelRef { +// ModelRef creates a new ModelRef for a Google Gen AI model with the given name and configuration. +func ModelRef(name string, config *genai.GenerateContentConfig) ai.ModelRef { return ai.NewModelRef(googleAIProvider+"/"+name, config) } -// VertexAIModelRef creates a new ModelRef for a Vertex AI model with the given name and configuration. -func VertexAIModelRef(name string, config *genai.GenerateContentConfig) ai.ModelRef { - return ai.NewModelRef(vertexAIProvider+"/"+name, config) +// GoogleAIModelRef creates a new ModelRef for a Google AI model with the given ID and configuration. +func GoogleAIModelRef(id string, config *genai.GenerateContentConfig) ai.ModelRef { + return ai.NewModelRef(googleAIProvider+"/"+id, config) +} + +// VertexAIModelRef creates a new ModelRef for a Vertex AI model with the given ID and configuration. +func VertexAIModelRef(id string, config *genai.GenerateContentConfig) ai.ModelRef { + return ai.NewModelRef(vertexAIProvider+"/"+id, config) } // GoogleAIModel returns the [ai.Model] with the given name. From b9e90ea3d4c1804a7ee5e079733ef02a934c309b Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Thu, 18 Dec 2025 09:45:56 -0800 Subject: [PATCH 14/21] Changed `Prompt` to `prompt` in `DataPrompt`. --- go/ai/prompt.go | 30 ++++++++++++------------------ go/genkit/genkit.go | 2 +- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/go/ai/prompt.go b/go/ai/prompt.go index 4236dc20db..8869c995f5 100644 --- a/go/ai/prompt.go +++ b/go/ai/prompt.go @@ -56,10 +56,10 @@ type prompt struct { } // DataPrompt is a prompt with strongly-typed input and output. -// It wraps an underlying Prompt and provides type-safe Execute and Render methods. +// It wraps an underlying [Prompt] and provides type-safe Execute and Render methods. // The Out type parameter can be string for text outputs or any struct type for JSON outputs. type DataPrompt[In, Out any] struct { - Prompt + prompt } // DefinePrompt creates a new [Prompt] and registers it. @@ -866,16 +866,15 @@ func DefineDataPrompt[In, Out any](r api.Registry, name string, opts ...PromptOp panic("ai.DefineDataPrompt: name is required") } - allOpts := make([]PromptOption, 0, len(opts)+2) - var in In - allOpts = append(allOpts, WithInputType(in)) + allOpts := []PromptOption{WithInputType(in)} var out Out switch any(out).(type) { case string: // String output - no schema needed default: + // Prepend WithOutputType so the user can override the output format. allOpts = append(allOpts, WithOutputType(out)) } @@ -883,19 +882,14 @@ func DefineDataPrompt[In, Out any](r api.Registry, name string, opts ...PromptOp p := DefinePrompt(r, name, allOpts...) - return &DataPrompt[In, Out]{Prompt: p} + return &DataPrompt[In, Out]{prompt: *p.(*prompt)} } // LookupDataPrompt looks up a prompt by name and wraps it with type information. // This is useful for wrapping prompts loaded from .prompt files with strong types. // It returns nil if the prompt was not found. func LookupDataPrompt[In, Out any](r api.Registry, name string) *DataPrompt[In, Out] { - p := LookupPrompt(r, name) - if p == nil { - return nil - } - - return AsDataPrompt[In, Out](p) + return AsDataPrompt[In, Out](LookupPrompt(r, name)) } // AsDataPrompt wraps an existing Prompt with type information, returning a DataPrompt. @@ -905,7 +899,7 @@ func AsDataPrompt[In, Out any](p Prompt) *DataPrompt[In, Out] { return nil } - return &DataPrompt[In, Out]{Prompt: p} + return &DataPrompt[In, Out]{prompt: *p.(*prompt)} } // Execute executes the typed prompt and returns the strongly-typed output along with the full model response. @@ -918,7 +912,7 @@ func (dp *DataPrompt[In, Out]) Execute(ctx context.Context, input In, opts ...Pr allOpts := append(slices.Clone(opts), WithInput(input)) - resp, err := dp.Prompt.Execute(ctx, allOpts...) + resp, err := dp.prompt.Execute(ctx, allOpts...) if err != nil { return base.Zero[Out](), nil, err } @@ -968,7 +962,7 @@ func (dp *DataPrompt[In, Out]) ExecuteStream(ctx context.Context, input In, opts allOpts := append(slices.Clone(opts), WithInput(input), WithStreaming(cb)) - resp, err := dp.Prompt.Execute(ctx, allOpts...) + resp, err := dp.prompt.Execute(ctx, allOpts...) if err != nil { yield(nil, err) return @@ -986,9 +980,9 @@ func (dp *DataPrompt[In, Out]) ExecuteStream(ctx context.Context, input In, opts // Render renders the typed prompt template with the given input. func (dp *DataPrompt[In, Out]) Render(ctx context.Context, input In) (*GenerateActionOptions, error) { - if dp == nil || dp.Prompt == nil { - return nil, errors.New("TypedPrompt.Render: called on a nil prompt; check that all prompts are defined") + if dp == nil { + return nil, errors.New("DataPrompt.Render: prompt is nil") } - return dp.Prompt.Render(ctx, input) + return dp.prompt.Render(ctx, input) } diff --git a/go/genkit/genkit.go b/go/genkit/genkit.go index 041bbeb81f..ef16f0593f 100644 --- a/go/genkit/genkit.go +++ b/go/genkit/genkit.go @@ -674,7 +674,7 @@ func DefineSchemaFor[T any](g *Genkit) { // Capital string `json:"capital"` // } // -// capitalPrompt := genkit.DefineDataPrompt[GeoInput, GeoOutput, *ai.ModelResponseChunk](g, "findCapital", +// capitalPrompt := genkit.DefineDataPrompt[GeoInput, GeoOutput](g, "findCapital", // ai.WithModelName("googleai/gemini-2.5-flash"), // ai.WithSystem("You are a helpful geography assistant."), // ai.WithPrompt("What is the capital of {{country}}?"), From d75d70888543b92c7b1524637b1e58e024ebe3dc Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Thu, 18 Dec 2025 09:58:40 -0800 Subject: [PATCH 15/21] Update prompt.go --- go/ai/prompt.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/go/ai/prompt.go b/go/ai/prompt.go index 8869c995f5..b05189aba0 100644 --- a/go/ai/prompt.go +++ b/go/ai/prompt.go @@ -279,10 +279,7 @@ func (p *prompt) ExecuteStream(ctx context.Context, opts ...PromptExecuteOption) return nil } - allOpts := make([]PromptExecuteOption, 0, len(opts)+1) - allOpts = append(allOpts, opts...) - allOpts = append(allOpts, WithStreaming(cb)) - + allOpts := append(slices.Clone(opts), WithStreaming(cb)) resp, err := p.Execute(ctx, allOpts...) if err != nil { yield(nil, err) @@ -879,7 +876,6 @@ func DefineDataPrompt[In, Out any](r api.Registry, name string, opts ...PromptOp } allOpts = append(allOpts, opts...) - p := DefinePrompt(r, name, allOpts...) return &DataPrompt[In, Out]{prompt: *p.(*prompt)} @@ -911,7 +907,6 @@ func (dp *DataPrompt[In, Out]) Execute(ctx context.Context, input In, opts ...Pr } allOpts := append(slices.Clone(opts), WithInput(input)) - resp, err := dp.prompt.Execute(ctx, allOpts...) if err != nil { return base.Zero[Out](), nil, err @@ -961,7 +956,6 @@ func (dp *DataPrompt[In, Out]) ExecuteStream(ctx context.Context, input In, opts } allOpts := append(slices.Clone(opts), WithInput(input), WithStreaming(cb)) - resp, err := dp.prompt.Execute(ctx, allOpts...) if err != nil { yield(nil, err) From e8957feba03eb44e239153a162f0faaec2227ae4 Mon Sep 17 00:00:00 2001 From: Alex Pascal Date: Thu, 18 Dec 2025 14:51:35 -0800 Subject: [PATCH 16/21] Added some samples. --- go/core/flow.go | 3 + go/samples/basic-gemini-with-context/main.go | 54 --- go/samples/basic-gemini/main.go | 63 ---- go/samples/basic-prompts/basic-prompts | Bin 0 -> 26321122 bytes go/samples/basic-prompts/main.go | 319 ++++++++++++++++++ go/samples/basic-prompts/prompts/joke.prompt | 13 + .../basic-prompts/prompts/recipe.prompt | 20 ++ .../prompts/structured-joke.prompt | 13 + go/samples/basic-structured/main.go | 184 ++++++++++ go/samples/basic/main.go | 86 +++++ 10 files changed, 638 insertions(+), 117 deletions(-) delete mode 100644 go/samples/basic-gemini-with-context/main.go delete mode 100644 go/samples/basic-gemini/main.go create mode 100755 go/samples/basic-prompts/basic-prompts create mode 100644 go/samples/basic-prompts/main.go create mode 100644 go/samples/basic-prompts/prompts/joke.prompt create mode 100644 go/samples/basic-prompts/prompts/recipe.prompt create mode 100644 go/samples/basic-prompts/prompts/structured-joke.prompt create mode 100644 go/samples/basic-structured/main.go create mode 100644 go/samples/basic/main.go diff --git a/go/core/flow.go b/go/core/flow.go index 0cd12120f2..ea514365c2 100644 --- a/go/core/flow.go +++ b/go/core/flow.go @@ -71,6 +71,9 @@ func DefineStreamingFlow[In, Out, Stream any](r api.Registry, name string, fn St flowName: name, } ctx = flowContextKey.NewContext(ctx, fc) + if cb == nil { + cb = func(context.Context, Stream) error { return nil } + } return fn(ctx, input, cb) })) } diff --git a/go/samples/basic-gemini-with-context/main.go b/go/samples/basic-gemini-with-context/main.go deleted file mode 100644 index f971ecc9bc..0000000000 --- a/go/samples/basic-gemini-with-context/main.go +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - "fmt" - - "github.com/firebase/genkit/go/ai" - "github.com/firebase/genkit/go/genkit" - "github.com/firebase/genkit/go/plugins/googlegenai" - "google.golang.org/genai" -) - -func main() { - ctx := context.Background() - - // Initialize Genkit with the Google AI plugin. When you pass nil for the - // Config parameter, the Google AI plugin will get the API key from the - // GEMINI_API_KEY or GOOGLE_API_KEY environment variable, which is the recommended - // practice. - g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{})) - - // Define a simple flow that generates jokes about a given topic with a context of bananas - genkit.DefineFlow(g, "contextFlow", func(ctx context.Context, input string) (string, error) { - resp, err := genkit.Generate(ctx, g, - ai.WithModelName("googleai/gemini-2.5-flash"), - ai.WithConfig(&genai.GenerateContentConfig{ - Temperature: genai.Ptr[float32](1.0), - }), - ai.WithPrompt(fmt.Sprintf(`Tell silly short jokes about %s`, input)), - ai.WithDocs(ai.DocumentFromText("Bananas are plentiful in the tropics.", nil))) - if err != nil { - return "", err - } - - text := resp.Text() - return text, nil - }) - - <-ctx.Done() -} diff --git a/go/samples/basic-gemini/main.go b/go/samples/basic-gemini/main.go deleted file mode 100644 index e61ec9df42..0000000000 --- a/go/samples/basic-gemini/main.go +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2025 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package main - -import ( - "context" - - "github.com/firebase/genkit/go/ai" - "github.com/firebase/genkit/go/genkit" - "github.com/firebase/genkit/go/plugins/googlegenai" - "google.golang.org/genai" -) - -func main() { - ctx := context.Background() - - // Initialize Genkit with the Google AI plugin. When you pass nil for the - // Config parameter, the Google AI plugin will get the API key from the - // GEMINI_API_KEY or GOOGLE_API_KEY environment variable, which is the recommended - // practice. - g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{})) - - // Define a simple flow that generates jokes about a given topic - genkit.DefineStreamingFlow(g, "jokesFlow", func(ctx context.Context, input string, cb ai.ModelStreamCallback) (string, error) { - type Joke struct { - Joke string `json:"joke"` - Category string `json:"jokeCategory" description:"What is the joke about"` - } - - genkit.DefineSchemaFor[Joke](g) - - resp, err := genkit.Generate(ctx, g, - ai.WithModelName("googleai/gemini-2.5-flash"), - ai.WithConfig(&genai.GenerateContentConfig{ - Temperature: genai.Ptr[float32](1.0), - ThinkingConfig: &genai.ThinkingConfig{ - ThinkingBudget: genai.Ptr[int32](0), - }, - }), - ai.WithStreaming(cb), - ai.WithOutputSchemaName("Joke"), - ai.WithPrompt(`Tell short jokes about %s`, input)) - if err != nil { - return "", err - } - - return resp.Text(), nil - }) - - <-ctx.Done() -} diff --git a/go/samples/basic-prompts/basic-prompts b/go/samples/basic-prompts/basic-prompts new file mode 100755 index 0000000000000000000000000000000000000000..7e181de7479b59dce5727c94aed11eddba051e91 GIT binary patch literal 26321122 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û{-L*=>&JLrZD%4EXj^Jy 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 z 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%0DG0pH$r>$>)_hYYTLlg3dmowiz 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 z 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%0AHx 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

^ji;Y-Y1-c=e~t~< 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%0A)3ZM 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 z

?cz3<@q(vopK&x3zC=Gx|YnV$QWxwi53eZ^}ya{Un3J>lzm&b3UH>z{Yzy6Zn~ zH?{o}@f?bmPz~>9^mI37;vQtH{8J{eZ z^2r(N1s!qT&F(IA`i?_g>N{Abu`zC2U$bK}QGq%Js=U;NpmUc3I({-j$4}&FG;K^oDKd@QNwv zjx|A#XyJYB27#7-9d+OJ2 zKR3J$9rK!Zx@OzDkiVmywNp$&_k7Sj73(6sq?x%Z2c`hLZw3a#k?X1r@-n}P9%P$~ zCN$Tj%(W&1AJup}55&~0!v1PQmusIyJ|A%EK<9q5a!KbfTc2GcUqy4g>#}A&!~K6H zZe2;&tFIzh^ zyI0-axvT0{W%a7N*_Tz9ul;ItlKfrP!8-OiRBuOT!tDp1YNHXpqMAIp=)#sS5Pt;x zdK7vzK3D8{K7(!8^wZ>n1t0kgwt;)C>^V(#?8&xkwSQ^9Z~RZ-x~VmTE!T`L+=5N0 z=O^fS`tI?0@YC!AfxCKs49|PpYlhdf)82mB!SpHH(9XNg!%yD}9o!eh&VEolQ8Ao~ zRhZA7+nkH7gZK#9H>uug^Bp^9MfP^`cURAKa#}p`np&%iQ`YLA!2zw4`{(lST_#>L zx!#lDd!A2rPqv8x4neoY@X=AwvSjXbbYa0pHJensNj?$Pg>rR?Y~U+9X$tf!oj|mo zkjHt@Uv~IAck29r&Y#NPvXlO>b%Q(Qi)S68tbuZp^qXw-DEFFx<=s4|c3XjY8+6_U zUtPt1bsju)Kk%MjRn<9jKrZ_fzK$yJNV!mouYQF0WIHWjJW~ev4Bs8boXV;sn>C)S z@QsWoB7Zr3svm5FAU;vf5OQLAG#2=!aAdPH4%auQ*rFWTlb=C8mp1$=?eNhO_Di(C z8YxPQ!N(Yy`sW$H%TUJc`dubC{foa3q5U%YAEN$g$KVLO-d=xK_UDCrL#MqA-O7*Y z5Btrve$gA& zR3Te-9qzj9?SZlzl75n4F2ZYkVR5W;P3Ot|o z(4Y&?Ds-Qt{Sxugibs}@TXDvUMUFyWn}M%n>SMs66BU9^u(O$(%Yu`ftEA7>5 z|F4NLO^2@-Ulq^0^wS6)$H1*7c#&{exJnGnPv!qo{Oj0m_>b&VTg~8;-Cln9ajLR*e2l4ni#m}8o1}OCS%dxy>M>_?l#OTJ43__jCJ7s zCtzmdi5;ix!u&G^{x*J3?*aaAkvHqb=S^wgKb@S2)c7>TV<|4njm7E(jFNN(_>a5y z=Ee)D_T)Mx*P2N6Ps%x+OBy=z60aT@PNDs_RX8FQM}kffugM^P_IOu;X@Y z9C2fK#M3jvFDv$hzIEMTuI>B(VXifD`ejk zL*uSpCVy-(@~#(s$Pe8P{~wKBEMM&be!Hmh*3LfJHgA<5dL(-LNbZf{oh`(8TqIvD ze(0BhsjHuU-mHynr_M6hwtjk@=l(Tm)=ca5F6VoA>AgM;y~|hb^{=RAoOM3+fwvy2 zUv?FBENTXrnsFPbXW$+`B@8#z8 zH6jO)B@js<4WuH$HA4H0eRsPbT|C|v*F!?UYDQ@g%XjI!i5OS=zWB&*6dT0vzc!!3ldSMAu2X4PYjRr( zKCDZF55i|JJ}Ca}V&XiAzgGO)MB&G>e>1qT#e*AL(&0w+SCVmK=M&JE_DuXXKbfiV z_@Oh#VPfGb>{z&sN4jReS7ZeTWxz91@Fx#=9_^Rky%&lsa`u->JGH;0d0tMt?|J4X z9lx7Dne&?x@nY;-vn4q=SV$b5;QNze#sn`id;AxXBQd!!80#I_>OR-<1NOGTRqbuR zPQI)gLnFEL%=Jg=hh}2;Pav1KVW`ehkGtf;?F24J-_CV*J1?1bs?)Y}zthey>9;oGOV`epvbpyBwj8IO?|R#5>!F?R z*zNqQ+VOv{dputFEOFqI1uv<6r7-}j)BkHJCslU@UI4@tMo1-DQEL%&lH`l;-hm%hy`Box%HiEsW zJFNH)YN+hMp4l|(S>+d`nbIhfv?xpWb@m#r#i5uHxd_k zTfq1^^uF@RQrl1;+8@6;-Zi`JHu%m=#?@iPca02$c3)f?`cG;_v_CPJ+E-_X4*Zsw zTJj*TfyW#(ZfbgJ+~+cGw-41kZr;ZnSKbh6+)4b}J;a*44)0iOuTKT*sQ4I{2e|P& zii5c9zC-ny{R5%xnZz^rzYucQ;aiUo*F(JV5X)CLr^d;_>l#RnutA|%EGyUtctoX( z&!XRFOgs~L+R6dR2oL-e@haFejk5#`;P?!4hu^wu8{%En9E`mVtZxDqFXD%y254;H z7x+J)GZXx@W7p>S*_V&jM{l5y=dmfVWhFvN0cU9~r~2T3vd@(-kQ46pJMdr*&%UTJp$mf}nQ5W0kEVDoosm&%@^R7QnD;MOBh9z9zJ__B*E(w*uHiqsIya{d`hVdOVE!w^7qUAtm|LR#KvMgU(!LAR)IPe~2VPTYTYdb1b{CPm zu07$+W}d`%Fuxpf+jpKndEZF#G;<5j4f@gTwq;Sb9vCb}Kg9MA?&w1dGP++E_hYQT z;T1cnFG6hdE#fc2E8#jg|0`tR=1w1YRecOzEfijXs~sj*&-RDkrFbmhB|QD6x%P+e z;M3?Y@-6nWps`Pe&(+y1PTba}RR3?LQ%_}_be2KgI!grpFzjsmjPT8KnFsKA104BJ z*8j1BK&Y~->sjp)XwOLdjkYfM8Kd8{ZlIO`z7FxJ3-JZDjkDsd&}lpTtOI^_!0

(IL``gSfKGhBjdpx@TYAYd{cDJd%j9ybdU)%@_NNGk1E(#^XN05?@xw zJYY4w*oL8-4_5g1uGt;WObx9kzi9j4x@O&BF4W^?YV`^;=BuH47o7Y9PiSPRuzR*ZL}Sr6r41-AZig0l|9 zZ3}+g>wqp$;I0F*--W|5u$zQ`eJp!K?z*5`jsdrB9nhyPoNdKd<0nzOiWB-ibGW7I z=FVOkA9iO|)u_%Yjc?23P{x=*Tw_cf-_!2+#-xmIXdvFnUcSMTp{FpuktZHsBkj85 zD>d-DI+QUX{rFb8JT<9om}KINhI-clOMAigr)`i^(UN4={g{3E`z#vLDV&?gN)==MbT zce7`FyEMLw%R?Cj>Bra49bZAp_=w@W(H-B}r!cYc~ zy)I>Z)3Bl4@l890@qOmR<2%oRI0#md>6gbvh(vET63F9Z(H^KJoq?|+03$fnuO*c#D4#78TTS21*0 z>CF*7#qYB|jUCJxL0=HwFn*)6Gnb*rQssQtVqY!7hyJSv?eV%k0%}%u{>bTTF7bZK z<+61Id#%0??_Tfg-64JQns49I`J20L>3qZ2wz?oYHuEwQD!p=ZpOVvBrlt<(k}v=KNBp z&3=hCGt1Jp*`CrS=NH!>E_d1)=(JPrY3JSaWBX%DI~S^*%shKMquqA;C&n`{{dj(r z($0Bmr^0DxygM&XJ4NZ+c_yWuJlcs3{7R_#umkV%zKO9slYUMQr?k;YeobucoKQ10 z_w6>d2m z&(VM3cj6z);ftb+8Gqv@>S{YYu<76R41Dcro5wY;`+TT%(+#2ao$#u&t&qRK7s`Vd zHa_9uFYp?TJHn@zzm#5qO(va?_WnP2ZvrP(b>{uw>gtt6G>~XS)7>lrYFy$*#~7-+ zK|!3+8JRH?GNGXr8cAXpC$AE8noUp|Bc;xeXl6hVvDz#Q!BO5UvM7p}49d)8F*DTC zD=krs$x1fi6K`rK#`<1$VRpO;x-oBl_UO_Q zKgOLMcd8WJn&qulR(CLp=xm9^rY~Z3dPmVA7te zYrXuvbBK#gMo$-0pR4fr@|B!xOf3b~G_o~@JaoIxmD8Mi@o4lZ{c;9HXA;;xew1@; z%pRmdgVS>Oi6=`g+W;*g<$s z`nijGHkHgJlslrFy#zM;Wnyw&!Cs2PZg7b&irCQPhQOh|iwZUC+n*J0us&5CRI=hP&36%a47HK7NHNAzyMcCLhGCho_( zN%1(ajD{{7^9vf7TfhF4m)FqB^Dlqf^0=E*Q4{mXUh)w%XNlB}Ha67K9eaSk@ zYrFm0ONuQ}XHNZu>BqztIIpd(&;By`Ct9yLo%o?g?o^nX>zZc@_IuvXK0E2wjoE84 zZR~^8T8!#lnY9?!_}1o~(Xj)+&8@|Bs}~!#=M9w*qk1o#ecq7Zct>XuU<-a1&X2wa zZ65c$(~rOX+1T+~@AW)ie!aVa@2D^1JQsYX6CGq^9J?kNmwmCi$ezn_S`Hl6+ zt>G_3DzH5d*VlOSx5JNJLy2E@<;C26#jxrpQUexQtiRR9GZRZ~&D~G1p2oV>Fn3KH z=uvZa)o_<@W%< zCidEbEZcSYVr-O+p)nU`ZTHM*-R1c3Q;DJ3*v&qtXP!bI|1)_LCN@Is#^e-VESS;Z zmjMSlK{4m})z}B#A4|+e@x7M2#~%49xGBAj7&2=YyMTqWtXV%UY9#2(nThuKV0$}w zKKLAneYB_Np5r;IbNsq`=m+KRT#Y^yZ)gtb;+x4TUk43|boP`#FwU&!_dqZBD@d;b z=IF`+DTH2%ZHkW4=bOL}=X5tb{kcd5d2tP`*g@5p5FAO)Cibu?rL6leQT`(MR}RT0 zXx9o)=$S71S%(aC!RzHY^b_6kh!^)pv!j>wPP2(Ynu%WETd~hHy`Wu?UP+%`UGS;s zrP%RQ(aC>Kbp%`+Hov2wk^HwFe^-5=EcyiK@pl1wtmQe$j{dpz?Gm$opRorcUL#-g z*n#`8yH_axvl4tS;GAvcQHGd9C(sSTBX!AH%PER}>UnDyWcT9e@PGIOIyiWKo*!TM zf`h|{!S$~^oS;5Z{*UJ4qMK}?)}pk=sCfU{2>T3xcRIONSM!-v!y3RK_7WaD@JazO zaOHa;KNZVaBP-t?!Ed9chj2zsf%q8ke*yQvYYH4Uok`piSj1OZ_7vM6ylz2{?Jk3- z81qZ?(^EU6k9KWs9iII$x@#aIXWx!m{JMwwt$F2t-x%6?e``gNl?8XDI z2qs4_V))Q2!!IUB7#K!;$MOw6^cCWnw+g*SBNLS?5sJp15kC|^`!)}rwbH)|fV zm}e94RT6j=Pq~vk40l~l4e`+ZUMv?@*@8VjoNoqTbnsb!Dg)odHP{0O+L8l@UZOCssa$(m5B3lkY7u8%7?_YHMz$>ecAGn`&fGd7Bz}xy- zC{nR%fOnOC6TEYPcN6dyQLB7%sP*|`baNqanrqD&H1Fx(k zHaQhIr+!d$rE*uTkKt^wlY5&NyO4bS8_K=tO5P)>Z0ijrntu%H2*K~fIG=qB7(OQY zAZttD@5oGa;Vv)wK0Fjb&ijQ|WYX-%k* zCqZ4CGU5l?=Q|vJQJmoIb6CUY-4t|ag5UoX{L3Cp=Xddtv0>=RWStpD_3wf&4~+wp>J zJHq@a&xg4dn6cwmhJksamwJ8~{-9*iTm!SNC;Bii17^>_oZtBOJ+v#lHR00;clY62 zZbY^weN%Y1F_=2q)%SJ9-j(&7q2S@?>A4?*!>4?Bq$65^NAqjxw3m-roz~{-G~Is_ zxTNQ#(_RKP=`{V`1pVa?wt3!FDfnO=Z9eiP=JGx*}9b;o>rNrKBzL4Jg7<2wz=nZ_aid%=H zH{coLPeSu1-d#-mK<`Rld>_44UEp1rfVbp#j*z~9-owG8_#rhMJ-|Du3oP&7EFSlN zxB7zmdwK@m`!ICHbMUkAFX5wPT4&h(X({?x2wb=NymT8piVR*^0FN#AnxEfIJW;Z3 zuHhwJFZX$AIkH`2c&V`QpVS9qb8%Cvmuw%>9bv!ylht>gX}_Rxc^~ZymreK|!e?5C zEXwGR+jDeC@Io`bn$aQHpmo5!WF9)ir*AW`86CoJ8*0!Y*oIzp$b_DC$X~(_ zK^-Dp+k~yZ&zE=Ukn}xY=I`_AR3IG!og+RjF9Vl)Ryt%U_tb8X?z3~~KHI1J>;T;t znYIcW%lhE0ESblD_($T;C!xL_6y9 z>3;N=#Yfnaf$%`!-sbYifM}u57eAVEbWJY2X&bX9k2Pe=Gk@xMCg87r4SsX}>J&2{ z&Fl{`@oeJAks_iN)bBdqMR|kT)At(fJp&)Ubsck9WHCmVA8XKLvc*~ z)-oTZKJ&=$ z&<66pdR%B|wEePyvG!eg(RS$BPW$c9a2|61#|AKeM^`o9$y(Rvkn_7F-{kHs z#17WuGa%RS+f~YI)Z8+OZPFY^a%<%EGU`cw9G)A44#PGjA1Wm88`*_F#4qpH+PRhH zRLS9$74a3<`tcHbmYr;T0y~wUU(Mm-lZe@Q6QYxTK%G$9330}RY>JD;w4#qV55vS_ zPA4D8U5^>b`Z00pR^TpL7m6jYX9;v)E8}W~Pi@{Xb2#w;v=^r=o8jS&0Kf0;z{q0G&&}85Bqh9d+KAuWONMvn%UC{eylvZ zbN=kQne%5azs9#s(lckWCKixoC(p7^e=L179)8W$H*bIDk!RVe<%qrtAFRy8h;0#DuNf{{ATfR z?Gfo+#R}App07eqwYRd0eQ}0=fcO2gh#8KA2VFm<@E$xk348k_vOQ_ki;vCbvlhAD z$b4@%pN-7sdHL~16v-jMFtf# zRFONTIjCf0zhGlL!kzs3f8{z3tikbR^Yeh{XMNu7$rd)i4{m+eoE5@Y6*qGHdDzb% zkC_-wCV#wZI%AsyO!MFYY)lHf(=`EmgAFpWM~%o4W!d)T9_miU=j7O%+Kj!CZpnj| zs#~4nxm)2O;ZE`9B(_I$rM7wGuU(1_Ko`7bo+XEkzbz(TLV0qfjXTctu6!K)tSGZ~ zst$dRe@;DaYp2@$7(u&lr_6n9wu=$8VYd|{(C?}nqcyjtspKxxUJN^R5WZKwyJ{q_ zr~`i&!;iq*G}YHt=vb4VPJaiX)gIuFVWTcUf6qfVclb7{0UI?B8&!{ul1-c%uu;Le zQgcphsM+}V`3=p!e{tXM75miQ>4L_q=Vsth9LcWlMYcQxO|^ERI>^HBlHYf26^Javks9Wo<}3 z`3SB4b=rntGqP+5eYV1T-E0W-5&y}CkmpNZ_}VPgmclH#&`D5CIx5rrG=f5%K_|77JgxBijVkL52lW4BX73u0mTeg?Uii^=cP+V*;n*aotes1C8#R?sL}jles~ zM=*Zh7-S2(a5elHMt<`7)FMMVTO^6EC7IRv-BsL=7`b+9F}7~fZ0_I6M|9f7@3mpp zoD2+w9p%VgYAF815DQ05O*S0c@ec%tnV$`{aJ(h^z<2dmNqceR>(Agb1224FacKJ% zuLiHvI-2;0@H@oGs2}_2ss7Ova*=}T@%aY!{0?B7CY%T#1$?BJ27?oKZwc2PHbt@; zgh4v!K0d;SbkVKEgr$pAyF~a9y_&$u68{;E(eijflGQ@v>SXn|5o~boT)dIskf#&YDsj8>Zi5fpD4bY8d{X*qZ;s_{=^Rn zcr5AoX_xq^$naAF{xLPC@&B}*sClo+54bqexeFTS^457i9`S|9Zm{? zg)7vi=04ITpCQk~T^n7Zxe@*4tqR2yqZ7Z#?&M+jWy3rlzuHf_tpG6TfzwpFd;HR`$jzQ_IrM958^1IyNjbVL3h>K7u|nC z9*MgiMSgrfbk{m+{-dm=F;>ai6SN)5q5DLi=8_>jxA^`_Kel6Wu!;Ac;v+gW^Zsr4 zCz}lHMTYjOAJqcwgLHfuc!k@L4{sKq`tUvsyoM*Z7N4f+2+W38d!gf50Xlw^?~?yY zU^eru9KN-Bz~=K?9gss;_+NV9U)jHxp6|l{5A{G#_6ukEe~SOEW*x75s`pMgd6w7y z-sSgLKg-pUd0uT7QSYBNgYn!-_Mo}k-?w|{k2z(QzEyvl=}+?)*Jm`{r`7Y)Z5q$x z{&)_#KJh)3GhH6&Q}6`&^+e-)EZtZ3_!gbw_{QbrqicL$B|kiqkEityTPwhgcm97n z9Cy!2|6+iKt!~^SZQY)kfn4$4^40hBfbV_adnEL&g}%bOeDqt7I2f{V{#n0&+2vrK zdMJQ%(Zl&q{h{xaUiun&3iOQ`d}s8L@U8kuvT4#s(o3>wwtj``6L!b{rJZiJelDSbE`-}47U-JBsKlS$vl`0eWRcJ{#K;>^L3%G zcdzmLl0FaWdhIuMy8fL2ZG-gftH0^J^jCfg{mD*y*m1?YyZ4{TXLa^Q_|5d+9lzcm z0lydbGTvtP3rfFy*!T_i(%+s_=US)O&gJW}^S|iWhAg$w$`-^iSR(e&=I;*EN3dNIqP5B$)qsHD0uw54mrC?LQyC z={aaNzAyF1|MP%OaPaQQ$$uXStoeMFdf``VfwvlX*+;|XeB)AT#nu3y=E9mQ$d8%5{C)BUZJe+t9X-H@&FxDw$mG8h;ahQRwOd6_;0$sB z$px4ezI)b@QG5hfM00zd5uM`r>$&tgQTzW>`1!;M@U!y@tBXz+KMwx6|AYLvX#o-x_&oAp?LKeCa<-Lvk22pjwKSe2 z{yP2Zocq{tZD)!#{4&mm)OAfmVQ1!D)u^-cO^N__dw1qT*LMD!-YxRqeW=i1qqTZp zzR`t@sYm>qdhQwj-Nd8l%gNdVbkKJhQ<(a*^^dam4Ee8r-rq~v=FLywgS4~O8k`4j z%en6A3Q|gtO>)hWtS_dXiI|#h!po%mMQ>=2K`ZO3H(qj_TsX}i!B2HwwBskN zpRM)G8JVhW(R=?xpvCF2W@_jSLZ>#>()T9fY`_uh|A(&sP4r(&Ovuo|*5(bu@yQ?@ z#OU?_$9uH}S$muRg4{FhZGPnO?=DO))v8Sm&TfF$R zXnPU4hnvofwQc$$pR;s-U-3()MPr`c`8YgucC3yX!^Mj$I44`r4re`+bzb^RQoC03 z`*(iCnuDo1;MZ~JlOBV?$7!)R`2hpLM`{D~n9&^{cR74)03S0H=gX!?$HhTr&Gim7Ze)xbsbAT`7zOhV@KOGYi=vBuoDHvuC;NL}B)^~Wc{1t82fq;D zP1#VV|JykmDY&0lxu?oGoq&y8%DH~>DN>x{cdZxRd+o91D+|d#Q*8&;9(8r)lrtdt z*PdY25GUTF5_7n7?qfitixvBeFnJIv!8=y@f4I5&FU z4rlPTU}lG(5!$DYuPLEV>_u8TXo3=(Ot+#@}Yu^P9ava z?J?;T>XM>QJoJgxBX++@ZaY=f>aChw7#$hz-p;0zXa^m)uWH%A=mw*Yvf=srKH8Cf zd=dS)Y}BWs&5T7c;=E8^!$jzne|*`>7ulzSZ@IUrA&kBu*K18xtc6%{@}Ydb7x29> zYwTY?L0_ZPSN>_y`+)Ng?Q2FKeTk+Qh;OLFF%BQJVUSm0WEOh%MGx@!PSvdgqq};* zV|5?>5gX-fV)id7=g7}jdBJ>F-cGpj-;|r?$KH1EUHUmFb1r}PivK~3z|@;q z55H~sB5Ta~-ajv5T*;*olSkKftv9VmemAuRM)G~K=k1luQiFbP>#>z957u-382ckj z(FHT1ZCBSoDr=|h@PcE?EcQDr~rnYMb`|Ia%?$o?c{linyQF^DwpSS27 zPJ>%~C`SwB$2XBb)WP}7*|@f_w4qBn;3&)p^;-9h=c8;Way90TD z5I)UmjT4y5oX;Al>xZKA!%8{Rrus^6>ra7k%BQ_)Uz$s8eRSg@_95xFRr%XLe+a$y zow?Gv)zLY#j#n^H+5GyGP-pNy7hX# z59IqGz7G~3Z#I4_d|Z~@$Lj8WtL2^M$0x>`A1{!Pzj_ut*ZlaT*t$X6f3<^8DLP0W z$A43M;lBZM&l|r{_LKY?)e(Bi3+;UYKFUK5c1Jk#4Bi+p_qOo|xJQlNX($5rRfYC$ z#--_f#(i& zt$kx{Xz;u#>}L=i;j?$Do*WvjHFmuJbo|~ov-DA~bW|VfW#b2ZGP=R|9R2U(@B7)u zqVSP_nZS8)5yoeD^AdcVb;F}ei^b#p?{7gr`@4|5rnQyc;kV$Usb0z6dFTq&POLp+ z$zv1POMXAK1KwgiM|%?IpmW-wbzvy9cPuSNTWqazC}joF2E}02J*YL)?ne!UR%}NOznRW20?4R*u z-uxXrSAOiK{pDOwI1-+pOW)%gylB@h&(!G@zi4gc3Eq*84gMA%$eiX8_R0%Ud}j-aFkyJN@emo*EyXQ^8Xu_8`rl;GmqgM!=uq*PZOm zD?c{b(#&J6Ax9Sl`O)FJ*Kr4U)s4HVk8wNu${yHm`XnfuW$fPw(!vA&IJ_9tS)#x6 zgkl4dPp2~!i&cz*cb;wPI)J{lbklvkqw|+act`Cub#*h*?Myw&wnVqc=!JDv+5t7@Q#)J zAU`|%D87zBzm(yRu*nCw`s?Hl`m!H{GY*Y+@X_yD6O`YX3#YT+j=$%!mK8jIILUfJ z?deCJQyb2I+)kX|T$?`e+3@q~7kP(QfulK#Lc|3NDFFvBK=o&l-%4Zx%40 z*~l4jvx(n|M-!}nl$Q;PmOXcLjq2K{F4iKQNw}ym`mY<9UtB;<32K6}K5F)LGrlXd zuTZkHhTH*tKQC;~2{JJ?w=O!0*#0uwwQE#vt?;@d8ZYv4_$}xzI9q{n#lR!a72_wC zjDGpCgZQ#jIiI>?z>(+PVm`DowDPgy^1bQ3^kdjd?|EZZ)>EIYi0|cI(Mq*b!`Our z`3SR#b=0#~v1=c7o*1M2SPP(13Ebz_5{0wp$-^A#8k?sofcgJEkng#O#YsGw=ewv`;|x2^D9^D`TkF4 ze4xKZ?vv;%@w!JGtlW=@I7_#rKv{dr&w0H?Z!S9_G{oQ)rLB|Wv+N)OO#%lHy>U-{Q zjvsQ{KT&%r+7k@gpHNQU*tlPLUbvyRK18p>ONoc&o!${MITM-lWRk2EYg|rW#-XXX z_Vwjqesy>diQF-jXV7|xUV)|B7Srrr;Suj8(ohSAL*J3kB-SR?=%mIY`K;kvtYmf zk@L=W^tb0-9Ia$cI|xtErbjQ#*mTu?3i5kz^RpoSRJS1ufAD)5@*2e76UgIbj4#OJ z8*;9Prt{_exios%orf5FFFil==h!nH{Qml?=4Vb`r&M;gmnm?Vz>b~A{GtWD{W88Q zd-k`9zx3%^9hx782a3lndZXmtqT%E2y>Wlpxsm;)#Nuat)|>VK_TwNq4%c(;-}Q5A z#_Mdw5#Zq9jiCw~&niLB7BJ6@Y?+7*FC%~8{&TI)Z@ne5P3<1Mv9h8anU~#d#>dp2 zunUOa-d=aXc*RxpOgr<`E_|L{z;gX%i{6+DEc5QYVgHwaW!1d{hOgrLsuI@j3kL12 z@!=a$Vb||FfNvh~&GX@_0=|wu;H$}jPyKcD0ON(gIIr%)@$zN$%yq!jde05}TZ@Yt zcIOxE-3~5=r}dX}HY;mYt-#S*c6PL#v!^xh6&&qpI10Pr>9fG$-Z3};2K6Hx30JD+ zAYAQ*2D@2PnOk=r?GE(Md=$S7?AGSEoHo^-+UlS!hx^%#YY#H0_Rhnv6koi?Sl$Zo z#oDOli^2B}8vb2)Vx5okJl5%my+;q3F%C3m7#>QGu{%5k4%a?zG*0y`xZZ+44l!oI z7UYeu0NK%_*uzm4c{#|ZEqT`u_p)DfpdHw zJq5UK03OGWyYmNS_+TXGp@W+apZ>G5_^>wHJ=CO86Fs9WYEgr zpl&?ybT91+$8QDrU^#fUJTTetz+QNuBftaoX&xAu#RDU#xwR_I1A}sSpgTOv`oMLE z&jW%h$OGT-d7wVc1A?J%9vDIH(8<8{#XkV9srL>v`bjxOyYmO8d0;0wLEyFDJaA1f zwE9DNU`#LV_R0g$zQw2g0c^r9<|M`U77i~)_B~(r*Hbg{e#U0?8|N@&={MC+&b9-E z!Y}l7Jl^i>H`VPA(t4ob!wZa_ZDUR30Cu1nxt~J+O9*Uk~Qu;YIby*xi^% zq0492jT$fc)w9;#+xeJ$+aHl9qrd;x|NFfE_h0L7% z|N9hwW%F}=iW|<)%y*Qt^;TeQ$@xdlzbr8|EVBK}R4w_4_!-O3VGZB6d&(J&vmUED z6jo39`i~q){DjT&6aEgom@}|_TPK|tXT8BD^N^wre-5?JtsQO0|61pH&yGD-v%ejmR=Io;?zNiumhxu` z8+HDR+L+B8S$opEfO|W!1N?qs2B8k(d&KfHu-*);dQQ0`PqC(6$hpUQUvc{`V*iVI zUb(NDU(2Uy{-#|k8bjWKa+B7JKd`fjtL&ab)!xy$Lk<^L)4tg!&Rn?_`B06ER-R4b zyD3kSTL0ALQf@doIv` zIitjzzmzc#Bz`fEYijMxBVGp$N*c8fw}pB?2f=}^+i9!4hkL{o&rC4(I5|qmg5uRR$ECw89fyz*CYY1lMAV1Mc&r+@a64wOl9DS z9Ky@xH_KO+j%=CJqpxga;K%gWGN+Pp**=4QaSW zgog{xow)xHc=#@OcxLWAgNL2qp`#BxOzI5=#xFed#$!JP2lMJaIbQv$UM6##&6?xP zojcd`JED!f4Sn=GCbwVu6aM?^^Fkwo`He=mniy?S$9C*1HFDwQP)8N=>}*z0Hx8mN zXWJwn=K=dBbmSa-Rik5#p0?}hTI-kmiifZLw$+hiy`l!Kye`wA#eUcV(}WQ@P3eS4>(?Q6=z$XnQMdRjm_56Yk0=<|C#vCE~~G{osGWUm7}jW znHZ0;MKiEP%4;yT$;5aHOkRU(!pCn!kD}L)uJGeBFWbN51cOJL=b*gq7Je6B3A^_3N>SD&~Uef>zJ)9KE=S-P{R5gMQ;&xp-|wzvDVT^Sm% z_j>f?C(rPrzZsbyeY-k8`kM(uV!zoHj=sEL&XHF3UAB&T^|6DWK_^}~dH>tzOx&*; zf$t!nr;j*0I^g!($DellSH=&y{f_ZPx6eUV2X|0oaN5Czp^D$!6{>jqPHY%Dx(V5R z!5@Dy<8L?PA3$F6z*q~sr17^g{*B0_9sgk8zy7^x zyDI5RI@W7Eglq^e!c!10-=J;rNu81P;trj?mdKLz?t1+U$)1mA;dTtN{xm%EO5GSE z>&_>WKP3JUABq33TW4i`oL7vjmlzw|imbL_-xJ7tHjRtZvi`fXu*b-28@5;d%08;@ zcsuX3EG71CWV{I66gPhHQ`SdoA(zj_Vy*1I_Rs$Q6`y~N>e0&T}#K8;A*? z2RD@UsR$9`I>qkKcM?w_gUITCY)! z)eT&m{c9s_jpX37JBiWE3Ou`uYxk_yTZ7LgiOt>;cs9kgd$t)ps~i-?eV^)vw`-4> zn06pWKhEI{di+ZcJz~rWgKMvzLV+WV8>ji$q0Ynn@SzL;$%eO@5#Y*ag(ORBR3t3z=gaJ4}8 z`>;EHO3$B64gT))ry$*Dnz=-N<89zM;dsK2*Uv<^FDDmPe(Vz89;=S2opWY%!x-oh z^evRfI)-(aSE#W#r*7=?=6oJxXnC2fbENi?YA<)b7QQ#FZ$3hs!MIc$d#iR;*T0B$ znpet9+edZ>+Faia#!P#vH<}Bh+8PsROL#evPT65}O31*k{S0l$h~`=uUnQeY66#ZP zEd2R4WWf0kI-}mq&5-XJ=4_guNvBM?l;@desScj%jRpONY#m_NK635)*8)7Dx%Iv9 zg|X*L?Rw1=Q&T#dA2gSCb7zg;tqqDV)Te4)n)`+)!X{rL#k!i-p{wE9T5{=2ndhg# z0dkt&v#A`3FEf7L-K;iMr*|#uON(h&b<(tcHpRBRS@~zmY1;w)^xF*1E7qJ?>vuYv zm-*6a&EX%UJ^5AI3&b4JtnZDd4fSu{E2EyKdGFq=_v(4i)Cq=vHbQUSHS2pbh^O1< z@8NmFE2f`2-Sg^8&$AAwacKT6I5mdg{QEwC{=EZSXg)uJakRh}riLBz;^6;l!4EIA zzzbR@QEebI-{w6x-+qO>M%C?7EMD{NUg_@Jlq2lLbT;L_9D0}J$bVvbmJZvOu6qd` zmymzbvktSoCYn5fJ{aLewk4UfC7D}QL5C{#WEmPmL-e0?V^+IgrQMO#(+qdhjefh( zz~rI~io}jy7K+ZIR+;@9iD^BymXGMGkNQ#G4)r^`_4AkXGm3sxmn~Zd+kQBUU|ReZ zuXE(-^z&P4OR~Sb9K2VNvv1(1U9Df)-y$*fD>+@NzsR|RA-*&e-T(cg_WUt?1opL= zbIuab^@-nMt8a;PvQ};2yOp}4%h=a`EBL)g_@&QTy}(yf$(l5|A2+c_oBV=(<-Zsh zU7yY`@ESespC_-Qr}&HP!T)i5fc>uz*n=c|BD*KspntlSUUB!*{(-5-nAxu%$7X5F z^11Smu~yBq*w0j4H)p)|mo28wgzhV5)5ZFAgm~=)Voyu)!`txdCNRfJk&`{nE807f zc*4POcyICXl`HempPP!jt=cbJ22F~oxl#J%(EJ2GMHl<_XqN%3r%II)ZiA?A#0OF=THUc-jb_g!zi`mGxx?RCR&Q2kO@ER@X0W$i7>fP5*Ca_kUin|JuChPWoT3@&79@ z-+`ThCpNxwS@b;awbG7a4ANuJcwhM?L!OJxC-$bzhZ;-{ioTy0?w%)>kDO%Xi3Mr|#Op;X@VFwop4V-Deo$xHZTflyrjqA#y zyV*};bUyRq@^yL9slpZWz4*^FxO$&`iK=Jc4Oc(6xY|jsLkr(e7FQ#gPaB+=xKpvo zsSn~Pfj&#sLt|)Z^5Ft_?i+V!fV+>x;=}}c;`fi80Cy{cxT_6C&+7?ycb9j=-Ldb0 zyF0<%{tWJ(5$^8n0eAZ??(P)s_;Qck$n{W)}Gj!j=}Hg*g&XSZjvXU?b6IaC_A%g3rAM?3XUXo0zBWVo;+ zf(EeCG_Pyz$iWJZ2y_b;Juk)T;|5`5@;lA^eA0eO6tbNg+*1p95M_=~gNDVxa;=AN& zBmU8^shiqcJB$5xt|d;TcA6im1h)l^6Vb7^pBvCEwDm=FhNX>vt`NG!i>qGIJ$_y7 zzDr+g#`Ct~hiz*S>zQ;W`4J2iG=t7+NXDB7do{@lk51GM^e|<-^_!_d(lpa%h`* z*UDC1AM_lYOHan===u9|j{Eep^-L^o>>8$}tAF3ce*!Wmd3$O^W*!xkx7EGS)5hzv z^@VD@F2nE1p0ioG?@89x@BO{>tNNwR-xB}Ch?nN(rw4iG3Fso3xQ{d0Hxj=qgC=G@ z_hR^kxoB#wQ0H;TRV6zhM2dF26OFYv@Pok3w@ zbMU_KWXDq6=*DuCdYOu`nYbLh?R2EhRa0E11^v3nD@e!XYVmJ`Qx}_SA};d;>-*}j z${(NYqdtwVBz@=|*Y;@Uo=fXS-<^RcSi2?=&+~1I^9Q6O>N)o%C>PEbm>ZCfaoF)( z{UG^I2nUjX{21Z!R-^0fz9;DmKfagVmps$x5gXr|2=6Z=Mk4=d3FFnC>N0aiy^ZmI zjWH&`pV1fiLY6O>Lyw8jCw1eId#ihUmiH++Q#Z`keDc_` zmEwaZ>u$Zfc_eW;#Eq>G8udAulI!IykKmWnRayIu6 z%h{KS~o@+034$QJ0I{8<;fao00h11-a*>%M;1H8oP_2mM_0vj4v5 zsb`4qUoM_-ez9mTe^vgLxo`Y{%$|Mg&o0=ack#KXyVCopd5bDmv% z4)nVNIuc*gd1hntL#9q(v0o>!lr_tzfvKyjn6=81SkuV7sMd(vu(OKgY5hLPkBXu1 zI|H7Sk2Ar_b^I3illz)82IB#eL(L&I@0@_|kk0k54n^N=Ji4X|+vnz)_YwDTwdz`@ z({?rd&3g&W&9{5e{W0e|+H<^&t@mlUy3ChdX!&EGzYj09>+7-eh@ULYUSE%|Aw~&q zg=^NhU*AB?Ex(SsM?cEM+``N=mX;rRZUXW2Ffkb6Pwyoj=R<67Y6m{Zxn}>{YUkUP zp{GPsH+NqLUd^??9=n75C5=n@O$Q$*22UQ_t}^`12HL!n_My|{5VcO`d7b&h^Q0>~ zkfU+O8&-C#VI6>aC#k!<&b914eh@kQy42<<*qBd# zSL@OPxn36 zADqNk#WR{uwl>&2#xx(HD^v?ZIwV0pf%rGUo*r@ zt-3@*vT^^=Nx-9A%5?$W77T6l-%j7fp$8r-cZ-yJU@LhIAx=%Lj z&r7Y|dod7;kxg*^{9JG!Twj-OaVvIZDLQXBYvk5%2>937HDbpVYWr%xZ4(<=8mZ_A z*hts@9@Zm17*d+acQ_Njjy~ql$Cv@u?#bWQygH~G55O;Jo`w%}jjzX^*&?&; zoZsa1sr*v=+rlm4G5Z}`$$eLIM!cnYy?(RzGc{+Hun%tzpBen7{-vud4l0kxt{c8I z?^1^yS(?Q-s=-yhm;Y+HSMX{9HsLAGF&uL`yyxZZT@pU>+{Ut<=3K*FoGrT48_9m% z(Bbubuk=DIXR?bXJF2f)K5FM<#+P7?B=}q|e4iK_*xTyUD(J)h z>=OYW7MeL9_R#?Cg8b2L>J5B6LqF^ddj>k|fbISg^1Jvug}U`*j_ z%61Dr`Ona$+x~QmYu|59^FnXe*<;MmrkCek3H{u1}vty3c>~AA4Uv!+w++h>@1`g2o z2w+njP4P6_pK>sm^Rj1vdE!3JrRNV}4o9wA^K|P=DxRkKuZyGI?-evmAjbieFi{{Q5FJ2u1-IQ0Tn4|0SJo?mJs)f7&s_CJ#5)_j{Dv_ds0mLXUg?~fAoE? z`L0@S_iTBE@1kou-WZT^+0HMqM=~8t2a_@SKZ*oqwo)5-1nLChEVPh4V&rN|AY27@bvSMORd^78LVwu?8hZ+WpO7+is8XPv)Y^Np$hbV7oifTS0r~$5c(5zx3P8g*8cg z%1d(*@iEo7^u@Bn!h-m^h5gXDgLRrr{Zc&Q?uirBgvB$PSf$vsl-3g zod>W5(#x4XGWKA-KelxI6WuA>EuRW~H$L-DA92te-KG7jJ?X9)0Uy%ouRT4iml*wE z{DXYsW9!=0zMBbNm2X;z-7xpzM|)PE>Qogr%66t>sior6>=>$P+wiKp-$M))ocS@- zv|btop3*VY(#ne580y&GVyOOH=m>lHf;ib8z=g*@hmV*!Up=#4B|6U{R^ei)=@=^X zaWT|G|#O5(4khE~T6Ucg_=nZ(Xz>+5E-=OC|RyZixgq~GORmxl7P=ir>3&;Wk5 z-$l=Bex$$3%`vvh*8!r1?gw>3Gyd_0)4kYJIeKdYG1W-`)6iwh`SiivD588X#n!j=I z4uN*q`TxkV?^ai5_`&gk;^`^oGm1&YnX|ljJ^Td?l#go8lZ6+|+0&eH*Bt)3*)ubC zBIjc9d^7gHWhnaNO!Noq2AUK7E$@rQiJ_dM&O0^7ySC<$^Ecvn(Us@$j@FS!5B9b` z&N+DK_t%%#c+u-dy=3Z6y}*36mHDdnyzCxS)bKLzuV9Yc#`}{$D7sQ-mRlTHA7prF zQAK;17ahYH%9}Xvx*Z;=Xa5K55Yv9ivs$O91lH@q-lOYihn&O4IB-q>@1tf7+wdaS zin;wI_w;--_-lgSHNIe98l%R$nDfC*T_WHwW6a|jZ-RMWIpaw3UN!ep;Gv4OJGC$W zwVE^J6}!+q#p_d75kF;~jcb`3AFd_|2ZzoRJU3tgj=^ zwO00?`GNMMD5l(u?P<9Y+Xa5bXOU}lZq&f&%GK|$kq@M^nbFl(ByY62M-;1Dqwn&C z;_$6%HVN;_pKr!aiN-qHKx0*VHD$`R&TIUy--B1;-B~h(eCqw_JXZx?QsBC3P#8ME zC%p4I?s*sKv-wGQchaaAADhi*Ei~8&9e4BDXm~gBu+~`1nP)Y@3(dq1 zqzi;UH@-j59UtxL?6Y$;KE7*wI?G}>u;l?;WKcmv)u6%#*%PhrHVQVzqcJK5@s!2~ ztikbR(J*p(^rJa6bg=;Gk68g)x>!wmKewN6G==?v9}LOl8+Fw(t~-F|PS)eldC3jo ziquffSi;tvO|9dqF!ke-eH`HTcF#WkuoK>k)G--x>Ee6xqU0JC5V;E51VzYYpdFy44f4dV1GWPw#s6 z-HsbPpy7OU*Q=a4Ff~M66CJq=nk(1G($VH1(f8`z-jHZ3cxx$T4rXiX9sGumu(g%<5~Fwzc}l^vdQbMf1w1O& z{yXMTM%KXl?|)}?vUuC@H1`g3Z@bP&qwd!7hp^+|q1-zy%HPg~{<-Z>pc_)OW%hf} zpX}Jptg zfTLZ4d>hd}nF>YSGiCT|lItXVkO!URgG@(`cxPYjRrgj@b53V9`($hR$p5SzUSQhO z{I(We(AvNA>1#_Tb-u>hy6%m_Z!|u8X@S}urhEBAu&1Zf))yibwWmiOuK%1j9~qfe zU&nbm{55?(ave4++~E-$(;P-V&U3c|<3R5!jbql&AKF$mz`MdTd^$S%>u>mcx_x*S zpDq@kGOi}ZBOUk@aJlP|>=TKj>%!O~;vM@G?`Xh>8pbMLLV8c@HnI1Q>KvwLC8J;Y&iiZ13eXk&rr)#d z2K&OiMVCg$Q7>^3HE+xO>ub2yy9xB`7k~f$8Z-VkAKJ#8_wx8ibO7Vq2wgO9+>O7o zf$uNzdEzX|8Dp2M@%}TsD_fNSwqUs2JdR|=oU15Y=?Gl{j4ije13s6HioJJK>TQ@#(lk{$afwAFXx``}X;-v@nK z1zbjtV&m{z9~FvIa zye(MQ`@B61-u@-I73JjQ=$V=Dw)}AL^Q`zrV^N*{U&G@W*t5?E9_Q2gP3SD$s((&@ z*?h}$((6x>#{{}6NnM!K(85^SpQ#NQe?~r<^im30sKsYU;In9+t91<3-kHg{fD8G3 zH1@wa@5pnr@d1jM=j6_DW}`5+6A=^jhpgWrg;w*L17p=w#K_cKl3v zmOL2S^Y{k=J`dQLcJ?C%?MzlY(&Xx7#;>spr+H;|9uoo1_)z9~z~%44ntA3dwJ zQR!Rx%MS|o(%q8tq43lPU0b)~OPS|sC(Ngcc9d@9cAXI=-@l)NA+7%@SEX#`hpL(R?~*+|5Wj}l6HiD+4cj!#Rl_?d#9Oaf_=L+ z>?eHu{ICc9XwS({Q!ZKpUm=Msr;ugIgz#11k7FJEuVbDdS=9Io7{_glLwiC>%=il$ zD}^t7gCw$_Larr0iU&w%zr?)xDR^Qx=V|ZuB5%yb?mb0K6V0FC39}znb3QY-fKQYM zq`ZYuRp^r3Ho;Yk-)B zduD%OxHu9UH7pXF;m?ak!{>#3G*5a$F-7oX)>RpYYL&iQiH%Ubb#PHrTp1I7W&-b9 z+}9W~{FBKUkWRY9hwZ<78anyjlao&zga=uj7KA6kylwO_;Nv6sW^$bi->bl}4!xBN z--}srS6R66F@ACaxbu9t|1H3K9{(KtCBP7@7a{*`HS5e;gKh$6_H2+);||W~kpKBG zYXDh19?;*yQ_IJ)b+^`MjITE`WPH8K<6YC<8|g)dV8@u6JEbEyF7&4kP=oe%be^_{<@PgOv4m%LD$d^h%H(w!e%$Q-5Fe z``e%HFWde+;P<7NOVF>L8R+Mo0IvJn-=<#r`|>IDS6W6ba&(tskKOyv$a4_Cnf|-u z_l7?Lei!yK-b+tmypEsyqUVjh^!L$I=&v{Y#?XNu49Vsv@ox<_L%L2n@7W`ckA1#E zh9t|sWpAMTur&Yr^R*N6Z_o6+EIr=t^!$bT`jF+NDBWMSy!_bj>%*3pHxK9F5&I@Q zK5+{D^+eCZe!MJZ)<-k(GVRaH$Io4+4|AgX_#R3S=Uwc9>i8_GR@~&u z==cURPur(B>SFx<<{9_`)9oCzfZQK(6rj2J>Hx$KG3$yLXNUR-vv@s^}zxE^5Fc4~@cl{U7yK4|`y2eXL)Xy{xH~w;>!emS zeV%6gAo;i7m;ZP(xV?_?;D@|PK4R)-;X!scyjOb(ULZzLCqDtaX?!g=G8T;kT(>i> zgUk~I2X(1C6FmR#^!p~ZNjQpwtJEXc#ge-!E1sl|kL4p!5P{jmE*GV(5e#=|e!yb?caXgW5{oN-|E8Sbes=UWd! zUNl!P#~&I&tfY!q$&6{<{0M%ie8nNHySbbus31^Z1nq4KB=+Cwbt$@0=~~%z2VdNW7+!p5_r3e`4O-ZH_Yhm>sZsV za9I7;^|fp`miln0PHE6Dcp?BtxB6Z^_=BgDo9O1PI$IB4(98$jnS!ceIx*KT^w)Em zHh2}y!^1`o&JaA(@tV_bh;W~C)*WoVf4GD5W}SbS3gF1mXIu~PZT9_D;U~vuHE^Dr z3tJAaSNM2x@dnM~f<9|`0AIQJMpJr#r$6}G&feB6Ke`8e4gLQKU*F1wEeBtR*l!oq z4gJMedjF!S5tG@!C>guybmrpH$)~YKg6=9jC!%xLSFbLkg(1H$ih@{m$9}?X^&QXcMuN^XkSt ze-mwM-Egu$*RChOGD&+a@VsqPbv@Ol*?VZ(d_Nyshdyq(8of;0YSYy9r2XCG-jtN9 z?Qus6%Wb@)p1k7qX&6-lExWxIzdg03^?L_rD{Z|}=Dj|KeUTcwa?ZOLFSgg@g}WNg z8~ysEuTY;<@Q(mDt=J!vb6lM}4(9cKO{`bcZ#8{h#yGGww%)ncw!Fr~b=XU6W(r@T z%u}5)?T0REyjXUg=e6!E8qP9?$p?`EA*@=tTOy#KgNZ z{)Om!I%~9DS9{yy)CSjR607P;|!>Y9?`J)n9g+IBDh{XIA|g z_s((S2T$VjbsGP`Naw3={C+H8M`wn|<)4YS_0RE7Zv0r|-^}gRW6`zOFMM0g!<9gmmK|wp7YS%VRX0FQ?ypGF6sEn>a+L$CR-No_WRd-z~IH{r-1LP z`HWFc0sWL)Pec0YoqWwvtUO9T8~P!W0kx+bWrf1ES6N`GvscN833;{A;7?K?hxV*C!u!SAZybCv-QMR{BbCUFsMHllPl`x?aGmL`g5GoPucKyvp2rIj-w}oeeccb`$oU-ld(5e ze|MiB$R5kTJ<j%2llv0;8V+*Y>^Q40)NyR_cGVN zZ;Ojhk-z%e|Dv|+{%_6czl}X~@&!&-zUTJ9-(Q8lYvAvIf4f?H>&5HKpauJ&AFE}4 zD}NVXVA{kG`B~Tt?VZv*Sa}1pz5K@I@OkjQtFMqbzsmYGm*$M+S$`})&*AZz0Uj6s zJ6ou~j^C&BV2^LY9!KD{eAcP0JY(mWp1IQtc0&wXZF3F|)=j5X=e_paFT&m7|J^P0igD2?}t<@+8t7?@!55(0S z4&tuN!RqVdCw<(VtUtep`A)Fjg#77!*!JzLKL|e2JJ@etPQT0jezm?3q**AC3!wGf zYvq?#&)3?&DxL6$ z@|W`5PKLj}&AzuFJ|;T20{r!|V9WKtPQYJ%`5(fE@|$O|_fE2RbOCwczHZPQ)y0;~ zef$&Y40}HlTcS2VkM+%hI6lLT#mDjA`#3%o|D&(|C$5G%|0Ayf8Y0g`id`&>%sr(t^ePqWz6>f{haluSGka|~*0w1>cJTWJ ztaq?({m{f%)0#=KpZ(nFC0ncE6FD%g_hFJhV(duD;v^LC-?e_~>_=bvxkvk-)8BHx zzduwzceDSOL>BaA|37!o;la26U+%&F2l%AF_Nw3Z{{-+|!u+{M``-hcR|MevquKux zz?+|*@B8+@2RH`?;Os9x`>h`ge0}SO>U2!N!Z;%b#-^KXZS%yyfPT0+vfyO&gVm?m z@gt{CwO%3HtMwkuOBKt?jUj#7!Q|_Rp9mIoL|UKL+T5Jp=F|PsPX<@{jTfh7!0Phh zIeoA7`~J}Fncsg=nrCePN57P9*XvKA|5y+65#^7rV?N^1Z_tl9kkenS-(Na^)W>yS z`J*R;@BOV#=h*SSkkfzlDU7$I2m5`xzn)_JmqE;3u$5oPq4m0)zDN0epL9Gdr~i>& zq=MYeiltuoRrV&nks|rhBL}UVxv29ue|$yXdly221;03$Z(mNXR34uR_^gU;y1Z;R zUmii9{4&T>A%HsvD+^Xsg?oyj-I z?I+286#CglKig<`p7uxt`%S3d(-&tQ_4N7o79@M^qhIUm-rAGQ2hbwn@- zmaJ?182K;T23Y*a-*)5IoL{-oRn$3{L7jtxv>U#A){#+svK|8 z?huYoMEjaZML8d6KhN=#!;f%!((R#J%K7xxo*Vz%Q;?U#m-j6%SNQk{$_wy+sPgb( z(f@y=JT;g6?~|uAznJ*=|BU{j=7KM8ee0iZ^?)x2Z)|M#{&&?!2(^mrU|JAiN7~@3Hx0o&u60pRKK8>Gv8{5QDd0g{8YGp zOKPFFz`bwwT5`7Go3v9+JK8_4cHB9H+G|iuJELf4DK*V&$6jpP;SA^0T{-P^P=m3L zc7D&gbh@3J{C0F+=bbt2FqeCdc4`CgxY~0XR}<}MT)?xrcF-6LPbu)+k<-qbUUVbv zD2FpRF7|?6k-UI$q4V)6_sv|x`H-~xAGFK9QFHe22<*j7>O7WTa%D6G-t^q8HHDr3 z*akhuQ1@bY4-Yh*p3}|`*tbhNwY|V|M+TnFwKtq@+S$NahpAg~+Ihx{ULttF za}b_d(G>ipY5KUO=}g)+H03wZbg^jq$|o{3eY~)9tY|vYm$6OkpO=hna&)~WI*k4j z)W7bDuF5y@Wo&hAof|(gM!dwz*fr4vdo_|9yl9@_4)9`-9v5fY*;jkhl^J@lH#n=E zwO;g{8#Vr(>2YqRoz=DEE?Sv~9*^g=^SBrNFWMQ|i;NA-wDV5wc&j@MJ=Wy3v&M_Q zMms^>p>Y{{Fzz%x)>?WTXYJb1gWr65tS-O%;tW037G~9Rkk58Q@v$|}1!{sjeK~iO z^krtfz~brZXoB;-<o;RmL3L=Q*+vR#EX7ChaSOpHf7p*r}hiJE{6wF z*X6X+;6>{M4>gJ1xPtBceWsnwwcfctpTQs47KaxzuA^S`FZ*a`X|SDh{C2>5#mU1D+W{c*gti3=G;9za4B#nc4}+VGuum zl4)mO?N_ZFj-;-6#jR#vGwp1yoo3+~Np0m6b|VYV*pFj>+B?0*1>5f(w_HqVCAMKnOY-g2iXM@^F+YP@R?8Yx>C#V;K_$kP=^G@v|pAWGOskGhj z+xa0iu5#K5(*3urk^6Lir}jy|oil@W!*2(>u~p*=&@0$ZBGb;k+SR_^lrKO$Dhto( z-}O28=}}KTV)fL1+70R{e1Xm7PoJC7Q;#@3W#eJeQzMFwt@$N-%IT*)oBA`7}wc}KeNWxU9@-iX|}>D@}`lmwp>`Pszyn zx1YV~Ti<$P#kaP-OMPwgPH{=j%feEmlubBCdk1zQ7i zam^nc{;1WTrQhQ}=mCGM`7Hu}${#ZL`+@KmKGMb6Ray8u>f?{UL&2Y5!WYbTa$MGKmKhF6^whsE= zq#y4|<1?EdAI`z&r~BZ?!(n^A+T78cuNKZZUu^|*L-wjB8i)-%L@o>0ql-fgFD&xU znyVkoxm>4l-g`Kze9C6_PI_kVm_0{8IjC2u)@lRug@@Ra${xy;;&ybjev)fki?rg6BjUC22&^MG+) z-G$=?pPp}L4TahP(d&Sz^`0B{w-y&Q?9MMTa8wD78KH{a`af6wQ%BzQ-CMuc;fJ(_ zi}tqS@3i9YaOUIdySEbqsk>l&A^F2C3%$-UdIs89ePwg~OdV6>yRcrM^V!1rQN{Pa z#QPU9j;}Bd)q-dzSE7`N7@F6Xiscw2J0x}{0B7Nn6x9xJMB!J z8O|jaAShs=;c;B4yYMaaJO zwO8)D-dC~JD(-&;e~kD|zKTZ9AiRLN^uf>VG4p7j+m__qHqE1Sc{UFszq(>)%p22V z9wTRI?{Z>u!4tRN`>wC5==Y3y{3dd{T?#(kQdJS3>#JB&WWD`J-pY5rRX=Unp1{cV zJxbY8JaP9#wG~a?%u4Tlt+m-&Y{n0VvsXvp> zQ5dgdJ&^yU(xqk2xtWP_`#eRLj@f6n5${Gn;&tGi=vR&CnEZNeUwq|+)0#&ni1gww zs`!+zaHd)}>!qjBS5Z*E@XFozm6mL=ZpWWWsf6zg`*3YzyO?Nk!?zJPVtcZaWndd#}Z1D|_^&jb0Y zKKrnXE#KS&K94o{tn(Q}zXtI{{;hucmZWdWGt+lRRfQefPaJt;6~2LXfAhhK+4bjM z`37_II(Z0oPnx+?x#pwjcigjwrgG*{CBD}S=;Q9?=FIC)0RhpF8p5Bko>( z{Sjjel@FKWQ{504#FOtia)K*wZ3kYjK25o7d{$LdcHUBpa|JI}Zu3yI8yiB#nF9vS zKs&lJbigwr%N};yclKk)ALHw4yMXa^+7)iq$k-yf^K&XcHbtf#)M!`D}(`nH}#edF!=Hflaz z8os^@Ro_eY+2WcD&C9FI#Z%11IrZl*^UkBK&zL=kv(6a-zw|pei!b?Kfjcg~Y(GC! zzoNK;fn1?<1$!mip$l^>e#l z9c6D`X2w=_=@Yf}-BWDK+pov%eyuJWd!A`4jve_#ZQXPVZS^sR-hM5ktul?_%~v~Z zaTe|gaAw9Sw541%+UNWD#+HHn?cL_yejYdXI=_$eM?BBp^_2g2&+~utlz+$b{4G!U zUwX<2zvbhm`d{b1q!j(E_ytdn?r-`A>96t&ug}3>Dqrs&6EJkD?CQd{M@H$zZlA2473H046t`_UPo#Ze)FOO%87p; zIq8$vBkR!*@gmy4YG+#=R@2#$W6%-t74a~l2XoigugN{P z0UoPteZav(@~^;?Wz(*G@UNm>Ptb<$FMxK9Bp;*OPti!(M{V9+Fi97e{14_WHrVa1Oe439MO)gJP79tw|s`$tDBqpf}`qWO>2 z_`#iV6^H6ZN4)qk&%uvFbwwG^zv?`X2j*5hf?wm|ad{EN%zD3l$tiPeTrjd=OelIR zP{h@W9;U8Cl=qhHaLbx9l$|@ul&vi$X1b<2)f%%Znuu4q7yr&?@-rT$t!$WD-8%So zA^eouT?qb;8e^?F);20qTR@&q>e>kICdpUSz15dWPWPp8cPh9W>-5QwX7zl00nqQV zj;>}O9T%y;#@3e$&)A!Hl&!xwQVk8b?m=?2cUGmUY@ejTy?JYuIin@aI+}@WvJd}& zQu?0cdHFbBG{l*!+m-D;?yxKJqSsi|ESD|(Le7?=QGSo1dcY2P!ZeHGu zP=k27U1Od1p-_Wj&v%V?e$Naw`1x&O{h6ChGdPPE*}9BxOPHeqVB>tqNCEW7z~!_r zJ%q~-_Y{z$<_cfx5WWcBb#bTD?}34FCKnMg22tYnQ!&cj#GdssaY5N*wIpk-(z&ms zmkH+?9FpEFc|}!f0sUV+j#b^fn#f9=&a+-Gb_H~;F&9b6`9<` zgZ?-1W?w}R+*uf~E)Oy$-XW1VfC zfuHda{`j5s=x46e{WE#0>~d~9t>EUybbaR=8fD{VaPT>}A=>5Q=2izcw>r2PbZ}G8 zg_}VKH@7;t8FX-StAm?C2RF5M6YHK@32p*M8aMM9gV({$d=GA_ec`67Gn*;gWRFkB zOA7zs#{wg)HQns(O^ibs^fZC5x6UeYd4ZkeoQstkzr;*>+U$#rpOr;V-?ZuJ?^i)j z@mU%|PfP4GuUvZi1N;~aJ>_|to+1N@p2oa%(=!kEI`eezF!N;dm|5pUz_Y0!3H}&<xYE0G~iuc||9!BliURpJa^$}*SfGH9N z_pQbXkrijjnQ8#EEr})en(EXm&L0D$J_nI zuk}Rzec@yJyE6;U;rh$DPx2*A!|}EY$4|zc6dZr^F>w6-Ny3pm&TU!W*}9O-edQv` zhz?v}u6ga}bDhSYa5L6o%WrRg2pzyq8t~8ncfZ*_AyYr?XI<9}uInAk1LqrF*t4#8 zEN5MdKX%u(_LBhXn)spgy4D^dn?=y3)9G(Sr)@c@q#fGvJaIA60Q6b;RK%lX<_59% zqej-xzaR(uSvRxl>#lq%_`SzoCx&hjyhNRq*CITvL_hg2GIxC$XKs7ry<3WwmFy7m?q4wCx~I?z$} zO;0<6x}m{7vzMyR&#N8oKd#Tx1ubB$nziBRHb!V|ut(1Dtc^i_f0W_(myFi_I3|PN zkL~xR0`M}8H(Cc*G7k4{YkopBq}1p{^O1o{+Q+<)T@QLJd>21{D48iEOk|ykj!I`B znMrsMe+F9gG<5ML=x*DH4Bq-jz;5KM{Z*+ru_9NHm;EqhvgO!3r{2S~mtDt4P8|lX zopoHoy7jR)#$T}MvEaBCf3@{_))g`KoA?W%REQi{Jx_CX1nVgAjN;mS{dM4e>?QeI zux_~~;nB~b|0_A)J4oNlcQ4;r$GN?AO~JQ61CNRhXtn%9JO40nS!}K^6@QMtJ`2x& zgDcZ&+&wALGEzx( zDhw^1iA+GeYfG3lUIX9d-OCSC&mr3K%53+zFywf5r}Hjj|90B5Y3BL1oS`vxo}=Gk z?9Xn$RAam`Mm&#b$ixjAVQRqcX?0d{hQZ-K=TDV-%kjX$)8?GtNcMIL~05 z@nelmA3Dybk7k_T9Xif4oqilEM#mChzgg!?9p1^9Q`S2cUv$cKud7NOd#RAJcHXT+ zS@8W+7JOzN0;BACn0^xTKz)a3-`n;?7e?A$0F1}z`vTfOoTKd6VajIAlLOC?d2*h+ z{K58PHh-|zLjzBBJuGv^BV#>C1{`KRd{gt3V?F%VsVCQZ*y+5>wH|JE-hCSDVT%hx zj`gtFd6zNHC%GPO(>QzA!zs|4Qm5UF@x5gD@x6PP@x9mWTMl}&+ ztb<=1u5Q=%lHe>#@h89Ztj$6G#6wTRS@g6nlb)`|m&wr6TXN9Tl@2|oA!|Bq~ztWr`Z)MX{;iGtq zkH!q<8_+on0dO)ua(?Wzu?6L^|&(F0`OaPi-*&-n=>4` zxw`MWOZZ*RZ^tgW&2R$#v0^OUH;jvL(T{?lnE8W=+_2Fs2=nHO-iMo@*UG zf{)Wm{tVwjLTU*aN?D#%f zO`CcA+1JeRwd)usC?-v-`3*7M?V~_8voWY^zq}W@$;icbZI#!ZQhWIYT zcOkwD@m+}TLJhZh_Apofv*09s}4H(fOvf5Vd-|Io z)<7?xPa@+jqDjwk}EfW7p>J2ELT?!`;K#I3>QKrR#x1HncbJb92kQ z3a-z`C+aFsPKgEBTOY)~qLg#^pdYEswQKVWnRj5K^p3LowOPCY#)s|J-y!J0c_6Y?5Ws?&3rMo8{KiIom)%DdCSBX^c7^oimZL8xhBgtlb!8g!w7$H~)*DS_+!NeS4%qr~ zM^{E&=)=t(^i_L(7=NMyhxc=y)mWS#iT>g$+P8e1=~aOKrm+2s(9z^l{BFRlB$eZ}$B(8!M)S#che}pqR4}OJxzV{aVqLx~zr`MCC{3a{a2Q4i_w-^PVwBLzl z$RBhM{-w$@;?j(tlEcKUw}W<(4PyqeKK%sT;Udj(R{`1Llf8>6AJ#W>TN(LAY zN5_i2FFEirv;f=G;^An4-VH|!^lms>pmz=}Fn+DTBi!E2-0cAuDt&o|4&)Kv(Bsen zy&sMatit~wHyv>CP(Eeo|1)sYO9$+7ietVK+}3=>R-Fc4aJtFU^%mz{##a3izrPkO z^sIG@e=a@FK94jH`Z^_GUDi!rgkUYUW6@&xQsHH@WTz5zGxb(P{#Rkk*L5y)crNp| z0eMJtOMK9u9~xK-ADMFfVcdDM`;p22<(7%;G6AzeIdRm1vl7&YGF7`F}i8HSz&U_X=H@#Q+ zBeS{g=BhoVKj1(A`g@AkEhVn}oQQuSG2d_R3FLK6`>^rxX}-{7=lb$n62$GiLR|TS zg|D2|PF(pz#FbxvPm%d%X;E>@^t@tXWUPbJ@b6b_SeIp0EG3Sk(TOV`z%Hq{@`0dr z@DZ+s;2`^vi7SsoV`6vl_mW~bl!LsWy=evXgg(}dt%i5WKQi#HmF~k#VDEX{7rBOO zA6NBZFMT-wo)PP=qYr^c{1X+kzB>@?Dx?pE^dZleM;}I*KGf5PD1CU4KAe9~q50;z zq7f}4@=tGUuhh4}l>ccLl586+WtL;8Oe|0`{Y@GTa+MC~g z1ARD@3}ncFJ6ThbKLZz&bEIPwK7q?OCm$aZP2K@bhV~~P9~&)a{_8H8!8>v;Jbqeq z7JJAh^6vD4^F8ZMkM=BwzCvSr){ToMA0Myx9h+jGi}d36+q3R7(Vn|_5AE$)cLwh# zM8T&6o2)UBr^tiSv+m5OId`~5??21?v!cXw?5OLwoc6%M$0w2xcT$wIA;}#g81Qp> z{ByQmfW8oW1fKfaYa5+7rOpCd&&|5hesz(2mYnyHN+xStIZl~i*Qxv zk-Ga$zx!=XXp4L-`#6WM=rpxG?L{APgs+3kqEnOkUgvN2KAYM0yZRmjUrj;kv%V$cdtRf3A5I@2zuy*H%X#^vv(} zQqAw6{3}10?n>IC{|Vri@9^^hYfaTz*7NYtkvQ{A{e35}i3K<%~s4eN=SSV%i6>-b5SHWspX?xvjf z2-$vR9}^r!#5L5Kx~={PiEH=?@g0TmA;NL9w+5+`c!_3kMdiJ9)}`yT<56UvR=Y*m zxLx0i2l4G_GVoaaMY%jj2McX@H_q^L*OTtH4Q)Z>ZgET zxFz_F@7!2_Llbu1o^ogxdndSr>^md!i=~b~e9X3aDmPYwJ=4LZ9WL*hEVprK8NNNb zF9(+tL&15P9qAZ~N*8}z8DD&ZH-^G~-kSx(<2DQ(W$VY-eh=6fPXxnFrvO8CTg&XW zc9e~`+u8uFJW*RSPN6N?t-WLW=Wf3)@vPGmjBVK|w3VQ(xMv=#-L||m;RJ2vpF&&D zQC2qWzvtS)-?RMv+&l}m|CH-9=04CKb)G%V^(p>rJ}@)>;LF5irfJ9o&K&$`Fn6n$ zA6#PM4+ir`i+&u2MvcGHTD`_UDPyl)3VqXFdk*qkkhSk)tya&NxwHC*^*jARpYoSo zUTxjJS@)T8u6>S_(L-Dcjb3W|ua&znUK-+AsKOh6;A3wnE4}@(%F@v7ZoX8(?f&y? z@0c|9yDN|%s_(veXX#kK$)hXZQt9Abem7b&lwOMFiMBjK-{;^P7sTh}K739#A-~Tw zJ}1F!pOe+{IgwA9_G;-AdJ+?@)WS0c z=@0x-nnvq8)vvfax85i5d2?yi$Cd3KNm)ZfgRVZ=rpr0%JqKREt=CI$1%v3H=(3lF zFBxymTV!Z>UjKIJVSW}343Q7I6Ti+{E7&61d%nB(1TKioN1v^|Msr~Ay*91NMZaPb zkeyk7E)A{wMh+SZZVyL8r{eoDEDfEQNki36H|@D?U2C_MNh?p#*2w=sTNm1GWzxzM zv~>`>`zP(!>2ANgwDJUP{rXhef=+gi8yv$wEHU%dk-Tr}`0>aHZFKeN28ud&y) z6GvYIP9Vqi+=2XoOr1bBjn~1eGjDe6l;4h>VoVfAw2wdeA{zP`z9_QD*iZ-krxe%g zt>5NpFEF|$ch4ELX1p|>-@S)HdH}M~Ts4I=rhR|NiKML7FZ3_hsm|p?_i9Ua@4N=-;@sy+V4T?nc%Idb`A3;32d| ze60NQdl?gxYk>Alj3#r^4-L_N(@oBweqh-f7}H(@9{&tHE<(3>0XbLRDDeA((7-5=(98~DGU@!ua9)Ag?( zKKjr_*60@TaDPmjt-ip)738?AA*T>_u6YlGb2m`eMXdE2pLOsdU&|8%)2xF(g;xJ8 z?|bk3vTRhl&is5yvHkF%^Na2H1DghZ<%oFQslfLWcvsm<;?N`8HtlPFb%u37wEORp z&?WG@rxAL}sE4^#-o+RvsC0Dcq9v?_B>8G2KU6kZ2fwWSmfzUOuSjAC8yLV2 zj_o^!jyfSdCi7B2S@RwDE<96!NA*l+5B?Q%IEs8-?%eKUo(K2UK>L2?dM|SwzXRHR z7ws=6R@1D((a_3~?H92Ib=6*0F8?aljC_^HX0J_nWAQ)#aL}_hCy+0ny3+hf*x^r1 z4$=wf^{IU;#@?Vc`L7=itZl~ESh~la8_+9d=^lF>JDA(oy$NU`<$AGsd3AXDev?P{ zm|%R#^V%T#?0);Mz9o;!CiF9+(Rt)f$)w41%=%Hj9O=$<2AuS0j?Hnk^fuQlHazU= z3?3F-aAb}SS8t>JLo{Usek;1irjp8&4v_IrXsr*&wT}c~h*st|{;) zz4Y}Bc&FXeQ{pS=Z{qvc>KDDJdKb}-8wU$N^9#3a*}UC*m0KJLZPD+=p7QqZ&=%J1 zmIP}So$~6s&}Z%bZ960KJpGc-fu;F4)0q$EsSG`<-QUtkl>Ww64V{mHVdf*x9rGOX z@e%lF=4#c@`S^qLEKAIL3z8`fP-={LFl;0`B$KfG^hg$O^&NG8DeM@^a(L zOHMn-<~n|Q<4(8z^m4%4;g&UJSUWcaQiofH!v2&~E^$LRmE`^MOH?;nE5565Vl!{W7v6$j({CTXG&YW$8z~jsje%5m^NkJJ>-Nv_pXq4~ zr#9Gj3PYpNlU?={Hr!r(K}siD(e?PEs4e9O>V@Vf-0^zV8Ly_ZA~EVH0v2>4t1YWC z5>T7XL&xeu>`A%Cs>bQFeDW6r@OSSbhXQkyYwYH^Wlb5%PCUad+dOnE=eT7}8TK^F zELcD0hvx`ID|p)1?KW6G$%{{{lL;v={Xy;UoIv6AmvpCq>)dlvodu&iKY`y%>z zM=DR8jACQ~4hpxu=2OGA*TiHHs{`OIE_E6Eyo5JR7uf18cNH+am+8*zr zNo~+&J=+Cc+RfU34Z8Fibg54?7`h}o%r@$Y-3Al3^8&ul34wLY=uj&O?H0S!|>=ZhBb96MDl0J?Gcd}|ip>+eJWzN1bN1LZeJ&Ei4`dav+qid0WQE4(uH3lyZDO!{?#hjOvp){^ z{?oy|ZIdD~>iCA*oF$rr53<@^J{0$^DFpXKN3#5vx8c7gx_1o!WrKUu9emP$MtSeP z^t@ZvlmYkNb?|gKxRFh|qZs-I^G||K%6Sx&SuvK&qz(e7z+gJ*wfKe!q}; zTgto%XY0be3#SZzoq2Yo8(cek8M4XJaB2nlN`$Lverj>p~RBufbCR*8_ppvPYW=b|i2t)~dQPqpr;Mx9 z_y#y?$Li&^*KqIVnp)_2{-@@-t&{o-&-1z5mt^_m>?Kal^~rhk!$BL2tAE^%{OHZE zl zdUExQPOiWLo1cG0@D+qo|LO4Ymh;cZ+W|Wt%69zC4+S#wp~R*VuV0=S?|2*i*P6?Y z<6q)DmkmMsE;}zOd@wrJ5yUvIQ2bj~U4Q0$Y+(H}8BL0qLvBlq(8Mfmkh!;dEUux}!Ha>%*tPv=}-Y2?PD_LuPmT3q<@SwF## z<^lX@$Y*W7QNG+g!J@7j==C1-2FhjqATs+j{Aem2KN|74@}t@6_|c&EMK*HIn0QqF zwfHJZ23sdzntaATul??2%sVof@e6rWvMPG-x$s-)Nvek8-i|cxP4q=JD6bp1cRe_D zsLh{2OOLQlg#(@1LtZ_HHBPRw$45ky$Z*}r#L35tqXGHHr2TP5>i2=V8=)sU*X;38 z_{)rrc3wf5w7<+4dyUgpLg)8@Lu>A&9TS@o%KD5I`}=p!S9E2;dir*-^$5y zs5uM2uL8f@GV%Kbr*DQ%!^bRQT$LX}_AO+O9p2oFHm)oGqMbKW_D01S-^$!5&+T?_ zssOv0{9#0sWMjjo_>11BS(mNMRkfWn;iZg42QjwyHMv4OSdJARRP z2Apaeg#S(#et0pTcur)#L|YE{pRwWpqTuI#IQakMB;n7VyKA$)OWao7kl5*OIQ$GW zBdec(@04}z2?o!canXLTUH&=HvNyQexP}kr7~2Q)+wX~<;)6NnYth9XoclO>zmT(u zv*`WcnuFfEYwp{39$Q--;0z+>O}>rL`yF0-&%V%6Hgj}jA?0ixLnghy#=!UK(EH!f z|6KI`J?D8YdjHo)bJP2n^UcZ7`+sxF=A!r2x#lilGU>gECmd!!KF(R* zCo@0!cY?p7dBe}ofwIe{M2`Pe?)mxeeZrqlXMS3oamwBk?{l8#nxAurnV)6OHzzYc z-*U?4nxEgM>pAg${6mdH*8Ci7w&VAe!}w5hX8e9^t^^XH z`>+&W;ZMWgxd_|NDf>Hb1^(agcj;gsX1aYSqz~mIj|{BM>O-;92dezv1^*ekYyZJNf+*zuSuJ z_iyq01%B6!uzz>)`#F7IY zKPles$DaFjp8Fqo?*E2+FVB2+zr6>wW%Vn;hpQwH6=m2TVpsW7i7+`^EB)jX z%d`pnJM|k~%;R=!diH)4ci!jPkM3pV8osied@?1zG+!L6b@*az2Wh^tq{_9+4D!Y0 zRmLv!B>prB?$dl_7L3nk!8n934i_0Y<4`g)27R;hUHq!*RHCvvl?+#>jE#qKbAdfR zjT~6mE8@J9zUDfQtf1KLZoaeiERu_5zt3-1%#`$h_g+k#xRDnE{d+Fr-pCt){yDlg ze$C``zmT&+sN=r++7~zBAFp{gI*u~(QqivDjuDs_)tfuS@TvAUoJm@* ze|kH9Otnrsb9C>tvwaG&q4jkczS^yoWTYgx zobcfCh2V0T`1X*S2T;D@HZD)}#x**)d=USL6XEi4aNWD!99+iM=jH))a5-xYyr1=* z$%~AR#;Ys+hJ){im17}mEz~*hdTt4BId;cs(jiVe#+qL;&YEV^BR9XV-F`3Q5VOYt z*k(lfYaCnac_%jx&wk7}{9{&sh8u@$IJN_aPcrv;Uf=cM=i`x&f#V0C5RRwq@#rYK z(LQ@Su5$=ZfEP~cV6yu=Vk24&C8sRfn(lD!oj(kF3mUiQD@J~j+R5K5{Jm_R1=_cA{b&CE zKmPv7JoC5zqqzp!Uv#ej;9P&f^*R2u4d}u4=Oos@NsA(#=a3fVsN=)k!D0{$I6e#-#)8nVC_cEYwncJt*Hn- z9C2^#MY7Rr-InS6fHyCS-0)rG0(=)1jt@npYYf0&-AcSD`o_0=1NqLmxpzNyzm?x2 z{o^_8E#B|dhSB}i%U8Z}a|!ij=qN5m2AhgrA0LcPV11H0x~E&%_lLrKCNL+ak~c%T z#3oyJ=!H3cF@D5?7ypY}v90t>58(@79o&bWRC+7(-EM3&*lR==1n05av*2MIWM^CC z%!`||=P>bblF{3;^gHf(VTv{K`sd2;wfi|=gX{aMv%|0-c37M>Z~IY&HXr{FV673~ zSJlu{hn;q52wj=>&d_G<)%acS_z@XjT=dcMliCC9BgYoCJd|gproDIfPVKkf zz+T#ZXyCFD^-GSNg)h$Z=~i?DbB&JIj8|RGyiT^S>7Kd36GnchmT%3B$mM@w_L3cC z+Z-CMGgrd4{?og+_sq5RpGObiKg9i%fa5=8#?sf`hJQ@je~4%Hy0P1|`#sdxG)9cE zV)&n@54tK|w_UzP@R&LqXf5}K?|1!==E{HS?DngL-){Wj+)%?D`flt&=*V>*-hf1TU)%POQAY;0X4yk-3E1`!u9ELQ&K}YY{s`8Sv4?CY?(dZCA%9?Q-j$4P+d;l4 z8u15c8fTjgbdESOury1?e$J7xxw4I;bZoa{It}Y6Ioi zq$Xtbq1fpISGNzJmYzWS%_;ZcF5qvrQgvrymulg@Wl&%6>)XM-M%MBj=;D}{`Qx!m zwb**Nb;%(**p9Sas@UkrcgQZa={wk^>N4fDFN5piiHQ?mUB_BHhrLL#;K^0c+~tzn zPnR9a6DK}Sao#&NU2+As)O&~nA0O>$hGyJ_A8qSri1R)}?^kcSc~qoNapbKNqVmD) zyF>5K3Y&x`^888ksO zRr^%C=l*H#y>j~v#5-$W`i#3?J8k>c9ORrsomuv+u=1^E+P4O%&&Un$8sEBX`2@0?+0>|c&dYU;cdpMxapQTstJbZG>1LUy$% zvBEzwGHIcS8!qC^wrRu)OTN|qQ8(6l{xwsdoul2*XZF8EroKG&!K;{qLOT zYt1##{x@80Ix=X-oY5;cB$>&fsor{e1|4cY3Hd7In7yO+>4 zI=oHbJIvvw&;jJC$5TS+wQ#E@gnY?b{L%Z z?qfe9)=>M{kbGrfJHEiqu{juDU}Rj*pp!p~$tO85u=d{kLA+2qD})PI=0)xWhQtlz zG8!9-;tzkYoN=Co3@drHha5edI17D~wfwO~_|e_Zvni~}jPI$Japm@UnRT7 z>*yPL5b1wSY!z4Ge{G(|pWG_Qu)XX}I^Q+1nDxAr7)Z(|k_V6Otk7l)G*d^0LQ9B;A2);nyj!fqeiSo@i3|}y!zli%{{AiXs`?&V}069s@ z$qyr*#PQ8Bb=Fa*;!EE%^{L)bPMt;l${V5>wMuJ5{~qM`k@ZWKJxrZ$%-D9~>B*1S zkYsL^Yo-s`x0kuR7x`53F!KCr*B`j(*T`FS%s1;sFqGqK9GgqbrWNSwWjq#J`CW^T zuX<=V@_vD@phfYa;_(L*MGV8pdz~ zvaxcsfWwi+jH}{JYT%y~znHu}l#y4@kQCcb}T_wo^xQ}vL$(;)D8Glluosx--mv) z53?uDh}`*g!#{PDb(}{`)Au*~3au!7n#rdypBOWKr&N#Q$8^~jsl(+tZ2gCkeLIGe zefP5F_f*n1r@gOx+OzFK$lH}^KF4k63yLYyetS0U={|?NeZn@Cv(RnxYPZex9v<-o zZTdbzn>xS9jcpbGt9U}M4nTUzm#9~A^JoKR+6CMmnA=c9Y`WLJf8QMXt1o;OPYZZVIJJp>;a<+0_{(YKDw6mdU>*h{WVw>O_q~mt*}aZR+BGSdx!As zo0lD3>*uQ9_Pm8{xR?v+Tw=uZX%7C|fy;$wJG9`VF=wa8e)YIeY6r2N+lWij9Qc_7 zyS{2u-!-$2X6&W^qI&7?KI%Qq&v~nD#7z26>-Q1!E1&uCek=7J?@qS8zx~h5_Ri00 z@8_R#d*9CL-{`FN9{ZHr%O1}UW@e7(ou6`hzs>63ud~|w`lsAp_IUndR(oGMh4v11 z`fYyz*36;KO#f)%=>g)BWB7I-2IsQR`Muet0j*BH4a(f~E!M2`ADy;O@8empO>kg~ zySR+~QMeq37jkjAJA3^Yd1Y`tyX*H%&WJVZ)~we*igvSpn}UBdWZi!M(i5-S4~Q|< zx^>%iX^Oj^rkV9S*nV|c(>s4R>Zr43Gikssr!M6e3E|@*x|LmD5kBDFe9AHS%*s;h z;8Nl`b)SGg!S4Td5Su)qAQ`}u zGmo*o|6giy+lwBmT;{jLAb$z_Ytw1OPqPm+T^2cWjcsMx4oT(@z3 z%CcGpxbNfsb$s?;XMAh0yA&fU_Od4|WUTwJf%G9i^jY73EN=N)X7fxorwifFwpzjd zHz_MW`~*BpAA5*o0nM4tP1iWcFaK}Zx3mX#gO`o^hPX8GC!54O!Uw+2^;PO6X3yl& z?Y)Bi27BAndIkkuiy_`*{8zn?*m*n^7}&e zD9wl95swjvw~Zmwbc0vcOxZL>M0_`MZXxsU@NOOA-BwuE7sP}1!jtAv$1llw?*5)a z>`@-^J;E`ajVoJR{u*C&1%Bsc;FVx@d72n~uyMi8jkwO_J-8Gf)lVX?lR1;kD1k;mb?F!wtxx zHRG*=E!1-kIeL_jLb8k7fBB!d{kO-*_Uj(FlrtTmv8~X6Bzo%Rj^-yC$65#Lh-pAS z`gR$3s^5yOSkSTZiC8DOqVX*X(atJ-Y>7|b5}!?6_3Y4=GW=A^X4Gz$?5e)ar*Cm^ z#WHc?Ga}75G4J4(kGX_rH}g)vztGLRi^sX1IoJI;0V@@RueayJ_D5<`jDa=T$-8aC zUb4(OIG;69bIvE|ccVY5ae5V<{UgJW=w#-KS=QF$bA`v%4&u_{ziO)j_^%YS<*<6lWWr43x;JcqY^tWq)bl&d6$ zKF*bKYbYazLpW0gU95sH8<>rpUtAqMw$mb~h2>nu8*lrqbTL)BvZnNn{>)fEnmN|z zX{=c!S$DWkj?xyt98^7;M!*eKPG^y7;6Rqm@s@T9KPnpcLLa*Xq;&D@x) zGdIX|W^SN)L*|Bc>aK&A|Ae`zWNx5!*>lr_9IdtR0CS^zBUiE(WYgV5Uk%M;9c0iv zV6@k?twYkfSOM-1H0DKLLH4czm(PcfX=J|%U=!KJ{#A$GgLom%7F0g<#>eZd&|~FR zpd}XevAzTSO_bN1{WbI~PTSG}==(5sk8P}pUC{eBXwd?65!I}Z1TkrT&XXy({4L$o z(Mlb{^U3uKjwHa7FAGA~rbE}J zd*~YbZJMrm=JP9pjeRtmuDNshng0P?_-$`7a|jJ~=TP)Xb13?ha}F=foWsv$&0!sT z#WrZW=CG5!+sq+!K4T84!!w63!gFjPztDiR zXh9GBTvGg*!~0(g4{OdQC?dxJ>sP#K3w`$z+?@Kd;k&mjDNF?_l5=@qprPv6b#?`G|Wv-xrN+&r7FbNN)SKfjk} zb>GW|=Y9TZ)E$S1QN6A_;jLeI|6TbuF&E$AdYic~Z2y+IivJI`e~tSg>;Jz8*T3K4 zaa?{rTR#^=mV-w;7-j8AKWDdZ>*hpRzQ2!qIHn0BD9iQ!tkB{*wg?G;A17ma$Tu;w|Ge$q~ zw6TXVa>qYs{fv)O|CUl@nvD7xqyNZJf77Yd&-gg?r%K`FGwNrIUd~Z}{V??}fwq4% z=B%`SSMoOJ3d0`<`!8l1>ju{Q(9xh{NL4b=4?=_QLtkU`3&5JUCLmd9^&%@;giLGDvh9BqL zPT<_qdt0a>?@V8`2i{M)k@C-BPh;Gl9>RVf{}Q$s^mVU*H`3Q# zfbQ0o8_C5AjMB%9V_jg2fX-U&N6fRv&A;aw=Nzvf@8bBu`E_L;Epx^8!*}{VO%ERR z8GFf^{~Dyp7kcOcu_mmi!SgYszi`*nGwkVRJ+UriqgTGa1nWv=vhmWzMYEp353Q$X z;Grb*X${m-7w2eZey8=MHNalE!LtTfyIX3n5g#};@_FGi^$DMgz+K7jUVJX14dF9- zy)Ah^Am0rzeNMb}e2-WU-*RxUPB`h{=Z(6D9(`5sz{@|=mEVH#Pr1*=#{>U4h>w5%|8sma zI1J7-gMY%!3_NgYvT(pllNVbJHV&6ZR(x#`ho_;x%f{hp;9{C4gU9$6*mM?LHu~W+ zGjaK92bYDvLGamy$KWvd(g{wkaPUz${7LX}4ZQYn_*izz_*nLT6(6?)kBf&t*FAXm zQ?8ni2R^#-DNBqFdeFZ|K0PkK?8>9^>yaO>WEo^Q`dfrN z;K%1Dz&cc%h4Lzoz)rw9c+r&eW>@1Z0To=m+*TP@xLMUW@Y3hnPQ8XW+!;-B=arDO?=2>AziH`fOY5 zG>^W^T9KXxIcg?-vOND>c_9if<>j}+Eeap;yiDjI6t^;PI85tEu=oop<>C z&D)?a;2sOL1t7;)`lS zT33~k4<;U6E1!LDeWFRS*=wKsZ|c(Tb2$4MdYE#*!;X^LDBnBJ_jTX|KBiyre*dp0 z_&x#u@=mVr!6~=>f7bW>&ecA2ee)~1zGs}>?|-iE`JMB7=5X`JeE;JUd|wTYZOrvO zcf%U=*btT;Gai>xKOQRC<*OLOQaWfM3Je7)={kH3v0bH6~Ft{p`FP8t4$9}fCp zdE+-u3LZzF2|PpenS$p%#$;>`cpm@11&^cu1fGmNAck&F@N5U3eP0|pKDT`Wc%tkH z-u=_{o6~&37?Lu^sT^`Q{O81 z?gqZr9Pmy4e*vGPuLZuG`dYy^5BToN0pHPoAH?}jGJZv7eh2;kG`}~>FOq$6W&u1Q zZHqS(ot7`%_sGBJ-S55p?F%j}@VC3&xlG#ryemBG&#NCl)%Gt!UpZX+YyTg#zxf31 z-}MRFpMy_;_k1_k|I_977f5D;UdP#Uq$j_Q`3fU@aVF%Ea{i`_^|$2n*N7}yh0Kx| z$62h%U>o_S zOYPU9+w9pp7Vf;eq8oXk8$SD3pyd4E@na7(21=IpOlW?_@ZWdwJJ^21q@!!G8lq=Jsy^{dHZ{;^OIMEQvXC>viT_S zs~Vp?`u8wnqu*uZEQgoQ=;I>#$k<<=M;|rz`Bu-1uOk<$kLhRhQP1+7K0ZbNf?Ok&Y*3@|Y;^VrcWz(~hoHtj#SRe66Fe$f0R`otXn)Z}H&kOfSB|zit9YWi#&% zFsJZAs(&W)@g(?Jkd2?bGx*6>_&ME!pOVF^yz>}l9%qMA?eJqO3N#nU;f&eq;N(-_ z0Zj)ccAL)G4_Ho^ay+-TAwaaXr#C)i2c)0cGGdE!C znT$?HWzsw|eG#mIWebk@DBI0%!!s_Md}O%w5TjoK)VpPmIATxmAA5@^2- zTv5GRn>H=7?ek3zu8$F}qnBHMwR|&2MvD3EuJ;v^^}tPiFTB)!n120smjkOK^GQa~ z+*dIMp_KuARQ>Ibj681eAlG=m@8N%4c}eSBVm^Gu?V(bz*vNImIOMtx4&%U+tp>;?3iq~&o9$wquZnXB>2&Ny?yrI24HfZmocaA zyYg{9Baiw=`l9%OrhH@l(ce#!+~x9(jz5HF&Giy*=km}~J!{UT{}2n-+oZHTSp33w z!1Zc;k7ptmgwSu1A8?I5pSG{P)^Z2+?x#M(lb7TBMO?&uPmIq2Pg~yoW;-_3?Dg%g zZLRYr=Hw{&V@dDMm^2}KYrLet*~ZwS=jRLtd_x!`(YkWZW>|r3>E4n4sOH1FcZs$q zpalu=MSGXup#@22@6vPc-sN{_f!-r$UXk>J&%hv@5KjA`pC1(Gz%}L~$=ppmOR*dF zTsB(7Z!xyrz_h|k2b{9Ypy!&`1*^l+Zg}s6^m^#S&Hyi~m(?B_XbeW>kBPrE`LC*? z-4lY*h2z;%Cgerypc_HxL^pDLqlK*-nwxC)RoK2hzQ}*TBan~S#wlde81q;n-8MYi ziSYYm);i^a%?(*gF^fvr}>z)Mzz zXFfarr@V-3dlilUCUfiML!c|GS8^s2da-CXKI`&b(Ei;G9O5r(jXoojzqo?=emP)W z9%Rl}GAA?Pv&E}uzTNWfo_QQPWa^_&>f6zB$_E%1>D*olRoG)`@0seiTP8#qt%d9| zF<>M1{$tBs7l-C%)$ir;|NGw@`Y>i_{JZ=O=NNrsrhGpZ|AJ6~z1CQp9a?7_9UjWX zA?b_6KLxV(3KxI68GpOa)kn4kYJM%8SqCf$m!`DYa)!>CaAU0`4~drOpG&{8`RxGl zlT(PFY_#(FUxv4K`EQq3`~8%oYb`(VlZ^jD_%xS?(fX)jy`Ft8?}@LBvwq5&LKV_K zR&y=0{QrVH_l}=_+3_l_ogq_a{g5-Bx%lma&Gvbs({2{dpPr_=rSRdejcIxe zoaQ`t`|Rz^UH`z9yf6Z_3CfGnPZ(D$g5)t2u8dT+fD5 zZ+qc-7Fy9*l!is^&3E9a^uVCl68)af7*#qjlsPaM8$`IeqI%M`JJr|aDE7kj z8wajV7p?*iT(eIeu8;#4`ox@Y1que?sw)^eUj3{!FI@c&T!C^2=kq;qUGwR|)#iaK zP&gE>fl%s8UbqHa9CzW$^T0LhcIO(^iskv#cc^L+2k^4LUItUx^U6Z@tRtd`T#qBnkH~2(?DY&4NLag zn@?L>TWTxLewFAX*2!IC%|(N2ESaONtEy7J@wUbJI8Q&vUbR^KzvAx51s#%Y>C(u5 zd)U*F94@_Ql&%Z|ENFUawInchuCPKYxuW!Ks{t5j}5 zYhLOrjI(z?cu6$1xGHrA-)iplySCVu3g;-da7Ouaj2rmptZyEAvaKXmI2Wz}0gH8;G;nW?GXdXu^9y`OqZ=)YnG zP5;}bMiw%5+5NBk-OSWD)rXzT^#6Ck)Zkc>a|E64s#lR^Ifn!s-y(aisjvLJ$O2?Y z)hE1abH=kSFe^2HeLY=YAkR~uzx^*&*FdYz>mIDDZJ4^o%}VX_)-^7(uKB8~#)d1I zhHF{`pT;5moL@dG^&hGW95DSX&r3x&v+nDhbq~H)Z#xG)pRqAwKmKgw@C4RB>)2z&!9e{8aYEb1VZ>U zfQ#hPyeg6`_DAEy)Lx1VkwCr;-x#WBM*i^XC_*c%qI0*{ehZQ8`;Ut_=Ua{iH~8N(Z$E>@J*wP@GVZcvzUjpjHYMEx}`TFm+|f>u(|KN zu=V_xn~z~opYmtG_ihgOin8npRlucrboaQ)v|q$HYu@6(2alVIBfpk1Udv%2xI9~yhp;P}ZmLb1k4 z^cFo=S*h8;chuz}xt_yTYK?18!9z%Hwzlr?Sb4o2h$dBMHbn)&F(VwDa~;M0PSVl*Bm zFD~T`KJd+tS6FMb#_hg2K4a*Be!%kta;L^7#<(ni$A9$0)Y|pdkrxuvrJwQlFM(hB zCf`b*XLy_o$wd*f=~wKkP--nO$d9`PJx&mvkoY(Gh86LR;5|Aw8{h2q>(CWR9+s_X zRejx+yYcra;Veh|w&s=eShqjG^>r)1<@Lh+mcDJoK~D#m2?dP|2)X5_SmnX^@2j;F99FU(IbYS&-=$wCKC>oOf1X{fpUS&SGCLa#@ zd%9)1uLz;T8!Xp!2Ko}pAj775%JFqnt`JYYJmsM_Vv}(2kdq6d&+b!&skKSX-vq^1n#$)z4!_yq7zV_@$9X!nsRpyIB%b2uS)0$;^30!rW3K;_%1kcs z89yeKS@4X@a}4gY8+YK(=vj|NM!z|@KD2*{#y$is_U=y!=!T))y#FukAxYM~a=`Ym zx5c1S@|jAY`yHKSEAi@Dn`ztZXXsjEp0%nqYwt(4e(*u!?>-uHT3SCCYh*ucu~My; zuRl&)oylR&GkBoXHt~wq)%gCx|G!NA*Hg9;TM{~Y$=<*-{!m@!nYqtEuapn37kb&b zo_x8`OW7fH)?zo`ni%+I`IYWQv+>X zH^;=8RYBXxIkBZ@T;7X4<7S!jp*E4w7m|z|K!7KmPo7A3Src##a%)#aEHI$ybr2KMM;3 zEs76Nj`Sx-2FWo&{`bN_S9eP&)jTrLrF@FDLGsh$&v=kI%O0a7c%?B)Lict4$gPvA zqILAUo4m8Vt(-4Rzmqjp739OHNZ!J=fa^_Mi@8>+eexvnU2-unjN^>q=0HV!RiGl# z!u9%)vFU$dY@h{Ru0uGU{9xd+!|(;}e8vNxX-_b3zn+auLixk&|9=h6+zOxndegLs z#z?eV{tk+hm?9tV(3Q+#e*30>wAOSpf4!PZzLi}`dI0RH(QD7Cie5)Q+9p}ipPb{1 za==u|V(wefjs6V&fHS{ZUK<%`ne2fr{L#Q=vfC=}sB+A%H@PpT!2jg6{~Y*?9ffuj z=c9HNOQE*4KiX^Ph9lz7nr29@85yaZSi+@0(uUPkZK;x14o?4N`occfCf5 zgY){+%a>lf#e774L_ebnW%EasRfynIP$3W zNYR-X`<=y}d(#iCH5-l%JTKW#d_q~_HKKLK9-*?$;6~lHFX8(g=np}^^sI{bgDUJH zHN?zleZpgGi4$*&eL0vI9?b0zC@1AiJP zjhE_ByW-iND$MKZgEsb#%+I<6r>~9f zy@7Ek$&2ounjhUOoYkJe7$xA@|Cn#%omCZyH>w;vpaTnXxSMUpntW<{fK zlwH^L;fe!Y)w~~T>e_mux+wb|W%ccPWaa*XnHBH7QC*>L+SuFmJPBP>n}R98yF)bl_|S?|rP75@@S%crnjn$TnWsv-@(Y@3YHi{~lU@X6`w`RgJtb0PNd< zeE^utJTRXR%-R#hgA2#Ku-}h=${zOe-3~491J~cz9(fnIDg1;+>dc-Z;WGH|wU5hB zPx6>z+O^**ZoP!H)CCN`!bbaX{SZu&8FzuZ)zH!!Y$W2by6P8P*)lM2*%6+1ofoQT z{E+--$TVFS*!Plex=dWCzAtW9Y@PS}rOx;N$n&Mn_wnBk%vS(eE%HpW2^GW zsh1yBY#w|YYs1gl@K@}9x{&p0rTUxwtPMYF!_U5ccKZag=4SEDHGD(g1J!&}%{SG2 zW3TD{=4!sF=9}t@iL@bJPX7!&a_qeivR=IQ-q>BV4?j0BP(Uj5!l=&LU5?Idv9XgD z^!vck#n99T_!BPnF)zAm-ulXCMf=Kw{LM`BO8RyYv^Xg`46oF))JkutEr6!j;~HBvJDQjc&l9eO zE>=Sqs~tLL>jJ&wpmH{Cc5^fmUr0MP9^2)!`Gubm)9BR`>Fg|*K5i#hg4f?DF&iAG zugZ%jp5XK!53JoLpFi;0dAT^B&e{ z_k@|zV_WTgxDB|H16IXI;12omQ5rz^DSw5nA(K29UOPZS9wgm`US~J(*23HYCIIb+Xuer3_0xuqOmJ@ zuD*#L+`=Xq{W3tnKB!w-K4jgPM+A0F|%=%@;uGaW*Yl@VJfpV~TfvCyoym1A&$Vk~^t!D;MG=a9>aJ-U56 z*S*9$Z?#4&twpz|yog%2@>#Lx#BOipq^h0MKKFl^dl&F3t1JKiJvq4&E}>x2VohSW zh-k5c3TL#Up`I;h9^=mC~m38p`!vbNk-tx#sS7=)!XTx%4pxdQ7)>S@-+b{_CSXZCjBX zXa;`!irUO!KSo=H?7<_f5!bG(vAECbBAvh5K4jhgG~%z(WvugR)(*O)_{Xc)az69= z7qOdEZ~K+kTE{wiNwQRHPdaOX!FTU?RGZ(_EE;(>2@l-}50$>Z$;`8Sy1Q-K;-inD zcShm4aq(Z)fYyR|st5hsTTm9xf~Q97^0=$3UpUGBFewUWBUDrRj=#I1R{TpX*>_M6}=ZsJJTU;F3wAGUb zYu;{4qlNVj9k}z~PEMip{hG#?fCt9|;79thvwzz-S$nmSq3m+@y8+}9^RG26|LXv8 zNFxS3F21>>1{{Br@hcaPNR1}@oZllImz0Y&+5$KivcBs9~$Dcl_J~z^)`TI@#?=s|h9KDde@($Tdxf^?j z>@2FM{?hB2znyx^$)zp&Q@s(`z;r$h94`sK;!`EeO#u76)smrZTKy@^!Qa7 z>10*d=BxRpahkR=tsTYa|T#*je7>T#yO`mzQ;-A zZ7aH*e6FjRdp(c#GB471_*PtRg(W9*pqCi);>q=dTc%^Tk3^Rc7y{&A7nJ^*Z00DmvzT%g{~y(F zd}e1oegbP2j;=89>s}Uj%%*>AezKRefAf=#yA^-`RpdNr%dFW^NS;yj-dTm@7M0!; zfzB-MQnkqIXWi^SC|;%YqP3HL9vZEiY-p~>c>b8WA2IhEKPE1o?gJMt>{Gm~Wv%1B zU|0Xl)vK&A`Tg(WSF-v|ehZ7d|Nh3m%jW6O5j+0BR9bI?ZGF9tLGIb;}HEYow6SZeOJzGZz5hP8*QwSI0krR74s*3RQyqA zCdhy_E6Kr;7&IsxZ}xJh9`ZVY z$yMkDt@!G+H0YkbY2g@SiUYgL58Cd92RL(T*C`6MFa{U?7RF+afqZ^xceKpgB07i9 z_i7LRvel{?5jv38F8pn)WPX%(Oh&Zq|#=n&NfX zg@|o5`&7*v|Fb0nRxvMioH4EQhcky-;klRkchqpdidB;nij{LVxr(~z5OMam@j;wD zsD^G z_IudNicaN|iLLv3ojul2S2}yF#2dOsx)#&RTg*Kw(-M%;Rwa`0wjzACTv}@!iwD(okwRm*ZzrmxisYTIQRNm0% zOn7w~y}SEv@zztsf4X+At?+2J!RP<=)KB~7*J~fTkYE3lHa{-EmcLh?$!FEA|H{Wp z=d7~%nEmc(cnmVwAJE#lEcAmfy0MRTUKx|)9X^)M^JI@yZg26@ujAvQXT2MR{+`Xg zL$*rq8e$$tgQv0f`nA_4{;2=dQ|ET^o>$SL_6&;albt|!_$08`Psh&hM~<0uEo>R~p0XhH zS$9tTqs^XDJXQCv^q5mWRbDG5O0smj~cL{Qg{b?$jJ&5KxTW6i{1=*Ixmu)^i zI`p3}xby1Vrw2WlJZaN8FWZ2>&Zpap_lZ>dYM(euHc;+WV3dHT57o_f=pm;=EJuM-p4A_|q1~_kgqCwRx4NiM*fnz|Csd6UdY+2cGLGOw3ANXW_=j{vF`K5*bLVCOkjk*GzSUqcgb;J z`yskET-{-s&$!xHtC{4kkHgb6w=ImR6vI{ zw;wuZ_PM9@u|M1F=r4>v&iGyUZMq*3dh%noB^_k}I!bStY`&;{R(8|skJ(l`JVIwn z5p2-*ou76-`}oOJJ^J21ZG;cWx5@QUoxt2i_`7?bTG+Ib^=0mxfd9XmRde9CPF?NQ z#J6ReMo;c&XFsjnl}|64Gx5-mv2nqFwPrQfwd}2{BD&{Td5^N1#(#-*!5oWEsSVXj zvgV`oQKTFKHP?mSyBS%{HxE3e$J(N-*4C@|3#i^mtu6UR)3(jy((g32=jU$Lp>)gd z@$1U!J9#$zF>SpKPFrs`_F8Xaj4yHbdeIuudMU-$Xff7OfA{%^^trzUMtxhrujW$u zLW;Pfp%_}6ggsGy7uCcf;(xGJF*I}WS2;u*t?;&2x2{?r;k)o!MB7RHIughm_4gcd zRO>DQZ%yLsq4LP;9Wlx$dDi*DPTGMF&C)mFO22|h>v^7XjFuqBpbJ;GwB&=bso;uMB+W*}H=n``Au7}T2eUTW>|a{iGhVV%>T`d-1kS+YZMK4s3( zB%@^Css`qW_C9l z#|~Ba3_d9H;Fn};vd>X2hlaFPHu|*}$qo%+PL|82`>jhtG3HeH7|ZcdDlh5}e{y`A z_?7KEyoOFPbI5;_kEoYhR zIfKY?G0^Cr$o(~v`<_YUe1r%78@_>&gNz$oRrxQ&UU4aR9pgj1kowITq1WGfum1Ew zKkIiW>uBiS(v7(%8u5)i4G&GHS=}Qcnk_8wnDg|1e&Br@|GS2TV$_e;4GTx(S)u3* z+Vy6Hw$ZL=@jN{1ZFsf{p0^x$IPZwpemWd)%nHTDy8@ojQ`CzbqP;lhm&F&_hZb`m zg?oUMkxEEOYJRBR*tc_`mkyBR%9V*tgFJ$7e>G z>%Zif@aT@C2Kdc8_;BO}bSLOC`XY1EDjmf3V>aJA_zqs40Z;6`_P>U|f?_}(l70p+ zE#$o64U>~0Gn9_!VGf=nCB)0TNc(1eXEgQuSy%m?j8`ySkv7i5;|7KsKV&Q}56NJ? zpi3VwK3f`^$C;UUh>NQ-#k?6_GBCX6L)sEdUwf^~*ru1^=Q)qNEv3usmJBFleIk1{ z;&VPnejtVZRLuun+f`@C>s|F#oY%YkX>Pv#Vf{eU(K?%^@A|NE;6}Kf$@}Tx4U|(^cHA7aV*<{fB$qkL<<|T3L3imT1h&`E}yRW9EEXem@zk1MvcM_ zS14Zw*1P(bTvr{@fPR;oIqHT(x?+^J=8R)3MVEwtcia2Ki=N{h3)uKQL@DC|wt2wD zS?H3v{A~eKAuy@_ez$&t*c$fdN2z~=cd~Q*lHVe=9VrTx5#QCqwqelHJhz#LdpEBa1y;S zJ}f(&L~hD{DBUzkeOG7u6?&@pvUGg2Z=fCJ6?{sxNV)gWf&5-4FB1G(`@eLZeSlA7XwcXdkn481c#MCtQDspX0~BdEXbw!(Y9PeMbnnwx&2TG4yx0%2!8w zZhRg~r4ynrGAGdaR_nTn%;BYRSkKB^$54K(V*a7YaF);>P zF7^Am)_9CPs`Yb^9eC}r=SWi|iM;||+ev0{{ zn&xm%Yz_0Ive8ESeq~cGV3$kqu4d)r@c-#mE*m_U`QW?R2fOn@TO&r4`NUK8J^fpP z{lNp86Yv+sKTh~-#s6-LgX=QA11D4NvT?E-`-8y=_?yeK_@WDc5ioron5;Z&g5bWg z|De|X_b&@qQ?3mB zms75pa<$JtcT%!hvfTJ;>)gy8AG|PqO!5a#|9cPhAEbVRmAzz>(@#`wJN-7i*t*t@QRIz5DO|H!`3{dFl&4>F;8!m5dB)dw_kI?s`eEesss*a_n5i*hyoo z*(Z;rv~Rglv9HoiT>4O5&7*Q>?7s_ny2RrA0lDedK6_jUf7q?%N9-8kZ)9PUz(+ME znTz~MpTFo5d;r&!h0!lk5oEee@0m?MX=6^k)`SG#SK@P)X>yGFQ*(g#Df|f%$RqhS zx0GPB5Y0kku6%FfS!V=?`QO3+n*}%c={Lw=-D5x|P3XvF467S_$8<*C_j~UbvP1d*M6B&X`U|z}I_yA88=p@+K>E zbgV!1Ja<)Td~L|?c6j7rcx4AXA>r-cWONYk0LHC5n6jI&!={7}*=ujXFIIM;_}$bK-GXj2_DX9)zUA5b2LG?cN8tIq z0djm+uO93VZhijI1B(69yc!wf9oPh2t*aSiO%R<|7TJ1wob?c*ef^4u zeOG4vy-_OZhi{Q ziPvc@R};5#8*B72pFh01tSlTF>`xtir67E)d2skdy~XpF!iV5D%kf|OQ5wJT@b~lZ zo1O5aO|*F!-up}R&lT9PV$eu4b67FOB<6`1>Kx zfR4k&Ijt`9heNlOh1W6eV}XI;6Eg;dPuE(hV^#jt@hN{1J~eYj_)IO&uN8z(9UL4! z15S>YRQT?J=8r)m-vE~5Q@$K7y#hIgzKX4G$I>4?eqiZc&z&sI7-C{yhxGFYx1(28 zXAE89VT?mQgZ<}C@WyzK!=LsO$MX4Dc4!1`z4+#12gbkgqw{qKQ+GUTS8WLw1=KCv zhVIOqX$-egN58i?zf<`wy%HT68&*LEc~#N7LvKEJ^2GCRp4|V~k&}hw^p4O@=r0~W z@cD7PzvhjTpa0cS^L{t_+HvBPPB3?$|K>HJW6%e(#l$WioAH%!^=IrH52u);SwDL8 zz`7s(=%hQQV|o7IOknTwFlO2pOvjj;k-($6g&9Lw4(|KHCh77=HXwtr2SmJsppC)I zS3y(N;Z%K`y}$f}s##-E=t(((PU1D|1={sb>a} ze;VCPcCUGym-p|m_f_arvtq+!XUE4~z7DJr*^b0}1cT0IWjhQ2W1M&M*}paHB9{~R zYGCj45WnI_+RH7ajH$~wRqsarE@b~9n^X<5>ci?wSNoKy@5C|kcef4)&R9dTS-5Ay z>GmVp)8B<}i1$hE6>{EsEi^bE-Y1=KC-62x+uExw;&+mjQMWlat8OK^r^KV5vNG$E zn#cB#y($#v$-H9KG|0qV;9aAZHN?y&FMlAl*j7j>V z_?>h}a|VpQC?EWJ_?)Rv7l(I%L*vWr;P8-x!~y8b9FORhcC~iQ`8e+m zgP%;!$C1%nH_wtBn)iuiv@3^7XR#NBw$+DpuL%6Yra9Yx$=D0opTrdBw`f!-fDQP? zd&s3|^bP+uoqrg8yo9|3cD3?ZUko*Kp43Dc<m(3g)-fCvg5+ zzxa;`pDVzp?2gaz&Pw~|;`d==U+q56@UXs1Gw}^ZUSKc27dyc$!$Ud(se104;hTx4 zHRXP0-77kGzpr+_OIDiiZ&=1Y?0z4__ijAeXFQ?_8?P7p+r_){J%>FEggOpmAqB=KJi6kH>s}oBMMvgufTO7mTmhcV|48USvGKFt*{#&gW)| zO~HQ6o-AUW{pakne{(SB`04|rfB!Ehw~!xmkCjuW^&r2uQRt6_-?F|b8g^s3y6*(C z4oGPv}IURT=;OB|0 z{Au8J&%Pyx28h=><_^ICOyS}aFj#`s9kowJQ{9*D=I5ySEXLYvd%5&FWqP`an6cg(%S$DmT zG5H0$$M23^bGeYY%!MAVf*ziM9$L9CTJ+E=yT}aUzMu)sXEF2H6A$UWX*O&z#;@~` z2;(>R_#!7-jr`3dw%)#9O883gM+J z_rk4mdp_F-e)9@@>QC~gk-bDTe+P12_}t9zX7XrGCeG(jn;lo7_gUnfNoJjWxtehW zE=S+MmbjbsH(54j?3uFXTJZbNPL$sXd zr;*Lo=pJ$WWEWald*i^;%H6tq&aHZ6vXxyYSu4NTI{I*J0sGg>7sK{>449b6%kg=% z<*~gc?X%QsV0x7GB^#*V#vd>^3b=Q&AH*IqYcXxAOqAH>N%(B-e9Ck0t&AbPoW?K( zc)N&k(il{CF813=va2%&56_7__ysg1U9Rb4!lphRBt}~8EvH?B6Jo1tu<1Tc47A=C zv#&7y@O~HL_=4b-t=GT^yu@4I1rFussJ60+w>D!#2AaQ#o7UeEWZ&ngt8!}FEmy>Q z^S4uOBkexTzGBpX7fih({w`9V*bB7AsGoAbx7_;X$x+W8Rk@A`-=tGiUj=O7HN9N+ z=iWHE;4Zt|Cbd!E4?g{^-!G79lItUxYbSj-J?GTkD|fmn1im>@QjkU5Yl8YcJ;_W7ODX^He#Tu6yD@x~#WJ z{$h4J-ll)xSvuxC@Mr$K1c2bAIv%aCOe)2mJz_h9(sw^%ykYNqHn&Z-0unC z7y%sGYirGna$s1_I!rH@2@LarLFJG;vp5qEJ_QVFznH&k%5?@&6sr3?zT4o&WBYEK zc=Q-^Pzj9ilpB)I+IG)u`k94KiTk%=AytO`y4mMv55*tS(4C#XeC5;Hm7aaUnos+FUI)`0N)KD@ zXZ`tEhv=PCt#$5N3k=5BeK7hgbFrDZc#ydm#axK*&&6jl2@XdVU{^=ajt0QrQY-az zfq%!8xpfCdZ!%}UW1*i}#9vfK zVcEBbJdA>6`A5Lga$}#cnEDrk#f7ySCfO$no3w6SxU@DOdU3^pMSs1?z~$h`z%00S ze*|2+E(RB4{&;ZZn)5xu)h`XM^RR<=$s`x2Di>b@|E`38SHZWdJ-!asl+J1-o74HK zXwRkn^!G=r(ILw?mz#;ci#<|v*hW9?Resvl{CjDSv$!SpoO2F$;#Xr?@2pGZHa)_A zMRBGb)mCb*hqIgeptyVyquA=Mf{vfz_sTRn zzFl*~cefpPUJS3JEzxca+MP$6YOjF5i^$=tHd?_!9ABj*&x#fL)=kP=&p8zJ)Mj^E z*-f;+PiyN*wR01=n?T)#$OZIuJ)?hz^u7{3yGlHfZ<0?DekJe4BQrU7UWxzL51#F; zciVIO5U)_&i`(}z=+Jpb??1R;(U`M~3UcdSAzp7W@p=!F+a)gxJ2ieU#iP0BHp@!Y z0t4-B)mr=)`b=Mo@>4M1Sc}53d=ow?jz75JJdU?&O}j9EEF42~={O$#;W#$!$H1|R zpLASL`vY)2!NzqDxIZbbznz9_7p_rhIR9&Kp3Y~YHeH+f5Y9LK0XW~3j`K8r^RaNw zT2IIMPyhTw>Ds_~F`OSk_xz;v{ktYZ-=FrkBhy@%&eZMvgP_H^=+ZOSBfX2OI;nQH;j>G@Ll+?3*))Zp*zCok!vXzCZjXLds~*-XF0DqaOrQ8KSTN= zyt-Ro^faM6T@=PB=YZ$;bZNTH`8|v584X_YTxNz3kF$&&wBL@-9(J>qh5+9y`0h`= z#kr8>{4@KRX4_vc?qs_g*d=S6d7x@1o|Le(xLd;B8^?)#bK-(ib zu?PJIdHGg%S=Ceh{H3y`rR6K$2|sQ|w!DV_828@GX6eO7m5GgN1U9Otuu)ZUj*!8c zmTnhg{}e?YMv%vG_K~t*Zi2r@Xd_A++Ee z2P{>5UkEJdhnr`dtKY?UvmbQYj`3Y`B*Ayt3>CBf?kfCg!9y$Zq!m2qY&RX2IOCf? z(VrsM^!CJR$~Aa=hnG`_{hw@+QRF)DkEvKgnXla94hp`@~JV&Y1 zN}thHz=572xV+pKtG#G(Df)j+PUuPQ^eL~oIWz}c1#aRz-1-zU%WLBDr0YQ2FPZqn zRsPf!j62GD*j2$k!paHxv=*T8Vtlx?7M$4j>vMpyn7hBUuh9GRxyH$5Z}DvuImvam zRFpQa1dejxXatTb;HUtGmB5gcK68^l^~S^J>N~*iT{rL_STyH%6;`Ack0~d=m8YqZ zbC;^3k?cXfzb(0!HTV`|KFGfJHx3=JmIj^cst*u<7@N&p+zu`p$R%&`)Oka>j6u4U zyOwv8W5hd^eaV;nssAFMyV@K{K8QGN>K<&-Rt$LNOp%}E$WZ_5RG&Qgyg$wR^w^|@ z@KeQrwbRC7;L5uyFWf;pM}RH=x_)7ei(J;Jx{R|gSK_}=#{U0m{1@u5NmVNMG<)4K z_%D?1#=nv0_6Ciq+n-H(tV^SA4Ez$!(QIgjZ-$55?$9xH|D11%(M{Bozre(=emeB} zwcNJ?4vWE|?rt-CL15Kh(8Y=Nf(gbTx_=a$=y?S6r})7_@&**1%LpgniG^#tX1?8f z02B3goodzL+0+>UFM*F#5Cgi>x`KHlPYg6_d2(;G&VK&~5ok2R+Ia89G+%qZ??OMZ z&Q|}xe0w47Th3pQtNb=6--+$>iyhRqO+#O@P3zoJdY)|hZ^$>CyfiW8r}-oLRi6?1 zHv52PyWfs2%qRPRV)W7${5o1WyKN_Tw9Z&XBS(zA+&%Z~-*lL{sq}a{zJVPzQOA0o z0Z&Emk4}O2uEmzLmi$Kn)@>|reQlYqpOyE^TRi>)zr-HUUg}Sc!Ji}+kgl9(>&kWhRDb3(vH^Va%$-s_^yNLz z5CaO_?cgo40UkozSF^X7j(&WklC`*K?AbdD`WYR03A_rryWvQqE&rxxA?uiP{e8_i zD|~Af`>W~j)EUs?T7T-F(c|>@ErN-6l~z9kQ-p8Yv*|Z#{9?NG_a}iz<2tN)1eWQ* zau={11(pGet~r}ukZ)kQ3s~S2Hym|fxeHk0J3H(3_qF4#@Hc=(_Cn!AJVtqcBD5>q ztN||B3vHUwJmoZfgLiXGZixONkK+DnE)Bi?L)(TJdX=@m6j<+Ly)B`iyB$AThaP&! z>q5)O>7ti=$>~DwUqClXm(Pk1N13U7Op({uv$aNyQ31sd$Npyeizws@U4Df#KEx=m^6+sn+rK`?d)l&eH6% zs*~UjSJkoOLi3bY3y(0XpDPf<73OPrFjfrl1z<38?h4Jk1Hd;by+IO{I{&K>Fy5b zMBlE2x4GX-){>LODKm0|Cmi_=@S*#~#+RkMxf$Wu1llj~a(722;~vWYOTt|*i^pAx zu5?+r>maZXFXMhP`l{xPl=;&dj=_f`B^jaZjHyUDi)sdk?f`xdV=uPyjjhb(zsTSl zqQ8O09GV^nobKO7&dO%S{400qnsdlx##MZ|Y=y*o%~^Ng%A21&S+r}#`sj4}f5p<> zg7lFG&OaND2693=6BW&bfJJ-t0Qq+!s|Jy)Z(#VhyEP}o1Fv>?9eVRFZ{@EKT;zSr zE8OXW?Y67BFx=@S#-F?lUEJB)RXrShTpn(T!{fkbYjaMhrEqvS(wyBVt$q$#^`on| z6jqvc7LE3Y4|5l6OT%FF+E0ZKH_#3;g*(``x5O)aoO6>0zIWN7l)WS@+q}+aFZf<~ zDS6{B3m;~VTDDB`EkMS!teWi0&ax(`&8Jg2H%1swMv>q5WVUtVi63>=lbzJO6TSW` z`1~1b#hu@8Xnt9n(VgHE9`nPUW^SR)!J&7?I`Q}Z9CvQryA*GTF}KnoWzYTbPoY8Q z?<>(eL~A-X_dvs!F}KgCzg1s_&IXa+ZeaMHi_Al0)tC8huf>HIDFa_K>ju8Iuh?G@ z+WZf_&PLpQhIkIV;lxY5c$fAV(A~Rz@ULH>ucXKGD|Xo2H#f+i`g*ND9PmQV;81#} z&4ar00liE=@{PeyF?E`ly$1XN%Q#>K*%g9kBua9B2NR+vUuk z-Iwh{(tG@OIOEq?{~j3HT^Jf|8016h!f@Du!99=vc;oeN>ubErKH+%X`y<!v&bma=^MAezvn7U2c1%#7|6#wcR6o<~UoH*>jV22ThfI zHaFg-yDH)`(&k zZrJnbyw5%BGxE{)R2KWN!u=0->@EOh|n3Gmyq3|59C9g4d)WkxbnNxG#1J998V9#Y?)8YZ|)%yqH zr?Qqkn(z$2)c0ED8{l1(zefX?u`f>t{%R|A`Q7Z@={Et43#`n&@#&7mr)=pp2vEox`Z<(_v0Y616;hCkhcOUHm|CfG> zyeS2?`@|oJO@*!!3;A30xtcvT^!e(Uu9qUK$jJ(huR~@0p2)Mr=SQB?Mo(Y!rM#$q&hn8P$_C{NK?2V{bQZOw{4t4F1%w6I0 zu@6tiucX9Fo(}dzB?aZW&&zyw?-7hMhUDGo#q<-PtoB0gyApDplTQ=BD)vkLz2W!- z&TofihD*>ltJoubRdb{{Bre3AL+$6IORbdl!^>*>ozE?yeWLte`w?5kIB(p<-B-oz ztNrW~teV1*=EUshm-_9x&Hc>%=-TraQ}-OPryHrqIrAF%+04n|4uP~f(b>!se8t7l z#EanQ%Kp>Blqyf9K~nbIC{@18+G0lW8=sG zM=@}ek?A%1uBX3ruKaMZ^m6dTo+11kGPf^!5dGNmoeiIpKLN7Andh8~jG;JpS~$ZQ zgLKDvjNuL7DrOAqlT(HFXJE(hh7GPblb@^nPet8hnoIdz?wHy4y7MWRwjHX0ev`Ofb+H;NVl z1N^B1c`y3kd?`6fnG4zZl$TCtKsD5fFt5=<)+BW&!K<=3J2kS0HQrU7A7+K z#pK~*9mU{P;?oJn|L7O2b(_(rHgCj+Rhtu59{3r+qxP3`-b{OI#_ZO)P+o_Jzdx$I zng^Wr{DaT8cN6U$P6GE=ZMYpc*NiE)+btXT(d~Zvai?8t==pX>((ZE3Zs&4#TWaNv z#RfEMF7Os}79v0J<(zAE@#~Ji4LP){C?j<2bXR>1`ga7JM_qi3hi`+AZ{6qg6B%^A zpM3i1tL)-F$|m52PvQ4s?jm^G@7oA(GPxM4y7#c=o+s|gvh|1C&hGM7{@PvJ1!MZ) z;lSB@ZLeUDl^6$&0<(DZ?_ROjx%+MeJX&kMrG)PV*t?*i%%NWHaF`sZ_k9~^1 z#bYDLXYpAV4{y>2cD|mntPeaqnTCg!DYngd18oWq#Y5N&gCD(Dj#A;H6@28R;lsA; z6@@a*e)ta``=7gdK!EiH4a9G9{f6!NJY@!=!f0; zgOzJ{GUcW;`or(RZ+=ER_+&5V2U*j?yWmGQEp_LX`2p=8MfY^uo7PL;)V;yhE-N&L zwUEBYh~(JtJt_Edh|%h$zp5Ux&*VYy?6Q24wNdOfdKMk0>z{dj=%3O(<%1So3!iVG zuMP0|dgyeE(GB*^!B%eHgOz>W=Rx-pwcrbk?fiIEK~5+^eAndPch%P-6Qk&2kr`I% zbaT(Ud%u7jlP#NkPpQOe<)!t9S8*rr!&jAuS0Y1_!{Ngv{kgYoKsbSnNo?R<13aL9 zU^vmp^Ar?zE_ zZYSTio{e2u^4PUSLo1Fgdh2;x^mMzEQU*}ZvB4ML_k6+hDTl0R-jc$F} zF?CL(v9KpQ@i6jb7xj&9JpsE`zU{x!3a=jxug4E~>?Y`LGW=u@{!}{WUaoU)<|0He!P6_P?6DsFJ<6$HZg_e|$8vmSxg$8V?Uc^t z;Ni5THcWfK=l`m;PPP-H$M^cC^M^(7Y||I^q_QmhrI=IMliWGoI@&p3NT1WXzi{=c zt*&16ZRX{?Ud23$?-#DgkloJA;Y#r(;7KxfvXlI+=F$0k1bLG)FQ*Rko{8T4QFChR zf|B2|_4b@^crLpC)u9!@U99|X={$GKg|rxjwl#l~fk)38Lu96{AG$cW`(xtZhL4Mb znKlltb#cJoE)Hy21ONRPc(DDMtfseU$INe9EQaeZ|E+&YRuX`joVt~m4I{OJ;8)SsF^i8qNyx%2q`s6J@b>#Y z!>IGVK|}dJE8O{V1~wjxv=Yc@o|P}!*kzDkl6QXg+NJoWV{^d%V>K1Cu1fv*>2r=K zJjn+8AbC`ZCQH6u7W(B#=dOTRnV}VCPl0bkpv>GAAenn!*D5VD>;G}`;U{=DdK2>5 zk+H|iYq(d9{!IL%e3hE>>=*?4i<}}SyWqMR-R2r%a&Pu4?-Oz5_=b{8sJzAsJqnzi z3p4C%=pRsjKTV*m{PC|_ zZ$G{e8=>cy(OsIQ3jxz9_9^IW`X*gPXUpvc*8W9{#!S4*S|voB{8(>0nr-mh~%?Vigk4z{B!k1764=&HqwCXQOXU}B|})A1zd0m)Z5 zr|;rU=T7cke;0c=@LmHC%p{*ml(BYoaSqsZSy(xQW8~9IFm|1<+HrTXLw$c+1!GuA z4&rv;Prkzbs*`)3yUKkUgJSIx@0R;Cmi^QlDV$&ro<|?{Ig{?^%W5hi?$~YTH?*U= z#^+(DV)Z?Bir?C^XYb9EOn5~y59D0<0VWNY5&kI&6>w3R$Gc=;Jlm(1o4`aAS zV|dMDuZM#AJM@`(r7!+%{)4~51#;}SptYQqS7(?6rKi`o1e&App zcVLXk%d6XLj6t~>^!zIMP#bA8L7TOUMonyH49(zwIry)o&w0$5_666tV|YPu zqklt>CJq#O)L3$^^ZQ=Ip5A$%1M}MKvva6_E&W6o*FwhC%D7H9=Jd$h{51ST`dVz& z72!pc$&GRzLix5WoEw+qhUUZTI;(O+i}1JZY|ITUK*#TlJAaqtg%*0Pa00)jl|@

p>|it> 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