pi-cloudflare 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +67 -0
  3. package/bin/setup.mjs +103 -0
  4. package/dist/auth-flow.d.ts +15 -0
  5. package/dist/auth-flow.d.ts.map +1 -0
  6. package/dist/auth-flow.js +90 -0
  7. package/dist/auth-flow.js.map +1 -0
  8. package/dist/client.d.ts +18 -0
  9. package/dist/client.d.ts.map +1 -0
  10. package/dist/client.js +47 -0
  11. package/dist/client.js.map +1 -0
  12. package/dist/config.d.ts +13 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +10 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/index.d.ts +24 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +109 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/oauth.d.ts +44 -0
  21. package/dist/oauth.d.ts.map +1 -0
  22. package/dist/oauth.js +135 -0
  23. package/dist/oauth.js.map +1 -0
  24. package/dist/proxy.d.ts +29 -0
  25. package/dist/proxy.d.ts.map +1 -0
  26. package/dist/proxy.js +39 -0
  27. package/dist/proxy.js.map +1 -0
  28. package/dist/servers.d.ts +19 -0
  29. package/dist/servers.d.ts.map +1 -0
  30. package/dist/servers.js +40 -0
  31. package/dist/servers.js.map +1 -0
  32. package/dist/token-store.d.ts +23 -0
  33. package/dist/token-store.d.ts.map +1 -0
  34. package/dist/token-store.js +47 -0
  35. package/dist/token-store.js.map +1 -0
  36. package/package.json +67 -0
  37. package/skills/agents-sdk/SKILL.md +221 -0
  38. package/skills/agents-sdk/references/browse-the-web.md +63 -0
  39. package/skills/agents-sdk/references/callable.md +92 -0
  40. package/skills/agents-sdk/references/client-sdk.md +110 -0
  41. package/skills/agents-sdk/references/codemode.md +110 -0
  42. package/skills/agents-sdk/references/configuration.md +72 -0
  43. package/skills/agents-sdk/references/durable-execution.md +51 -0
  44. package/skills/agents-sdk/references/email.md +146 -0
  45. package/skills/agents-sdk/references/human-in-the-loop.md +67 -0
  46. package/skills/agents-sdk/references/mcp.md +188 -0
  47. package/skills/agents-sdk/references/observability.md +44 -0
  48. package/skills/agents-sdk/references/queue-retries.md +79 -0
  49. package/skills/agents-sdk/references/routing.md +75 -0
  50. package/skills/agents-sdk/references/server-driven-messages.md +63 -0
  51. package/skills/agents-sdk/references/state-scheduling.md +171 -0
  52. package/skills/agents-sdk/references/streaming-chat.md +198 -0
  53. package/skills/agents-sdk/references/think.md +112 -0
  54. package/skills/agents-sdk/references/voice.md +68 -0
  55. package/skills/agents-sdk/references/webhooks-push.md +86 -0
  56. package/skills/agents-sdk/references/workflows.md +132 -0
  57. package/skills/cloudflare/SKILL.md +248 -0
  58. package/skills/cloudflare/references/agents-sdk/README.md +89 -0
  59. package/skills/cloudflare/references/agents-sdk/api.md +190 -0
  60. package/skills/cloudflare/references/agents-sdk/configuration.md +182 -0
  61. package/skills/cloudflare/references/agents-sdk/gotchas.md +158 -0
  62. package/skills/cloudflare/references/agents-sdk/patterns.md +192 -0
  63. package/skills/cloudflare/references/ai-gateway/README.md +175 -0
  64. package/skills/cloudflare/references/ai-gateway/configuration.md +111 -0
  65. package/skills/cloudflare/references/ai-gateway/dynamic-routing.md +82 -0
  66. package/skills/cloudflare/references/ai-gateway/features.md +96 -0
  67. package/skills/cloudflare/references/ai-gateway/sdk-integration.md +114 -0
  68. package/skills/cloudflare/references/ai-gateway/troubleshooting.md +88 -0
  69. package/skills/cloudflare/references/ai-search/README.md +138 -0
  70. package/skills/cloudflare/references/ai-search/api.md +87 -0
  71. package/skills/cloudflare/references/ai-search/configuration.md +88 -0
  72. package/skills/cloudflare/references/ai-search/gotchas.md +81 -0
  73. package/skills/cloudflare/references/ai-search/patterns.md +85 -0
  74. package/skills/cloudflare/references/analytics-engine/README.md +94 -0
  75. package/skills/cloudflare/references/analytics-engine/api.md +112 -0
  76. package/skills/cloudflare/references/analytics-engine/configuration.md +112 -0
  77. package/skills/cloudflare/references/analytics-engine/gotchas.md +85 -0
  78. package/skills/cloudflare/references/analytics-engine/patterns.md +83 -0
  79. package/skills/cloudflare/references/api/README.md +66 -0
  80. package/skills/cloudflare/references/api/api.md +204 -0
  81. package/skills/cloudflare/references/api/configuration.md +160 -0
  82. package/skills/cloudflare/references/api/gotchas.md +225 -0
  83. package/skills/cloudflare/references/api/patterns.md +204 -0
  84. package/skills/cloudflare/references/api-shield/README.md +44 -0
  85. package/skills/cloudflare/references/api-shield/api.md +141 -0
  86. package/skills/cloudflare/references/api-shield/configuration.md +192 -0
  87. package/skills/cloudflare/references/api-shield/gotchas.md +125 -0
  88. package/skills/cloudflare/references/api-shield/patterns.md +180 -0
  89. package/skills/cloudflare/references/argo-smart-routing/README.md +90 -0
  90. package/skills/cloudflare/references/argo-smart-routing/api.md +240 -0
  91. package/skills/cloudflare/references/argo-smart-routing/configuration.md +197 -0
  92. package/skills/cloudflare/references/argo-smart-routing/gotchas.md +111 -0
  93. package/skills/cloudflare/references/argo-smart-routing/patterns.md +104 -0
  94. package/skills/cloudflare/references/artifacts/README.md +79 -0
  95. package/skills/cloudflare/references/artifacts/api.md +128 -0
  96. package/skills/cloudflare/references/artifacts/configuration.md +92 -0
  97. package/skills/cloudflare/references/bindings/README.md +122 -0
  98. package/skills/cloudflare/references/bindings/api.md +203 -0
  99. package/skills/cloudflare/references/bindings/configuration.md +188 -0
  100. package/skills/cloudflare/references/bindings/gotchas.md +208 -0
  101. package/skills/cloudflare/references/bindings/patterns.md +200 -0
  102. package/skills/cloudflare/references/bot-management/README.md +94 -0
  103. package/skills/cloudflare/references/bot-management/api.md +169 -0
  104. package/skills/cloudflare/references/bot-management/configuration.md +163 -0
  105. package/skills/cloudflare/references/bot-management/gotchas.md +114 -0
  106. package/skills/cloudflare/references/bot-management/patterns.md +182 -0
  107. package/skills/cloudflare/references/browser-rendering/README.md +78 -0
  108. package/skills/cloudflare/references/browser-rendering/api.md +108 -0
  109. package/skills/cloudflare/references/browser-rendering/configuration.md +78 -0
  110. package/skills/cloudflare/references/browser-rendering/gotchas.md +88 -0
  111. package/skills/cloudflare/references/browser-rendering/patterns.md +91 -0
  112. package/skills/cloudflare/references/c3/README.md +111 -0
  113. package/skills/cloudflare/references/c3/api.md +71 -0
  114. package/skills/cloudflare/references/c3/configuration.md +81 -0
  115. package/skills/cloudflare/references/c3/gotchas.md +92 -0
  116. package/skills/cloudflare/references/c3/patterns.md +82 -0
  117. package/skills/cloudflare/references/cache-reserve/README.md +147 -0
  118. package/skills/cloudflare/references/cache-reserve/api.md +194 -0
  119. package/skills/cloudflare/references/cache-reserve/configuration.md +169 -0
  120. package/skills/cloudflare/references/cache-reserve/gotchas.md +132 -0
  121. package/skills/cloudflare/references/cache-reserve/patterns.md +197 -0
  122. package/skills/cloudflare/references/containers/README.md +85 -0
  123. package/skills/cloudflare/references/containers/api.md +187 -0
  124. package/skills/cloudflare/references/containers/configuration.md +188 -0
  125. package/skills/cloudflare/references/containers/gotchas.md +178 -0
  126. package/skills/cloudflare/references/containers/patterns.md +202 -0
  127. package/skills/cloudflare/references/cron-triggers/README.md +99 -0
  128. package/skills/cloudflare/references/cron-triggers/api.md +196 -0
  129. package/skills/cloudflare/references/cron-triggers/configuration.md +180 -0
  130. package/skills/cloudflare/references/cron-triggers/gotchas.md +199 -0
  131. package/skills/cloudflare/references/cron-triggers/patterns.md +190 -0
  132. package/skills/cloudflare/references/d1/README.md +133 -0
  133. package/skills/cloudflare/references/d1/api.md +196 -0
  134. package/skills/cloudflare/references/d1/configuration.md +191 -0
  135. package/skills/cloudflare/references/d1/gotchas.md +98 -0
  136. package/skills/cloudflare/references/d1/patterns.md +189 -0
  137. package/skills/cloudflare/references/ddos/README.md +41 -0
  138. package/skills/cloudflare/references/ddos/api.md +164 -0
  139. package/skills/cloudflare/references/ddos/configuration.md +93 -0
  140. package/skills/cloudflare/references/ddos/gotchas.md +107 -0
  141. package/skills/cloudflare/references/ddos/patterns.md +174 -0
  142. package/skills/cloudflare/references/do-storage/README.md +75 -0
  143. package/skills/cloudflare/references/do-storage/api.md +102 -0
  144. package/skills/cloudflare/references/do-storage/configuration.md +112 -0
  145. package/skills/cloudflare/references/do-storage/gotchas.md +150 -0
  146. package/skills/cloudflare/references/do-storage/patterns.md +194 -0
  147. package/skills/cloudflare/references/do-storage/testing.md +183 -0
  148. package/skills/cloudflare/references/durable-objects/README.md +185 -0
  149. package/skills/cloudflare/references/durable-objects/api.md +187 -0
  150. package/skills/cloudflare/references/durable-objects/configuration.md +160 -0
  151. package/skills/cloudflare/references/durable-objects/gotchas.md +197 -0
  152. package/skills/cloudflare/references/durable-objects/patterns.md +201 -0
  153. package/skills/cloudflare/references/email-routing/README.md +89 -0
  154. package/skills/cloudflare/references/email-routing/api.md +195 -0
  155. package/skills/cloudflare/references/email-routing/configuration.md +186 -0
  156. package/skills/cloudflare/references/email-routing/gotchas.md +196 -0
  157. package/skills/cloudflare/references/email-routing/patterns.md +229 -0
  158. package/skills/cloudflare/references/email-workers/README.md +151 -0
  159. package/skills/cloudflare/references/email-workers/api.md +237 -0
  160. package/skills/cloudflare/references/email-workers/configuration.md +112 -0
  161. package/skills/cloudflare/references/email-workers/gotchas.md +125 -0
  162. package/skills/cloudflare/references/email-workers/patterns.md +102 -0
  163. package/skills/cloudflare/references/flagship/README.md +59 -0
  164. package/skills/cloudflare/references/flagship/api.md +390 -0
  165. package/skills/cloudflare/references/flagship/configuration.md +202 -0
  166. package/skills/cloudflare/references/flagship/gotchas.md +178 -0
  167. package/skills/cloudflare/references/flagship/patterns.md +469 -0
  168. package/skills/cloudflare/references/graphql-api/README.md +147 -0
  169. package/skills/cloudflare/references/graphql-api/api.md +175 -0
  170. package/skills/cloudflare/references/graphql-api/configuration.md +118 -0
  171. package/skills/cloudflare/references/graphql-api/gotchas.md +110 -0
  172. package/skills/cloudflare/references/graphql-api/patterns.md +225 -0
  173. package/skills/cloudflare/references/hyperdrive/README.md +82 -0
  174. package/skills/cloudflare/references/hyperdrive/api.md +143 -0
  175. package/skills/cloudflare/references/hyperdrive/configuration.md +159 -0
  176. package/skills/cloudflare/references/hyperdrive/gotchas.md +77 -0
  177. package/skills/cloudflare/references/hyperdrive/patterns.md +190 -0
  178. package/skills/cloudflare/references/images/README.md +61 -0
  179. package/skills/cloudflare/references/images/api.md +96 -0
  180. package/skills/cloudflare/references/images/configuration.md +211 -0
  181. package/skills/cloudflare/references/images/gotchas.md +99 -0
  182. package/skills/cloudflare/references/images/patterns.md +115 -0
  183. package/skills/cloudflare/references/kv/README.md +89 -0
  184. package/skills/cloudflare/references/kv/api.md +160 -0
  185. package/skills/cloudflare/references/kv/configuration.md +144 -0
  186. package/skills/cloudflare/references/kv/gotchas.md +131 -0
  187. package/skills/cloudflare/references/kv/patterns.md +196 -0
  188. package/skills/cloudflare/references/miniflare/README.md +105 -0
  189. package/skills/cloudflare/references/miniflare/api.md +187 -0
  190. package/skills/cloudflare/references/miniflare/configuration.md +173 -0
  191. package/skills/cloudflare/references/miniflare/gotchas.md +160 -0
  192. package/skills/cloudflare/references/miniflare/patterns.md +181 -0
  193. package/skills/cloudflare/references/network-interconnect/README.md +99 -0
  194. package/skills/cloudflare/references/network-interconnect/api.md +199 -0
  195. package/skills/cloudflare/references/network-interconnect/configuration.md +114 -0
  196. package/skills/cloudflare/references/network-interconnect/gotchas.md +165 -0
  197. package/skills/cloudflare/references/network-interconnect/patterns.md +166 -0
  198. package/skills/cloudflare/references/observability/README.md +88 -0
  199. package/skills/cloudflare/references/observability/api.md +164 -0
  200. package/skills/cloudflare/references/observability/configuration.md +169 -0
  201. package/skills/cloudflare/references/observability/gotchas.md +115 -0
  202. package/skills/cloudflare/references/observability/patterns.md +105 -0
  203. package/skills/cloudflare/references/pages/README.md +88 -0
  204. package/skills/cloudflare/references/pages/api.md +204 -0
  205. package/skills/cloudflare/references/pages/configuration.md +201 -0
  206. package/skills/cloudflare/references/pages/gotchas.md +203 -0
  207. package/skills/cloudflare/references/pages/patterns.md +204 -0
  208. package/skills/cloudflare/references/pages-functions/README.md +98 -0
  209. package/skills/cloudflare/references/pages-functions/api.md +143 -0
  210. package/skills/cloudflare/references/pages-functions/configuration.md +122 -0
  211. package/skills/cloudflare/references/pages-functions/gotchas.md +94 -0
  212. package/skills/cloudflare/references/pages-functions/patterns.md +137 -0
  213. package/skills/cloudflare/references/pipelines/README.md +90 -0
  214. package/skills/cloudflare/references/pipelines/api.md +124 -0
  215. package/skills/cloudflare/references/pipelines/configuration.md +155 -0
  216. package/skills/cloudflare/references/pipelines/gotchas.md +58 -0
  217. package/skills/cloudflare/references/pipelines/patterns.md +130 -0
  218. package/skills/cloudflare/references/pulumi/README.md +100 -0
  219. package/skills/cloudflare/references/pulumi/api.md +200 -0
  220. package/skills/cloudflare/references/pulumi/configuration.md +198 -0
  221. package/skills/cloudflare/references/pulumi/gotchas.md +181 -0
  222. package/skills/cloudflare/references/pulumi/patterns.md +191 -0
  223. package/skills/cloudflare/references/queues/README.md +96 -0
  224. package/skills/cloudflare/references/queues/api.md +206 -0
  225. package/skills/cloudflare/references/queues/configuration.md +144 -0
  226. package/skills/cloudflare/references/queues/gotchas.md +206 -0
  227. package/skills/cloudflare/references/queues/patterns.md +220 -0
  228. package/skills/cloudflare/references/r2/README.md +95 -0
  229. package/skills/cloudflare/references/r2/api.md +200 -0
  230. package/skills/cloudflare/references/r2/configuration.md +165 -0
  231. package/skills/cloudflare/references/r2/gotchas.md +190 -0
  232. package/skills/cloudflare/references/r2/patterns.md +193 -0
  233. package/skills/cloudflare/references/r2-data-catalog/README.md +75 -0
  234. package/skills/cloudflare/references/r2-data-catalog/api.md +122 -0
  235. package/skills/cloudflare/references/r2-data-catalog/configuration.md +98 -0
  236. package/skills/cloudflare/references/r2-data-catalog/gotchas.md +55 -0
  237. package/skills/cloudflare/references/r2-data-catalog/patterns.md +122 -0
  238. package/skills/cloudflare/references/r2-sql/README.md +64 -0
  239. package/skills/cloudflare/references/r2-sql/api.md +121 -0
  240. package/skills/cloudflare/references/r2-sql/configuration.md +50 -0
  241. package/skills/cloudflare/references/r2-sql/gotchas.md +39 -0
  242. package/skills/cloudflare/references/r2-sql/patterns.md +118 -0
  243. package/skills/cloudflare/references/realtime-sfu/README.md +65 -0
  244. package/skills/cloudflare/references/realtime-sfu/api.md +158 -0
  245. package/skills/cloudflare/references/realtime-sfu/configuration.md +137 -0
  246. package/skills/cloudflare/references/realtime-sfu/gotchas.md +133 -0
  247. package/skills/cloudflare/references/realtime-sfu/patterns.md +174 -0
  248. package/skills/cloudflare/references/realtimekit/README.md +113 -0
  249. package/skills/cloudflare/references/realtimekit/api.md +212 -0
  250. package/skills/cloudflare/references/realtimekit/configuration.md +203 -0
  251. package/skills/cloudflare/references/realtimekit/gotchas.md +169 -0
  252. package/skills/cloudflare/references/realtimekit/patterns.md +223 -0
  253. package/skills/cloudflare/references/sandbox/README.md +96 -0
  254. package/skills/cloudflare/references/sandbox/api.md +198 -0
  255. package/skills/cloudflare/references/sandbox/configuration.md +143 -0
  256. package/skills/cloudflare/references/sandbox/gotchas.md +194 -0
  257. package/skills/cloudflare/references/sandbox/patterns.md +201 -0
  258. package/skills/cloudflare/references/secrets-store/README.md +74 -0
  259. package/skills/cloudflare/references/secrets-store/api.md +200 -0
  260. package/skills/cloudflare/references/secrets-store/configuration.md +185 -0
  261. package/skills/cloudflare/references/secrets-store/gotchas.md +97 -0
  262. package/skills/cloudflare/references/secrets-store/patterns.md +207 -0
  263. package/skills/cloudflare/references/smart-placement/README.md +138 -0
  264. package/skills/cloudflare/references/smart-placement/api.md +183 -0
  265. package/skills/cloudflare/references/smart-placement/configuration.md +196 -0
  266. package/skills/cloudflare/references/smart-placement/gotchas.md +174 -0
  267. package/skills/cloudflare/references/smart-placement/patterns.md +183 -0
  268. package/skills/cloudflare/references/snippets/README.md +68 -0
  269. package/skills/cloudflare/references/snippets/api.md +198 -0
  270. package/skills/cloudflare/references/snippets/configuration.md +227 -0
  271. package/skills/cloudflare/references/snippets/gotchas.md +86 -0
  272. package/skills/cloudflare/references/snippets/patterns.md +135 -0
  273. package/skills/cloudflare/references/spectrum/README.md +52 -0
  274. package/skills/cloudflare/references/spectrum/api.md +181 -0
  275. package/skills/cloudflare/references/spectrum/configuration.md +194 -0
  276. package/skills/cloudflare/references/spectrum/gotchas.md +145 -0
  277. package/skills/cloudflare/references/spectrum/patterns.md +196 -0
  278. package/skills/cloudflare/references/static-assets/README.md +65 -0
  279. package/skills/cloudflare/references/static-assets/api.md +199 -0
  280. package/skills/cloudflare/references/static-assets/configuration.md +186 -0
  281. package/skills/cloudflare/references/static-assets/gotchas.md +162 -0
  282. package/skills/cloudflare/references/static-assets/patterns.md +189 -0
  283. package/skills/cloudflare/references/stream/README.md +114 -0
  284. package/skills/cloudflare/references/stream/api-live.md +195 -0
  285. package/skills/cloudflare/references/stream/api.md +199 -0
  286. package/skills/cloudflare/references/stream/configuration.md +141 -0
  287. package/skills/cloudflare/references/stream/gotchas.md +130 -0
  288. package/skills/cloudflare/references/stream/patterns.md +184 -0
  289. package/skills/cloudflare/references/tail-workers/README.md +89 -0
  290. package/skills/cloudflare/references/tail-workers/api.md +200 -0
  291. package/skills/cloudflare/references/tail-workers/configuration.md +176 -0
  292. package/skills/cloudflare/references/tail-workers/gotchas.md +192 -0
  293. package/skills/cloudflare/references/tail-workers/patterns.md +180 -0
  294. package/skills/cloudflare/references/terraform/README.md +102 -0
  295. package/skills/cloudflare/references/terraform/api.md +178 -0
  296. package/skills/cloudflare/references/terraform/configuration.md +197 -0
  297. package/skills/cloudflare/references/terraform/gotchas.md +150 -0
  298. package/skills/cloudflare/references/terraform/patterns.md +174 -0
  299. package/skills/cloudflare/references/tunnel/README.md +129 -0
  300. package/skills/cloudflare/references/tunnel/api.md +193 -0
  301. package/skills/cloudflare/references/tunnel/configuration.md +157 -0
  302. package/skills/cloudflare/references/tunnel/gotchas.md +147 -0
  303. package/skills/cloudflare/references/tunnel/networking.md +168 -0
  304. package/skills/cloudflare/references/tunnel/patterns.md +192 -0
  305. package/skills/cloudflare/references/turn/README.md +82 -0
  306. package/skills/cloudflare/references/turn/api.md +239 -0
  307. package/skills/cloudflare/references/turn/configuration.md +179 -0
  308. package/skills/cloudflare/references/turn/gotchas.md +231 -0
  309. package/skills/cloudflare/references/turn/patterns.md +213 -0
  310. package/skills/cloudflare/references/turnstile/README.md +99 -0
  311. package/skills/cloudflare/references/turnstile/api.md +240 -0
  312. package/skills/cloudflare/references/turnstile/configuration.md +222 -0
  313. package/skills/cloudflare/references/turnstile/gotchas.md +218 -0
  314. package/skills/cloudflare/references/turnstile/patterns.md +193 -0
  315. package/skills/cloudflare/references/vectorize/README.md +133 -0
  316. package/skills/cloudflare/references/vectorize/api.md +88 -0
  317. package/skills/cloudflare/references/vectorize/configuration.md +88 -0
  318. package/skills/cloudflare/references/vectorize/gotchas.md +76 -0
  319. package/skills/cloudflare/references/vectorize/patterns.md +90 -0
  320. package/skills/cloudflare/references/waf/README.md +113 -0
  321. package/skills/cloudflare/references/waf/api.md +202 -0
  322. package/skills/cloudflare/references/waf/configuration.md +203 -0
  323. package/skills/cloudflare/references/waf/gotchas.md +204 -0
  324. package/skills/cloudflare/references/waf/patterns.md +197 -0
  325. package/skills/cloudflare/references/web-analytics/README.md +141 -0
  326. package/skills/cloudflare/references/web-analytics/configuration.md +76 -0
  327. package/skills/cloudflare/references/web-analytics/gotchas.md +82 -0
  328. package/skills/cloudflare/references/web-analytics/integration.md +60 -0
  329. package/skills/cloudflare/references/web-analytics/patterns.md +91 -0
  330. package/skills/cloudflare/references/workerd/README.md +78 -0
  331. package/skills/cloudflare/references/workerd/api.md +185 -0
  332. package/skills/cloudflare/references/workerd/configuration.md +183 -0
  333. package/skills/cloudflare/references/workerd/gotchas.md +139 -0
  334. package/skills/cloudflare/references/workerd/patterns.md +192 -0
  335. package/skills/cloudflare/references/workers/README.md +108 -0
  336. package/skills/cloudflare/references/workers/api.md +195 -0
  337. package/skills/cloudflare/references/workers/configuration.md +185 -0
  338. package/skills/cloudflare/references/workers/frameworks.md +197 -0
  339. package/skills/cloudflare/references/workers/gotchas.md +137 -0
  340. package/skills/cloudflare/references/workers/patterns.md +198 -0
  341. package/skills/cloudflare/references/workers-ai/README.md +197 -0
  342. package/skills/cloudflare/references/workers-ai/api.md +112 -0
  343. package/skills/cloudflare/references/workers-ai/configuration.md +97 -0
  344. package/skills/cloudflare/references/workers-ai/gotchas.md +114 -0
  345. package/skills/cloudflare/references/workers-ai/patterns.md +120 -0
  346. package/skills/cloudflare/references/workers-for-platforms/README.md +89 -0
  347. package/skills/cloudflare/references/workers-for-platforms/api.md +196 -0
  348. package/skills/cloudflare/references/workers-for-platforms/configuration.md +167 -0
  349. package/skills/cloudflare/references/workers-for-platforms/gotchas.md +134 -0
  350. package/skills/cloudflare/references/workers-for-platforms/patterns.md +188 -0
  351. package/skills/cloudflare/references/workers-playground/README.md +127 -0
  352. package/skills/cloudflare/references/workers-playground/api.md +101 -0
  353. package/skills/cloudflare/references/workers-playground/configuration.md +163 -0
  354. package/skills/cloudflare/references/workers-playground/gotchas.md +88 -0
  355. package/skills/cloudflare/references/workers-playground/patterns.md +132 -0
  356. package/skills/cloudflare/references/workers-vpc/README.md +127 -0
  357. package/skills/cloudflare/references/workers-vpc/api.md +202 -0
  358. package/skills/cloudflare/references/workers-vpc/configuration.md +147 -0
  359. package/skills/cloudflare/references/workers-vpc/gotchas.md +167 -0
  360. package/skills/cloudflare/references/workers-vpc/patterns.md +209 -0
  361. package/skills/cloudflare/references/workflows/README.md +77 -0
  362. package/skills/cloudflare/references/workflows/api.md +218 -0
  363. package/skills/cloudflare/references/workflows/configuration.md +152 -0
  364. package/skills/cloudflare/references/workflows/gotchas.md +90 -0
  365. package/skills/cloudflare/references/workflows/patterns.md +175 -0
  366. package/skills/cloudflare/references/wrangler/README.md +135 -0
  367. package/skills/cloudflare/references/wrangler/api.md +188 -0
  368. package/skills/cloudflare/references/wrangler/configuration.md +197 -0
  369. package/skills/cloudflare/references/wrangler/gotchas.md +197 -0
  370. package/skills/cloudflare/references/wrangler/patterns.md +209 -0
  371. package/skills/cloudflare/references/zaraz/IMPLEMENTATION_SUMMARY.md +121 -0
  372. package/skills/cloudflare/references/zaraz/README.md +111 -0
  373. package/skills/cloudflare/references/zaraz/api.md +112 -0
  374. package/skills/cloudflare/references/zaraz/configuration.md +90 -0
  375. package/skills/cloudflare/references/zaraz/gotchas.md +81 -0
  376. package/skills/cloudflare/references/zaraz/patterns.md +74 -0
  377. package/skills/cloudflare-email-service/SKILL.md +103 -0
  378. package/skills/cloudflare-email-service/references/cli-and-mcp.md +125 -0
  379. package/skills/cloudflare-email-service/references/deliverability.md +285 -0
  380. package/skills/cloudflare-email-service/references/rest-api.md +184 -0
  381. package/skills/cloudflare-email-service/references/routing.md +199 -0
  382. package/skills/cloudflare-email-service/references/sending.md +252 -0
  383. package/skills/cloudflare-one/SKILL.md +176 -0
  384. package/skills/cloudflare-one-migrations/SKILL.md +110 -0
  385. package/skills/durable-objects/SKILL.md +186 -0
  386. package/skills/durable-objects/references/rules.md +295 -0
  387. package/skills/durable-objects/references/testing.md +264 -0
  388. package/skills/durable-objects/references/workers.md +346 -0
  389. package/skills/sandbox-migrate-to-next/SKILL.md +185 -0
  390. package/skills/sandbox-next/SKILL.md +91 -0
  391. package/skills/sandbox-next/references/api-quick-ref.md +94 -0
  392. package/skills/sandbox-next/references/examples.md +15 -0
  393. package/skills/sandbox-stable/SKILL.md +110 -0
  394. package/skills/turnstile-spin/README.md +51 -0
  395. package/skills/turnstile-spin/SKILL.md +330 -0
  396. package/skills/turnstile-spin/references/astro.md +199 -0
  397. package/skills/turnstile-spin/references/hugo.md +114 -0
  398. package/skills/turnstile-spin/references/nextjs-app.md +261 -0
  399. package/skills/turnstile-spin/references/nextjs-pages.md +82 -0
  400. package/skills/turnstile-spin/references/sveltekit.md +191 -0
  401. package/skills/turnstile-spin/references/vanilla-html.md +157 -0
  402. package/skills/turnstile-spin/scripts/auth-probe.sh +285 -0
  403. package/skills/turnstile-spin/scripts/persist-skill.sh +114 -0
  404. package/skills/turnstile-spin/scripts/validate.sh +137 -0
  405. package/skills/turnstile-spin/scripts/widget-create.sh +121 -0
  406. package/skills/turnstile-spin/tests/validation.md +62 -0
  407. package/skills/workers-best-practices/SKILL.md +127 -0
  408. package/skills/workers-best-practices/references/review.md +174 -0
  409. package/skills/workers-best-practices/references/rules.md +467 -0
  410. package/skills/wrangler/SKILL.md +922 -0
@@ -0,0 +1,111 @@
1
+ # Configuration & Setup
2
+
3
+ ## Creating a Gateway
4
+
5
+ ### Dashboard
6
+ AI > AI Gateway > Create Gateway > Configure (auth, caching, rate limiting, logging)
7
+
8
+ ### API
9
+ ```bash
10
+ curl -X POST https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-gateway/gateways \
11
+ -H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
12
+ -d '{"id":"my-gateway","cache_ttl":3600,"rate_limiting_interval":60,"rate_limiting_limit":100,"collect_logs":true}'
13
+ ```
14
+
15
+ **Naming:** lowercase alphanumeric + hyphens (e.g., `prod-api`, `dev-chat`)
16
+
17
+ ## Wrangler Integration
18
+
19
+ ```toml
20
+ [ai]
21
+ binding = "AI"
22
+
23
+ [[ai.gateway]]
24
+ id = "my-gateway"
25
+ ```
26
+
27
+ ```bash
28
+ wrangler secret put CF_API_TOKEN
29
+ wrangler secret put OPENAI_API_KEY # If not using BYOK
30
+ ```
31
+
32
+ ## Authentication
33
+
34
+ ### Gateway Auth (protects gateway access)
35
+ ```typescript
36
+ const client = new OpenAI({
37
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
38
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
39
+ });
40
+ ```
41
+
42
+ ### Provider Auth Options
43
+
44
+ **1. Unified Billing (keyless)** - pay through Cloudflare, no provider key:
45
+ ```typescript
46
+ const client = new OpenAI({
47
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
48
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
49
+ });
50
+ ```
51
+ Supports: OpenAI, Anthropic, Google AI Studio
52
+
53
+ **2. BYOK** - store keys in dashboard (Provider Keys > Add), no key in code
54
+
55
+ **3. Request Headers** - pass provider key per request:
56
+ ```typescript
57
+ const client = new OpenAI({
58
+ apiKey: process.env.OPENAI_API_KEY,
59
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
60
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
61
+ });
62
+ ```
63
+
64
+ ## API Token Permissions
65
+
66
+ - **Gateway management:** AI Gateway - Read + Edit
67
+ - **Gateway access:** AI Gateway - Read (minimum)
68
+
69
+ ## Gateway Management API
70
+
71
+ ```bash
72
+ # List
73
+ curl https://api.cloudflare.com/client/v4/accounts/{account_id}/ai-gateway/gateways \
74
+ -H "Authorization: Bearer $CF_API_TOKEN"
75
+
76
+ # Get
77
+ curl .../gateways/{gateway_id}
78
+
79
+ # Update
80
+ curl -X PUT .../gateways/{gateway_id} \
81
+ -d '{"cache_ttl":7200,"rate_limiting_limit":200}'
82
+
83
+ # Delete
84
+ curl -X DELETE .../gateways/{gateway_id}
85
+ ```
86
+
87
+ ## Getting IDs
88
+
89
+ - **Account ID:** Dashboard > Overview > Copy
90
+ - **Gateway ID:** AI Gateway > Gateway name column
91
+
92
+ ## Python Example
93
+
94
+ ```python
95
+ from openai import OpenAI
96
+ import os
97
+
98
+ client = OpenAI(
99
+ api_key=os.environ.get("OPENAI_API_KEY"),
100
+ base_url=f"https://gateway.ai.cloudflare.com/v1/{os.environ['CF_ACCOUNT_ID']}/{os.environ['GATEWAY_ID']}/openai",
101
+ default_headers={"cf-aig-authorization": f"Bearer {os.environ['CF_API_TOKEN']}"}
102
+ )
103
+ ```
104
+
105
+ ## Best Practices
106
+
107
+ 1. **Always authenticate gateways in production**
108
+ 2. **Use BYOK or unified billing** - secrets out of code
109
+ 3. **Environment-specific gateways** - separate dev/staging/prod
110
+ 4. **Set rate limits** - prevent runaway costs
111
+ 5. **Enable logging** - track usage, debug issues
@@ -0,0 +1,82 @@
1
+ # Dynamic Routing
2
+
3
+ Configure complex routing in dashboard without code changes. Use route names instead of model names.
4
+
5
+ ## Usage
6
+
7
+ ```typescript
8
+ const response = await client.chat.completions.create({
9
+ model: 'dynamic/smart-chat', // Route name from dashboard
10
+ messages: [{ role: 'user', content: 'Hello!' }]
11
+ });
12
+ ```
13
+
14
+ ## Node Types
15
+
16
+ | Node | Purpose | Use Case |
17
+ |------|---------|----------|
18
+ | **Conditional** | Branch on metadata | Paid vs free users, geo routing |
19
+ | **Percentage** | A/B split traffic | Model testing, gradual rollouts |
20
+ | **Rate Limit** | Enforce quotas | Per-user/team limits |
21
+ | **Budget Limit** | Cost quotas | Per-user spending caps |
22
+ | **Model** | Call provider | Final destination |
23
+
24
+ ## Metadata
25
+
26
+ Pass via header (max 5 entries, flat only):
27
+ ```typescript
28
+ headers: {
29
+ 'cf-aig-metadata': JSON.stringify({
30
+ userId: 'user-123',
31
+ tier: 'pro',
32
+ region: 'us-east'
33
+ })
34
+ }
35
+ ```
36
+
37
+ ## Common Patterns
38
+
39
+ **Multi-model fallback:**
40
+ ```
41
+ Start → GPT-4 → On error: Claude → On error: Llama
42
+ ```
43
+
44
+ **Tiered access:**
45
+ ```
46
+ Conditional: tier == 'enterprise' → GPT-4 (no limit)
47
+ Conditional: tier == 'pro' → Rate Limit 1000/hr → GPT-4o
48
+ Conditional: tier == 'free' → Rate Limit 10/hr → GPT-4o-mini
49
+ ```
50
+
51
+ **Gradual rollout:**
52
+ ```
53
+ Percentage: 10% → New model, 90% → Old model
54
+ ```
55
+
56
+ **Cost-based fallback:**
57
+ ```
58
+ Budget Limit: $100/day per teamId
59
+ < 80%: GPT-4
60
+ >= 80%: GPT-4o-mini
61
+ >= 100%: Error
62
+ ```
63
+
64
+ ## Version Management
65
+
66
+ - Save changes as new version
67
+ - Test with `model: 'dynamic/route@v2'`
68
+ - Roll back by deploying previous version
69
+
70
+ ## Monitoring
71
+
72
+ Dashboard → Gateway → Dynamic Routes:
73
+ - Request count per path
74
+ - Success/error rates
75
+ - Latency/cost by path
76
+
77
+ ## Limitations
78
+
79
+ - Max 5 metadata entries
80
+ - Values: string/number/boolean/null only
81
+ - No nested objects
82
+ - Route names: alphanumeric + hyphens
@@ -0,0 +1,96 @@
1
+ # Features & Capabilities
2
+
3
+ ## Caching
4
+
5
+ Dashboard: Settings → Cache Responses → Enable
6
+
7
+ ```typescript
8
+ // Custom TTL (1 hour)
9
+ headers: { 'cf-aig-cache-ttl': '3600' }
10
+
11
+ // Skip cache
12
+ headers: { 'cf-aig-skip-cache': 'true' }
13
+
14
+ // Custom cache key
15
+ headers: { 'cf-aig-cache-key': 'greeting-en' }
16
+ ```
17
+
18
+ **Limits:** TTL 60s - 30 days. **Does NOT work with streaming.**
19
+
20
+ ## Rate Limiting
21
+
22
+ Dashboard: Settings → Rate-limiting → Enable
23
+
24
+ - **Fixed window:** Resets at intervals
25
+ - **Sliding window:** Rolling window (more accurate)
26
+ - Returns `429` when exceeded
27
+
28
+ ## Guardrails
29
+
30
+ Dashboard: Settings → Guardrails → Enable
31
+
32
+ Filter prompts/responses for inappropriate content. Actions: Flag (log) or Block (reject).
33
+
34
+ ## Data Loss Prevention (DLP)
35
+
36
+ Dashboard: Settings → DLP → Enable
37
+
38
+ Detect PII (emails, SSNs, credit cards). Actions: Flag, Block, or Redact.
39
+
40
+ ## Billing Modes
41
+
42
+ | Mode | Description | Setup |
43
+ |------|-------------|-------|
44
+ | **Unified Billing** | Pay through Cloudflare, no provider keys | Use `cf-aig-authorization` header only |
45
+ | **BYOK** | Store provider keys in dashboard | Add keys in Provider Keys section |
46
+ | **Pass-through** | Send provider key with each request | Include provider's auth header |
47
+
48
+ ## Zero Data Retention
49
+
50
+ Dashboard: Settings → Privacy → Zero Data Retention
51
+
52
+ No prompts/responses stored. Request counts and costs still tracked.
53
+
54
+ ## Logging
55
+
56
+ Dashboard: Settings → Logs → Enable (up to 10M logs)
57
+
58
+ Each entry: prompt, response, provider, model, tokens, cost, duration, cache status, metadata.
59
+
60
+ ```typescript
61
+ // Skip logging for request
62
+ headers: { 'cf-aig-collect-log': 'false' }
63
+ ```
64
+
65
+ **Export:** Use Logpush to S3, GCS, Datadog, Splunk, etc.
66
+
67
+ ## Custom Cost Tracking
68
+
69
+ For models not in Cloudflare's pricing database:
70
+
71
+ Dashboard: Gateway → Settings → Custom Costs
72
+
73
+ Or via API: set `model`, `input_cost`, `output_cost`.
74
+
75
+ ## Supported Providers (22+)
76
+
77
+ | Provider | Unified API | Notes |
78
+ |----------|-------------|-------|
79
+ | OpenAI | `openai/gpt-4o` | Full support |
80
+ | Anthropic | `anthropic/claude-sonnet-4-5` | Full support |
81
+ | Google AI | `google-ai-studio/gemini-2.0-flash` | Full support |
82
+ | Workers AI | `workersai/@cf/meta/llama-3` | Native |
83
+ | Azure OpenAI | `azure-openai/*` | Deployment names |
84
+ | AWS Bedrock | Provider endpoint only | `/bedrock/*` |
85
+ | Groq | `groq/*` | Fast inference |
86
+ | Mistral, Cohere, Perplexity, xAI, DeepSeek, Cerebras | Full support | - |
87
+
88
+ ## Best Practices
89
+
90
+ 1. Enable caching for deterministic prompts
91
+ 2. Set rate limits to prevent abuse
92
+ 3. Use guardrails for user-facing AI
93
+ 4. Enable DLP for sensitive data
94
+ 5. Use unified billing or BYOK for simpler key management
95
+ 6. Enable logging for debugging
96
+ 7. Use zero data retention when privacy required
@@ -0,0 +1,114 @@
1
+ # AI Gateway SDK Integration
2
+
3
+ ## Vercel AI SDK (Recommended)
4
+
5
+ ```typescript
6
+ import { createAiGateway } from 'ai-gateway-provider';
7
+ import { createOpenAI } from '@ai-sdk/openai';
8
+ import { generateText } from 'ai';
9
+
10
+ const gateway = createAiGateway({
11
+ accountId: process.env.CF_ACCOUNT_ID,
12
+ gateway: process.env.CF_GATEWAY_ID,
13
+ apiKey: process.env.CF_API_TOKEN // Optional for auth gateways
14
+ });
15
+
16
+ const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY });
17
+
18
+ // Single model
19
+ const { text } = await generateText({
20
+ model: gateway(openai('gpt-4o')),
21
+ prompt: 'Hello'
22
+ });
23
+
24
+ // Automatic fallback array
25
+ const { text } = await generateText({
26
+ model: gateway([
27
+ openai('gpt-4o'),
28
+ anthropic('claude-sonnet-4-5'),
29
+ openai('gpt-4o-mini')
30
+ ]),
31
+ prompt: 'Complex task'
32
+ });
33
+ ```
34
+
35
+ ### Options
36
+
37
+ ```typescript
38
+ model: gateway(openai('gpt-4o'), {
39
+ cacheKey: 'my-key',
40
+ cacheTtl: 3600,
41
+ metadata: { userId: 'u123', team: 'eng' }, // Max 5 entries
42
+ retries: { maxAttempts: 3, backoff: 'exponential' }
43
+ })
44
+ ```
45
+
46
+ ## OpenAI SDK
47
+
48
+ ```typescript
49
+ const client = new OpenAI({
50
+ apiKey: process.env.OPENAI_API_KEY,
51
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
52
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
53
+ });
54
+
55
+ // Unified API - switch providers via model name
56
+ model: 'openai/gpt-4o' // or 'anthropic/claude-sonnet-4-5'
57
+ ```
58
+
59
+ ## Anthropic SDK
60
+
61
+ ```typescript
62
+ const client = new Anthropic({
63
+ apiKey: process.env.ANTHROPIC_API_KEY,
64
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/anthropic`,
65
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${cfToken}` }
66
+ });
67
+ ```
68
+
69
+ ## Workers AI Binding
70
+
71
+ ```toml
72
+ # wrangler.toml
73
+ [ai]
74
+ binding = "AI"
75
+ [[ai.gateway]]
76
+ id = "my-gateway"
77
+ ```
78
+
79
+ ```typescript
80
+ await env.AI.run('@cf/meta/llama-3-8b-instruct',
81
+ { messages: [...] },
82
+ { gateway: { id: 'my-gateway', metadata: { userId: '123' } } }
83
+ );
84
+ ```
85
+
86
+ ## LangChain / LlamaIndex
87
+
88
+ ```typescript
89
+ // Use OpenAI SDK pattern with custom baseURL
90
+ new ChatOpenAI({
91
+ configuration: {
92
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`
93
+ }
94
+ });
95
+ ```
96
+
97
+ ## HTTP / cURL
98
+
99
+ ```bash
100
+ curl https://gateway.ai.cloudflare.com/v1/{account}/{gateway}/openai/chat/completions \
101
+ -H "Authorization: Bearer $OPENAI_KEY" \
102
+ -H "cf-aig-authorization: Bearer $CF_TOKEN" \
103
+ -H "cf-aig-metadata: {\"userId\":\"123\"}" \
104
+ -d '{"model":"gpt-4o","messages":[...]}'
105
+ ```
106
+
107
+ ## Headers Reference
108
+
109
+ | Header | Purpose |
110
+ |--------|---------|
111
+ | `cf-aig-authorization` | Gateway auth token |
112
+ | `cf-aig-metadata` | JSON object (max 5 keys) |
113
+ | `cf-aig-cache-ttl` | Cache TTL in seconds |
114
+ | `cf-aig-skip-cache` | `true` to bypass cache |
@@ -0,0 +1,88 @@
1
+ # AI Gateway Troubleshooting
2
+
3
+ ## Common Errors
4
+
5
+ | Error | Cause | Fix |
6
+ |-------|-------|-----|
7
+ | 401 | Missing `cf-aig-authorization` header | Add header with CF API token |
8
+ | 403 | Invalid provider key / BYOK expired | Check provider key in dashboard |
9
+ | 429 | Rate limit exceeded | Increase limit or implement backoff |
10
+
11
+ ### 401 Fix
12
+
13
+ ```typescript
14
+ const client = new OpenAI({
15
+ baseURL: `https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/openai`,
16
+ defaultHeaders: { 'cf-aig-authorization': `Bearer ${CF_API_TOKEN}` }
17
+ });
18
+ ```
19
+
20
+ ### 429 Retry Pattern
21
+
22
+ ```typescript
23
+ async function requestWithRetry(fn, maxRetries = 3) {
24
+ for (let i = 0; i < maxRetries; i++) {
25
+ try { return await fn(); }
26
+ catch (e) {
27
+ if (e.status === 429 && i < maxRetries - 1) {
28
+ await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
29
+ continue;
30
+ }
31
+ throw e;
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ ## Gotchas
38
+
39
+ | Issue | Reality |
40
+ |-------|---------|
41
+ | Metadata limits | Max 5 entries, flat only (no nesting) |
42
+ | Cache key collision | Use unique keys per expected response |
43
+ | BYOK + Unified Billing | Mutually exclusive |
44
+ | Rate limit scope | Per-gateway, not per-user (use dynamic routing for per-user) |
45
+ | Log delay | 30-60 seconds normal |
46
+ | Streaming + caching | **Incompatible** |
47
+ | Model name (unified API) | Prefix required: `openai/gpt-4o`, not `gpt-4o` |
48
+
49
+ ## Cache Not Working
50
+
51
+ **Causes:**
52
+ - Different request params (temperature, etc.)
53
+ - Streaming enabled
54
+ - Caching disabled in settings
55
+
56
+ **Check:** `response.headers.get('cf-aig-cache-status')` → HIT or MISS
57
+
58
+ ## Logs Not Appearing
59
+
60
+ 1. Check logging enabled: Dashboard → Gateway → Settings
61
+ 2. Remove `cf-aig-collect-log: false` header
62
+ 3. Wait 30-60 seconds
63
+ 4. Check log limit (10M default)
64
+
65
+ ## Debugging
66
+
67
+ ```bash
68
+ # Test connectivity
69
+ curl -v https://gateway.ai.cloudflare.com/v1/{account}/{gateway}/openai/models \
70
+ -H "Authorization: Bearer $OPENAI_KEY" \
71
+ -H "cf-aig-authorization: Bearer $CF_TOKEN"
72
+ ```
73
+
74
+ ```typescript
75
+ // Check response headers
76
+ console.log('Cache:', response.headers.get('cf-aig-cache-status'));
77
+ console.log('Request ID:', response.headers.get('cf-ray'));
78
+ ```
79
+
80
+ ## Analytics
81
+
82
+ Dashboard → AI Gateway → Select gateway
83
+
84
+ **Metrics:** Requests, tokens, latency (p50/p95/p99), cache hit rate, costs
85
+
86
+ **Log filters:** `status: error`, `provider: openai`, `cost > 0.01`, `duration > 1000`
87
+
88
+ **Export:** Logpush to S3/GCS/Datadog/Splunk
@@ -0,0 +1,138 @@
1
+ # Cloudflare AI Search Reference
2
+
3
+ Expert guidance for implementing Cloudflare AI Search (formerly AutoRAG), Cloudflare's managed semantic search and RAG service.
4
+
5
+ ## Overview
6
+
7
+ **AI Search** is a managed RAG (Retrieval-Augmented Generation) pipeline that combines:
8
+ - Automatic semantic indexing of your content
9
+ - Vector similarity search
10
+ - Built-in LLM generation
11
+
12
+ **Key value propositions:**
13
+ - **Zero vector management** - No manual embedding, indexing, or storage
14
+ - **Auto-indexing** - Content automatically re-indexed every 6 hours
15
+ - **Built-in generation** - Optional AI response generation from retrieved context
16
+ - **Multi-source** - Index from R2 buckets or website crawls
17
+
18
+ **Data source options:**
19
+ - **R2 bucket** - Index files from Cloudflare R2 (supports MD, TXT, HTML, PDF, DOC, CSV, JSON)
20
+ - **Website** - Crawl and index website content (requires Cloudflare-hosted domain)
21
+
22
+ **Indexing lifecycle:**
23
+ - Automatic 6-hour refresh cycle
24
+ - Manual "Force Sync" available (30s rate limit)
25
+ - Not designed for real-time updates
26
+
27
+ ## Quick Start
28
+
29
+ **1. Create AI Search instance in dashboard:**
30
+ - Go to Cloudflare Dashboard → AI Search → Create
31
+ - Choose data source (R2 or website)
32
+ - Configure instance name and settings
33
+
34
+ **2. Configure Worker:**
35
+
36
+ ```jsonc
37
+ // wrangler.jsonc
38
+ {
39
+ "ai": {
40
+ "binding": "AI"
41
+ }
42
+ }
43
+ ```
44
+
45
+ **3. Use in Worker:**
46
+
47
+ ```typescript
48
+ export default {
49
+ async fetch(request, env) {
50
+ const answer = await env.AI.autorag("my-search-instance").aiSearch({
51
+ query: "How do I configure caching?",
52
+ model: "@cf/meta/llama-3.3-70b-instruct-fp8-fast"
53
+ });
54
+
55
+ return Response.json({ answer: answer.response });
56
+ }
57
+ };
58
+ ```
59
+
60
+ ## When to Use AI Search
61
+
62
+ ### AI Search vs Vectorize
63
+
64
+ | Factor | AI Search | Vectorize |
65
+ |--------|-----------|-----------|
66
+ | **Management** | Fully managed | Manual embedding + indexing |
67
+ | **Use when** | Want zero-ops RAG pipeline | Need custom embeddings/control |
68
+ | **Indexing** | Automatic (6hr cycle) | Manual via API |
69
+ | **Generation** | Built-in optional | Bring your own LLM |
70
+ | **Data sources** | R2 or website | Manual insert |
71
+ | **Best for** | Docs, support, enterprise search | Custom ML pipelines, real-time |
72
+
73
+ ### AI Search vs Direct Workers AI
74
+
75
+ | Factor | AI Search | Workers AI (direct) |
76
+ |--------|-----------|---------------------|
77
+ | **Context** | Automatic retrieval | Manual context building |
78
+ | **Use when** | Need RAG (search + generate) | Simple generation tasks |
79
+ | **Indexing** | Built-in | Not applicable |
80
+ | **Best for** | Knowledge bases, docs | Simple chat, transformations |
81
+
82
+ ### search() vs aiSearch()
83
+
84
+ | Method | Returns | Use When |
85
+ |--------|---------|----------|
86
+ | `search()` | Search results only | Building custom UI, need raw chunks |
87
+ | `aiSearch()` | AI response + results | Need ready-to-use answer (chatbot, Q&A) |
88
+
89
+ ### Real-time Updates Consideration
90
+
91
+ **AI Search is NOT ideal if:**
92
+ - Need real-time content updates (<6 hours)
93
+ - Content changes multiple times per hour
94
+ - Strict freshness requirements
95
+
96
+ **AI Search IS ideal if:**
97
+ - Content relatively stable (docs, policies, knowledge bases)
98
+ - 6-hour refresh acceptable
99
+ - Prefer zero-ops over real-time
100
+
101
+ ## Platform Limits
102
+
103
+ | Limit | Value |
104
+ |-------|-------|
105
+ | Max instances per account | 10 |
106
+ | Max files per instance | 100,000 |
107
+ | Max file size | 4 MB |
108
+ | Index frequency | Every 6 hours |
109
+ | Force Sync rate limit | Once per 30 seconds |
110
+ | Filter nesting depth | 2 levels |
111
+ | Filters per compound | 10 |
112
+ | Score threshold range | 0.0 - 1.0 |
113
+
114
+ ## Reading Order
115
+
116
+ Navigate these references based on your task:
117
+
118
+ | Task | Read | Est. Time |
119
+ |------|------|-----------|
120
+ | **Understand AI Search** | README only | 5 min |
121
+ | **Implement basic search** | README → api.md | 10 min |
122
+ | **Configure data source** | README → configuration.md | 10 min |
123
+ | **Production patterns** | patterns.md | 15 min |
124
+ | **Debug issues** | gotchas.md | 10 min |
125
+ | **Full implementation** | README → api.md → patterns.md | 30 min |
126
+
127
+ ## In This Reference
128
+
129
+ - **[api.md](api.md)** - API endpoints, methods, TypeScript interfaces
130
+ - **[configuration.md](configuration.md)** - Setup, data sources, wrangler config
131
+ - **[patterns.md](patterns.md)** - Common patterns, decision guidance, code examples
132
+ - **[gotchas.md](gotchas.md)** - Troubleshooting, code-level gotchas, limits
133
+
134
+ ## See Also
135
+
136
+ - [Cloudflare AI Search Docs](https://developers.cloudflare.com/ai-search/)
137
+ - [Workers AI Docs](https://developers.cloudflare.com/workers-ai/)
138
+ - [Vectorize Docs](https://developers.cloudflare.com/vectorize/)