Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import? '../sdk-codegen/utils.just'
_default:
just --list --unsorted

# ⭐ run lint, typecheck, and tests to prepare for CI
prepare: lint typecheck test

install *args:
bundle install {{ if is_dependency() == "true" {"--quiet"} else {""} }} {{ args }}

Expand Down
14 changes: 7 additions & 7 deletions lib/stripe/api_requestor.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1093,13 +1093,13 @@ def self.uname_from_system_ver
end

AI_AGENTS = [
["ANTIGRAVITY_CLI_ALIAS", "antigravity"],
["CLAUDECODE", "claude_code"],
["CLINE_ACTIVE", "cline"],
["CODEX_SANDBOX", "codex_cli"],
["CURSOR_AGENT", "cursor"],
["GEMINI_CLI", "gemini_cli"],
["OPENCODE", "open_code"],
%w[ANTIGRAVITY_CLI_ALIAS antigravity],
%w[CLAUDECODE claude_code],
%w[CLINE_ACTIVE cline],
%w[CODEX_SANDBOX codex_cli],
%w[CURSOR_AGENT cursor],
%w[GEMINI_CLI gemini_cli],
%w[OPENCODE open_code],
].freeze

def self.detect_ai_agent(env = ENV)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -113,7 +113,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_closed_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_created_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -53,7 +53,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -53,7 +53,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -53,7 +53,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_person_created_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -51,7 +51,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_person_deleted_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -51,7 +51,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_person_updated_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
end
Expand All @@ -51,7 +51,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_account_updated_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/events/v2_core_event_destination_ping_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def fetch_related_object
method: :get,
path: related_object.url,
base_address: :api,
opts: { stripe_context: context }
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" }
)
end
attr_reader :related_object
Expand All @@ -34,7 +34,7 @@ def fetch_related_object
resp = @client.raw_request(
:get,
related_object.url,
opts: { stripe_context: context },
opts: { stripe_context: context, "Stripe-Request-Trigger": "event=#{id}" },
usage: ["fetch_related_object"]
)
@client.deserialize(resp.http_body, api_mode: Util.get_api_mode(related_object.url))
Expand Down
3 changes: 2 additions & 1 deletion lib/stripe/resources/v2/core/event_notification.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ def initialize(event_payload, client)

# Retrieves the Event that generated this EventNotification.
def fetch_event
resp = @client.raw_request(:get, "/v2/core/events/#{id}", opts: { stripe_context: context },
resp = @client.raw_request(:get, "/v2/core/events/#{id}", opts: { stripe_context: context,
"Stripe-Request-Trigger" => "event=#{id}", },
usage: ["fetch_event"])
@client.deserialize(resp.http_body, api_mode: :v2)
end
Expand Down
8 changes: 4 additions & 4 deletions test/stripe/api_requestor_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -841,7 +841,7 @@ class RequestorTest < Test::Unit::TestCase

stub_request(:post, "#{Stripe::DEFAULT_API_BASE}/v1/account")
.with do |req|
assert_match(/AIAgent\/cursor$/, req.headers["User-Agent"])
assert_match(%r{AIAgent/cursor$}, req.headers["User-Agent"])

data = JSON.parse(req.headers["X-Stripe-Client-User-Agent"])
assert_equal "cursor", data["ai_agent"]
Expand Down Expand Up @@ -1760,19 +1760,19 @@ class SystemProfilerTest < Test::Unit::TestCase

context ".detect_ai_agent" do
should "detect agent when env var is set" do
assert_equal "claude_code", APIRequestor::SystemProfiler.detect_ai_agent({"CLAUDECODE" => "1"})
assert_equal "claude_code", APIRequestor::SystemProfiler.detect_ai_agent({ "CLAUDECODE" => "1" })
end

should "return empty string when no agent env vars are set" do
assert_equal "", APIRequestor::SystemProfiler.detect_ai_agent({})
end

should "return first matching agent when multiple env vars are set" do
assert_equal "cursor", APIRequestor::SystemProfiler.detect_ai_agent({"CURSOR_AGENT" => "1", "OPENCODE" => "1"})
assert_equal "cursor", APIRequestor::SystemProfiler.detect_ai_agent({ "CURSOR_AGENT" => "1", "OPENCODE" => "1" })
end

should "ignore empty string env vars" do
assert_equal "", APIRequestor::SystemProfiler.detect_ai_agent({"CLAUDECODE" => ""})
assert_equal "", APIRequestor::SystemProfiler.detect_ai_agent({ "CLAUDECODE" => "" })
end
end
end
Expand Down
Loading