Class: Cadenya::Resources::ToolSets::Tools

Inherits:
Object
  • Object
show all
Defined in:
lib/cadenya/resources/tool_sets/tools.rb

Overview

Manage tool sets and the tools they contain. Tool sets group related tools, and tools define specific capabilities available to agents.

When a tool set is managed, only API key actors can modify its tools; human (profile) actors cannot.

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Tools

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Tools.

Parameters:



223
224
225
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 223

def initialize(client:)
  @client = client
end

Instance Method Details

#create(tool_set_id, workspace_id:, metadata:, spec:, request_options: {}) ⇒ Cadenya::Models::ToolSets::Tool

Some parameter documentations has been truncated, see Models::ToolSets::ToolCreateParams for more details.

Creates a new tool in the tool set

Parameters:

Returns:

See Also:



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 32

def create(tool_set_id, params)
  parsed, options = Cadenya::ToolSets::ToolCreateParams.dump_request(params)
  workspace_id =
    parsed.delete(:workspace_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :post,
    path: ["v1/workspaces/%1$s/tool_sets/%2$s/tools", workspace_id, tool_set_id],
    body: parsed,
    model: Cadenya::ToolSets::Tool,
    options: options
  )
end

#delete(id, workspace_id:, tool_set_id:, request_options: {}) ⇒ nil

Some parameter documentations has been truncated, see Models::ToolSets::ToolDeleteParams for more details.

Deletes a tool in the tool set

Parameters:

  • id (String)

    Tool ID. Accepts the canonical tool_… form or the

  • workspace_id (String)

    Workspace ID.

  • tool_set_id (String)

    Tool set ID. Accepts the canonical ts_… form or the

  • request_options (Cadenya::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (nil)

See Also:



202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 202

def delete(id, params)
  parsed, options = Cadenya::ToolSets::ToolDeleteParams.dump_request(params)
  workspace_id =
    parsed.delete(:workspace_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  tool_set_id =
    parsed.delete(:tool_set_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :delete,
    path: ["v1/workspaces/%1$s/tool_sets/%2$s/tools/%3$s", workspace_id, tool_set_id, id],
    model: NilClass,
    options: options
  )
end

#list(tool_set_id, workspace_id:, bundle_key: nil, cursor: nil, include_info: nil, limit: nil, names: nil, prefix: nil, query: nil, requires_approval: nil, sort_order: nil, statuses: nil, request_options: {}) ⇒ Cadenya::Internal::CursorPagination<Cadenya::Models::ToolSets::Tool>

Some parameter documentations has been truncated, see Models::ToolSets::ToolListParams for more details.

Lists all tools in the tool set

Parameters:

  • tool_set_id (String)

    Path param: Tool set ID. Accepts the canonical ts_… form or the

  • workspace_id (String)

    Path param: Workspace ID.

  • bundle_key (String)

    Query param: Filter by bundle_key — return only resources owned by this bundle.

  • cursor (String)

    Query param: Pagination cursor from previous response

  • include_info (Boolean)

    Query param: When set to true you may use more of your alloted API rate-limit

  • limit (Integer)

    Query param: Maximum number of results to return

  • names (Array<String>)

    Query param: Filter by tool name (exact match). Multiple values are OR’d togethe

  • prefix (String)

    Query param: Filter expression (query param: prefix)

  • query (String)

    Query param: Free-form search query

  • requires_approval (Boolean)

    Query param: Filter by approval requirement. Omitted = no filter; true = only to

  • sort_order (String)

    Query param: Sort order for results (asc or desc by creation time)

  • statuses (Array<Symbol, Cadenya::Models::ToolSets::ToolListParams::Status>)

    Query param: Filter by tool status. Multiple values are OR’d together.

  • request_options (Cadenya::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 162

def list(tool_set_id, params)
  parsed, options = Cadenya::ToolSets::ToolListParams.dump_request(params)
  query = Cadenya::Internal::Util.encode_query_params(parsed)
  workspace_id =
    parsed.delete(:workspace_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["v1/workspaces/%1$s/tool_sets/%2$s/tools", workspace_id, tool_set_id],
    query: query.transform_keys(
      bundle_key: "bundleKey",
      include_info: "includeInfo",
      requires_approval: "requiresApproval",
      sort_order: "sortOrder"
    ),
    page: Cadenya::Internal::CursorPagination,
    model: Cadenya::ToolSets::Tool,
    options: options
  )
end

#retrieve(id, workspace_id:, tool_set_id:, request_options: {}) ⇒ Cadenya::Models::ToolSets::Tool

Some parameter documentations has been truncated, see Models::ToolSets::ToolRetrieveParams for more details.

Retrieves a tool by ID from the workspace

Parameters:

  • id (String)

    Tool ID. Accepts the canonical tool_… form or the

  • workspace_id (String)

    Workspace ID.

  • tool_set_id (String)

    Tool set ID. Accepts the canonical ts_… form or the

  • request_options (Cadenya::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 65

def retrieve(id, params)
  parsed, options = Cadenya::ToolSets::ToolRetrieveParams.dump_request(params)
  workspace_id =
    parsed.delete(:workspace_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  tool_set_id =
    parsed.delete(:tool_set_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["v1/workspaces/%1$s/tool_sets/%2$s/tools/%3$s", workspace_id, tool_set_id, id],
    model: Cadenya::ToolSets::Tool,
    options: options
  )
end

#update(id, workspace_id:, tool_set_id:, metadata: nil, spec: nil, update_mask: nil, request_options: {}) ⇒ Cadenya::Models::ToolSets::Tool

Some parameter documentations has been truncated, see Models::ToolSets::ToolUpdateParams for more details.

Updates a tool in the tool set

Parameters:

  • id (String)

    Path param: Tool ID. Accepts the canonical tool_… form or the

  • workspace_id (String)

    Path param: Workspace ID.

  • tool_set_id (String)

    Path param: Tool set ID. Accepts the canonical ts_… form or the

  • metadata (Cadenya::Models::UpdateResourceMetadata)

    Body param: UpdateResourceMetadata contains the user-provided fields for updatin

  • spec (Cadenya::Models::ToolSets::ToolSpec)

    Body param

  • update_mask (String)

    Body param

  • request_options (Cadenya::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'lib/cadenya/resources/tool_sets/tools.rb', line 107

def update(id, params)
  parsed, options = Cadenya::ToolSets::ToolUpdateParams.dump_request(params)
  workspace_id =
    parsed.delete(:workspace_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  tool_set_id =
    parsed.delete(:tool_set_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :put,
    path: ["v1/workspaces/%1$s/tool_sets/%2$s/tools/%3$s", workspace_id, tool_set_id, id],
    body: parsed,
    model: Cadenya::ToolSets::Tool,
    options: options
  )
end