Documentation
¶
Index ¶
- func CallIDFromRawJSON(rawJSON string) string
- func EmitOutputMediaFromResponse(m *Mapper, resp responses.Response) error
- func FunctionNameFromRawJSON(rawJSON string) string
- func ToolCallID(primary, fallback string) string
- func ToolCallIDFromRaw(itemID, rawJSON string) string
- type Mapper
- func (m *Mapper) AbortReasoningAssembly()
- func (m *Mapper) BeginCompleted() error
- func (m *Mapper) CompletedTextFallback(text string) error
- func (m *Mapper) EmitCompletedOutputByIndex(resp responses.Response) error
- func (m *Mapper) EmitCompletedReasoningItems(resp responses.Response) error
- func (m *Mapper) EmitCompletedToolCall(id, name, arguments string) error
- func (m *Mapper) EmitToolCallFinished(id string) error
- func (m *Mapper) EnsureMessageStarted() error
- func (m *Mapper) EnsureResponseStarted() error
- func (m *Mapper) FinalizeOnEOF() error
- func (m *Mapper) FinishToolCallArguments(id, name, arguments string) error
- func (m *Mapper) OutputTextDelta(delta string) error
- func (m *Mapper) PushUsage(usage *lipapi.Event) error
- func (m *Mapper) ReasoningDelta(delta string) error
- func (m *Mapper) ReasoningOutputItemAdded(outputIndex int64, item responses.ResponseOutputItemUnion) error
- func (m *Mapper) ReasoningOutputItemDone(outputIndex int64, item responses.ResponseOutputItemUnion) error
- func (m *Mapper) ReasoningSummaryPartAdded(itemID string, outputIndex, summaryIndex int64, text string) error
- func (m *Mapper) ReasoningSummaryPartDone(itemID string, outputIndex, summaryIndex int64, text string) error
- func (m *Mapper) ReasoningSummaryTextDelta(itemID string, outputIndex, summaryIndex int64, delta string) error
- func (m *Mapper) ReasoningSummaryTextDone(itemID string, outputIndex, summaryIndex int64, text string) error
- func (m *Mapper) ReasoningTextDelta(itemID string, outputIndex, contentIndex int64, delta string) error
- func (m *Mapper) ReasoningTextDone(itemID string, outputIndex, contentIndex int64, text string) error
- func (m *Mapper) RemapToolCallID(oldID, newID string)
- func (m *Mapper) ResponseCreated() error
- func (m *Mapper) ResponseFinished() error
- func (m *Mapper) SawResponseStarted() bool
- func (m *Mapper) SawTextDelta() bool
- func (m *Mapper) StreamError(code, message, defaultMessage string) error
- func (m *Mapper) ToolCallAdded(id, name string) error
- func (m *Mapper) ToolCallArgsDelta(id, delta string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CallIDFromRawJSON ¶
func EmitOutputMediaFromResponse ¶
EmitOutputMediaFromResponse maps assistant message media in a completed Responses payload.
func FunctionNameFromRawJSON ¶
FunctionNameFromRawJSON reads the function name carried by response.function_call_arguments.done payloads. The typed event does not expose the field, but compatible backends still send it.
func ToolCallID ¶
func ToolCallIDFromRaw ¶
Types ¶
type Mapper ¶
type Mapper struct {
// contains filtered or unexported fields
}
Mapper is not concurrency-safe; callers must serialize Handle calls on a single instance. It holds mutable per-stream state including tool-call tracking maps.
func New ¶
func New(pending *stream.PendingEventQueue) *Mapper
func (*Mapper) AbortReasoningAssembly ¶
func (m *Mapper) AbortReasoningAssembly()
AbortReasoningAssembly drops in-flight drafts without error (upstream cancel/error path).
func (*Mapper) BeginCompleted ¶
func (*Mapper) CompletedTextFallback ¶
func (*Mapper) EmitCompletedOutputByIndex ¶
EmitCompletedOutputByIndex emits completed-response output in structural output_index order: reasoning exact parts interleaved with message text fallback (and media) relative to other items.
func (*Mapper) EmitCompletedReasoningItems ¶
EmitCompletedReasoningItems emits any not-yet-emitted valid reasoning items by output index.
func (*Mapper) EmitCompletedToolCall ¶
func (*Mapper) EmitToolCallFinished ¶
func (*Mapper) EnsureMessageStarted ¶
func (*Mapper) EnsureResponseStarted ¶
func (*Mapper) FinalizeOnEOF ¶
FinalizeOnEOF fails closed when reasoning drafts remain open/ready/awaitingCompleted without response.completed. Streams with no reasoning drafts return nil. After a successful completed reconcile, this is a no-op.
func (*Mapper) FinishToolCallArguments ¶
func (*Mapper) OutputTextDelta ¶
func (*Mapper) ReasoningDelta ¶
ReasoningDelta enqueues a reasoning text delta. ensureMessageStarted is not message-content coupling: the canonical event sequence contract (lipapi.ValidateEventSequence) treats EventReasoningDelta as a content-class event that requires a preceding EventMessageStarted, so the mapper must open the message frame before reasoning exactly as it does for text and tool calls. Dropping it would produce streams that fail sequence validation ("reasoning_delta before message_started").
func (*Mapper) ReasoningOutputItemAdded ¶
func (m *Mapper) ReasoningOutputItemAdded(outputIndex int64, item responses.ResponseOutputItemUnion) error
ReasoningOutputItemAdded opens mapper-private assembly for a reasoning item.
func (*Mapper) ReasoningOutputItemDone ¶
func (m *Mapper) ReasoningOutputItemDone(outputIndex int64, item responses.ResponseOutputItemUnion) error
ReasoningOutputItemDone validates and queues one terminal EventReasoningPart when legal.
func (*Mapper) ReasoningSummaryPartAdded ¶
func (m *Mapper) ReasoningSummaryPartAdded(itemID string, outputIndex, summaryIndex int64, text string) error
ReasoningSummaryPartAdded records a typed summary slot without canonical emission.
func (*Mapper) ReasoningSummaryPartDone ¶
func (m *Mapper) ReasoningSummaryPartDone(itemID string, outputIndex, summaryIndex int64, text string) error
ReasoningSummaryPartDone sets the authoritative summary part text for an index.
func (*Mapper) ReasoningSummaryTextDelta ¶
func (m *Mapper) ReasoningSummaryTextDelta(itemID string, outputIndex, summaryIndex int64, delta string) error
ReasoningSummaryTextDelta appends provider-observed summary text for an index.
func (*Mapper) ReasoningSummaryTextDone ¶
func (m *Mapper) ReasoningSummaryTextDone(itemID string, outputIndex, summaryIndex int64, text string) error
ReasoningSummaryTextDone sets summary text (does not append onto prior deltas).
func (*Mapper) ReasoningTextDelta ¶
func (m *Mapper) ReasoningTextDelta(itemID string, outputIndex, contentIndex int64, delta string) error
ReasoningTextDelta appends provider-observed reasoning content text for an index.
func (*Mapper) ReasoningTextDone ¶
func (m *Mapper) ReasoningTextDone(itemID string, outputIndex, contentIndex int64, text string) error
ReasoningTextDone sets reasoning content text (does not append onto prior deltas).
func (*Mapper) RemapToolCallID ¶
RemapToolCallID consolidates tool-call state buffered under oldID onto newID. It is used when a tool call's real call_id is learned after argument deltas were already buffered under the provisional item-only ID, so pending args and started/arg-delta/finished flags all move onto the canonical ID instead of fragmenting into two tool calls. Remapping is a no-op when no state exists under oldID.