Drop the github.com/sashabaranov/go-openai dependency in favor of an internal HTTP client. The LLM package is now split into: - llm.go: type definitions (Message, ChatRequest, ChatResponse, etc.) - client.go: client construction and configuration - client_completions.go: Completions and CompletionsStream methods - client_models.go: ListModels - client_tools.go: tool call execution CompletionsStream uses typed SSE events (delta, done, message) so the frontend can render progressive streaming output. Move tool.go and tool_test.go from internal/tool/ into internal/llm/ to co-locate the registry with the client that consumes it. Update job.go and service.go to use the new llm.Message types and Completions/CompletionsStream methods. Remove the Voice field from chat request/response (voice is now tracked via message metadata). Frontend: handle delta/done/message SSE events, render a streaming placeholder that receives progressive text deltas, and finalize with full message binding (reasoning, tool calls, actions).
29 lines
774 B
Modula-2
29 lines
774 B
Modula-2
module code.chimeric.al/chimerical/odidere
|
|
|
|
go 1.25.5
|
|
|
|
tool (
|
|
golang.org/x/tools/cmd/deadcode
|
|
golang.org/x/tools/cmd/goimports
|
|
golang.org/x/vuln/cmd/govulncheck
|
|
honnef.co/go/tools/cmd/staticcheck
|
|
)
|
|
|
|
require (
|
|
github.com/google/uuid v1.6.0
|
|
github.com/robfig/cron/v3 v3.0.1
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|
|
|
|
require (
|
|
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect
|
|
golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678 // indirect
|
|
golang.org/x/mod v0.36.0 // indirect
|
|
golang.org/x/sync v0.20.0 // indirect
|
|
golang.org/x/sys v0.44.0 // indirect
|
|
golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 // indirect
|
|
golang.org/x/tools v0.45.0 // indirect
|
|
golang.org/x/vuln v1.3.0 // indirect
|
|
honnef.co/go/tools v0.7.0 // indirect
|
|
)
|