export interface ClawBaseParams {
    org: string;
}
export interface ClawMentorConfig {
    id: number;
    mentor: string;
    server: number;
    server_name: string;
    server_status: string;
    server_last_health_status: string | null;
    server_last_health_check: string | null;
    agent_config: Record<string, unknown>;
    /** OpenClaw worker agent identifier. Defaults to "main". */
    agent_id: string;
    enabled: boolean;
    auto_push: boolean;
    last_config_push: string | null;
    last_config_push_status: string | null;
    last_push_warnings: string[];
}
export interface GetClawMentorConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
}
export interface CreateClawMentorConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
    server: number;
    enabled?: boolean;
    /** OpenClaw worker agent identifier. Omit to accept default "main". */
    agent_id?: string;
}
export interface UpdateClawMentorConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
    server?: number;
    enabled?: boolean;
    auto_push?: boolean;
    agent_config?: Record<string, unknown>;
    agent_id?: string;
}
export interface DeleteClawMentorConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
}
export interface PushClawConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
}
export interface ClawInstance {
    id: number;
    name: string;
    claw_type: string;
    provision_mode: string;
    server_url: string;
    deployment_backend: number | null;
    status: string;
    deploy_state: string;
    last_health_check: string | null;
    last_health_status: string | null;
    claw_version: string | null;
    platform_key: string;
    created_at: string;
    updated_at: string;
}
export interface PaginatedClawInstanceList {
    count: number;
    next: string | null;
    previous: string | null;
    results: ClawInstance[];
}
export interface GetClawInstancesParams extends ClawBaseParams {
}
export interface GetClawInstanceParams extends ClawBaseParams {
    id: number;
}
export interface CreateClawInstanceParams extends ClawBaseParams {
    name: string;
    claw_type: string;
    server_url: string;
    gateway_token?: string;
    auth_headers?: Record<string, string>;
    connection_params?: Record<string, unknown>;
    deployment_backend?: number | null;
}
export interface UpdateClawInstanceParams extends ClawBaseParams {
    id: number;
    name?: string;
    claw_type?: string;
    server_url?: string;
    gateway_token?: string;
    auth_headers?: Record<string, string>;
    connection_params?: Record<string, unknown>;
    deployment_backend?: number | null;
}
export interface DeleteClawInstanceParams extends ClawBaseParams {
    id: number;
}
/** Response for health-check / test-connectivity actions on an instance.
 * Backend shape is unstable — keep it permissive so the UI can surface any
 * status/message the server returns. */
export interface ClawInstanceCheckResponse {
    ok?: boolean;
    status?: string;
    message?: string;
    detail?: string;
    health_status?: string;
    claw_version?: string;
    last_health_check?: string;
    [key: string]: unknown;
}
export interface ClawInstanceActionParams extends ClawBaseParams {
    id: number;
}
export interface AgentConfig {
    id: number;
    mentor: string;
    identity: string;
    soul: string;
    user_context: string;
    tools: string;
    agents: string;
    bootstrap: string;
    heartbeat: string;
    memory: string;
    model: string;
    config: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface GetAgentConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
}
/**
 * PATCH is upsert — first write bootstraps the row, no separate POST.
 */
export interface UpdateAgentConfigParams extends ClawBaseParams {
    mentorUniqueId: string;
    identity?: string;
    soul?: string;
    user_context?: string;
    tools?: string;
    agents?: string;
    bootstrap?: string;
    heartbeat?: string;
    memory?: string;
    model?: string;
    config?: Record<string, unknown>;
}
export interface AgentSkill {
    id: number;
    /** Stable UUID — preferred identifier for write bodies (e.g. skill assignments). */
    unique_id: string;
    name: string;
    slug: string;
    description: string;
    version: string;
    instruction: string;
    metadata: Record<string, unknown>;
    enabled: boolean;
    platform_key: string;
    created_at: string;
    updated_at: string;
}
export interface PaginatedAgentSkillList {
    count: number;
    next: string | null;
    previous: string | null;
    results: AgentSkill[];
}
export interface GetAgentSkillsParams extends ClawBaseParams {
}
export interface GetAgentSkillParams extends ClawBaseParams {
    id: number;
}
export interface CreateAgentSkillParams extends ClawBaseParams {
    name: string;
    slug: string;
    description?: string;
    version?: string;
    instruction?: string;
    metadata?: Record<string, unknown>;
    enabled?: boolean;
}
export interface UpdateAgentSkillParams extends ClawBaseParams {
    id: number;
    name?: string;
    slug?: string;
    description?: string;
    version?: string;
    instruction?: string;
    metadata?: Record<string, unknown>;
    enabled?: boolean;
}
export interface DeleteAgentSkillParams extends ClawBaseParams {
    id: number;
}
export type AgentSkillResourceFileType = 'script' | 'reference' | 'asset';
export interface AgentSkillResource {
    id: number;
    skill: number;
    file_type: AgentSkillResourceFileType | string;
    name: string;
    url?: string;
    content?: string;
    metadata?: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface PaginatedAgentSkillResourceList {
    count: number;
    next: string | null;
    previous: string | null;
    results: AgentSkillResource[];
}
export interface GetAgentSkillResourcesParams extends ClawBaseParams {
    skill?: number;
    file_type?: AgentSkillResourceFileType | string;
}
export interface GetAgentSkillResourceParams extends ClawBaseParams {
    id: number;
}
export interface CreateAgentSkillResourceParams extends ClawBaseParams {
    skill: number;
    file_type: AgentSkillResourceFileType | string;
    name: string;
    url?: string;
    content?: string;
    metadata?: Record<string, unknown>;
}
export interface UpdateAgentSkillResourceParams extends ClawBaseParams {
    id: number;
    skill?: number;
    file_type?: AgentSkillResourceFileType | string;
    name?: string;
    url?: string;
    content?: string;
    metadata?: Record<string, unknown>;
}
export interface DeleteAgentSkillResourceParams extends ClawBaseParams {
    id: number;
}
export interface MentorSkillAssignment {
    id: number;
    mentor: string;
    /** Skill UUID — the new stable identifier. */
    skill: string;
    skill_name: string;
    enabled: boolean;
    created_at: string;
    updated_at: string;
}
export interface PaginatedMentorSkillAssignmentList {
    count: number;
    next: string | null;
    previous: string | null;
    results: MentorSkillAssignment[];
}
export interface GetMentorSkillAssignmentsParams extends ClawBaseParams {
    mentorUniqueId: string;
}
export interface GetMentorSkillAssignmentParams extends ClawBaseParams {
    mentorUniqueId: string;
    assignmentPk: number;
}
export interface CreateMentorSkillAssignmentParams extends ClawBaseParams {
    mentorUniqueId: string;
    /** Skill UUID — the create endpoint references skills by UUID, not integer PK. */
    skill: string;
    enabled?: boolean;
}
export interface UpdateMentorSkillAssignmentParams extends ClawBaseParams {
    mentorUniqueId: string;
    assignmentPk: number;
    enabled?: boolean;
}
export interface DeleteMentorSkillAssignmentParams extends ClawBaseParams {
    mentorUniqueId: string;
    assignmentPk: number;
}
