Follow-up to #109 (internal/agent/client.go): the agent client should live in the Go SDK, not here.
Why
- Every other SDK already owns this. Java has
AgentClient/OrkesAgentClient plus a typed AgentRequest; Python has agent_client.py/orkes_agent_client.py.
- The CLI is already an SDK consumer. It depends on
github.com/conductor-sdk/conductor-go and internal/agent is the only resource area with a bespoke client on internal/transport.
- Avoid duplication. The wire DTOs are private to the CLI. Nothing cross-checks them against the server's
AgentStartRequest. Compile posted a bare config while Run wrapped it, and the mismatch went unnoticed.
- Nobody else can use it. Under
internal/, the agent API is unreachable outside CLI.
Scope
Move the client and models to the SDK; keep the CLI's command and UX layer here.
- Move: the REST client, the DTOs, the agent/execution models.
- Keep: SSE stream rendering, interactive prompts, and
service.go orchestration (detectFramework, register-then-run) — these are CLI concerns.
- Then replace
internal/agent's client with the SDK's and bump the pinned SDK version.
No user-facing behaviour change intended.
Follow-up to #109 (
internal/agent/client.go): the agent client should live in the Go SDK, not here.Why
AgentClient/OrkesAgentClientplus a typedAgentRequest; Python hasagent_client.py/orkes_agent_client.py.github.com/conductor-sdk/conductor-goandinternal/agentis the only resource area with a bespoke client oninternal/transport.AgentStartRequest.Compileposted a bare config whileRunwrapped it, and the mismatch went unnoticed.internal/, the agent API is unreachable outside CLI.Scope
Move the client and models to the SDK; keep the CLI's command and UX layer here.
service.goorchestration (detectFramework, register-then-run) — these are CLI concerns.internal/agent's client with the SDK's and bump the pinned SDK version.No user-facing behaviour change intended.