Skip to content

Commit a730729

Browse files
feat(api): api update
1 parent cdccdfc commit a730729

19 files changed

+310
-840
lines changed

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 1783
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e408a7cdec2dae3d1a18842dcc59280c56050fb042569139aec3fe0f12e0d461.yml
3-
openapi_spec_hash: 7e210c76f5dd4c79b3e67204ad279b81
1+
configured_endpoints: 1781
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-2c42cf957e3b5a69a156a53aff688afcbefc8b3d47d588ece03224d14a520b99.yml
3+
openapi_spec_hash: 3489d7f7afa926c1b377c245812fd27d
44
config_hash: a433f3793b734bc6fcc9d9e0c27ff8c2

ai/ai.go

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ func (r *AIService) Run(ctx context.Context, modelName string, params AIRunParam
8080
// [AIRunResponseAutomaticSpeechRecognition], [AIRunResponseImageClassification],
8181
// [AIRunResponseObjectDetection], [AIRunResponseObject],
8282
// [AIRunResponseTranslation], [AIRunResponseSummarization],
83-
// [AIRunResponseImageToText] or [AIRunResponseImageTextToText].
83+
// [AIRunResponseImageToText], [AIRunResponseImageTextToText] or
84+
// [AIRunResponseMultimodalEmbeddings].
8485
type AIRunResponseUnion interface {
8586
ImplementsAIRunResponseUnion()
8687
}
@@ -137,6 +138,10 @@ func init() {
137138
TypeFilter: gjson.JSON,
138139
Type: reflect.TypeOf(AIRunResponseImageTextToText{}),
139140
},
141+
apijson.UnionVariant{
142+
TypeFilter: gjson.JSON,
143+
Type: reflect.TypeOf(AIRunResponseMultimodalEmbeddings{}),
144+
},
140145
)
141146
}
142147

@@ -549,6 +554,31 @@ func (r aiRunResponseImageTextToTextJSON) RawJSON() string {
549554

550555
func (r AIRunResponseImageTextToText) ImplementsAIRunResponseUnion() {}
551556

557+
type AIRunResponseMultimodalEmbeddings struct {
558+
Data [][]float64 `json:"data"`
559+
Shape []float64 `json:"shape"`
560+
JSON aiRunResponseMultimodalEmbeddingsJSON `json:"-"`
561+
}
562+
563+
// aiRunResponseMultimodalEmbeddingsJSON contains the JSON metadata for the struct
564+
// [AIRunResponseMultimodalEmbeddings]
565+
type aiRunResponseMultimodalEmbeddingsJSON struct {
566+
Data apijson.Field
567+
Shape apijson.Field
568+
raw string
569+
ExtraFields map[string]apijson.Field
570+
}
571+
572+
func (r *AIRunResponseMultimodalEmbeddings) UnmarshalJSON(data []byte) (err error) {
573+
return apijson.UnmarshalRoot(data, r)
574+
}
575+
576+
func (r aiRunResponseMultimodalEmbeddingsJSON) RawJSON() string {
577+
return r.raw
578+
}
579+
580+
func (r AIRunResponseMultimodalEmbeddings) ImplementsAIRunResponseUnion() {}
581+
552582
type AIRunParams struct {
553583
AccountID param.Field[string] `path:"account_id,required"`
554584
Body AIRunParamsBodyUnion `json:"body"`
@@ -641,7 +671,8 @@ func (r AIRunParamsBody) implementsAIRunParamsBodyUnion() {}
641671
// [ai.AIRunParamsBodyPrompt], [ai.AIRunParamsBodyTextGeneration],
642672
// [ai.AIRunParamsBodyTranslation], [ai.AIRunParamsBodySummarization],
643673
// [ai.AIRunParamsBodyImageToText], [ai.AIRunParamsBodyObject],
644-
// [ai.AIRunParamsBodyImageTextToText], [AIRunParamsBody].
674+
// [ai.AIRunParamsBodyImageTextToText], [ai.AIRunParamsBodyMultimodalEmbeddings],
675+
// [AIRunParamsBody].
645676
type AIRunParamsBodyUnion interface {
646677
implementsAIRunParamsBodyUnion()
647678
}
@@ -1190,6 +1221,18 @@ func (r AIRunParamsBodyImageTextToTextMessage) MarshalJSON() (data []byte, err e
11901221
return apijson.MarshalRoot(r)
11911222
}
11921223

1224+
type AIRunParamsBodyMultimodalEmbeddings struct {
1225+
// Image in base64 encoded format.
1226+
Image param.Field[string] `json:"image"`
1227+
Text param.Field[[]string] `json:"text"`
1228+
}
1229+
1230+
func (r AIRunParamsBodyMultimodalEmbeddings) MarshalJSON() (data []byte, err error) {
1231+
return apijson.MarshalRoot(r)
1232+
}
1233+
1234+
func (r AIRunParamsBodyMultimodalEmbeddings) implementsAIRunParamsBodyUnion() {}
1235+
11931236
type AIRunResponseEnvelope struct {
11941237
// An array of classification results for the input text
11951238
Result AIRunResponseUnion `json:"result" format:"binary"`

api.md

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1532,15 +1532,17 @@ Params Types:
15321532
Response Types:
15331533

15341534
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>
1535+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterDeleteResponse">FilterDeleteResponse</a>
1536+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkDeleteResponse">FilterBulkDeleteResponse</a>
15351537

15361538
Methods:
15371539

15381540
- <code title="post /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterNewParams">FilterNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
15391541
- <code title="put /zones/{zone_id}/filters/{filter_id}">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, filterID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterUpdateParams">FilterUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
15401542
- <code title="get /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterListParams">FilterListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination#V4PagePaginationArray">V4PagePaginationArray</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1541-
- <code title="delete /zones/{zone_id}/filters/{filter_id}">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, filterID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterDeleteParams">FilterDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1542-
- <code title="delete /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.BulkDelete">BulkDelete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkDeleteParams">FilterBulkDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1543-
- <code title="put /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.BulkUpdate">BulkUpdate</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkUpdateParams">FilterBulkUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1543+
- <code title="delete /zones/{zone_id}/filters/{filter_id}">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, filterID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterDeleteParams">FilterDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterDeleteResponse">FilterDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1544+
- <code title="delete /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.BulkDelete">BulkDelete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkDeleteParams">FilterBulkDeleteParams</a>) ([]<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkDeleteResponse">FilterBulkDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
1545+
- <code title="put /zones/{zone_id}/filters">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.BulkUpdate">BulkUpdate</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterBulkUpdateParams">FilterBulkUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
15441546
- <code title="get /zones/{zone_id}/filters/{filter_id}">client.Filters.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, filterID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FilterGetParams">FilterGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters">filters</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/filters#FirewallFilter">FirewallFilter</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
15451547

15461548
# Firewall
@@ -6724,24 +6726,8 @@ Methods:
67246726

67256727
#### Summary
67266728

6727-
Response Types:
6728-
6729-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AIBotSummaryUserAgentResponse">AIBotSummaryUserAgentResponse</a>
6730-
6731-
Methods:
6732-
6733-
- <code title="get /radar/ai/bots/summary/user_agent">client.Radar.AI.Bots.Summary.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AIBotSummaryService.UserAgent">UserAgent</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AIBotSummaryUserAgentParams">AIBotSummaryUserAgentParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AIBotSummaryUserAgentResponse">AIBotSummaryUserAgentResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
6734-
67356729
### TimeseriesGroups
67366730

6737-
Response Types:
6738-
6739-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AITimeseriesGroupUserAgentResponse">AITimeseriesGroupUserAgentResponse</a>
6740-
6741-
Methods:
6742-
6743-
- <code title="get /radar/ai/bots/timeseries_groups/user_agent">client.Radar.AI.TimeseriesGroups.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AITimeseriesGroupService.UserAgent">UserAgent</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AITimeseriesGroupUserAgentParams">AITimeseriesGroupUserAgentParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar">radar</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v5/radar#AITimeseriesGroupUserAgentResponse">AITimeseriesGroupUserAgentResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
6744-
67456731
## Annotations
67466732

67476733
Response Types:

browser_rendering/json.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,12 @@ type JsonNewParams struct {
7979
// Attempt to proceed when 'awaited' events fail or timeout.
8080
BestAttempt param.Field[bool] `json:"bestAttempt"`
8181
// Check [options](https://pptr.dev/api/puppeteer.page.setcookie).
82-
Cookies param.Field[[]JsonNewParamsCookie] `json:"cookies"`
83-
EmulateMediaType param.Field[string] `json:"emulateMediaType"`
82+
Cookies param.Field[[]JsonNewParamsCookie] `json:"cookies"`
83+
// Optional list of custom AI models to use for the request. The models will be
84+
// tried in the order provided, and in case a model returns an error, the next one
85+
// will be used as fallback.
86+
CustomAI param.Field[[]JsonNewParamsCustomAI] `json:"custom_ai"`
87+
EmulateMediaType param.Field[string] `json:"emulateMediaType"`
8488
// Check [options](https://pptr.dev/api/puppeteer.gotooptions).
8589
GotoOptions param.Field[JsonNewParamsGotoOptions] `json:"gotoOptions"`
8690
// Set the content of the page, eg: `<h1>Hello World!!</h1>`. Either `html` or
@@ -250,6 +254,18 @@ func (r JsonNewParamsCookiesSourceScheme) IsKnown() bool {
250254
return false
251255
}
252256

257+
type JsonNewParamsCustomAI struct {
258+
// Authorization token for the AI model: `Bearer <token>`.
259+
Authorization param.Field[string] `json:"authorization,required"`
260+
// AI model to use for the request. Must be formed as `<provider>/<model_name>`,
261+
// e.g. `workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast`
262+
Model param.Field[string] `json:"model,required"`
263+
}
264+
265+
func (r JsonNewParamsCustomAI) MarshalJSON() (data []byte, err error) {
266+
return apijson.MarshalRoot(r)
267+
}
268+
253269
// Check [options](https://pptr.dev/api/puppeteer.gotooptions).
254270
type JsonNewParamsGotoOptions struct {
255271
Referer param.Field[string] `json:"referer"`

browser_rendering/json_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ func TestJsonNewWithOptionalParams(t *testing.T) {
6464
SourceScheme: cloudflare.F(browser_rendering.JsonNewParamsCookiesSourceSchemeUnset),
6565
URL: cloudflare.F("url"),
6666
}}),
67+
CustomAI: cloudflare.F([]browser_rendering.JsonNewParamsCustomAI{{
68+
Authorization: cloudflare.F("authorization"),
69+
Model: cloudflare.F("model"),
70+
}}),
6771
EmulateMediaType: cloudflare.F("emulateMediaType"),
6872
GotoOptions: cloudflare.F(browser_rendering.JsonNewParamsGotoOptions{
6973
Referer: cloudflare.F("referer"),

0 commit comments

Comments
 (0)