api/agent_sessions.proto
Rama main · réplica de lectura del repositorio original.
syntax = "proto3";
package liaison.agent.v1;
option go_package = "github.com/liaisonio/liaison/api/agent/v1";
// GET /api/v1/webssh/session-references/{reference}?agent=session_xxx
// Owner-scoped routing metadata only. Never returns a connection token/password.
message ResolveSSHSessionReferenceResponse {
uint64 access_id = 1;
}
// JSON HTTP contract for POST /api/v1/agent/sessions. Actor/organization are
// derived by the server, never supplied by the client or model.
message CreateAgentSessionRequest {
string handle_id = 1; // Required for access, forbidden for management.
string title = 2;
string kind = 3; // access (default), management, or shell (live WebSSH only).
}
// Only IDs from GET /api/v1/agent/status are accepted. Never accepts credentials or URLs.
message AgentModelSelection {
string provider_id = 1;
string model = 2;
}
message RunAgentTurnRequest {
string prompt = 1;
AgentModelSelection model_selection = 2; // Omitted: saved session choice, otherwise system default.
repeated AgentResourceReference references = 3; // Management only, max 8; server reauthorizes every ID.
}
// PATCH /api/v1/agent/sessions/{id}; owner-scoped, rejects active turns.
// Empty model_selection follows the system default. No credentials are accepted.
message UpdateAgentSessionModelRequest {
uint64 version = 1;
AgentModelSelection model_selection = 2;
}
message AgentResourceReference {
string type = 1; // connector, device, application
string id = 2; // Positive decimal ID; names are resolved by the server.
}
message AgentModelChoice {
string provider_id = 1;
string model = 2;
string provider_type = 3;
bool is_default = 4;
}
message AgentStatus {
bool enabled = 1;
repeated AgentModelChoice models = 2;
}