diff --git a/Gemfile.lock b/Gemfile.lock index 3931a7690..696e77ae4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -42,9 +42,9 @@ GIT GIT remote: https://github.com/crmne/ruby_llm.git - revision: 74305703dcdcdcf8b2adefd8236184bcffc83910 + revision: a35aa111a0bb36b7f0363b1f1f2a25e3d5378fd3 specs: - ruby_llm (1.3.0rc1) + ruby_llm (1.3.1) base64 event_stream_parser (~> 1) faraday (>= 1.10.0) @@ -56,7 +56,7 @@ GIT GIT remote: https://github.com/rails/rails.git - revision: 0ac3fba6ee5f7d1680024a4925eee6069095487b + revision: fd49d6a3180244969fb5ab9768d0bc7d9e4df9fe branch: main specs: actioncable (8.1.0.alpha) @@ -162,29 +162,29 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) ast (2.4.3) - aws-eventstream (1.3.2) - aws-partitions (1.1109.0) - aws-sdk-core (3.224.1) + aws-eventstream (1.4.0) + aws-partitions (1.1115.0) + aws-sdk-core (3.225.2) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) base64 jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.101.0) - aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (1.104.0) + aws-sdk-core (~> 3, >= 3.225.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.188.0) - aws-sdk-core (~> 3, >= 3.224.1) + aws-sdk-s3 (1.189.1) + aws-sdk-core (~> 3, >= 3.225.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.11.0) + aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) base64 (0.3.0) bcrypt (3.1.20) bcrypt_pbkdf (1.1.1) benchmark (0.4.1) - bigdecimal (3.2.1) + bigdecimal (3.2.2) bootsnap (1.18.6) msgpack (~> 1.2) brakeman (7.0.2) @@ -418,10 +418,10 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.24.0) + sentry-rails (5.25.0) railties (>= 5.0) - sentry-ruby (~> 5.24.0) - sentry-ruby (5.24.0) + sentry-ruby (~> 5.25.0) + sentry-ruby (5.25.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) solid_cable (3.0.8) @@ -445,11 +445,11 @@ GEM sqlite-vec (0.1.7.alpha.2-x86_64-darwin) sqlite-vec (0.1.7.alpha.2-x86_64-linux) sqlite-vec (0.1.7.alpha.2-x86_64-mingw32) - sqlite3 (2.6.0) + sqlite3 (2.7.0) mini_portile2 (~> 2.8.0) - sqlite3 (2.6.0-arm64-darwin) - sqlite3 (2.6.0-x86_64-darwin) - sqlite3 (2.6.0-x86_64-linux-gnu) + sqlite3 (2.7.0-arm64-darwin) + sqlite3 (2.7.0-x86_64-darwin) + sqlite3 (2.7.0-x86_64-linux-gnu) sshkit (1.24.0) base64 logger @@ -471,7 +471,7 @@ GEM tiktoken_ruby (0.0.11.1-x86_64-darwin) tiktoken_ruby (0.0.11.1-x86_64-linux) timeout (0.4.3) - turbo-rails (2.0.13) + turbo-rails (2.0.16) actionpack (>= 7.1.0) railties (>= 7.1.0) tzinfo (2.0.6) diff --git a/app/assets/stylesheets/_global.css b/app/assets/stylesheets/_global.css index c7e4cedd0..59a5b9357 100644 --- a/app/assets/stylesheets/_global.css +++ b/app/assets/stylesheets/_global.css @@ -160,6 +160,7 @@ --color-negative: oklch(var(--lch-red-dark)); --color-positive: oklch(var(--lch-green-dark)); --color-link: oklch(var(--lch-blue-dark)); + --color-selected-light: oklch(var(--lch-blue-lightest)); --color-selected: oklch(var(--lch-blue-lighter)); --color-selected-dark: oklch(var(--lch-blue-light)); --color-highlight: oklch(var(--lch-yellow-lighter)); diff --git a/app/assets/stylesheets/card-columns.css b/app/assets/stylesheets/card-columns.css index 15e8f03b0..de903045a 100644 --- a/app/assets/stylesheets/card-columns.css +++ b/app/assets/stylesheets/card-columns.css @@ -1,66 +1,73 @@ @layer components { - /* Coluns - /* -------------------------------------------------------------------------- */ + /* Columns + /* ------------------------------------------------------------------------ */ /* Card contents are resized via container queries. We're using #main here as the primary container so all cards have the same container reference */ #main:has(.card-columns) { + --cards-gap: min(2cqi, 1rem); + --gradient-border: linear-gradient(to right,var(--color-canvas), var(--color-ink-lighter) 3%, var(--color-ink-lighter) 97%, var(--color-canvas)); + --reserved-bubble-space: calc(var(--bubble-size) + var(--bubble-gap)); + --bubble-gap: 0.5rem; + --bubble-size: 4rem; + container-type: inline-size; max-inline-size: 1400px; + + @media (max-width: 639px) { + --bubble-gap: -0.5rem; + --bubble-size: 3rem; + --reserved-bubble-space: calc(var(--bubble-size) / 2 + var(--bubble-gap)); + } } .card-columns { - --bubble-size: 4rem; - --bubble-gap: 0.5rem; - - display: grid; - grid-template-columns: repeat(2, 50%); margin: auto; - max-inline-size: calc(100% - (var(--bubble-size) + var(--bubble-gap)) * 2); + max-inline-size: 100%; position: relative; &:before { - background: linear-gradient(to right,var(--color-canvas), var(--color-ink-lighter) 3%, var(--color-ink-lighter) 97%, var(--color-canvas)); + background: var(--gradient-border); block-size: 1px; content: ""; - display: block; - inline-size: calc(100% + 1.2em); inset: 0 -0.6em 100% -0.6em; position: absolute; } - .cards:first-child { - padding-inline-end: var(--cards-gap); - position: relative; - - &:after { - background: linear-gradient(var(--color-canvas), var(--color-ink-lighter) 1%, var(--color-ink-lighter) 99%, var(--color-canvas)); - block-size: calc(100% + 1.2em); - content: ""; - display: block; - inline-size: 1px; - inset: -0.6em 0 -0.6em 100%; - position: absolute; - } - } - - .cards:last-child { - padding-inline-start: var(--cards-gap); + @media (min-width: 640px) { + display: grid; + grid-template-columns: repeat(2, 50%); } } /* Cards - /* -------------------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ .cards { - --cards-gap: 2cqi; - - align-items: center; + align-items: stretch; display: flex; flex-direction: column; gap: var(--cards-gap); justify-content: start; - padding-block: calc(var(--cards-gap) * 0.75); + padding: 0 var(--reserved-bubble-space) var(--cards-gap) var(--cards-gap); + position: relative; + + /* Make sure filter dialogs don't end up behind sticky headers */ + &:has([open]) { + z-index: 3; + } + + &:first-child { + @media (min-width: 640px) { + border-inline-end: 1px solid var(--color-ink-lighter); + padding-inline: var(--reserved-bubble-space) var(--cards-gap); + } + } + + @media (max-width: 639px) { + padding-block-end: calc(var(--cards-gap) * 2); + padding-inline-start: var(--reserved-bubble-space); + } .card { --block-space: 1em; @@ -90,7 +97,7 @@ .workflow-stage:not(.workflow-stage--current) { opacity: 0; transition: opacity 0.2s ease-in-out; - + @media (any-hover: hover) { .card:hover & { opacity: 1; @@ -98,7 +105,7 @@ } } } - + @media (any-hover: hover) { .card:hover & { img:not([src=""]) { @@ -110,18 +117,46 @@ } } + /* Column elements + /* ------------------------------------------------------------------------ */ + .cards__heading { - display: inline-flex; + background-color: var(--color-canvas); + display: flex; font-size: var(--text-medium); - inline-size: 100%; + inset-block-start: 0; justify-content: center; - text-transform: uppercase; + margin-block-start: 1px; + margin-inline: calc(-1 * var(--cards-gap) + 1px); + padding-block: var(--cards-gap); + position: sticky; + z-index: 2; + + &, button { + font-weight: bold; + text-transform: uppercase; + } + + button { + --hover-size: 0; + + inline-size: auto; + margin-inline-start: 2em; + padding: 0 2em 0 0; + } + + dialog { + font-weight: normal; + text-transform: none; + } } /* Considering /* ------------------------------------------------------------------------ */ .cards--considering { + padding-inline-start: calc(var(--cards-gap) / 2); + .card { --text-xx-large: 1.6em; --text-small: 1.1em; @@ -175,8 +210,21 @@ } } + /* Doing + /* ------------------------------------------------------------------------ */ + + @media (max-width: 639px) { + .cards--doing:before { + background: var(--gradient-border); + block-size: 1px; + content: ""; + inset: 0 0 auto; + position: absolute; + } + } + /* Closed - /* -------------------------------------------------------------------------- */ + /* ------------------------------------------------------------------------ */ .cards--closed { justify-content: center; @@ -187,22 +235,35 @@ position: relative; &:before { - background: linear-gradient(to right,var(--color-canvas), var(--color-ink-lighter) 3%, var(--color-ink-lighter) 97%, var(--color-canvas)); + background: var(--gradient-border); block-size: 1px; content: ""; - display: block; - inline-size: calc(100% + 1.2em); inset: 0 -0.6em 100% -0.6em; position: absolute; } - .card { - inline-size: calc((100% - var(--cards-gap) * 2) / 3); + @media (max-width: 639px) { + flex-direction: column; + padding-inline: var(--reserved-bubble-space); + } - @media (max-width: 960px) { + .cards__heading { + min-inline-size: 100%; + + @media (max-width: 639px) { + margin-inline-end: calc(-1 * var(--cards-gap)); + } + } + + .card { + @media (min-width: 640px) { inline-size: calc((100% - var(--cards-gap)) / 2); } + @media (min-width: 960px) { + inline-size: calc((100% - var(--cards-gap) * 2) / 3); + } + &:nth-of-type(7) { margin-block-start: var(--cards-gap); } @@ -229,7 +290,7 @@ aspect-ratio: unset; border-width: 0.5ch; font-size: 0.75em; - inset: auto 0 auto auto; + inset: auto 0 var(--card-padding-block) auto; transform: none; } @@ -248,4 +309,11 @@ } } } + + /* Doing + /* ------------------------------------------------------------------------ */ + + .cards--doing { + padding-inline-end: calc(var(--cards-gap) / 2); + } } diff --git a/app/assets/stylesheets/card-filters.css b/app/assets/stylesheets/card-filters.css deleted file mode 100644 index f7ea3605c..000000000 --- a/app/assets/stylesheets/card-filters.css +++ /dev/null @@ -1,34 +0,0 @@ -@layer components { - .card-filter--column { - > button { - --hover-size: 0; - - inline-size: auto; - padding: 0 2em 0 0; - margin-inline-start: 2em; - } - } - - .card-filter--sorting { - inset: auto 50% -4em; - margin-inline-start: -1em; - position: absolute; - transform: translateX(-50%); - - #header:has(&) { - position: relative; - z-index: 1; - } - } - - .card-count__selector { - inset: 0.5cqi 0.5cqi auto auto; - position: absolute; - text-align: start; - z-index: 1; - - .popup { - inset: 1em 1em auto auto; - } - } -} diff --git a/app/assets/stylesheets/card-perma.css b/app/assets/stylesheets/card-perma.css index 4e2fd2678..9a4de11ed 100644 --- a/app/assets/stylesheets/card-perma.css +++ b/app/assets/stylesheets/card-perma.css @@ -183,6 +183,7 @@ .btn--reversed { --btn-background: var(--color-canvas); --btn-color: var(--card-color); + --btn-border-color: var(--color-container); } } diff --git a/app/assets/stylesheets/cards.css b/app/assets/stylesheets/cards.css index 892de566d..67cb0fce2 100644 --- a/app/assets/stylesheets/cards.css +++ b/app/assets/stylesheets/cards.css @@ -66,7 +66,9 @@ gap: var(--inline-space-half); margin-block-start: calc(-1 * var(--card-padding-block)); margin-inline-start: calc(-1 * var(--card-padding-inline)); + max-inline-size: 100%; min-inline-size: 0; + overflow: visible; } .card__collection { diff --git a/app/assets/stylesheets/drag_and_drop.css b/app/assets/stylesheets/drag_and_drop.css new file mode 100644 index 000000000..48bf3dd4f --- /dev/null +++ b/app/assets/stylesheets/drag_and_drop.css @@ -0,0 +1,15 @@ +@layer components { + .drag-and-drop__dragged-item { + box-shadow: none; + filter: grayscale(1) brightness(0.97); + opacity: 0.6; + outline: 2px dashed var(--color-selected-dark); + } + + .drag-and-drop__hover-container { + background-color: var(--color-selected-light); + border-radius: 0.2em; + outline: 2px dashed var(--color-selected-dark); + transition: background-color 200ms; + } +} diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 20385eda0..af52c2fd6 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,5 +1,5 @@ class ApplicationController < ActionController::Base - include Authentication, CurrentTimezone, SetPlatform + include Authentication, CurrentTimezone, SetPlatform, WriterAffinity stale_when_importmap_changes allow_browser versions: :modern diff --git a/app/controllers/cards/drops_controller.rb b/app/controllers/cards/drops_controller.rb new file mode 100644 index 000000000..25f7997a8 --- /dev/null +++ b/app/controllers/cards/drops_controller.rb @@ -0,0 +1,38 @@ +class Cards::DropsController < ApplicationController + include Collections::ColumnsScoped + before_action :set_card, :set_drop_target + + def create + perform_drop_action + render_column_replacement + end + + private + VALID_DROP_TARGETS = %w[ considering doing ] + + def set_card + @card = Current.user.accessible_cards.find(params[:dropped_item_id]) + end + + def set_drop_target + if params[:drop_target].in?(VALID_DROP_TARGETS) + @drop_target = params[:drop_target].to_sym + else + head :bad_request + end + end + + def perform_drop_action + case @drop_target + when :considering + @card.reconsider + when :doing + @card.engage + end + end + + def render_column_replacement + page_and_filter = page_and_filter_for @filter.with(engagement_status: @drop_target.to_s), per_page: CardsController::PAGE_SIZE + render turbo_stream: turbo_stream.replace("#{@drop_target}-cards", method: :morph, partial: "cards/index/engagement/#{@drop_target}", locals: page_and_filter.to_h) + end +end diff --git a/app/controllers/cards/publishes_controller.rb b/app/controllers/cards/publishes_controller.rb index f7ac6590c..298f8bbe4 100644 --- a/app/controllers/cards/publishes_controller.rb +++ b/app/controllers/cards/publishes_controller.rb @@ -3,6 +3,16 @@ class Cards::PublishesController < ApplicationController def create @card.publish - redirect_to @card + + if add_another_param? + redirect_to @collection.cards.create!, notice: "Card added" + else + redirect_to @card + end end + + private + def add_another_param? + params[:creation_type] == "add_another" + end end diff --git a/app/controllers/cards/readings_controller.rb b/app/controllers/cards/readings_controller.rb index 2334cb8f5..a92c64525 100644 --- a/app/controllers/cards/readings_controller.rb +++ b/app/controllers/cards/readings_controller.rb @@ -1,6 +1,8 @@ class Cards::ReadingsController < ApplicationController include CardScoped + skip_writer_affinity + def create @notifications = @card.read_by(Current.user) end diff --git a/app/controllers/cards_controller.rb b/app/controllers/cards_controller.rb index 8a8b4fb05..84627b625 100644 --- a/app/controllers/cards_controller.rb +++ b/app/controllers/cards_controller.rb @@ -1,7 +1,7 @@ require "ostruct" class CardsController < ApplicationController - include CollectionScoped, FilterScoped + include CollectionScoped, Collections::ColumnsScoped skip_before_action :set_collection, only: :index before_action :set_card, only: %i[ show edit update destroy ] @@ -45,22 +45,6 @@ class CardsController < ApplicationController @card = @collection.cards.find params[:id] end - def page_and_filter_for(filter, per_page: nil) - cards = block_given? ? yield(filter.cards) : filter.cards - - OpenStruct.new \ - page: GearedPagination::Recordset.new(cards, per_page:).page(1), - filter: filter - end - - def page_and_filter_for_closed_cards - if @filter.indexed_by.stalled? - page_and_filter_for(@filter, per_page: PAGE_SIZE) { |cards| cards.recently_closed_first } - else - page_and_filter_for(@filter.with(indexed_by: "closed"), per_page: PAGE_SIZE) { |cards| cards.recently_closed_first } - end - end - def card_params params.expect(card: [ :status, :title, :description, :image, tag_ids: [] ]) end diff --git a/app/controllers/concerns/collections/columns_scoped.rb b/app/controllers/concerns/collections/columns_scoped.rb new file mode 100644 index 000000000..a588a15b6 --- /dev/null +++ b/app/controllers/concerns/collections/columns_scoped.rb @@ -0,0 +1,23 @@ +module Collections::ColumnsScoped + extend ActiveSupport::Concern + + included do + include FilterScoped + end + + def page_and_filter_for(filter, per_page: nil) + cards = block_given? ? yield(filter.cards) : filter.cards + + OpenStruct.new \ + page: GearedPagination::Recordset.new(cards, per_page:).page(1), + filter: filter + end + + def page_and_filter_for_closed_cards + if @filter.indexed_by.stalled? + page_and_filter_for(@filter, per_page: CardsController::PAGE_SIZE) { |cards| cards.recently_closed_first } + else + page_and_filter_for(@filter.with(indexed_by: "closed"), per_page: CardsController::PAGE_SIZE) { |cards| cards.recently_closed_first } + end + end +end diff --git a/app/controllers/concerns/filter_scoped.rb b/app/controllers/concerns/filter_scoped.rb index 660365563..074dd967b 100644 --- a/app/controllers/concerns/filter_scoped.rb +++ b/app/controllers/concerns/filter_scoped.rb @@ -2,7 +2,7 @@ module FilterScoped extend ActiveSupport::Concern included do - before_action :set_filter, only: :index + before_action :set_filter end private diff --git a/app/controllers/concerns/writer_affinity.rb b/app/controllers/concerns/writer_affinity.rb new file mode 100644 index 000000000..da03e1a42 --- /dev/null +++ b/app/controllers/concerns/writer_affinity.rb @@ -0,0 +1,14 @@ +module WriterAffinity + extend ActiveSupport::Concern + + class_methods do + def skip_writer_affinity(**) + before_action :set_writer_affinity_opt_out_header, ** + end + end + + private + def set_writer_affinity_opt_out_header + response.headers["X-Writer-Affinity"] = "false" + end +end diff --git a/app/controllers/public/collections/card_previews_controller.rb b/app/controllers/public/collections/card_previews_controller.rb index 936ba0825..f7572616a 100644 --- a/app/controllers/public/collections/card_previews_controller.rb +++ b/app/controllers/public/collections/card_previews_controller.rb @@ -17,8 +17,7 @@ class Public::Collections::CardPreviewsController < ApplicationController when "closed-cards" @collection.cards.closed.recently_closed_first else - head :bad_request - Card.none + raise ActionController::BadRequest end end end diff --git a/app/helpers/cards_helper.rb b/app/helpers/cards_helper.rb index a3aad18a2..5a00b13f4 100644 --- a/app/helpers/cards_helper.rb +++ b/app/helpers/cards_helper.rb @@ -65,7 +65,7 @@ module CardsHelper title.join(" ") end - def cacheable_preview_parts_for(card) - [ card, card.collection.workflow, card.collection.entropy_configuration ] + def cacheable_preview_parts_for(card, *options) + [ card, card.collection.workflow, card.collection.entropy_configuration, *options ] end end diff --git a/app/javascript/application.js b/app/javascript/application.js index 36d861cc7..725acdc82 100644 --- a/app/javascript/application.js +++ b/app/javascript/application.js @@ -5,3 +5,5 @@ import "controllers" import "actiontext-lexical" import "@rails/actiontext" + +window.fetch = Turbo.fetch // TODO: We need to make @rails/request.js use Turbo's fetch when it's present. diff --git a/app/javascript/controllers/drag_and_drop_controller.js b/app/javascript/controllers/drag_and_drop_controller.js new file mode 100644 index 000000000..01ccc593d --- /dev/null +++ b/app/javascript/controllers/drag_and_drop_controller.js @@ -0,0 +1,81 @@ +import { Controller } from "@hotwired/stimulus" +import { post } from "@rails/request.js" +import { nextFrame } from "helpers/timing_helpers" + +export default class extends Controller { + static targets = [ "item", "container" ] + static values = { url: String } + static classes = [ "draggedItem", "hoverContainer" ] + + // Actions + + async dragStart(event) { + event.dataTransfer.effectAllowed = "move" + event.dataTransfer.dropEffect = "move" + event.dataTransfer.setData("37ui/move", event.target) + + await nextFrame() + this.dragItem = this.#itemContaining(event.target) + this.sourceContainer = this.#containerContaining(this.dragItem) + this.dragItem.classList.add(this.draggedItemClass) + } + + dragOver(event) { + event.preventDefault() + const container = this.#containerContaining(event.target) + this.#clearContainerHoverClasses() + + if (!container) { return } + + if (container !== this.sourceContainer) { + container.classList.add(this.hoverContainerClass) + } + } + + async drop(event) { + const container = this.#containerContaining(event.target) + + if (!container || container === this.sourceContainer) { return } + + this.wasDropped = true + + await this.#submitDropRequest(this.dragItem, container) + } + + dragEnd() { + this.dragItem.classList.remove(this.draggedItemClass) + this.#clearContainerHoverClasses() + + if (this.wasDropped) { + this.dragItem.remove() + } + + this.sourceContainer = null + this.dragItem = null + this.wasDropped = false + } + + #itemContaining(element) { + return this.itemTargets.find(item => item.contains(element) || item === element) + } + + #containerContaining(element) { + return this.containerTargets.find(container => container.contains(element) || container === element) + } + + #clearContainerHoverClasses() { + this.containerTargets.forEach(container => container.classList.remove(this.hoverContainerClass)) + } + + // Private + + async #submitDropRequest(item, container) { + const body = new FormData() + const id = item.dataset.id + const containerTarget = container.dataset.dropTarget + + body.append("dropped_item_id", id) + body.append("drop_target", containerTarget) + return post(this.urlValue, { body, headers: { Accept: "text/vnd.turbo-stream.html" } }) + } +} diff --git a/app/views/cards/container/footer/_draft.html.erb b/app/views/cards/container/footer/_draft.html.erb index f46e08b41..7b3dff00a 100644 --- a/app/views/cards/container/footer/_draft.html.erb +++ b/app/views/cards/container/footer/_draft.html.erb @@ -1,4 +1,5 @@
- <%= button_to "Create card", card_publish_path(card), class: "btn" %> - <%= button_to "Save as draft", collection_card_path(card.collection, card), name: "card[status]", value: "drafted", method: :put, class: "btn btn--reversed" %> + <%= button_to "Create card", card_publish_path(card), name: "creation_type", value: "add", class: "btn" %> + <%= button_to "Create and add another", card_publish_path(card), method: :post, class: "btn btn--reversed", name: "creation_type", value: "add_another", form: { data: { turbo: false } } %> + <%= button_to "Save as a draft", collection_card_path(card.collection, card), name: "card[status]", value: "drafted", method: :put, class: "btn btn--reversed" %>
diff --git a/app/views/cards/display/_preview.html.erb b/app/views/cards/display/_preview.html.erb index 4590b5e99..e7b8a61ec 100644 --- a/app/views/cards/display/_preview.html.erb +++ b/app/views/cards/display/_preview.html.erb @@ -1,7 +1,9 @@ -<% cache cacheable_preview_parts_for(card) do %> - <%= card_article_tag card, class: "card" do %> +<% draggable = local_assigns.fetch(:draggable, false) && card.published? %> + +<% cache cacheable_preview_parts_for(card, draggable) do %> + <%= card_article_tag card, class: "card", draggable: draggable, data: { id: card.id, drag_and_drop_target: "item" } do %>
-
+
<%= render "cards/display/preview/collection", card: card %> <%= render "cards/display/preview/tags", card: card %> @@ -13,7 +15,7 @@ <%= card.title %> - <%= link_to collection_card_path(card.collection, card), class: "card__link", title: card_title_tag(card), data: { action: "dialog#close", turbo_frame: "_top" } do %> + <%= link_to collection_card_path(card.collection, card), draggable: false, class: "card__link", title: card_title_tag(card), data: { action: "dialog#close", turbo_frame: "_top" } do %> <%= card.title %> <% end %>
diff --git a/app/views/cards/index.html.erb b/app/views/cards/index.html.erb index 9cafac82d..33a2d752e 100644 --- a/app/views/cards/index.html.erb +++ b/app/views/cards/index.html.erb @@ -13,9 +13,20 @@ <%= render "filters/settings", filter: @filter %> -
- <%= render "cards/index/engagement/considering", **@considering.to_h %> - <%= render "cards/index/engagement/doing", **@doing.to_h %> -
+<%= tag.div data: { + controller: "drag-and-drop", + drag_and_drop_dragged_item_class: "drag-and-drop__dragged-item", + drag_and_drop_hover_container_class: "drag-and-drop__hover-container", + drag_and_drop_url_value: cards_drops_path(**@filter.as_params), + action: " + dragstart->drag-and-drop#dragStart + dragover->drag-and-drop#dragOver + drop->drag-and-drop#drop + dragend->drag-and-drop#dragEnd" } do %> +
+ <%= render "cards/index/engagement/considering", **@considering.to_h %> + <%= render "cards/index/engagement/doing", **@doing.to_h %> +
-<%= render "cards/index/engagement/closed", **@closed.to_h %> + <%= render "cards/index/engagement/closed", **@closed.to_h %> +<% end %> diff --git a/app/views/cards/index/_closure_filter.html.erb b/app/views/cards/index/_closure_filter.html.erb index 120519c2f..7615725be 100644 --- a/app/views/cards/index/_closure_filter.html.erb +++ b/app/views/cards/index/_closure_filter.html.erb @@ -1,8 +1,6 @@ -
- - +

Considering

@@ -13,7 +13,7 @@ <% end %> <% if page.used? %> - <%= render partial: "cards/display/preview", collection: page.records, as: :card, cached: true %> + <%= render partial: "cards/display/preview", collection: page.records, as: :card, locals: { draggable: true }, cached: true %> <% unless page.last? %> <%= cards_next_page_link "considering-cards", page: page, filter: filter %> diff --git a/app/views/cards/index/engagement/_doing.html.erb b/app/views/cards/index/engagement/_doing.html.erb index 3b6db623b..42b64bbf8 100644 --- a/app/views/cards/index/engagement/_doing.html.erb +++ b/app/views/cards/index/engagement/_doing.html.erb @@ -1,4 +1,4 @@ -
+
<% if workflow = filter.single_workflow %> <%= render "cards/index/workflow_filter", workflow: workflow, filter: filter %> <% else %> @@ -7,13 +7,13 @@ <% end %> - <% if page.used? %> - <%= render partial: "cards/display/preview", collection: page.records, as: :card, cached: ->(card) { cacheable_preview_parts_for(card) } %> + <% if page.used? %> + <%= render partial: "cards/display/preview", collection: page.records, as: :card, locals: { draggable: true }, cached: ->(card) { cacheable_preview_parts_for(card) } %> - <% unless page.last? %> - <%= cards_next_page_link "doing-cards", page: page, filter: filter %> + <% unless page.last? %> + <%= cards_next_page_link "doing-cards", page: page, filter: filter %> + <% end %> + <% else %> +

Nothing here

<% end %> - <% else %> -

Nothing here

- <% end %>
diff --git a/app/views/public/collections/card_previews/index.turbo_stream.erb b/app/views/public/collections/card_previews/index.turbo_stream.erb index 18a546ddc..e3a631303 100644 --- a/app/views/public/collections/card_previews/index.turbo_stream.erb +++ b/app/views/public/collections/card_previews/index.turbo_stream.erb @@ -2,7 +2,7 @@ <%= turbo_stream.append params[:target] do %> <%= render partial: "cards/display/public_preview", - collection: @page.records, as: :card, cached: true %> + collection: @page.records, as: :card, locals: { draggable: true }, cached: true %> <% unless @page.last? %> <%= public_collection_cards_next_page_link @collection, params[:target], page: @page, fetch_on_visible: params[:target] == "closed-cards" %> diff --git a/config/database.yml b/config/database.yml index 9832f0bfb..05bf8e6e4 100644 --- a/config/database.yml +++ b/config/database.yml @@ -40,10 +40,9 @@ test: production: &production primary: <<: *default - database: file:storage/tenants/<%= Rails.env %>/%{tenant}/db/main.sqlite3 + database: file:storage/tenants/<%= Rails.env %>/%{tenant}/db/main.sqlite3?vfs=beamer tenanted: true extensions: - - ./bin/lib/beamer.so - <%= SqliteVec.loadable_path %> primary_original: <<: *default diff --git a/config/routes.rb b/config/routes.rb index 25e96b5ab..3e9761dd4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,6 +27,7 @@ Rails.application.routes.draw do namespace :cards do resources :previews + resources :drops end resources :cards do diff --git a/test/controllers/cards/drops_controller_test.rb b/test/controllers/cards/drops_controller_test.rb new file mode 100644 index 000000000..d0c6104f7 --- /dev/null +++ b/test/controllers/cards/drops_controller_test.rb @@ -0,0 +1,34 @@ +require "test_helper" + +class Cards::DropsControllerTest < ActionDispatch::IntegrationTest + setup do + sign_in_as :kevin + @card = cards(:logo) + end + + test "drop to considering" do + assert_changes -> { @card.reload.considering? }, from: false, to: true do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "considering" }, as: :turbo_stream + assert_column_rerendered("considering") + end + end + + test "drop to doing" do + @card = cards(:text) + + assert_changes -> { @card.reload.doing? }, from: false, to: true do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "doing" }, as: :turbo_stream + assert_column_rerendered("doing") + end + end + + test "invalid drop target" do + post cards_drops_path, params: { dropped_item_id: @card.id, drop_target: "invalid" }, as: :turbo_stream + assert_response :bad_request + end + + private + def assert_column_rerendered(target) + assert_turbo_stream action: :replace, target: "#{target}-cards" + end +end diff --git a/test/controllers/cards/publishes_controller_test.rb b/test/controllers/cards/publishes_controller_test.rb index c9df4d0aa..e5a99c51c 100644 --- a/test/controllers/cards/publishes_controller_test.rb +++ b/test/controllers/cards/publishes_controller_test.rb @@ -15,4 +15,17 @@ class Cards::PublishesControllerTest < ActionDispatch::IntegrationTest assert_redirected_to card end + + test "create and add another" do + card = cards(:logo) + card.drafted! + + assert_changes -> { card.reload.published? }, from: false, to: true do + assert_difference -> { Card.creating.count }, +1 do + post card_publish_path(card, creation_type: "add_another") + end + end + + assert_redirected_to Card.creating.last + end end diff --git a/test/controllers/cards/readings_controller_test.rb b/test/controllers/cards/readings_controller_test.rb index b6fa6d040..147dcfe4b 100644 --- a/test/controllers/cards/readings_controller_test.rb +++ b/test/controllers/cards/readings_controller_test.rb @@ -22,4 +22,10 @@ class Cards::ReadingsControllerTest < ActionDispatch::IntegrationTest assert_response :success end + + test "create opts-out of writer affinity in the load balancer" do + post card_reading_path(cards(:logo)), as: :turbo_stream + + assert_equal "false", response.headers["X-Writer-Affinity"] + end end diff --git a/test/test_helpers/session_test_helper.rb b/test/test_helpers/session_test_helper.rb index ae97852a9..5e4f7eaf0 100644 --- a/test/test_helpers/session_test_helper.rb +++ b/test/test_helpers/session_test_helper.rb @@ -20,6 +20,6 @@ module SessionTestHelper Current.session = Session.new(user: user) yield ensure - Current.reset_all + Current.clear_all end end diff --git a/test/vcr_cassettes/command/ai/parser_test-test_parse_command_strings_into_a_composite_command_containing_the_individual_commands.yml b/test/vcr_cassettes/command/ai/parser_test-test_parse_command_strings_into_a_composite_command_containing_the_individual_commands.yml index 2b4f05146..54b9afb6c 100644 --- a/test/vcr_cassettes/command/ai/parser_test-test_parse_command_strings_into_a_composite_command_containing_the_individual_commands.yml +++ b/test/vcr_cassettes/command/ai/parser_test-test_parse_command_strings_into_a_composite_command_containing_the_individual_commands.yml @@ -484,4 +484,246 @@ http_interactions: OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 M2EyZjhmIgp9Cg== recorded_at: Thu, 05 Jun 2025 10:49:10 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBub3Qgc2VlaW5nIGNhcmRzIH0uXG4i + fSx7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImFzc2lnbiBAa2V2aW4gYW5k + IGNsb3NlIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '447' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '457' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '198467' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 459ms + X-Request-Id: + - req_8b8dbf262a8856a7030c1a81cc4760ca + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=OoVPCgId6sR7VOY.0BRet5XBVjRIUKFPZoF52Zlvfs0-1749804467-1.0.1.1-N9nspOKMaKxRYHVfxcZ3wO9C1D3LxhO1.4kZxV1L1fcXEbv65M86sUO__gDr8AzIpu_kS62puvbW7M8qwZ0HyHKID1jAURGJR0CKgSxBKM8; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=OEhE5u68U1GZW.SwTyWECqrvYT09D0uWyAo0w_LhN3Y-1749804467445-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053396f6aecb0-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY2FpUEw5Mlp2UWFSWHZqblRPT2cy + ZExrbSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvYXNzaWduIGtldmluXCIsIFwiL2Nsb3NlXCJdXG59IiwKICAgICAg + ICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10K + ICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlz + aF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAg + ICJwcm9tcHRfdG9rZW5zIjogMTU1OCwKICAgICJjb21wbGV0aW9uX3Rva2Vu + cyI6IDE1LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzMsCiAgICAicHJvbXB0 + X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0 + MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBs + ZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9r + ZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2Nl + cHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9w + cmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3Rp + ZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8z + ODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/parser_test-test_resolve_filter_string_params_as_ids.yml b/test/vcr_cassettes/command/ai/parser_test-test_resolve_filter_string_params_as_ids.yml index 1087414b3..5c9063096 100644 --- a/test/vcr_cassettes/command/ai/parser_test-test_resolve_filter_string_params_as_ids.yml +++ b/test/vcr_cassettes/command/ai/parser_test-test_resolve_filter_string_params_as_ids.yml @@ -489,4 +489,249 @@ http_interactions: dWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYi Cn0K recorded_at: Thu, 05 Jun 2025 10:49:11 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBub3Qgc2VlaW5nIGNhcmRzIH0uXG4i + fSx7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImNhcmRzIGFzc2lnbmVkIHRv + IGtldmluLCB0YWdnZWQgd2l0aCAjd2ViLCBpbiB0aGUgY29sbGVjdGlvbiB3 + cml0ZWJvb2sifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '796' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '798' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '198455' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 463ms + X-Request-Id: + - req_051120f43b8799f09c869dab0afb649a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=Sgw1q2.hhpfxhhJFx4CAZVzRFgA04d79lHEbcb6c1nk-1749804467-1.0.1.1-o0mCInRKggpnNhoddb.ey4J.S8BCXkKQ.ROW7lxllJZtxaNv866hTwCWfp5vEZj2AjqLrtBKx.73v.Ewp3LTtjyuzUtmRzNLBqqngjSCWYA; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=Y8BqpmDSXt3KDM7pZvGa9o2YLklKKirOku.JJWOcgSM-1749804467839-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053395d6b2fca-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY3JHRFVjemJ4d2ZiMnNjYXBnMEhr + ZUVOdSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImFzc2lnbmVlX2lkc1wiOiBbXCJrZXZpblwiXSxcbiAgICBc + InRhZ19pZHNcIjogW1wid2ViXCJdLFxuICAgIFwiY29sbGVjdGlvbl9pZHNc + IjogW1wid3JpdGVib29rXCJdXG4gIH1cbn0iLAogICAgICAgICJyZWZ1c2Fs + IjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAog + ICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6 + ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90 + b2tlbnMiOiAxNTY4LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMzYsCiAg + ICAidG90YWxfdG9rZW5zIjogMTYwNCwKICAgICJwcm9tcHRfdG9rZW5zX2Rl + dGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAg + ImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tl + bnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAog + ICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRp + Y3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25f + dG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZh + dWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYi + Cn0K + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_assign_cards.yml b/test/vcr_cassettes/command/ai/translator_test-test_assign_cards.yml index bc6d0f3eb..1fc10a3f9 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_assign_cards.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_assign_cards.yml @@ -484,4 +484,488 @@ http_interactions: ZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0 IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:43:24 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJhc3NpZ24gdG8g + anoifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '352' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '354' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '496' + X-Ratelimit-Remaining-Tokens: + - '194256' + X-Ratelimit-Reset-Requests: + - 364ms + X-Ratelimit-Reset-Tokens: + - 1.723s + X-Request-Id: + - req_705b5fbdb82bfe9e2a1bed97d129d4ad + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=H4Rtk5LbIB6mUoS5hEqCwYDCN20f_hxnBd5JenwlAVU-1749804467-1.0.1.1-LD98O4HLUxdM0sP531c.R3JusPpclcmcB0L_4Ctg35skc0H3uACBZFfTFxrnlzF72y.ERhog1BN8CTumeA1R1yP9Td29yJsyhU3jU6tilsY; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=kgWQ6i2ib0Ww3amya6uYAp3QwgVzT.dhylem1dy4Px8-1749804467461-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533cc89e028a-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY3FuaTd6MVpjaGxlRnp2bUtySGl1 + YU9UTCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvYXNzaWduIGp6XCJdXG59IiwKICAgICAgICAicmVmdXNhbCI6IG51 + bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAgICAgfSwKICAgICAg + ImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9yZWFzb24iOiAic3Rv + cCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJwcm9tcHRfdG9rZW5z + IjogMTU1OCwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDEyLAogICAgInRv + dGFsX3Rva2VucyI6IDE1NzAsCiAgICAicHJvbXB0X3Rva2Vuc19kZXRhaWxz + IjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDAsCiAgICAgICJhdWRpb190 + b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRpb25fdG9rZW5zX2RldGFp + bHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjogMCwKICAgICAgImF1 + ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rv + a2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6 + IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAg + InN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImFzc2lnbiBjYXJkcyB0YWdnZWQg + d2l0aCAjZGVzaWduIHRvIGp6In1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJh + dHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '651' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '662' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '175215' + X-Ratelimit-Reset-Requests: + - 793ms + X-Ratelimit-Reset-Tokens: + - 7.435s + X-Request-Id: + - req_09bf5a5b50c3254ca3d55ac3e382fadb + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=hvdl8USi9doW3jaRoWdFGpvVGYR4BHmwmmqbfB7d4RM-1749804469-1.0.1.1-fLs45J5E2Xj2BeyGYzMIq0YqkoU1lOPapTfmPcJHntJTXnM6OKWk7rlyzVerTKfuWurtijGt085amV7vDhKc8VetSAjfgDCnRWJ0gPxVqQw; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=NCUjZONtVPjvt_lEFcbOb1eTJiaDWDFpLWyoddP1.hQ-1749804469138-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053434d8e0419-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZVg3bmhNTzhyTmppWk1xRXoyTDJv + R3h4RCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRz + XCI6IFtcIi9hc3NpZ24ganpcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjog + bnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAg + ICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJz + dG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tl + bnMiOiAxNTYxLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMjUsCiAgICAi + dG90YWxfdG9rZW5zIjogMTU4NiwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFp + bHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAgImF1 + ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNf + ZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAg + ICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rp + b25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9r + ZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0 + IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_close_cards.yml b/test/vcr_cassettes/command/ai/translator_test-test_close_cards.yml index b05cf509d..ead322a3c 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_close_cards.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_close_cards.yml @@ -967,4 +967,971 @@ http_interactions: MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:43:22 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZSJ9XSwi + c3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '387' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '391' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '490' + X-Ratelimit-Remaining-Tokens: + - '180198' + X-Ratelimit-Reset-Requests: + - 1.178s + X-Ratelimit-Reset-Tokens: + - 5.94s + X-Request-Id: + - req_755bcc1bfaf74dbcbf1e30848847e955 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=0rEASsBAL5Oqr4aN_zK68uFgXAFj5YjfFbjmfIWVojs-1749804467-1.0.1.1-uhHuClVRMYGmPNhpidI2uI_dtxZ9Ee233PE8q5yg0ipNhilNRtP5r0iyvecji2iHhjQ5E8AqOBs8LTRtq40MYuGEY4hjVpAORPZWdgAGAKM; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=gMAF1G6FWA0TyItIdyJo7BOgl9a7AL2inDpv0N5n8Eo-1749804467830-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533cda213852-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZFpFRVFYSDdxb09XczR4NVJMck03 + WkJiRSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwK + ICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAibG9n + cHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgog + ICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAx + NTU1LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTAsCiAgICAidG90YWxf + dG9rZW5zIjogMTU2NSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7 + CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAgImF1ZGlvX3Rv + a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk + aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r + ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog + MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi + c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZSBhcyBu + b3Qgbm93In1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '404' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '408' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '175235' + X-Ratelimit-Reset-Requests: + - 799ms + X-Ratelimit-Reset-Tokens: + - 7.429s + X-Request-Id: + - req_f814234a1608403dc83c54c42b0389c7 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=g7NMyoyUzid5E_ECQbBF68L4PWE1NGY18tB1lfCafuA-1749804468-1.0.1.1-er4.Swja5D..atIG4B.nunoZZbhPvdQfUstzlM7SGyASdpJCyxuS5WebVtaSESXGPogUaXngvKQp6OHWNIUlRww7tZ7lFG4Q_OmLZWTRyUI; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=kZgtRI2bLgt2TZyJUGZdQofe1lZf9XGlzMXz3Tp_6tI-1749804468841-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053444dc1c8f8-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZU9oUXZrcDBIeWFoQXdySGlBNjZZ + Y0tZZyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvY2xvc2Ugbm90IG5vd1wiXVxufSIsCiAgICAgICAgInJlZnVzYWwi + OiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAg + ICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjog + InN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rv + a2VucyI6IDE1NTgsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiAxMiwKICAg + ICJ0b3RhbF90b2tlbnMiOiAxNTcwLAogICAgInByb21wdF90b2tlbnNfZGV0 + YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4LAogICAgICAi + YXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vu + c19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAg + ICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGlj + dGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90 + b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1 + bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNhMmY4ZiIK + fQo= + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZSBjYXJk + cyBhc3NpZ25lZCB0byBqeiJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1 + cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '672' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '681' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '491' + X-Ratelimit-Remaining-Tokens: + - '165155' + X-Ratelimit-Reset-Requests: + - 1.027s + X-Ratelimit-Reset-Tokens: + - 10.453s + X-Request-Id: + - req_d41dc19f67c3987ad520a3cbacb8cf15 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=5.5jmmXuspTiIiV.Nmt7PGKvRvVSuwOqZyk3q7a74I4-1749804469-1.0.1.1-Adjzd9bID75CIp.tExLTHnT36eteerqWYpL0RQySDvkd3kjvYZA6HHR4YoGuFRGRql05EXvhulNEHe2U097qGKfUWWM0O0AUghxVO3wQOYM; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=iqAYko5m5zlr8Xd75rAf5rs8DUru6_f0Aj7l.fpAzyU-1749804469839-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534a987fcbd0-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZjJiZUhucmNtUzVLNGZzZlp0ZXBi + MVNpbCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfSxcbiAgXCJjb21tYW5k + c1wiOiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVs + bCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAi + bG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9w + IgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMi + OiAxNTYwLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMjUsCiAgICAidG90 + YWxfdG9rZW5zIjogMTU4NSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMi + OiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTI4MCwKICAgICAgImF1ZGlv + X3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0 + YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAi + YXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25f + dG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5z + IjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwK + ICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImNsb3NlIn1dLCJzdHJlYW0iOmZh + bHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '390' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '401' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '492' + X-Ratelimit-Remaining-Tokens: + - '157300' + X-Ratelimit-Reset-Requests: + - 892ms + X-Ratelimit-Reset-Tokens: + - 12.809s + X-Request-Id: + - req_82fada5d17f3baed6f163ad8053dcec4 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=vwzldwbxpqQHDcMSaitDyEtb3QtB8rLbLvMQG4kaaq8-1749804470-1.0.1.1-9l9EMFTZQ_.4qS4Chu37wiIfUrY4ZPd.BCFOmRZpwHuafmV2ybYxnPnGTAWmVKca8W9PJKVoFjoKb7toief3oMIq8FrJeHW3ewCQwLRIo1E; + path=/; expires=Fri, 13-Jun-25 09:17:50 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=7vy.v001pLIYc8vvUXzve3EZAAPUZVAGYORc8wcbjKg-1749804470578-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f05350ef79eca1-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZ09lZEc5TmNHQjUwdTUweU9OcktU + MUlvSCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwK + ICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAibG9n + cHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgog + ICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAx + NTUzLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTAsCiAgICAidG90YWxf + dG9rZW5zIjogMTU2MywKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7 + CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAgImF1ZGlvX3Rv + a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk + aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r + ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog + MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi + c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:50 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_combine_commands_and_filters.yml b/test/vcr_cassettes/command/ai/translator_test-test_combine_commands_and_filters.yml index e77858cdf..5376bbd17 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_combine_commands_and_filters.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_combine_commands_and_filters.yml @@ -734,4 +734,738 @@ http_interactions: bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNhMmY4ZiIKfQo= recorded_at: Thu, 05 Jun 2025 10:43:06 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJhc3NpZ24gYW5k + eSB0byB0aGUgY3VycmVudCAjZGVzaWduIGNhcmRzIGFzc2lnbmVkIHRvIGp6 + IGFuZCB0YWcgdGhlbSB3aXRoICN2MiJ9XSwic3RyZWFtIjpmYWxzZSwidGVt + cGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '944' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '960' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '492' + X-Ratelimit-Remaining-Tokens: + - '185562' + X-Ratelimit-Reset-Requests: + - 926ms + X-Ratelimit-Reset-Tokens: + - 4.331s + X-Request-Id: + - req_07581f6a6670c5cd9d40341cfc584999 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=fLzI42xJ60Be_Eznyfmdb0hes9a4hC0y9WUD1SlsxvE-1749804468-1.0.1.1-urYrK4mZNMxhFFmvn7L_CwBQKH6nsMXVRfwfctdIO7L_XvAulsDtY7CaLNSrNKcve8nTdG8PDrcDY9.c_IcwauAdcc6rEdgV0DNtdsWY0ns; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=QjVPV_hyUd_6_VxI.UCkoHY_J8CSq9IRN4vyjZNK9og-1749804468223-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533d1c9a0328-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZDgxa0RianBGWGlyNEpTMFU0bERQ + Y0NpeCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0sIFwidGFnX2lkc1wiOiBb + XCJkZXNpZ25cIl0gfSxcbiAgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGFu + ZHlcIiwgXCIvdGFnICN2MlwiXVxufSIsCiAgICAgICAgInJlZnVzYWwiOiBu + dWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAgICAg + ICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjogInN0 + b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rva2Vu + cyI6IDE1NzQsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiA0MCwKICAgICJ0 + b3RhbF90b2tlbnMiOiAxNjE0LAogICAgInByb21wdF90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4LAogICAgICAiYXVk + aW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vuc19k + ZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAgICAg + ICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGljdGlv + bl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tl + bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi + LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZSBjYXJk + cyBhc3NpZ25lZCB0byBhbmR5IGFuZCBhc3NpZ24gdGhlbSB0byBrZXZpbiJ9 + XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '752' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '759' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '172007' + X-Ratelimit-Reset-Requests: + - 693ms + X-Ratelimit-Reset-Tokens: + - 8.397s + X-Request-Id: + - req_62b6125e2a874dd7c922a3b0eb60b6e6 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=CpTVPfjO4rjxB6t3RKrq.Ec7FWwfv9hPQ_hK_xwDMUM-1749804469-1.0.1.1-xa.ITzosoKbkozkk6eFJzgLSXdW.AKw6mSo2wUBOs5bYlMJpE8RBPcZkLuJ6s5ZCtVbHCXNPb0zfWTMOsmOLuKDwefawoofA8KldxRaHOM4; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=BQ6Co7KmmcCZsGzOAu6lLn0mSGZVgcnzDSslFQhdBMs-1749804469665-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f05346cb0d0144-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZVNHNnJ0R2NuUzdIRThPMXRYdjkz + WllvaSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSB9LFxuICBcImNvbW1h + bmRzXCI6IFtcIi9jbG9zZVwiLCBcIi9hc3NpZ24ga2V2aW5cIl1cbn0iLAog + ICAgICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMi + OiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAi + ZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjog + ewogICAgInByb21wdF90b2tlbnMiOiAxNTY2LAogICAgImNvbXBsZXRpb25f + dG9rZW5zIjogMjksCiAgICAidG90YWxfdG9rZW5zIjogMTU5NSwKICAgICJw + cm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5z + IjogMTQwOCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAi + Y29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmlu + Z190b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAg + ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVj + dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZp + Y2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50Ijog + ImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJhc3NpZ24gY2Fy + ZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiBhc3NpZ25lZCB0byBqeiB0byBhbmR5 + IGFuZCB0YWcgdGhlbSB3aXRoICN2MiJ9XSwic3RyZWFtIjpmYWxzZSwidGVt + cGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '832' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '836' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '495' + X-Ratelimit-Remaining-Tokens: + - '162832' + X-Ratelimit-Reset-Requests: + - 595ms + X-Ratelimit-Reset-Tokens: + - 11.15s + X-Request-Id: + - req_1e1423eaad5c118dbf735413f420e7bd + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=ye6oDBPfOjSmtsw6lw2VW08_mZeY.vSQsj4_zuh9cF0-1749804470-1.0.1.1-xArxZhRWP76dJNM9TrcQ8Y3WzFABHGfF0upAVQsPVsCX5TymnFmNO1LGWjDaqc2Mrp3yxpoKVi3CnbBMnv4SWJxExcpAN5oZ0DQtCnh_.Mk; + path=/; expires=Fri, 13-Jun-25 09:17:50 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=Z34sOg91KS2um9P.UBidvtUnDugH.rs1u_XP_Q5Vudk-1749804470821-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534fc8e903eb-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZjRpaUZxeHNZaWxkWmN6anBuT3d1 + NUFIZiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSwgXCJhc3NpZ25lZV9pZHNc + IjogW1wianpcIl0gfSxcbiAgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGFu + ZHlcIiwgXCIvdGFnICN2MlwiXVxufSIsCiAgICAgICAgInJlZnVzYWwiOiBu + dWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAgICAg + ICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjogInN0 + b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rva2Vu + cyI6IDE1NzQsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiA0MCwKICAgICJ0 + b3RhbF90b2tlbnMiOiAxNjE0LAogICAgInByb21wdF90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4LAogICAgICAiYXVk + aW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vuc19k + ZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAgICAg + ICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGljdGlv + bl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tl + bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi + LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:50 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_assignments.yml b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_assignments.yml index 988fcc9fa..c79a5e0fc 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_assignments.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_assignments.yml @@ -1454,4 +1454,1458 @@ http_interactions: ImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfZjEyMTY3 YjM3MCIKfQo= recorded_at: Thu, 05 Jun 2025 10:43:35 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyBhc3Np + Z25lZCB0byBqeiJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAu + N30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '507' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '513' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '498' + X-Ratelimit-Remaining-Tokens: + - '196941' + X-Ratelimit-Reset-Requests: + - 237ms + X-Ratelimit-Reset-Tokens: + - 917ms + X-Request-Id: + - req_cba7ca9d453e4b6f0efe0e656cbd8bf2 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=H6rtCV8LK9HuhSQqkYuMFZRQ_3oxz4UPwzqazmqOIoI-1749804467-1.0.1.1-3hWaY4gKB2sb0uyK3nL_Ap9XGCcVtG_.lGnziaktV8r_Y3Ab_CPNFAeJxdZgJ5MV2Oio9Hlc8ntTb6K.Dz56my.sIZD66_hZSilz7gpoSzU; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=F1tQjnoPt3yCNao5l1QLkSr_srZOhZ_odgHpUtzCE5M-1749804467503-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533c7b91ec8b-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY1ZOajlmc2ZGQ2U4Q2FienZkMmVC + UG16ZyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfVxufSIsCiAgICAgICAg + InJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAg + ICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hf + cmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAi + cHJvbXB0X3Rva2VucyI6IDE1NTksCiAgICAiY29tcGxldGlvbl90b2tlbnMi + OiAxNywKICAgICJ0b3RhbF90b2tlbnMiOiAxNTc2LAogICAgInByb21wdF90 + b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4 + LAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0 + aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2Vu + cyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0 + ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJl + ZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVy + IjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgz + NDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJhc3NpZ25lZCB0 + byBqeiJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '460' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '465' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '180043' + X-Ratelimit-Reset-Requests: + - 754ms + X-Ratelimit-Reset-Tokens: + - 5.986s + X-Request-Id: + - req_7c6d86525ff6bec03d4beb6d03828482 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=Lx4tXauOG7vv4k3IFQlgub_DtERYgKk5OrcynZ7zX5M-1749804468-1.0.1.1-RtKnHWvHM0m4veDs9jjPhzsmHW9IPRRUczlersHV5cpHqhho6U_yiu91nhFzEVOhuF1dJZfUph331db7IJUu.AqB3q7ivh.3o6StJUotBrI; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=C21V2XJr9nx2M5zDV2GNclCIh00Y121.whwrqF4luQ8-1749804468450-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053434c9d0140-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZDdPd1FIWFVhbXlJcWt2ZWlOSUVZ + ekYxSyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfVxufSIsCiAgICAgICAg + InJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAg + ICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hf + cmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAi + cHJvbXB0X3Rva2VucyI6IDE1NTgsCiAgICAiY29tcGxldGlvbl90b2tlbnMi + OiAxNywKICAgICJ0b3RhbF90b2tlbnMiOiAxNTc1LAogICAgInByb21wdF90 + b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4 + LAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0 + aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2Vu + cyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0 + ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJl + ZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVy + IjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgz + NDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJ1bmFzc2lnbmVk + IGNhcmRzIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '568' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '640' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '171627' + X-Ratelimit-Reset-Requests: + - 798ms + X-Ratelimit-Reset-Tokens: + - 8.511s + X-Request-Id: + - req_e63dcf10093a22bc6ef88cef6847d532 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=NpuHgZza9MK4NVVERlc7REx3nGsZvq.PdFJzrb0HhKg-1749804469-1.0.1.1-7Hw1TGLmmqJrUVCWHO_VHcG_Bmc89llVg6mENCppoVLuaOhE5_Jl2cKjAdH7V6juiwFFgKxqzzlZS39k1TAyTCMYiXCIrlMdk89_WC92I_U; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=cfi6opfkRBH_46NEyaGHSPMv24fszxnCzEtEkNAnyU0-1749804469484-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053487c071ba7-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZXRNN216M08ybTRsWlVBNnc1bVkz + YVJMZiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImFzc2lnbm1lbnRfc3RhdHVzXCI6IFwidW5hc3NpZ25lZFwi + XG4gIH1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAi + YW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBu + dWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0s + CiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAxNTU3LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zIjogMTgsCiAgICAidG90YWxfdG9rZW5zIjog + MTU3NSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJj + YWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAK + ICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAg + ICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5z + IjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwK + ICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQog + IH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2Zp + bmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJub3QgYXNzaWdu + ZWQifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '542' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '547' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '163965' + X-Ratelimit-Reset-Requests: + - 612ms + X-Ratelimit-Reset-Tokens: + - 10.81s + X-Request-Id: + - req_cb38dcbfa610c6fc3d99c2a5c0be20b8 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=6HH0kAWygm.C7k4uV949t3tjH3D6Mdvo3GgOK02OgMo-1749804470-1.0.1.1-o1EN4kjqv.uv6_wRyY7r5DBmUnt4gfC0qW61Td177.4N5VG6c0wo0dcGeaHRgAcY8i1aKbWkxUf3RGRBqzB4UAeRnF.4eG_YpgDNpf1kANQ; + path=/; expires=Fri, 13-Jun-25 09:17:50 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=6O7FJs_0AjDVuEAUqHicXZB7w6qZdKhfYcqVYOk8SWw-1749804470368-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534eaf6569fa-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZkNYZWtaUkd6ZjM4ZkExS1NBenFV + a2djUCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25tZW50X3N0YXR1c1wiOiBcInVuYXNzaWduZWRcIiB9XG59 + IiwKICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRp + b25zIjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAg + ICAgImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2Fn + ZSI6IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1NiwKICAgICJjb21wbGV0 + aW9uX3Rva2VucyI6IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzIsCiAg + ICAicHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rv + a2VucyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAog + ICAgImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFz + b25pbmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAg + ICAgICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJy + ZWplY3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJz + ZXJ2aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmlu + dCI6ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:50 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyBhYm91 + dCBwZXJmb3JtYW5jZSBhc3NpZ25lZCB0byBqb3JnZSJ9XSwic3RyZWFtIjpm + YWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:51 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '891' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '902' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '496' + X-Ratelimit-Remaining-Tokens: + - '157498' + X-Ratelimit-Reset-Requests: + - 442ms + X-Ratelimit-Reset-Tokens: + - 12.75s + X-Request-Id: + - req_3a8728da9ab418f226ab1428334cd01e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=HSIX93LSbxTndO32kuSOWHcwO6t2J6ctn8Pe3L7UgDU-1749804471-1.0.1.1-q4XHPSOYuplSUhCyXY.x5Qb4KtLdNvn8z.7NnaN_5v5xisyxLlk13U3x22SaljRgjE1z5Z5iJ0DRmgIkz2LXveUnS8nW1Jn_YClqYdHjI44; + path=/; expires=Fri, 13-Jun-25 09:17:51 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=uim16ct8KeQEZBLNE95fOAOnnCWkNYmBZdYTCtHt_Fg-1749804471605-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053542a530267-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZ2FNMEZGWnNodTEwZHViQ2JuS3o5 + bnpUaSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0ZXJtc1wiOiBbXCJwZXJmb3JtYW5jZVwiXSwgXCJhc3NpZ25lZV9p + ZHNcIjogW1wiam9yZ2VcIl0gfVxufSIsCiAgICAgICAgInJlZnVzYWwiOiBu + dWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAgICAg + ICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjogInN0 + b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rva2Vu + cyI6IDE1NjEsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiAyMywKICAgICJ0 + b3RhbF90b2tlbnMiOiAxNTg0LAogICAgInByb21wdF90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4LAogICAgICAiYXVk + aW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vuc19k + ZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAgICAg + ICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGljdGlv + bl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tl + bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi + LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:51 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImNhcmRzIGFzc2lnbmVkIHRvIGp6 + In1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:52 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '461' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '464' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '158302' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 12.509s + X-Request-Id: + - req_267756cf48df8735ec6ca7981c75d782 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=CuOUMsRbr7FBZQ6nMduoHjPDvh0uZqBjiU13Q3OcjAo-1749804472-1.0.1.1-vg2Ai8A42R4rEwif0GDscJLWGRUCel5jLvIkg8xkYXXGWRxXTTTrxC5XpowrGYj_BBBUgFMKLSERVoe7Wm_LLt7d.7vtlkt1eRjg6G3WRww; + path=/; expires=Fri, 13-Jun-25 09:17:52 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=kofi5VGK_aESNeO5Tho4yK06SYu.vQD4ovrqU0KthJg-1749804472540-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0535c8e51cbd0-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNaGl1VW5EMnZJVWxmRVREelV0a05k + czZXViIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfVxufSIsCiAgICAgICAg + InJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAg + ICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hf + cmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAi + cHJvbXB0X3Rva2VucyI6IDE1NTcsCiAgICAiY29tcGxldGlvbl90b2tlbnMi + OiAxNywKICAgICJ0b3RhbF90b2tlbnMiOiAxNTc0LAogICAgInByb21wdF90 + b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAwLAog + ICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9u + X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6 + IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRf + cHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGlj + dGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjog + ImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgzNDNh + MmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:52 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_card_id.yml b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_card_id.yml index afa1370db..a9114ee5a 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_card_id.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_card_id.yml @@ -726,4 +726,730 @@ http_interactions: ZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8z ODM0M2EyZjhmIgp9Cg== recorded_at: Thu, 05 Jun 2025 10:43:10 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkIDEyMyJ9 + XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '474' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '481' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '497' + X-Ratelimit-Remaining-Tokens: + - '195493' + X-Ratelimit-Reset-Requests: + - 330ms + X-Ratelimit-Reset-Tokens: + - 1.352s + X-Request-Id: + - req_09f8fe12d9cf63c6f22fdf5489c596a9 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=OlaXcnDCGstL8mDp_psD2EadybV3zWh7EORhGfF0aL8-1749804467-1.0.1.1-j1_7bsRly82HqjMbWr4lUQJDUU7.s5zzh2cNR1pOQciJebz0HVU88npi958Lr5_VnDa7d0b_rShPko10xnr2NHj3l32ylyG8eiv9zdkDuvw; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=0bKkuRjsrinYoHb_kBQn.722.Kl9kBFzkmpQTJDbCUY-1749804467552-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533d9fc60331-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZFZFb0ZuU0NmbWswMXdOQ2ZvdGk5 + Y3dNciIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJjYXJkX2lkc1wiOiBbMTIzXSB9XG59IiwKICAgICAgICAicmVmdXNh + bCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAgICAgfSwK + ICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9yZWFzb24i + OiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJwcm9tcHRf + dG9rZW5zIjogMTU1NywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDE1LAog + ICAgInRvdGFsX3Rva2VucyI6IDE1NzIsCiAgICAicHJvbXB0X3Rva2Vuc19k + ZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgsCiAgICAg + ICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRpb25fdG9r + ZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjogMCwK + ICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRlZF9wcmVk + aWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVkaWN0aW9u + X3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIiOiAiZGVm + YXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0M2EyZjhm + Igp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkIDEyMywg + NDU2In1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '474' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '476' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '179738' + X-Ratelimit-Reset-Requests: + - 839ms + X-Ratelimit-Reset-Tokens: + - 6.078s + X-Request-Id: + - req_64a1b9a585eda882652c4a5c17d5825c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=IhPSxiK2OAcGtWBkl8ws8HsHiTVkoI0q74DO6kBZxrw-1749804468-1.0.1.1-cS.BdFSoHKJgqTP4lmKp2_WQhTpd9SEjHJUDmWe86e13QTMmbjyLFRp1nRGhRoq7VOIwXLcuJrmW51Ca9MHRaxsxBLQLGRlHMw2JHjxYzi8; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=u4MDJ00VySF50vQv.FgxPI.grSjUqP1awAuNH6KkG6k-1749804468490-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053435c5c0355-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZHBad290MDZ0d1V6VEszTGFyTWZa + WXR4VSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJjYXJkX2lkc1wiOiBbMTIzLCA0NTZdIH1cbn0iLAogICAgICAgICJy + ZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAg + ICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3Jl + YXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInBy + b21wdF90b2tlbnMiOiAxNTYwLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjog + MTgsCiAgICAidG90YWxfdG9rZW5zIjogMTU3OCwKICAgICJwcm9tcHRfdG9r + ZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwK + ICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlv + bl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMi + OiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVk + X3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRp + Y3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6 + ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQz + YTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiIxMjMifV0sInN0 + cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '521' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '529' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '168006' + X-Ratelimit-Reset-Requests: + - 838ms + X-Ratelimit-Reset-Tokens: + - 9.598s + X-Request-Id: + - req_3ca1d3017d48f9fa699d9f16829f207a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=tWnpefv5XH.o5lWCU_3D0VlFFOuZrieN79t.iWJ._Ss-1749804469-1.0.1.1-oQHPCX3WS60hlo9J5kSNh8pv_6skoeFB.3Bl1TYzeje2rSpmAn4jdA708s2IpH6Wt1JxIKSmZeL0dymk3MW63rV84izPsH8f2rw28AK0.JI; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=6Af9h4s7DXBr_nRTown5LOS1ucEDipDlMZWNge92iZo-1749804469684-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053487bbcf768-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZkNHdXU5d3BwazFKaEoyZnpPYTFH + SVplTyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcInRlcm1zXCI6IFtcIjEyM1wiXVxuICB9XG59IiwKICAgICAg + ICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10K + ICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlz + aF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAg + ICJwcm9tcHRfdG9rZW5zIjogMTU1NSwKICAgICJjb21wbGV0aW9uX3Rva2Vu + cyI6IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzEsCiAgICAicHJvbXB0 + X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0 + MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBs + ZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9r + ZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2Nl + cHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9w + cmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3Rp + ZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8z + ODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_collections.yml b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_collections.yml index 9eef97c85..0790e88d1 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_collections.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_collections.yml @@ -243,4 +243,247 @@ http_interactions: dmljZV90aWVyIjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQi OiAiZnBfMzgzNDNhMmY4ZiIKfQo= recorded_at: Thu, 05 Jun 2025 10:43:28 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJ3cml0ZWJvb2sg + Y29sbGVjdGlvbiJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAu + N30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '443' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '450' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '498' + X-Ratelimit-Remaining-Tokens: + - '197186' + X-Ratelimit-Reset-Requests: + - 164ms + X-Ratelimit-Reset-Tokens: + - 844ms + X-Request-Id: + - req_c2dcfbbcd264963d79538d67427954e1 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=J6Dz_smleZDzyRCN7nrE1e0numMQvrx_l3gE9A7v2.4-1749804467-1.0.1.1-0aCumAzUVFSkIPlG9tJk4kzeEwQPM7Us02Ex7jXYYcEhGtdlXBKKn7gxmx2R7ZWN3zPSC6qgH5_DKcG0O3AmiDOGx0H_rTOA40V5BwHXy3I; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=rdXNvPRrlPkuj3hDjm11rHX0u5fuqt0PKeyvPCdxMys-1749804467512-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533c78fa2fa1-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNYzhUd085NGhQeGdZM3RrY0dFQXo3 + c2xxVyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJjb2xsZWN0aW9uX2lkc1wiOiBbXCJ3cml0ZWJvb2tcIl0gfVxufSIs + CiAgICAgICAgInJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9u + cyI6IFtdCiAgICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAg + ICJmaW5pc2hfcmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2Ui + OiB7CiAgICAicHJvbXB0X3Rva2VucyI6IDE1NTcsCiAgICAiY29tcGxldGlv + bl90b2tlbnMiOiAxNiwKICAgICJ0b3RhbF90b2tlbnMiOiAxNTczLAogICAg + InByb21wdF90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tl + bnMiOiAxNDA4LAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAg + ICJjb21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29u + aW5nX3Rva2VucyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAg + ICAiYWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVq + ZWN0ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2Vy + dmljZV90aWVyIjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQi + OiAiZnBfMzgzNDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_indexed_by.yml b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_indexed_by.yml index e62abcda3..5f3385357 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_indexed_by.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_indexed_by.yml @@ -1695,4 +1695,1699 @@ http_interactions: ciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4 MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:43:16 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZWQgY2Fy + ZHMifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '494' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '500' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '498' + X-Ratelimit-Remaining-Tokens: + - '196973' + X-Ratelimit-Reset-Requests: + - 228ms + X-Ratelimit-Reset-Tokens: + - 907ms + X-Request-Id: + - req_b00b4d14859e8741ed2512485946be2c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=TLN5N90WVNYbI_qDMAipyJWkLHBddFjTAZEVu98ag4I-1749804467-1.0.1.1-Yxgu68Z_psm2EuyUq3H4N3t_LefBIgMe_S9J0oIipi8881Io1gUL5TDbI3aPb2YsPBqoIYP8KJLhzTAj.pykF4Axqby1LL7.0TlSzMjeIW8; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=FsQpEl0qMson_96jUuPUaqDyapkkZcAzNro39ZNMAhQ-1749804467466-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533caee603cb-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY1MwODQ0OGJYV2lwcFFzWVE5UE53 + TVd3VSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImluZGV4ZWRfYnlcIjogXCJjbG9zZWRcIlxuICB9XG59IiwK + ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z + IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg + ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6 + IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1NiwKICAgICJjb21wbGV0aW9u + X3Rva2VucyI6IDE3LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzMsCiAgICAi + cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu + cyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p + bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg + ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl + Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2 + aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 + ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjb21wbGV0ZWQg + Y2FyZHMifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '504' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '511' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '180046' + X-Ratelimit-Reset-Requests: + - 735ms + X-Ratelimit-Reset-Tokens: + - 5.986s + X-Request-Id: + - req_353408d791c7768aed1969e98bb9ce3c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=InTjHpUIslGII.LEVpeNodXUmYjVdFZ0vqOgxfQtR2o-1749804468-1.0.1.1-o2xauSWn8OsafzHqYU.CViClixoOCQbTT251pWEnPfUhpsNBdv4euEgTeFj2w1Dm7JbwgxzYFkb0cnmn0NR96len3nhU4aZc7ZEEjtn7ZZU; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=cNfbACtUp.RSW_b5lS4s_wE2U7RG9hGF4h3C_qBB_TM-1749804468563-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053435ea4c90e-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZFE5UWJDeUZMMHFoRDJHSnRXd3Nv + Ymw1bCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImluZGV4ZWRfYnlcIjogXCJjbG9zZWRcIlxuICB9XG59IiwK + ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z + IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg + ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6 + IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1NiwKICAgICJjb21wbGV0aW9u + X3Rva2VucyI6IDE3LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzMsCiAgICAi + cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu + cyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p + bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg + ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl + Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2 + aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 + ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjb21wbGV0ZWQi + fV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '646' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '648' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '171856' + X-Ratelimit-Reset-Requests: + - 742ms + X-Ratelimit-Reset-Tokens: + - 8.442s + X-Request-Id: + - req_4b1c0fc6ba4f5e90a3ca20abacc40a92 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=2vgpxQLTyCybL_Xfd3VGe_GsZWZVXhdA0D7h7gtpfqs-1749804469-1.0.1.1-IGcGUk..UkO0kc4iAiHUWBg5nfSse05anAFjaNbFb3z9BwgJ8pkriRujrVmfy5HNaMvxULVtEngzAsgmmLWQ2_yqDBIxDiweqY4UOy3Hh8A; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=RYsnDyDgtHr3aAbMTKUKdEsuV7V9fVF45cZ9fpsiOss-1749804469537-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f05348da1eec89-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZVFvbmNQVkh1dDVhQ1RPNElOdjZ5 + bk92RCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJpbmRleGVkX2J5XCI6IFwiY2xvc2VkXCIgfVxufSIsCiAgICAgICAg + InJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAg + ICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hf + cmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAi + cHJvbXB0X3Rva2VucyI6IDE1NTUsCiAgICAiY29tcGxldGlvbl90b2tlbnMi + OiAxNSwKICAgICJ0b3RhbF90b2tlbnMiOiAxNTcwLAogICAgInByb21wdF90 + b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxNDA4 + LAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0 + aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2Vu + cyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0 + ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJl + ZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVy + IjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfMzgz + NDNhMmY4ZiIKfQo= + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJyZWNlbnQgY2Fy + ZHMifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:52 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '523' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '2029' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '162593' + X-Ratelimit-Reset-Requests: + - 672ms + X-Ratelimit-Reset-Tokens: + - 11.221s + X-Request-Id: + - req_bb69896a5505552fc4507a568cbc268b + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=h3LybqssGWjkEbPFV5SybRn6YOgweV.k6XxeaMhn.Qs-1749804472-1.0.1.1-nZNiS1JYIZKGF7NxpxwszxpEWZdfaAPwytXaa6ObZseQ8V.boqYL4v75PiXFNkL8EZxhBe9b19b.v1pt5J6WJRILBLaTcNMGO_V0BYdhKo0; + path=/; expires=Fri, 13-Jun-25 09:17:52 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=dlHWZNsZtjIrqpi605IgiuWwMx11BWMFyPWq3hc543c-1749804472000-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534f0eea2fc7-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNaFNyaWNRemhUNzlMRTh1d1FGdnBJ + aEtJNyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImluZGV4ZWRfYnlcIjogXCJuZXdlc3RcIlxuICB9XG59IiwK + ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z + IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg + ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6 + IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1NiwKICAgICJjb21wbGV0aW9u + X3Rva2VucyI6IDE4LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzQsCiAgICAi + cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu + cyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p + bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg + ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl + Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2 + aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 + ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:51 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyB3aXRo + IHJlY2VudCBhY3Rpdml0eSJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1 + cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:52 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '542' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '546' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '157962' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 12.611s + X-Request-Id: + - req_bf7d5955460237ef2309cfe201107e7a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=EIH1frQxf7J0QT1IuCT.BfdWsSKsJ_uJQPVYW86jhIA-1749804472-1.0.1.1-sRaMA2NcMDXvTzxcdksvt_p0nlywn9bfP7CnxeY6eAzawvoTwx4RzKHAihEIhrmET.6wq_4XM0W7KStqBM9u9otQk.9sYljOuJOZmNED_Yc; + path=/; expires=Fri, 13-Jun-25 09:17:52 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=aDGwEzcdMLmvxu6vHioUrqkyqLEr4GDAq1mhUifNuUs-1749804472878-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0535e6e2e034d-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNaU1ZdTFTZ1JpUDNTc1JKRXl4dlJZ + M0NWUCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcImluZGV4ZWRfYnlcIjogXCJsYXRlc3RcIlxuICB9XG59IiwK + ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z + IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg + ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6 + IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1OCwKICAgICJjb21wbGV0aW9u + X3Rva2VucyI6IDE3LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzUsCiAgICAi + cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu + cyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p + bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg + ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl + Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2 + aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 + ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:52 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJzdGFsbGVkIGNh + cmRzIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:53 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '571' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '578' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '159409' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 12.177s + X-Request-Id: + - req_5559a5973a6308ec82ab0acb9ce1b1cd + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=PM9HQfQZhBj_9YEmRziGwX3O6eavmCeK0tf47xarhU4-1749804473-1.0.1.1-BhIkL3CePy52WVulrt7fTsepdZJFNAjuHsOXs_5V8rTIQaH6AXB3wpT5JsGta2L1hEBTXIVeH6XuMh9_3De.lEUOSCCy0rQEbj2c5.hatSQ; + path=/; expires=Fri, 13-Jun-25 09:17:53 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=u5XzX9XMvi3cXkMc0FQ5r5ks_A_Axrw_EQNLyY5vp.M-1749804473798-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f05363eb85cf8c-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNalVlOEk2a2w1ZldtWHNUT1VIeVdU + VWFUWiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJpbmRleGVkX2J5XCI6IFwic3RhbGxlZFwiIH1cbn0iLAogICAgICAg + ICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQog + ICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNo + X3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAg + InByb21wdF90b2tlbnMiOiAxNTU3LAogICAgImNvbXBsZXRpb25fdG9rZW5z + IjogMTYsCiAgICAidG90YWxfdG9rZW5zIjogMTU3MywKICAgICJwcm9tcHRf + dG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQw + OCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxl + dGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tl + bnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2Vw + dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3By + ZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGll + ciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4 + MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:53 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJzdGFnbmF0ZWQg + Y2FyZHMifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:55 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '522' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '527' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '162467' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 11.259s + X-Request-Id: + - req_eda643186c570f8433ae8d904c06fc26 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=nQ0JXntfhrKqWZ7SU7sLfJpZPxUYvmaVJg7MzJGcb_Y-1749804475-1.0.1.1-O4NBsfV5fTPikAUZIMsfmBcPTTySShlZdVZ.rJchuqJ9YZtk_96L0H2PVC4ImOGj9mb1ikx_nma8Nya76G1da_Z2QLiiXZ90gekjJaMJuvM; + path=/; expires=Fri, 13-Jun-25 09:17:55 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=7N2maMwp3TtV_fgHdLRPkLh3ttDFPurw8r5FZq77yCQ-1749804475141-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053699eca0419-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNa0FkczhqMHU1eEs5cEtqZmZvY3do + MzhNQSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3NCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJpbmRleGVkX2J5XCI6IFwic3RhbGxlZFwiIH1cbn0iLAogICAgICAg + ICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQog + ICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNo + X3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAg + InByb21wdF90b2tlbnMiOiAxNTU4LAogICAgImNvbXBsZXRpb25fdG9rZW5z + IjogMTYsCiAgICAidG90YWxfdG9rZW5zIjogMTU3NCwKICAgICJwcm9tcHRf + dG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQw + OCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxl + dGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tl + bnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2Vw + dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3By + ZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGll + ciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4 + MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:55 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_tag.yml b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_tag.yml index 47f03d477..641c4897f 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_filter_by_tag.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_filter_by_tag.yml @@ -971,4 +971,975 @@ http_interactions: OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 M2EyZjhmIgp9Cg== recorded_at: Thu, 05 Jun 2025 10:43:19 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyB0YWdn + ZWQgd2l0aCBkZXNpZ24ifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJl + IjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '482' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '486' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '489' + X-Ratelimit-Remaining-Tokens: + - '181146' + X-Ratelimit-Reset-Requests: + - 1.232s + X-Ratelimit-Reset-Tokens: + - 5.656s + X-Request-Id: + - req_a3c543053267d9e015160ea19746fb92 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=nRha7IS4orbU450uEE3.M8scSw2zmMMoKjAlMfWAhUY-1749804467-1.0.1.1-9zv6HKPAduvkftpY3mVRiFo1aXjr.c0h.HySV92EsWsjL4QfNmuMPZWeD_p85ubUGoooRCcvZXDGOSchKtxZgAOWGJCXHN0U9kRTD.1GApc; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=CwiWSAp2j1oZnh_EN3NeB1kqIJhMpOZgGV2AjP8Ww3E-1749804467816-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533d8ecf2fcb-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZG5lc3JEejRMUnQ0dG9CQkEzSWd2 + Tk44VSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi + cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg + ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y + ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw + cm9tcHRfdG9rZW5zIjogMTU1OCwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6 + IDE1LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzMsCiAgICAicHJvbXB0X3Rv + a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgs + CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp + b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z + IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl + ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk + aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi + OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 + M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyB0YWdn + ZWQgd2l0aCAjZGVzaWduIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVy + ZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '589' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '610' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '180319' + X-Ratelimit-Reset-Requests: + - 653ms + X-Ratelimit-Reset-Tokens: + - 5.904s + X-Request-Id: + - req_d4c94bb650795f14fe013d8d9b734615 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=9daulkDj0HaPcoY2Lj0i4jzAYFDEk3Q.aRXTjmBeNCs-1749804468-1.0.1.1-wHtxtLEySL_0_.fncTSEJ7htaY.X20U26IWAiAwZQaZRJU9Jf4C807D_DuO6fNCjuYfjFOnjxJybm42nQ1Fs0_5lDAgE.G6eu72Pl5x9hFo; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=ksNd7LuMI1fmT8XAI0iV5kFTwQN2s6Spxlzfj8hBnt8-1749804468753-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534429880270-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZUtIdUV4NDRuQ0V6MFFWQUFwbjZZ + SktBQiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi + cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg + ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y + ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw + cm9tcHRfdG9rZW5zIjogMTU1OSwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6 + IDE1LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzQsCiAgICAicHJvbXB0X3Rv + a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgs + CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp + b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z + IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl + ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk + aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi + OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 + M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiIjZGVzaWduIGNh + cmRzIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '462' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '467' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '492' + X-Ratelimit-Remaining-Tokens: + - '167782' + X-Ratelimit-Reset-Requests: + - 919ms + X-Ratelimit-Reset-Tokens: + - 9.665s + X-Request-Id: + - req_c796d015e1568cbd91bdfdf51bb2609c + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=DOSqYSLaq4.ql5h1fQupxbGWB5MbpemxTBC9g7LV01w-1749804469-1.0.1.1-qVgx4iLBGISJBjmeYt3sq6XTO9QD_T4.WAWlZXaUswisf3kTt4RFlW5KJ63OdFDPaoYTJVEJHh7tTNSQSyaFPYLLYLe2T0Uh5ySm5oSOmr0; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=QkBeOxn7WMfAyp5uyF9IpfIauJeHmGFd2zWRDJMmltA-1749804469531-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534a088203cb-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZXRtTGZuc0tmM011enMxYTU3cXVs + ek1FVSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi + cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg + ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y + ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw + cm9tcHRfdG9rZW5zIjogMTU1NywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6 + IDE1LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzIsCiAgICAicHJvbXB0X3Rv + a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgs + CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp + b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z + IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl + ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk + aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi + OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 + M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjYXJkcyB0YWdn + ZWQgd2l0aCBkZXNpZ24ifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJl + IjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '502' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '507' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '495' + X-Ratelimit-Remaining-Tokens: + - '163967' + X-Ratelimit-Reset-Requests: + - 598ms + X-Ratelimit-Reset-Tokens: + - 10.809s + X-Request-Id: + - req_61ae2544ab4fa18c7da5fc99ae66e6d5 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=lbBgizmFt_KiOhDaGulm6IjxJ5mK0iEaeb7AEiLlqJE-1749804470-1.0.1.1-G59R1f5ZAjdJSVoYZqLj9BPQ5WNkHuVYMpGPqC8VoQqCNuzsvuDL9Y6cPBfxq1VsCAIStrVijHn.GKxJZ6EEcYR3sVdupRUNQFAg3OHT1Iw; + path=/; expires=Fri, 13-Jun-25 09:17:50 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=pEXydwkJiGCftYRB23O_7_UR3CSZNYscu0AatLWAiQo-1749804470379-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534f0909cbd6-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZkJ0MlN6aHk2NDNsWk9ZalVGR0x3 + QlFPZSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi + cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg + ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y + ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw + cm9tcHRfdG9rZW5zIjogMTU1OCwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6 + IDE1LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzMsCiAgICAicHJvbXB0X3Rv + a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgs + CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp + b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z + IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl + ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk + aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi + OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0 + M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:50 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_getting_insight_on_cards.yml b/test/vcr_cassettes/command/ai/translator_test-test_getting_insight_on_cards.yml index 2f9a7dfef..e474f5581 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_getting_insight_on_cards.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_getting_insight_on_cards.yml @@ -970,4 +970,974 @@ http_interactions: aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 ICJmcF8zODM0M2EyZjhmIgp9Cg== recorded_at: Thu, 05 Jun 2025 10:43:27 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6InN1bW1hcml6ZSJ9XSwic3RyZWFt + IjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:48 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '552' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '1219' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '496' + X-Ratelimit-Remaining-Tokens: + - '192836' + X-Ratelimit-Reset-Requests: + - 451ms + X-Ratelimit-Reset-Tokens: + - 2.149s + X-Request-Id: + - req_682e8fe2498c5871cd64c2fd2f4cd15f + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=kn3zjjJQjEqmQdYVaHa0I.nj_ngeABipZNiH.s1SuaE-1749804468-1.0.1.1-3jYmLThjvdnoysjaWvT.K8f2ixgyQvnn.8oBlDJL2iyYYgdhS6ZKsOk5Cmy6yN31uEfFkhQiO3_Y.CexwlPjVlUqe.y19zrHZMOyv0ThwME; + path=/; expires=Fri, 13-Jun-25 09:17:48 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=Gkwdlvw_mgrwqz5bckb7xzoWlk4SsC9oxWnvrUjyC1w-1749804468311-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533daf9ecfd6-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZDlCb3p5cHNBeFNCNW5sVEZuam1W + TGE4SyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvaW5zaWdodCBzdW1tYXJpemVcIl1cbn0iLAogICAgICAgICJyZWZ1 + c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9 + LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNv + biI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21w + dF90b2tlbnMiOiAxNTU1LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTIs + CiAgICAidG90YWxfdG9rZW5zIjogMTU2NywKICAgICJwcm9tcHRfdG9rZW5z + X2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAg + ICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90 + b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAw + LAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3By + ZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rp + b25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJk + ZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJm + OGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:48 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6InN0ZXBzIHRvIHJlcHJvZHVjZSJ9 + XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '492' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '499' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '493' + X-Ratelimit-Remaining-Tokens: + - '168070' + X-Ratelimit-Reset-Requests: + - 833ms + X-Ratelimit-Reset-Tokens: + - 9.578s + X-Request-Id: + - req_49b4fd29ab1ef2cc2235bff8983af417 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=X4twDVzvsLRMkxz4vZq0vcmm8ahGWQ9JbJEJwMRz0W4-1749804469-1.0.1.1-uSTi.0tHcF0Qc2.xcXNeiaKz2PNPiCdUbDL9PkeYzp4o_49OZhRSaCeB0z2Yynf7EC1ZCYGd0ussv0t0taF4CvtrMu.qAxKlzi6uR1Fy9Qs; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=tMeAYaIywRrksYRl8cUmiByEf9yH60xTIohN1.ZSz88-1749804469613-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053474ad71ba7-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZlN3TUsxWDVGb09wVTJRQksyeTg2 + UmI1SSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvaW5zaWdodCBzdGVwcyB0byByZXByb2R1Y2VcIl1cbn0iLAogICAg + ICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBb + XQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmlu + aXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewog + ICAgInByb21wdF90b2tlbnMiOiAxNTU1LAogICAgImNvbXBsZXRpb25fdG9r + ZW5zIjogMTQsCiAgICAidG90YWxfdG9rZW5zIjogMTU2OSwKICAgICJwcm9t + cHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjog + MTQwOCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29t + cGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190 + b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFj + Y2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVk + X3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2Vf + dGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZw + XzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImNyZWF0ZSBhIHRhYmxlIHdpdGgg + dGhlIG1haW4gcGFydGljaXBhbnRzIGFuZCB0YWtlYXdheXMifV0sInN0cmVh + bSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:50 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '636' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '643' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '162655' + X-Ratelimit-Reset-Requests: + - 650ms + X-Ratelimit-Reset-Tokens: + - 11.203s + X-Request-Id: + - req_624109a0227870bea01613d671b69f93 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=.sxZ.MjG8iOm7VQMEuijMVYcJEKyxXIK1ZNJh.nolRQ-1749804470-1.0.1.1-lQ9uvHXe79.8D9w7SEmhuUaKucyEHSTbaBgxJklvJ0akHwboyhbfJgx4ZttjZni8iXPv6IjyYZQQmRexENuZX1O5agM9eghBRDB6X5vBJXs; + path=/; expires=Fri, 13-Jun-25 09:17:50 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=A5qLm_no2aVnDzOLhFcmE13Q3GsisQyX9iWtQ2EnoWs-1749804470590-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0534f6809cbe3-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZkpqaDlEMzZuNXBpRlNielVhYUFj + MXNWNSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvaW5zaWdodCBjcmVhdGUgYSB0YWJsZSB3aXRoIHRoZSBtYWluIHBh + cnRpY2lwYW50cyBhbmQgdGFrZWF3YXlzXCJdXG59IiwKICAgICAgICAicmVm + dXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAgICAg + fSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9yZWFz + b24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJwcm9t + cHRfdG9rZW5zIjogMTU2MiwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDIx + LAogICAgInRvdGFsX3Rva2VucyI6IDE1ODMsCiAgICAicHJvbXB0X3Rva2Vu + c19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0MDgsCiAg + ICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRpb25f + dG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjog + MCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRlZF9w + cmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVkaWN0 + aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIiOiAi + ZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8zODM0M2Ey + ZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:50 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifSx7 + InJvbGUiOiJ1c2VyIiwiY29udGVudCI6IndoYXQncyB0aGUgaXNzdWUgaGVy + ZT8ifV0sInN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:51 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '454' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '458' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '498' + X-Ratelimit-Remaining-Tokens: + - '157020' + X-Ratelimit-Reset-Requests: + - 216ms + X-Ratelimit-Reset-Tokens: + - 12.893s + X-Request-Id: + - req_15a18d411d2fe922272221e0ff7f298e + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=kvQZ_3DaJuFzllRMfWDIBSRBxWCGavdRJdrB.q08DNo-1749804471-1.0.1.1-f2qyEnR8rxKd921J6ChS38FMhiNjIjifB..Re3glmNsT6RXbhK4PVrV8c7TueglC9a2CbaXaPiJe8DcHLNQGzdJdCguRIgXgIG_GAZTx9BY; + path=/; expires=Fri, 13-Jun-25 09:17:51 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=4CTVSG5qWcaCpTVPEt7UbHBCmF03X5XQ3fjDYve5J40-1749804471542-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053569b5beca6-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZ1pTTGdOVDY3aTh6RnNYd01YbmFj + TjNBbyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ3MCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvaW5zaWdodCB3aGF0J3MgdGhlIGlzc3VlIGhlcmU/XCJdXG59IiwK + ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z + IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg + ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6 + IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTU1OCwKICAgICJjb21wbGV0aW9u + X3Rva2VucyI6IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDE1NzQsCiAgICAi + cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu + cyI6IDE0MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg + ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p + bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg + ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl + Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2 + aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6 + ICJmcF8zODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:51 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/ai/translator_test-test_tag_cards.yml b/test/vcr_cassettes/command/ai/translator_test-test_tag_cards.yml index 0baffe321..c6d94d133 100644 --- a/test/vcr_cassettes/command/ai/translator_test-test_tag_cards.yml +++ b/test/vcr_cassettes/command/ai/translator_test-test_tag_cards.yml @@ -241,4 +241,245 @@ http_interactions: ZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0 IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:43:07 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJ0YWcgd2l0aCAj + ZGVzaWduIn1dLCJzdHJlYW0iOmZhbHNlLCJ0ZW1wZXJhdHVyZSI6MC43fQ== + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '410' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '415' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '497' + X-Ratelimit-Remaining-Tokens: + - '194295' + X-Ratelimit-Reset-Requests: + - 352ms + X-Ratelimit-Reset-Tokens: + - 1.711s + X-Request-Id: + - req_cbb4f017b7dea6755ce2d19bc50d533a + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=MsH2dtOvFp6Zs23irqrU1LkSzogGo25L8GNqhlualuA-1749804467-1.0.1.1-IFKi4bxag3jRT_btTo6itl6UpzM5qBDK.E1O2ltXfQx_beIlcUt.s.cRKg4TM4Yesc8oc3Zw9NfR5hr2xLK28PND9fieKwgKQWdpyKT3vlc; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=KQsJIWLQLKyZWZaRgsUrVokHNBNs5pQe3xbWOQkeaTY-1749804467494-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533d89ac0335-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY2dsdTA4dnhJY3M1UTh3RlNqVjZR + REtzMSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi + OiBbXCIvdGFnICNkZXNpZ25cIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjog + bnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAg + ICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJz + dG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tl + bnMiOiAxNTU4LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTIsCiAgICAi + dG90YWxfdG9rZW5zIjogMTU3MCwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFp + bHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTQwOCwKICAgICAgImF1 + ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNf + ZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAg + ICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rp + b25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9r + ZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0 + IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/go_to_card_test-test_result_in_a_regular_search_if_the_card_does_not_exist.yml b/test/vcr_cassettes/command/go_to_card_test-test_result_in_a_regular_search_if_the_card_does_not_exist.yml index 61497c676..dea706d59 100644 --- a/test/vcr_cassettes/command/go_to_card_test-test_result_in_a_regular_search_if_the_card_does_not_exist.yml +++ b/test/vcr_cassettes/command/go_to_card_test-test_result_in_a_regular_search_if_the_card_does_not_exist.yml @@ -724,4 +724,246 @@ http_interactions: ZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8z ODM0M2EyZjhmIgp9Cg== recorded_at: Thu, 05 Jun 2025 10:45:02 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBub3Qgc2VlaW5nIGNhcmRzIH0uXG4i + fSx7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6IjEyMyJ9XSwic3RyZWFtIjpm + YWxzZSwidGVtcGVyYXR1cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '458' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '461' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '497' + X-Ratelimit-Remaining-Tokens: + - '196906' + X-Ratelimit-Reset-Requests: + - 246ms + X-Ratelimit-Reset-Tokens: + - 927ms + X-Request-Id: + - req_996e47bde3b944430d7d097121895773 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=GUtEascoPFExvN37.t7mT21qCKXhXuM9qGwHoE7ZzVM-1749804467-1.0.1.1-aK2Am1vTqe_92OAj3ElRs5_iMEHhLjVJh.WZJJMquoThesK6cPlfiRJYh6PXPLC2TXDeta.0PIGw6PCWPQ6CPd3AX5IFgbobJn.DWOGu6v8; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=W15lY4lkA82FAPdBzqi4VXQTdn_8KWM73BN.j.bXrnc-1749804467505-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f0533c0a51eca5-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNYzRRdUlsRVg5WDVTNWpmVEdQSm9k + dlVtZSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHtcbiAgICBcInRlcm1zXCI6IFtcIjEyM1wiXVxuICB9XG59IiwKICAgICAg + ICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10K + ICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlz + aF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAg + ICJwcm9tcHRfdG9rZW5zIjogMTU1MywKICAgICJjb21wbGV0aW9uX3Rva2Vu + cyI6IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDE1NjksCiAgICAicHJvbXB0 + X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDE0 + MDgsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBs + ZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9r + ZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2Nl + cHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9w + cmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3Rp + ZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF8z + ODM0M2EyZjhmIgp9Cg== + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/command/parser_test-test_the_parsed_command_contains_the_raw_line.yml b/test/vcr_cassettes/command/parser_test-test_the_parsed_command_contains_the_raw_line.yml index 0782bdfe7..492bccd52 100644 --- a/test/vcr_cassettes/command/parser_test-test_the_parsed_command_contains_the_raw_line.yml +++ b/test/vcr_cassettes/command/parser_test-test_the_parsed_command_contains_the_raw_line.yml @@ -483,4 +483,246 @@ http_interactions: cnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50 IjogImZwXzM4MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:49:27 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSBub3Qgc2VlaW5nIGNhcmRzIH0uXG4i + fSx7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6ImFzc2lnbiBAa2V2aW4ifV0s + InN0cmVhbSI6ZmFsc2UsInRlbXBlcmF0dXJlIjowLjd9 + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:47 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '495' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '500' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '499' + X-Ratelimit-Remaining-Tokens: + - '198468' + X-Ratelimit-Reset-Requests: + - 120ms + X-Ratelimit-Reset-Tokens: + - 459ms + X-Request-Id: + - req_018e9499edc3175f09891d1ea4106139 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=QdnkmnEUQ4FArLbXs40f8dKHWjDmrmheYjekDFxlIvA-1749804467-1.0.1.1-zyz_1Ab8IO6hvNr90lhErJP_ZdVVjzhKORyng2McqHvnMFu06qL6dHoM.3Q0W_8W4mRz6PTvxWzSOkI4EtBz6be6o3y2I.2Y24Id_tGm5b8; + path=/; expires=Fri, 13-Jun-25 09:17:47 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=Ejxu0MTkeY4Tl3hUzqonDGpNxwOxRX.0.v49KjoBNKM-1749804467442-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f053395e6ecfe0-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNY3AyUlpLOTNRQVBTV25waWpBWlVu + SXV2NSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHt9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24ga2V2aW5cIl1cbn0i + LAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlv + bnMiOiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAg + ICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdl + IjogewogICAgInByb21wdF90b2tlbnMiOiAxNTU2LAogICAgImNvbXBsZXRp + b25fdG9rZW5zIjogMTcsCiAgICAidG90YWxfdG9rZW5zIjogMTU3MywKICAg + ICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9r + ZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAi + Y29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmlu + Z190b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAg + ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVj + dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZp + Y2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50Ijog + ImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:47 GMT recorded_with: VCR 6.3.1 diff --git a/test/vcr_cassettes/commands_controller_test-test_command_requiring_a_confirmation_with_a_redirect.yml b/test/vcr_cassettes/commands_controller_test-test_command_requiring_a_confirmation_with_a_redirect.yml index b83d8b51e..144bb496d 100644 --- a/test/vcr_cassettes/commands_controller_test-test_command_requiring_a_confirmation_with_a_redirect.yml +++ b/test/vcr_cassettes/commands_controller_test-test_command_requiring_a_confirmation_with_a_redirect.yml @@ -485,4 +485,247 @@ http_interactions: IjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwK ICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K recorded_at: Thu, 05 Jun 2025 10:58:03 GMT +- request: + method: post + uri: https://api.openai.com/v1/chat/completions + body: + encoding: UTF-8 + base64_string: | + eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi + ZGV2ZWxvcGVyIiwiY29udGVudCI6IllvdSBhcmUgRml6ennigJlzIGNvbW1h + bmQgdHJhbnNsYXRvci4gWW91ciB0YXNrIGlzIHRvOlxuXG4xLiBSZWFkIHRo + ZSB1c2VyJ3MgcmVxdWVzdC5cbjIuIENvbnN1bHQgdGhlIGN1cnJlbnQgY29u + dGV4dCAocHJvdmlkZWQgYmVsb3cgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9z + ZXMgb25seSkuXG4zLiBEZXRlcm1pbmUgaWYgdGhlIGN1cnJlbnQgY29udGV4 + dCBzdWZmaWNlcyBvciBpZiBhIG5ldyBjb250ZXh0IGlzIHJlcXVpcmVkLlxu + NC4gR2VuZXJhdGUgb25seSB0aGUgbmVjZXNzYXJ5IGNvbW1hbmRzIHRvIGZ1 + bGZpbGwgdGhlIHJlcXVlc3QuXG41LiBPdXRwdXQgYSBKU09OIG9iamVjdCBj + b250YWluaW5nIE9OTFk6XG4gICogQSBcImNvbnRleHRcIiBvYmplY3QgKHJl + cXVpcmVkIGlmIGFueSBmaWx0ZXJpbmcgYXBwbGllcyDigJQgaW5jbHVkaW5n + IHRlcm1zIOKAlCBhbmQgbXVzdCBpbmNsdWRlIGFsbCBmaWx0ZXJzIGluc2lk + ZSBpdCkuXG4gICogQSBcImNvbW1hbmRzXCIgYXJyYXkgKG9ubHkgaWYgY29t + bWFuZHMgYXJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkIG9yIGNsZWFybHkgaW1w + bGllZCkuXG5cbkRvIE5PVCBhZGQgYW55IG90aGVyIHByb3BlcnRpZXMgdG8g + eW91ciBKU09OIG91dHB1dC5cblxuVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBj + dXJyZW50IHZpZXcgKFwiaW5zaWRlIGEgY2FyZFwiLCBcInZpZXdpbmcgYSBs + aXN0IG9mIGNhcmRzXCIsIG9yIFwibm90IHNlZWluZyBjYXJkc1wiKSBpcyBp + bmZvcm1hdGlvbmFsIG9ubHkuIERvIE5PVCByZWZsZWN0IHRoaXMgZGVzY3Jp + cHRpb24gZXhwbGljaXRseSBvciBpbXBsaWNpdGx5IGluIHlvdXIgb3V0cHV0 + IEpTT04uIE5FVkVSIGdlbmVyYXRlIHByb3BlcnRpZXMgbGlrZSBcInZpZXdc + IiBvciBhZGQgXCJ0ZXJtc1wiIGJhc2VkIG9uIFwiY2FyZFwiIG9yIFwibGlz + dFwiIGNvbnRleHQuXG5cbiMjIEZpenp5IERhdGEgU3RydWN0dXJlXG5cbiog + KipDYXJkcyoqOiBSZXByZXNlbnQgaXNzdWVzLCBmZWF0dXJlcywgYnVncywg + dGFza3MsIG9yIHByb2JsZW1zLlxuKiBDYXJkcyBoYXZlICoqY29tbWVudHMq + KiBhbmQgYXJlIGNvbnRhaW5lZCB3aXRoaW4gKipjb2xsZWN0aW9ucyoqLlxu + XG4jIyBDb250ZXh0IFByb3BlcnRpZXMgZm9yIEZpbHRlcmluZyAodXNlIGV4 + cGxpY2l0bHkpOlxuXG4qICoqdGVybXMqKjogQXJyYXkgb2Yga2V5d29yZHMg + KHNwbGl0IGluZGl2aWR1YWxseSwgZS5nLiwgW1wic29tZVwiLCBcInRlcm1c + Il0pLiBBdm9pZCByZWR1bmRhbmN5LlxuKiAqKmluZGV4ZWRfYnkqKjogXCJu + ZXdlc3RcIiwgXCJvbGRlc3RcIiwgXCJsYXRlc3RcIiwgXCJzdGFsbGVkXCIs + IFwiY2xvc2VkXCIuXG4gICogXCJjbG9zZWRcIjogY29tcGxldGVkIGNhcmRz + LlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNyZWF0aW9uIGRhdGVcbiAgKiBcImxh + dGVzdFwiOiBieSB1cGRhdGUgZGF0ZS5cbiAgKiBcInN0YWxsZWRcIjogY2Fy + ZHMgdGhhdCBzdG9wcGVkIHNob3dpbmcgYWN0aXZpdHkgYWZ0ZXIgYW4gaW5p + dGlhbCBhY3Rpdml0eSBzcGlrZS5cbiogKiphc3NpZ25lZV9pZHMqKjogQXJy + YXkgb2YgYXNzaWduZWUgbmFtZXMuXG4qICoqYXNzaWdubWVudF9zdGF0dXMq + KjogXCJ1bmFzc2lnbmVkXCIuXG4qICoqZW5nYWdlbWVudF9zdGF0dXMqKjog + XCJjb25zaWRlcmluZ1wiIG9yIFwiZG9pbmdcIi5cbiogKipjYXJkX2lkcyoq + OiBBcnJheSBvZiBjYXJkIElEcy5cbiogKipjcmVhdG9yX2lkKio6IENyZWF0 + b3IncyBuYW1lLlxuKiAqKmNvbGxlY3Rpb25faWRzKio6IEFycmF5IG9mIGV4 + cGxpY2l0bHkgbWVudGlvbmVkIGNvbGxlY3Rpb25zLlxuKiAqKnRhZ19pZHMq + KjogQXJyYXkgb2YgdGFnIG5hbWVzICh1c2UgZm9yIFwiI3RhZ1wiIG9yIFwi + dGFnZ2VkIHdpdGhcIikuXG5cbiMjIEV4cGxpY2l0IEZpbHRlcmluZyBSdWxl + czpcblxuKiBOdW1iZXJzIGVudGVyZWQgd2l0aG91dCBleHBsaWNpdCBcImNh + cmRcIiBvciBcImNhcmRzXCIgcHJlZml4IHNob3VsZCBkZWZhdWx0IHRvIGB0 + ZXJtc2AuXG4gICogRXhhbXBsZXM6XG4gICAgKiBcIjEyM1wiOiBgdGVybXM6 + IFtcIjEyM1wiXWBcbiAgICAqIFwiY2FyZCAxMjNcIjogYGNhcmRfaWRzOiBb + MTIzXWBcbiAgICAqIFwiY2FyZCAxLDJcIjogdXNlIGBjYXJkX2lkczogWzEs + IDJdYFxuKiBJZiB0aGUgdXNlciBzYXlzIHNvbWV0aGluZyBsaWtlIOKAnFgg + Y29sbGVjdGlvbuKAnSBvciDigJxjb2xsZWN0aW9uIFjigJ0sIHRyZWF0IFgg + YXMgYSBgY29sbGVjdGlvbl9pZGAuXG4gIC0gZS5nLiwg4oCcd3JpdGVib29r + IGNvbGxlY3Rpb27igJ0g4oaSIGBjb2xsZWN0aW9uX2lkczogW1wid3JpdGVi + b29rXCJdYFxuKiBcIkFzc2lnbmVkIHRvIFhcIjogdXNlIGBhc3NpZ25lZV9p + ZHNgLlxuKiBcIkNyZWF0ZWQgYnkgWFwiOiB1c2UgYGNyZWF0b3JfaWRgLlxu + KiBcIlRhZ2dlZCB3aXRoIFhcIiwgXCIjWCBjYXJkc1wiOiB1c2UgYHRhZ19p + ZHNgIChuZXZlciBcInRlcm1zXCIpLlxuICAtIEZvciBleGFtcGxlOiBcIiNk + ZXNpZ24gY2FyZHNcIiBvciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25c + IiBzaG91bGQgYWx3YXlzIHJlc3VsdCBpbiBgdGFnX2lkczogW1wiZGVzaWdu + XCJdYC5cbiogXCJVbmFzc2lnbmVkIGNhcmRzXCI6IHVzZSBgYXNzaWdubWVu + dF9zdGF0dXM6IFwidW5hc3NpZ25lZFwiYC5cbiogXCJNeSBjYXJkc1wiOiBD + YXJkcyBhc3NpZ25lZCB0byB0aGUgcmVxdWVzdGVyLlxuKiBcIlJlY2VudCBj + YXJkc1wiOiB1c2UgYGluZGV4ZWRfYnk6IFwibmV3ZXN0XCJgLlxuKiBcIkNh + cmRzIHdpdGggcmVjZW50IGFjdGl2aXR5XCI6IHVzZSBgaW5kZXhlZF9ieTog + XCJsYXRlc3RcImAuXG4qIFwiQ29tcGxldGVkL2Nsb3NlZCBjYXJkc1wiOiB1 + c2UgYGluZGV4ZWRfYnk6IFwiY2xvc2VkXCJgLlxuKiBVbmtub3duIHRlcm1z + IGRlZmF1bHQgdG8gYHRlcm1zYC5cbiogSWYgY2FyZHMgYXJlIGRlc2NyaWJl + ZCBhcyBiZWluZyDigJxhc3NpZ25lZCB0byBY4oCdIG9yIOKAnGN1cnJlbnRs + eSBhc3NpZ25lZCB0byBY4oCdLCB0cmVhdCBYIGFzIGFuIGV4aXN0aW5nIGZp + bHRlci5cbiAgLSBGb3IgZXhhbXBsZTog4oCcY2xvc2UgY2FyZHMgYXNzaWdu + ZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0gdG8ga2V2aW7igJ0g4oaSIGBh + c3NpZ25lZV9pZHM6IFtcImFuZHlcIl1gIHdpdGggYC9hc3NpZ24ga2V2aW5g + IGFzIGEgY29tbWFuZC5cbiAgLSBPbmx5IHRoZSBmaXJzdCBtZW50aW9uICji + gJxhc3NpZ25lZCB0b+KAnSkgaXMgYSBmaWx0ZXIuIFRoZSBzZWNvbmQgKOKA + nGFzc2lnbuKAnSkgaXMgYSBuZXcgYWN0aW9uLlxuXG4jIyBDb21tYW5kIElu + dGVycHJldGF0aW9uIFJ1bGVzOlxuXG4qIFwidGFnIHdpdGggI2Rlc2lnblwi + OiBhbHdheXMgYC90YWcgI2Rlc2lnbmAuIERvIE5PVCBjcmVhdGUgYHRhZ19p + ZHNgIGNvbnRleHQuXG4qIFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMg + dGFnZ2VkIHdpdGggI2Rlc2lnblwiOiB1c2UgYHRhZ19pZHNgLlxuKiBcIkFz + c2lnbiBjYXJkcyB0YWdnZWQgd2l0aCAjZGVzaWduIHRvIGp6XCI6IGZpbHRl + ciBieSBgdGFnX2lkc2AsIGNvbW1hbmQgYC9hc3NpZ24ganpgLiBEbyBOT1Qg + Z2VuZXJhdGUgYC90YWdgIGNvbW1hbmQuXG4qIFwiY2xvc2UgYXMgW3JlYXNv + bl1cIiBvciBcImNsb3NlIGJlY2F1c2UgW3JlYXNvbl1cIjogaW5jbHVkZSB0 + aGUgcmVhc29uIGluIHRoZSBgL2Nsb3NlYCBjb21tYW5kLCBlLmcuLCBgL2Ns + b3NlIG5vdCBub3dgLlxuKiBcImNsb3NlXCI6IGFsd2F5cyBgL2Nsb3NlYCwg + ZXZlbiBpZiBubyByZWFzb24gaXMgZ2l2ZW4gb3Igbm8gY2FyZHMgYXJlIGV4 + cGxpY2l0bHkgZGVzY3JpYmVkLlxuICAgIC0gSWYgdGhlIHVzZXIganVzdCBz + YXlzIOKAnGNsb3Nl4oCdLCBhc3N1bWUgdGhleSBtZWFuIHRvIGNsb3NlIHRo + ZSBjdXJyZW50IHNldCBvZiB2aXNpYmxlIGNhcmRzIG9yIGNvbnRleHQuXG4q + IEFsd2F5cyBnZW5lcmF0ZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgdGhleSBh + cHBlYXIgaW4gdGhlIHF1ZXJ5LlxuXG4jIyDimqDvuI8gQ3J1Y2lhbCBSdWxl + cyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipDb250ZXh0IGZpbHRlcnMq + KiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3RpbmcgY29uZGl0aW9ucyoqIHRo + YXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5cbiogKipDb21tYW5kcyoq + IChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWApIHJlcHJlc2VudCAqKm5l + dyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVWRVIqKiB1c2UgbmFtZXMg + b3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5kcyoqIGFzIGZpbHRlcmlu + ZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNzaWduIGFuZHlcIiBtZWFu + cyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5keWAuIERvIE5PVCBmaWx0 + ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwiXWAuXG4gICogRS5nLjog + XCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWluZyBhICoqbmV3IHRhZyoq + LiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBbXCJ2MlwiXWAuXG5cbiMj + IyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlKTpcblxuVXNlciBx + dWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBjdXJyZW50ICNkZXNpZ24g + Y2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0aGVtIHdpdGggI3YyXCJg + XG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xuICBcImNvbnRleHRcIjog + eyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwgXCJ0YWdfaWRzXCI6IFtc + ImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6IFtcIi9hc3NpZ24gYW5k + eVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJbmNvcnJlY3QgKERPIE5P + VCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0XCI6IHsgXCJhc3NpZ25l + ZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRzXCI6IFtcInYyXCJdIH0s + XG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBhbmR5XCIsIFwiL3RhZyAj + djJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZpeCAnLycpOlxuXG4qIEFz + c2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gXG4qIENsb3NlIGNhcmRzOiBg + L2Nsb3NlIFtvcHRpb25hbCByZWFzb25dYFxuKiBUYWcgY2FyZHM6IGAvdGFn + ICNbdGFnLW5hbWVdYFxuKiBDbGVhciBmaWx0ZXJzOiBgL2NsZWFyYFxuKiBJ + bnNpZ2h0czogYC9pbnNpZ2h0IFtxdWVyeV1gLlxuICAtIEFsd2F5cyB1c2Ug + YC9pbnNpZ2h0YCBmb3IgdXNlciBxdWVzdGlvbnMgb3IgcmVxdWVzdHMgbGlr + ZTpcbiAgICAtIOKAnHN0ZXBzIHRvIHJlcHJvZHVjZeKAnVxuICAgIC0g4oCc + c3VtbWFyeeKAnSAvIOKAnHN1bW1hcml6ZeKAnVxuICAgIC0g4oCcd2hhdCdz + IHRoZSByb290IGNhdXNl4oCdXG4gICAgLSDigJxjYW4geW91IGV4cGxhaW7i + gKbigJ1cbiAgLSBUaGVzZSBtdXN0IGJlIGludGVycHJldGVkIGFzIHJlcXVl + c3RzIGZvciBpbnNpZ2h0IOKAlCAqKm5vdCoqIHRhZ2dpbmcuXG4gIC0gUGFz + cyB0aGUgZXhhY3QgcXVlcnkgYXMgdGhlIC9pbnNpZ2h0IHBhcmFtLlxuICAt + IEVzcGVjaWFsbHkgd2hlbiAqKmluc2lkZSBhIGNhcmQqKiwgaW50ZXJwcmV0 + IHN0YW5kYWxvbmUgcGhyYXNlcyBhcyBpbnNpZ2h0IGNvbW1hbmRzIGV2ZW4g + aWYgdGhleSBjb3VsZCBiZSB0YWdzLiAgICAgIFxuXG4jIyBKU09OIE91dHB1 + dCBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRoZXNlIHBhdHRlcm5zKTpc + blxueyBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqb3Jn + ZVwiXSB9LCBcImNvbW1hbmRzXCI6IFtcIi9jbG9zZVwiXSB9XG57IFwiY29u + dGV4dFwiOiB7IFwidGFnX2lkc1wiOiBbXCJkZXNpZ25cIl0gfSB9XG57IFwi + Y29tbWFuZHNcIjogW1wiL2Fzc2lnbiBqb3JnZVwiLCBcIi90YWcgI2Rlc2ln + blwiXSB9XG5cbk9taXQgZW1wdHkgYXJyYXlzIG9yIHVubmVjZXNzYXJ5IHBy + b3BlcnRpZXMuIEF0IGxlYXN0IG9uZSBwcm9wZXJ0eSAoYGNvbnRleHRgIG9y + IGBjb21tYW5kc2ApIG11c3QgZXhpc3QuXG5cbiMjIE90aGVyIFN0cmljdCBJ + bnN0cnVjdGlvbnM6XG5cbiogTkVWRVIgYWRkIHByb3BlcnRpZXMgYmFzZWQg + b24gdmlldyBkZXNjcmlwdGlvbnMgKFwiY2FyZFwiLCBcImxpc3RcIiwgZXRj + LikuXG4qIEF2b2lkIHJlZHVuZGFudCB0ZXJtcy5cbiogRG9uJ3QgZHVwbGlj + YXRlIHRlcm1zIGFjcm9zcyBwcm9wZXJ0aWVzLlxuKiBBbGwgZmlsdGVycyDi + gJQgaW5jbHVkaW5nIHRlcm1zIOKAlCBtdXN0IGJlIGluc2lkZSB0aGUgYFwi + Y29udGV4dFwiYCBvYmplY3QuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lv + biwgYW5kIGNvbmNpc2VuZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFr + aW5nIHJlcXVlc3RzIGlzIGtldmluLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5c + blRoZSB1c2VyIGlzIGN1cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJk + cyB9LlxuIn0seyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJjbG9zZSBjYXJk + cyBhc3NpZ25lZCB0byBqeiJ9XSwic3RyZWFtIjpmYWxzZSwidGVtcGVyYXR1 + cmUiOjAuN30= + headers: + User-Agent: + - Faraday v2.13.1 + Authorization: + - Bearer + Content-Type: + - application/json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Date: + - Fri, 13 Jun 2025 08:47:49 GMT + Content-Type: + - application/json + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Access-Control-Expose-Headers: + - X-Request-ID + Openai-Organization: + - 37signals-u7qhwk + Openai-Processing-Ms: + - '674' + Openai-Version: + - '2020-10-01' + X-Envoy-Upstream-Service-Time: + - '679' + X-Ratelimit-Limit-Requests: + - '500' + X-Ratelimit-Limit-Tokens: + - '200000' + X-Ratelimit-Remaining-Requests: + - '494' + X-Ratelimit-Remaining-Tokens: + - '175512' + X-Ratelimit-Reset-Requests: + - 691ms + X-Ratelimit-Reset-Tokens: + - 7.346s + X-Request-Id: + - req_62b02f03a96601a7b0323e5c6bdc99d5 + Strict-Transport-Security: + - max-age=31536000; includeSubDomains; preload + Cf-Cache-Status: + - DYNAMIC + Set-Cookie: + - __cf_bm=q31vHBCMTBtn.DXMmCnRiTi6r3nmlV1RuG8nw.iXOp4-1749804469-1.0.1.1-Yv17R3Y_.9LqKa7MQDiWMyPc131Q.g46w.SEPyOjTwN0BrLA5JoYdFek13ACqjjPjseQuDOVzKlD2tyvROIaStlrOrOTf0GbUcyIMUX4jC0; + path=/; expires=Fri, 13-Jun-25 09:17:49 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=T25jofxCCAeWS0vk2hQk30LLPB2eFpompTUovpkvF5U-1749804469216-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + X-Content-Type-Options: + - nosniff + Server: + - cloudflare + Cf-Ray: + - 94f05346acd9cff0-MAD + Alt-Svc: + - h3=":443"; ma=86400 + body: + encoding: ASCII-8BIT + base64_string: | + ewogICJpZCI6ICJjaGF0Y21wbC1CaHVNZTM5cnpyNGRoaVI0WUQ3eE0wcFZi + WlpxcSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh + dGVkIjogMTc0OTgwNDQ2OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw + MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi + OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np + c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6 + IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfSxcbiAgXCJjb21tYW5k + c1wiOiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVs + bCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAi + bG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9w + IgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMi + OiAxNTYxLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMjUsCiAgICAidG90 + YWxfdG9rZW5zIjogMTU4NiwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMi + OiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rv + a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls + cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk + aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r + ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog + MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi + c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzM4MzQzYTJmOGYiCn0K + recorded_at: Fri, 13 Jun 2025 08:47:49 GMT recorded_with: VCR 6.3.1