Reorganize project structure: - backend/cmd/openteam/ — entry point - backend/internal/ — core packages - backend/middleware/ — HTTP middleware - backend/router/ — route setup - backend/wire/ — dependency injection - backend/pkg/ — shared utilities - backend/go.mod, go.sum — Go module files Updated Makefile to work from backend/ directory. Removed old lowercase makefile.
60 lines
1.9 KiB
Go
60 lines
1.9 KiB
Go
package convert
|
|
|
|
// ResponsesRequest represents an OpenAI Responses API request
|
|
type ResponsesRequest struct {
|
|
Model string `json:"model"`
|
|
Input []InputItem `json:"input"`
|
|
Instructions string `json:"instructions,omitempty"`
|
|
MaxOutputTokens *int `json:"max_output_tokens,omitempty"`
|
|
Tools []Tool `json:"tools,omitempty"`
|
|
ToolChoice interface{} `json:"tool_choice,omitempty"`
|
|
Stream bool `json:"stream,omitempty"`
|
|
Temperature *float64 `json:"temperature,omitempty"`
|
|
TopP *float64 `json:"top_p,omitempty"`
|
|
Metadata interface{} `json:"metadata,omitempty"`
|
|
}
|
|
|
|
// InputItem represents a single input item
|
|
type InputItem struct {
|
|
Role string `json:"role"`
|
|
Content interface{} `json:"content,omitempty"`
|
|
}
|
|
|
|
// ResponsesResponse represents an OpenAI Responses API response
|
|
type ResponsesResponse struct {
|
|
ID string `json:"id"`
|
|
Object string `json:"object"`
|
|
CreatedAt int64 `json:"created_at"`
|
|
Status string `json:"status"`
|
|
Model string `json:"model"`
|
|
Output []OutputItem `json:"output"`
|
|
Usage Usage `json:"usage"`
|
|
Error interface{} `json:"error,omitempty"`
|
|
Incomplete *Incomplete `json:"incomplete,omitempty"`
|
|
}
|
|
|
|
type OutputItem struct {
|
|
Type string `json:"type"`
|
|
Content []OutputContent `json:"content,omitempty"`
|
|
Role string `json:"role,omitempty"`
|
|
}
|
|
|
|
type OutputContent struct {
|
|
Type string `json:"type"`
|
|
Text string `json:"text,omitempty"`
|
|
ID string `json:"id,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
Input interface{} `json:"input,omitempty"`
|
|
}
|
|
|
|
type Incomplete struct {
|
|
Reason string `json:"reason"`
|
|
}
|
|
|
|
// ResponsesStreamEvent represents a Responses API streaming event
|
|
type ResponsesStreamEvent struct {
|
|
Type string `json:"type"`
|
|
Item *OutputItem `json:"item,omitempty"`
|
|
Delta string `json:"delta,omitempty"`
|
|
}
|