Skip to content

Commit ccc9746

Browse files
committed
merge production back in
2 parents 896a709 + 369553e commit ccc9746

File tree

148 files changed

+1336
-858
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+1336
-858
lines changed

public/_redirects

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1700,7 +1700,7 @@
17001700
/cloudflare-one/applications/non-http/arbitrary-tcp/ /cloudflare-one/applications/non-http/cloudflared-authentication/arbitrary-tcp/ 301
17011701
/cloudflare-one/connections/connect-apps/configuration/ /cloudflare-one/connections/connect-networks/configure-tunnels/ 301
17021702
/cloudflare-one/connections/connect-apps/install-and-setup/setup/ /cloudflare-one/connections/connect-networks/get-started/ 301
1703-
/cloudflare-one/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas/ /cloudflare-one/connections/connect-networks/deploy-tunnels/deploy-cloudflared-replicas/ 301
1703+
/cloudflare-one/connections/connect-apps/run-tunnel/deploy-cloudflared-replicas/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/ 301
17041704
/cloudflare-one/connections/connect-apps/create-tunnel/ /cloudflare-one/connections/connect-networks/get-started/ 301
17051705
/cloudflare-one/connections/connect-apps/configuration/remote-management/ /cloudflare-one/connections/connect-networks/configure-tunnels/remote-management/ 301
17061706
/cloudflare-one/connections/connect-apps/run-tunnel/ /cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/ 301
@@ -1719,8 +1719,8 @@
17191719
/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-commands/ /cloudflare-one/connections/connect-networks/configure-tunnels/local-management/tunnel-useful-commands/ 301
17201720
/cloudflare-one/connections/connect-apps/configuration/private-networks/ /cloudflare-one/connections/connect-networks/private-net/ 301
17211721
/cloudflare-one/connections/connect-apps/routing-to-tunnel/kubernetes/ /cloudflare-one/connections/connect-networks/deploy-tunnels/deployment-guides/kubernetes/ 301
1722-
/cloudflare-one/connections/connect-apps/configuration/ports-and-ips/ /cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ 301
1723-
/cloudflare-one/connections/connect-apps/do-more-with-tunnels/ports-and-ips/ /cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ 301
1722+
/cloudflare-one/connections/connect-apps/configuration/ports-and-ips/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
1723+
/cloudflare-one/connections/connect-apps/do-more-with-tunnels/ports-and-ips/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
17241724
/cloudflare-one/connections/connect-apps/run-tunnel/trycloudflare/ /cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/ 301
17251725
/cloudflare-one/connections/connect-apps/trycloudflare/ /cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/ 301
17261726
/cloudflare-one/connections/connect-apps/tunnel-monitoring/ /cloudflare-one/connections/connect-networks/monitor-tunnels/ 301
@@ -1736,13 +1736,13 @@
17361736
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/local-management/arguments/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters/ 301
17371737
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/run-tunnel/ /cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/ 301
17381738
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/tunnel-useful-commands/ /cloudflare-one/connections/connect-networks/configure-tunnels/local-management/tunnel-useful-commands/ 301
1739-
/cloudflare-one/connections/connect-networks/install-and-setup/deploy-cloudflared-replicas/ /cloudflare-one/connections/connect-networks/deploy-tunnels/deploy-cloudflared-replicas/ 301
1739+
/cloudflare-one/connections/connect-networks/install-and-setup/deploy-cloudflared-replicas/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/ 301
17401740
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-permissions/ /cloudflare-one/connections/connect-networks/configure-tunnels/local-management/tunnel-permissions/ 301
17411741
/cloudflare-one/connections/connect-networks/install-and-setup/installation /cloudflare-one/connections/connect-networks/downloads/update-cloudflared/ 307
17421742
/cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-permissions/ /cloudflare-one/connections/connect-networks/configure-tunnels/ 301
1743-
/cloudflare-one/connections/connect-networks/install-and-setup/ports-and-ips/ /cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ 301
1743+
/cloudflare-one/connections/connect-networks/install-and-setup/ports-and-ips/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
17441744
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-useful-terms/ /cloudflare-one/connections/connect-networks/get-started/tunnel-useful-terms/ 301
1745-
/cloudflare-one/connections/connect-networks/do-more-with-tunnels/secure-server/ /cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ 301
1745+
/cloudflare-one/connections/connect-networks/do-more-with-tunnels/secure-server/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
17461746
/cloudflare-one/connections/connect-networks/do-more-with-tunnels/grafana/ /cloudflare-one/connections/connect-networks/monitor-tunnels/grafana/ 301
17471747
/cloudflare-one/connections/connect-networks/downloads/system-requirements/ /cloudflare-one/connections/connect-networks/deploy-tunnels/system-requirements/ 301
17481748
/cloudflare-one/connections/connect-networks/private-net/connect-private-networks/ /cloudflare-one/connections/connect-networks/private-net/cloudflared/ 301
@@ -1761,6 +1761,14 @@
17611761
/cloudflare-one/connections/connect-devices/warp/user-side-certificates/install-cloudflare-cert/ /cloudflare-one/connections/connect-devices/warp/user-side-certificates/manual-deployment/ 301
17621762
/cloudflare-one/connections/connect-devices/warp/user-side-certificates/install-cert-with-warp/ /cloudflare-one/connections/connect-devices/warp/user-side-certificates/automated-deployment/ 301
17631763
/cloudflare-one/connections/connect-networks/locations/ /cloudflare-one/connections/connect-devices/agentless/dns/locations/ 301
1764+
/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/ /cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/create-local-tunnel/ 301
1765+
/cloudflare-one/connections/connect-networks/configure-tunnels/remote-management/ /cloudflare-one/connections/connect-networks/configure-tunnels/cloudflared-parameters/ 301
1766+
/cloudflare-one/connections/connect-networks/configure-tunnels/origin-configuration/ /cloudflare-one/connections/connect-networks/configure-tunnels/cloudflared-parameters/origin-parameters/ 301
1767+
/cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-run-parameters/ /cloudflare-one/connections/connect-networks/configure-tunnels/cloudflared-parameters/run-parameters/ 301
1768+
/cloudflare-one/connections/connect-networks/deploy-tunnels/system-requirements/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/system-requirements/ 301
1769+
/cloudflare-one/connections/connect-networks/deploy-tunnels/deploy-cloudflared-replicas/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-availability/ 301
1770+
/cloudflare-one/connections/connect-networks/deploy-tunnels/tunnel-with-firewall/ /cloudflare-one/connections/connect-networks/configure-tunnels/tunnel-with-firewall/ 301
1771+
/cloudflare-one/connections/connect-networks/deploy-tunnels/ /cloudflare-one/connections/connect-networks/get-started/ 301
17641772
/cloudflare-one/connections/connect-networks/monitor-tunnels/grafana/ /cloudflare-one/tutorials/grafana/ 301
17651773
/cloudflare-one/connections/connect-networks/use-cases/kubectl/ /cloudflare-one/tutorials/many-cfd-one-tunnel/ 301
17661774
/cloudflare-one/connections/connect-networks/use_cases/ssh/ /cloudflare-one/connections/connect-networks/use-cases/ssh/ 301
@@ -1885,8 +1893,9 @@
18851893

18861894
# Cloudflare One / Zero Trust
18871895
/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/as-a-service/* /cloudflare-one/connections/connect-networks/configure-tunnels/local-management/as-a-service/:splat 301
1888-
/cloudflare-one/connections/connect-apps/install-and-setup/deployment-guides/* /cloudflare-one/connections/connect-networks/deploy-tunnels/deployment-guides/:splat 301
1889-
/cloudflare-one/connections/connect-networks/deployment-guides/* /cloudflare-one/connections/connect-networks/deploy-tunnels/deployment-guides/:splat 301
1896+
/cloudflare-one/connections/connect-apps/install-and-setup/deployment-guides/* /cloudflare-one/connections/connect-networks/deployment-guides/:splat 301
1897+
/cloudflare-one/connections/connect-networks/deploy-tunnels/deployment-guides/* /cloudflare-one/connections/connect-networks/deployment-guides/:splat 301
1898+
/cloudflare-one/connections/connect-networks/configure-tunnels/local-management/* /cloudflare-one/connections/connect-networks/do-more-with-tunnels/local-management/:splat 301
18901899
/cloudflare-one/analytics/logs/* /cloudflare-one/insights/logs/:splat 301
18911900
/cloudflare-one/applications/scan-apps/* /cloudflare-one/applications/casb/:splat 301
18921901
/cloudflare-one/connections/connect-apps/use_cases/* /cloudflare-one/connections/connect-networks/use-cases/:splat 301

src/components/Stream.astro

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,37 @@ if (thumbnailTimeOrURL !== undefined) {
7171
const title = this.dataset.title as string;
7272

7373
const player = this.querySelector(`#${id}`) as HTMLIFrameElement;
74+
const stream = Stream(player);
7475

75-
Stream(player).addEventListener("play", () => {
76-
track("play docs video", { title: title });
76+
stream.addEventListener("play", () => {
77+
track("play docs video", { title });
78+
});
79+
80+
stream.addEventListener("pause", () => {
81+
track("paused docs video", {
82+
title,
83+
time: stream.currentTime.toFixed(1),
84+
});
85+
});
86+
87+
stream.addEventListener("seeked", () => {
88+
track("seeked docs video", {
89+
title,
90+
time: stream.currentTime.toFixed(1),
91+
});
92+
});
93+
94+
stream.addEventListener("ended", () => {
95+
track("ended docs video", { title });
96+
});
97+
98+
stream.addEventListener("ratechange", () => {
99+
if (stream.playbackRate === 0 || stream.playbackRate === 1) return;
100+
101+
track("changed playback rate docs video", {
102+
title,
103+
rate: stream.playbackRate,
104+
});
77105
});
78106
}
79107
}

src/components/overrides/Sidebar.astro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import Default from "@astrojs/starlight/components/Sidebar.astro";
55
import { Icon as AstroIcon } from "astro-icon/components";
66
import { lookupProductTitle } from "~/util/sidebar";
77
8-
const [product, module] = Astro.url.pathname.split("/").slice(1, -1);
8+
const [product, module] = Astro.url.pathname.split("/").filter(Boolean);
99
---
1010

1111
<a

src/components/overrides/TableOfContents.astro

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,35 @@
22
import type { Props } from "@astrojs/starlight/props";
33
import Default from "@astrojs/starlight/components/TableOfContents.astro";
44
5+
import { Icon } from "@astrojs/starlight/components";
56
import FeedbackPrompt from "../FeedbackPrompt.tsx";
67
---
78

89
<Default {...Astro.props} />
10+
{
11+
!Astro.url.pathname.startsWith("/support/") && (
12+
<>
13+
<br />
14+
<div class="flex gap-2">
15+
{Astro.props.editUrl && (
16+
<a
17+
href={Astro.props.editUrl}
18+
class="h-8 cursor-pointer content-center rounded bg-cl1-brand-orange px-4 text-sm font-medium text-cl1-black"
19+
>
20+
<Icon name="pencil" />
21+
Edit
22+
</a>
23+
)}
24+
<a
25+
href="https://github.com/cloudflare/cloudflare-docs/issues/new/choose"
26+
class="h-8 cursor-pointer content-center rounded bg-cl1-brand-orange px-4 text-sm font-medium text-cl1-black"
27+
>
28+
<Icon name="github" />
29+
Issue
30+
</a>
31+
</div>
32+
</>
33+
)
34+
}
935
<br />
1036
<FeedbackPrompt client:idle />
Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,70 @@
11
---
2-
title: Workers AI JSON Mode
2+
title: Workers AI now supports structured JSON outputs.
33
description: Workers AI JSON Mode adds structured outputs support
44
date: 2025-02-25T15:00:00Z
55
---
66

7-
We've updated the Workers AI to support [JSON mode](/workers-ai/json-mode/), enabling applications to request a structured output response when interacting with AI models.
7+
import { TypeScriptExample } from "~/components";
8+
9+
Workers AI now supports structured JSON outputs with [JSON mode](/workers-ai/json-mode/), which allows you to request a structured output response when interacting with AI models.
10+
11+
This makes it much easier to retrieve structured data from your AI models, and avoids the (error prone!) need to parse large unstructured text responses to extract your data.
12+
13+
JSON mode in Workers AI is compatible with the OpenAI SDK's [structured outputs](https://platform.openai.com/docs/guides/structured-outputs) `response_format` API, which can be used directly in a Worker:
14+
15+
<TypeScriptExample>
16+
17+
```ts
18+
import { OpenAI } from "openai";
19+
20+
interface Env {
21+
OPENAI_API_KEY: string;
22+
}
23+
24+
// Define your JSON schema for a calendar event
25+
const CalendarEventSchema = {
26+
type: 'object',
27+
properties: {
28+
name: { type: 'string' },
29+
date: { type: 'string' },
30+
participants: { type: 'array', items: { type: 'string' } },
31+
},
32+
required: ['name', 'date', 'participants']
33+
};
34+
35+
export default {
36+
async fetch(request: Request, env: Env) {
37+
const client = new OpenAI({
38+
apiKey: env.OPENAI_API_KEY,
39+
// Optional: use AI Gateway to bring logs, evals & caching to your AI requests
40+
// https://developers.cloudflare.com/ai-gateway/providers/openai/
41+
// baseUrl: "https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai"
42+
});
43+
44+
const response = await client.chat.completions.create({
45+
model: 'gpt-4o-2024-08-06',
46+
messages: [
47+
{ role: 'system', content: 'Extract the event information.' },
48+
{ role: 'user', content: 'Alice and Bob are going to a science fair on Friday.' },
49+
],
50+
// Use the `response_format` option to request a structured JSON output
51+
response_format: {
52+
// Set json_schema and provide ra schema, or json_object and parse it yourself
53+
type: 'json_schema',
54+
schema: CalendarEventSchema, // provide a schema
55+
},
56+
});
57+
58+
// This will be of type CalendarEventSchema
59+
const event = response.choices[0].message.parsed;
60+
61+
return Response.json({
62+
"calendar_event": event,
63+
})
64+
}
65+
}
66+
```
67+
68+
</TypeScriptExample>
69+
70+
To learn more about JSON mode and structured outputs, visit the [Workers AI documentation](/workers-ai/json-mode/).
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: Concurrent Workflow instances limits increased.
3+
description: Increased concurrency limits for Workflows instances
4+
- workflows
5+
date: 2025-02-25T15:00:00Z
6+
---
7+
8+
import { Render, PackageManagers, TypeScriptExample } from "~/components"
9+
10+
[Workflows](/workflows/) now supports up to 4,500 concurrent (running) instances, up from the previous limit of 100. This limit will continue to increase during the Workflows open beta. This increase applies to all users on the Workers Paid plan, and takes effect immediately.
11+
12+
Review the Workflows [limits documentation](/workflows/reference/limits) and/or dive into the [get started guide](/workflows/get-started/guide/) to start building on Workflows.

src/content/docs/agents/platform/limits.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ Limits that apply to authoring, deploying, and running Agents are detailed below
1212

1313
Many limits are inherited from those applied to Workers scripts and/or Durable Objects, and are detailed in the [Workers limits](/workers/platform/limits/) documentation.
1414

15-
::: note
16-
1715
| Feature | Limit |
1816
| ----------------------------------------- | ----------------------- |
1917
| Max concurrent (running) Agents per account | Tens of millions+ [^1]

src/content/docs/ai-gateway/guardrails/index.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ sidebar:
88
badge: Beta
99
---
1010

11+
import { CardGrid, LinkTitleCard, YouTube } from "~/components";
12+
1113
Guardrails help you deploy AI applications safely by intercepting and evaluating both user prompts and model responses for harmful content. Acting as a proxy between your application and [model providers](/ai-gateway/providers/) (such as OpenAI, Anthropic, DeepSeek, and others), AI Gateway's Guardrails ensure a consistent and secure experience across your entire AI ecosystem.
1214

1315
Guardrails proactively monitor interactions between users and AI models, giving you:
@@ -17,6 +19,10 @@ Guardrails proactively monitor interactions between users and AI models, giving
1719
- **Flexibility and control over allowed content**: Specify which categories to monitor and choose between flagging or outright blocking.
1820
- **Auditing and compliance capabilities**: Receive updates on evolving regulatory requirements with logs of user prompts, model responses, and enforced guardrails.
1921

22+
## Video demo
23+
24+
<YouTube id="Its1H0jTxrQ" />
25+
2026
## How Guardrails work
2127

2228
AI Gateway inspects all interactions in real time by evaluating content against predefined safety parameters. Guardrails work by:
@@ -25,8 +31,13 @@ AI Gateway inspects all interactions in real time by evaluating content against
2531
AI Gateway proxies requests and responses, sitting between the user and the AI model.
2632

2733
2. Inspecting content:
34+
2835
- User prompts: AI Gateway checks prompts against safety parameters (for example, violence, hate, or sexual content). Based on your settings, prompts can be flagged or blocked before reaching the model.
2936
- Model responses: Once processed, the AI model response is inspected. If hazardous content is detected, it can be flagged or blocked before being delivered to the user.
3037

3138
3. Applying actions:
3239
Depending on your configuration, flagged content is logged for review, while blocked content is prevented from proceeding.
40+
41+
## Related resource
42+
43+
- [Cloudflare Blog: Keep AI interactions secure and risk-free with Guardrails in AI Gateway](https://blog.cloudflare.com/guardrails-in-ai-gateway/)

src/content/docs/ai-gateway/guardrails/usage-considerations.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Since Guardrails runs on Workers AI, enabling it incurs usage on Workers AI. You
1111

1212
## Additional considerations
1313

14-
- Model availability: If at least one hazard category is set to `block`, but AI Gateway is unable to receive a response from Workers AI, the request will be blocked.
14+
- Model availability: If at least one hazard category is set to `block`, but AI Gateway is unable to receive a response from Workers AI, the request will be blocked. Conversely, if a hazard category is set to `flag` and AI Gateway cannot obtain a response from Workers AI, the request will proceed without evaluation. This approach prioritizes availability, allowing requests to continue even when content evaluation is not possible.
1515
- Latency impact: Enabling Guardrails adds some latency. Consider this when balancing safety and speed.
1616

1717
:::note

src/content/docs/browser-rendering/platform/puppeteer.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
pcx_content_type: concept
33
title: Puppeteer
4+
description: Learn how to use Puppeteer with Cloudflare Workers for browser automation. Access Puppeteer API, manage sessions, and optimize browser rendering.
45
sidebar:
56
order: 10
67
---

0 commit comments

Comments
 (0)