Skip to content

P1: Define SDK-facing Gateway RPC tools.invoke #4

Description

@BunsDev

Goal

Define and eventually implement an SDK-facing Gateway RPC for generic tool invocation.

There is currently an HTTP /tools/invoke path, but the app SDK wants a clean Gateway RPC method with the same policy and approval semantics.

Proposed method

tools.invoke

type ToolsInvokeParams = {
  name: string;
  args?: Record<string, unknown>;
  sessionKey?: string;
  agentId?: string;
  confirm?: boolean;
  idempotencyKey?: string;
};

Acceptance criteria

  • Runs through the normal Gateway tool policy pipeline.
  • Preserves plugin confirmation / approval semantics.
  • Supports session/agent scoping.
  • Returns typed refusal/approval-needed state.
  • Has tests for interactive refusal without confirmation.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions