Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
35 lines
1003 B
Go
35 lines
1003 B
Go
package codexproto
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
)
|
|
|
|
// JSONRPCRequest is the minimal JSON-RPC request envelope used by generated
|
|
// request builders and server-request dispatch.
|
|
type JSONRPCRequest struct {
|
|
ID RequestID `json:"id,omitempty"`
|
|
Method string `json:"method"`
|
|
Params json.RawMessage `json:"params,omitempty"`
|
|
}
|
|
|
|
// Caller is the transport seam used by generated client request helpers.
|
|
type Caller interface {
|
|
Call(ctx context.Context, method string, params any, result any) error
|
|
}
|
|
|
|
// Client implements generated typed client request helpers over a Caller.
|
|
type Client struct {
|
|
caller Caller
|
|
}
|
|
|
|
// NewClient returns a typed Codex app-server protocol client wrapper.
|
|
func NewClient(caller Caller) *Client {
|
|
return &Client{caller: caller}
|
|
}
|
|
|
|
// Call forwards an untyped JSON-RPC call through the wrapped transport.
|
|
func (c *Client) Call(ctx context.Context, method string, params any, result any) error {
|
|
return c.caller.Call(ctx, method, params, result)
|
|
}
|