Class: OpenAI::Resources::Skills::Versions

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/resources/skills/versions.rb,
lib/openai/resources/skills/versions/content.rb

Defined Under Namespace

Classes: Content

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Versions

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 Versions.

Parameters:



124
125
126
127
# File 'lib/openai/resources/skills/versions.rb', line 124

def initialize(client:)
  @client = client
  @content = OpenAI::Resources::Skills::Versions::Content.new(client: client)
end

Instance Attribute Details

#contentOpenAI::Resources::Skills::Versions::Content (readonly)



8
9
10
# File 'lib/openai/resources/skills/versions.rb', line 8

def content
  @content
end

Instance Method Details

#create(skill_id, default: nil, files: nil, request_options: {}) ⇒ OpenAI::Models::Skills::SkillVersion

Create a new immutable skill version.

Parameters:

  • skill_id (String)

    The identifier of the skill to version.

  • default (Boolean)

    Whether to set this version as the default.

  • files (Array<Pathname, StringIO, IO, String, OpenAI::FilePart>, Pathname, StringIO, IO, String, OpenAI::FilePart)

    Skill files to upload (directory upload) or a single zip file.

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

Returns:

See Also:



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/openai/resources/skills/versions.rb', line 25

def create(skill_id, params = {})
  parsed, options = OpenAI::Skills::VersionCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["skills/%1$s/versions", skill_id],
    headers: {"content-type" => "multipart/form-data"},
    body: parsed,
    model: OpenAI::Skills::SkillVersion,
    options: options
  )
end

#delete(version, skill_id:, request_options: {}) ⇒ OpenAI::Models::Skills::DeletedSkillVersion

Delete a skill version.

Parameters:

  • version (String)

    The skill version number.

  • skill_id (String)

    The identifier of the skill.

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

Returns:

See Also:



107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/openai/resources/skills/versions.rb', line 107

def delete(version, params)
  parsed, options = OpenAI::Skills::VersionDeleteParams.dump_request(params)
  skill_id =
    parsed.delete(:skill_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :delete,
    path: ["skills/%1$s/versions/%2$s", skill_id, version],
    model: OpenAI::Skills::DeletedSkillVersion,
    options: options
  )
end

#list(skill_id, after: nil, limit: nil, order: nil, request_options: {}) ⇒ OpenAI::Internal::CursorPage<OpenAI::Models::Skills::SkillVersion>

List skill versions for a skill.

Parameters:

Returns:

See Also:



81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/openai/resources/skills/versions.rb', line 81

def list(skill_id, params = {})
  parsed, options = OpenAI::Skills::VersionListParams.dump_request(params)
  query = OpenAI::Internal::Util.encode_query_params(parsed)
  @client.request(
    method: :get,
    path: ["skills/%1$s/versions", skill_id],
    query: query,
    page: OpenAI::Internal::CursorPage,
    model: OpenAI::Skills::SkillVersion,
    options: options
  )
end

#retrieve(version, skill_id:, request_options: {}) ⇒ OpenAI::Models::Skills::SkillVersion

Get a specific skill version.

Parameters:

  • version (String)

    The version number to retrieve.

  • skill_id (String)

    The identifier of the skill.

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

Returns:

See Also:



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/openai/resources/skills/versions.rb', line 50

def retrieve(version, params)
  parsed, options = OpenAI::Skills::VersionRetrieveParams.dump_request(params)
  skill_id =
    parsed.delete(:skill_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["skills/%1$s/versions/%2$s", skill_id, version],
    model: OpenAI::Skills::SkillVersion,
    options: options
  )
end