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,114 @@
1
+ # CNI Configuration
2
+
3
+ See [README.md](README.md) for overview.
4
+
5
+ ## Workflow (2-4 weeks)
6
+
7
+ 1. **Submit request** (Week 1): Contact account team, provide type/location/use case
8
+ 2. **Review config** (Week 1-2, v1 only): Approve IP/VLAN/spec doc
9
+ 3. **Order connection** (Week 2-3):
10
+ - **Direct**: Get LOA, order cross-connect from facility
11
+ - **Partner**: Order virtual circuit in partner portal
12
+ - **Cloud**: Order Direct Connect/Cloud Interconnect, send LOA+VLAN to CF
13
+ 4. **Configure** (Week 3): Both sides configure per doc
14
+ 5. **Test** (Week 3-4): Ping, verify BGP, check routes
15
+ 6. **Health checks** (Week 4): Configure [Magic Transit](https://developers.cloudflare.com/magic-transit/how-to/configure-tunnel-endpoints/#add-tunnels) or [Magic WAN](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-tunnel-endpoints/#add-tunnels) health checks
16
+ 7. **Activate** (Week 4): Route traffic, verify flow
17
+ 8. **Monitor**: Enable [maintenance notifications](https://developers.cloudflare.com/network-interconnect/monitoring-and-alerts/#enable-cloudflare-status-maintenance-notification)
18
+
19
+ ## BGP Configuration
20
+
21
+ **v1 Requirements:**
22
+ - BGP ASN (provide during setup)
23
+ - /31 subnet for peering
24
+ - Optional: BGP password
25
+
26
+ **v2:** Simplified, less BGP config needed.
27
+
28
+ **BGP over CNI (Dec 2024):** Magic WAN/Transit can now peer BGP directly over CNI v2 (no GRE tunnel required).
29
+
30
+ **Example v1 BGP:**
31
+ ```
32
+ Router ID: 192.0.2.1
33
+ Peer IP: 192.0.2.0
34
+ Remote ASN: 13335
35
+ Local ASN: 65000
36
+ Password: [optional]
37
+ VLAN: 100
38
+ ```
39
+
40
+ ## Cloud Interconnect Setup
41
+
42
+ ### AWS Direct Connect (Beta)
43
+
44
+ **Requirements:** Magic WAN, AWS Dedicated Direct Connect 1/10 Gbps.
45
+
46
+ **Process:**
47
+ 1. Contact CF account team
48
+ 2. Choose location
49
+ 3. Order in AWS portal
50
+ 4. AWS provides LOA + VLAN ID
51
+ 5. Send to CF account team
52
+ 6. Wait ~4 weeks
53
+
54
+ **Post-setup:** Add [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) to Magic WAN. Enable [bidirectional health checks](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-tunnel-endpoints/#legacy-bidirectional-health-checks).
55
+
56
+ ### GCP Cloud Interconnect (Beta)
57
+
58
+ **Setup via Dashboard:**
59
+ 1. Interconnects → Create → Cloud Interconnect → Google
60
+ 2. Provide name, MTU (match GCP VLAN attachment), speed (50M-50G granular options available for partner interconnects)
61
+ 3. Enter VLAN attachment pairing key
62
+ 4. Confirm order
63
+
64
+ **Routing to GCP:** Add [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes). BGP routes from GCP Cloud Router **ignored**.
65
+
66
+ **Routing to CF:** Configure [custom learned routes](https://cloud.google.com/network-connectivity/docs/router/how-to/configure-custom-learned-routes) in Cloud Router. Request prefixes from CF account team.
67
+
68
+ ## Monitoring
69
+
70
+ **Dashboard Status:**
71
+
72
+ | Status | Meaning |
73
+ |--------|---------|
74
+ | **Healthy** | Link operational, traffic flowing, health checks passing |
75
+ | **Active** | Link up, sufficient light, Ethernet negotiated |
76
+ | **Unhealthy** | Link down, no/low light (<-20 dBm), can't negotiate |
77
+ | **Pending** | Cross-connect incomplete, device unresponsive, RX/TX swapped |
78
+ | **Down** | Physical link down, no connectivity |
79
+
80
+ **Alerts:**
81
+
82
+ **CNI Connection Maintenance** (Magic Networking only):
83
+ ```
84
+ Dashboard → Notifications → Add
85
+ Product: Cloudflare Network Interconnect
86
+ Type: Connection Maintenance Alert
87
+ ```
88
+ Warnings up to 2 weeks advance. 6hr delay for new additions.
89
+
90
+ **Cloudflare Status Maintenance** (entire PoP):
91
+ ```
92
+ Dashboard → Notifications → Add
93
+ Product: Cloudflare Status
94
+ Filter PoPs: gru,fra,lhr
95
+ ```
96
+
97
+ **Find PoP code:**
98
+ ```
99
+ Dashboard → Magic Transit/WAN → Configuration → Interconnects
100
+ Select CNI → Note Data Center (e.g., "gru-b")
101
+ Use first 3 letters: "gru"
102
+ ```
103
+
104
+ ## Best Practices
105
+
106
+ **Critical config-specific practices:**
107
+ - /31 subnets required for BGP
108
+ - BGP passwords recommended
109
+ - BFD for fast failover (v1 only)
110
+ - Test ping connectivity before BGP
111
+ - Enable maintenance notifications immediately after activation
112
+ - Monitor status programmatically via API
113
+
114
+ For design patterns, HA architecture, and security best practices, see [patterns.md](./patterns.md).
@@ -0,0 +1,165 @@
1
+ # CNI Gotchas & Troubleshooting
2
+
3
+ ## Common Errors
4
+
5
+ ### "Status: Pending"
6
+
7
+ **Cause:** Cross-connect not installed, RX/TX fibers reversed, wrong fiber type, or low light levels
8
+ **Solution:**
9
+ 1. Verify cross-connect installed
10
+ 2. Check fiber at patch panel
11
+ 3. Swap RX/TX fibers
12
+ 4. Check light with optical power meter (target > -20 dBm)
13
+ 5. Contact account team
14
+
15
+ ### "Status: Unhealthy"
16
+
17
+ **Cause:** Physical issue, low light (<-20 dBm), optic mismatch, or dirty connectors
18
+ **Solution:**
19
+ 1. Check physical connections
20
+ 2. Clean fiber connectors
21
+ 3. Verify optic types (10GBASE-LR/100GBASE-LR4)
22
+ 4. Test with known-good optics
23
+ 5. Check patch panel
24
+ 6. Contact account team
25
+
26
+ ### "BGP Session Down"
27
+
28
+ **Cause:** Wrong IP addressing, wrong ASN, password mismatch, or firewall blocking TCP/179
29
+ **Solution:**
30
+ 1. Verify IPs match CNI object
31
+ 2. Confirm ASN correct
32
+ 3. Check BGP password
33
+ 4. Verify no firewall on TCP/179
34
+ 5. Check BGP logs
35
+ 6. Review BGP timers
36
+
37
+ ### "Low Throughput"
38
+
39
+ **Cause:** MTU mismatch, fragmentation, single GRE tunnel (v1), or routing inefficiency
40
+ **Solution:**
41
+ 1. Check MTU (1500↓/1476↑ for v1, 1500 both for v2)
42
+ 2. Test various packet sizes
43
+ 3. Add more GRE tunnels (v1)
44
+ 4. Consider upgrading to v2
45
+ 5. Review routing tables
46
+ 6. Use LACP for bundling (v1)
47
+
48
+ ## API Errors
49
+
50
+ ### 400 Bad Request: "slot_id already occupied"
51
+
52
+ **Cause:** Another interconnect already uses this slot
53
+ **Solution:** Use `occupied=false` filter when listing slots:
54
+ ```typescript
55
+ await client.networkInterconnects.slots.list({
56
+ account_id: id,
57
+ occupied: false,
58
+ facility: 'EWR1',
59
+ });
60
+ ```
61
+
62
+ ### 400 Bad Request: "invalid facility code"
63
+
64
+ **Cause:** Typo or unsupported facility
65
+ **Solution:** Check [locations PDF](https://developers.cloudflare.com/network-interconnect/static/cni-locations-2026-01.pdf) for valid codes
66
+
67
+ ### 403 Forbidden: "Enterprise plan required"
68
+
69
+ **Cause:** Account not enterprise-level
70
+ **Solution:** Contact account team to upgrade
71
+
72
+ ### 422 Unprocessable: "validate_only request failed"
73
+
74
+ **Cause:** Dry-run validation found issues (wrong slot, invalid config)
75
+ **Solution:** Review error message details, fix config before real creation
76
+
77
+ ### Rate Limiting
78
+
79
+ **Limit:** 1200 requests/5min per token
80
+ **Solution:** Implement exponential backoff, cache slot listings
81
+
82
+ ## Cloud-Specific Issues
83
+
84
+ ### AWS Direct Connect: "VLAN not matching"
85
+
86
+ **Cause:** VLAN ID from AWS LOA doesn't match CNI config
87
+ **Solution:**
88
+ 1. Get VLAN from AWS Console after ordering
89
+ 2. Send exact VLAN to CF account team
90
+ 3. Verify match in CNI object config
91
+
92
+ ### AWS: "Connection stuck in Pending"
93
+
94
+ **Cause:** LOA not provided to CF or AWS connection not accepted
95
+ **Solution:**
96
+ 1. Verify AWS connection status is "Available"
97
+ 2. Confirm LOA sent to CF account team
98
+ 3. Wait for CF team acceptance (can take days)
99
+
100
+ ### GCP: "BGP routes not propagating"
101
+
102
+ **Cause:** BGP routes from GCP Cloud Router **ignored by design**
103
+ **Solution:** Use [static routes](https://developers.cloudflare.com/magic-wan/configuration/manually/how-to/configure-routes/#configure-static-routes) in Magic WAN instead
104
+
105
+ ### GCP: "Cannot query VLAN attachment status via API"
106
+
107
+ **Cause:** GCP Cloud Interconnect Dashboard-only (no API yet)
108
+ **Solution:** Check status in CF Dashboard or GCP Console
109
+
110
+ ## Partner Interconnect Issues
111
+
112
+ ### Equinix: "Virtual circuit not appearing"
113
+
114
+ **Cause:** CF hasn't accepted Equinix connection request
115
+ **Solution:**
116
+ 1. Verify VC created in Equinix Fabric Portal
117
+ 2. Contact CF account team to accept
118
+ 3. Allow 2-3 business days
119
+
120
+ ### Console Connect/Megaport: "API creation fails"
121
+
122
+ **Cause:** Partner interconnects require partner portal + CF approval
123
+ **Solution:** Cannot fully automate. Order in partner portal, notify CF account team.
124
+
125
+ ## Anti-Patterns
126
+
127
+ | Anti-Pattern | Why Bad | Solution |
128
+ |--------------|---------|----------|
129
+ | Single interconnect for production | No SLA, single point of failure | Use ≥2 with device diversity |
130
+ | No backup Internet | CNI fails = total outage | Always maintain alternate path |
131
+ | Polling status every second | Rate limits, wastes API calls | Poll every 30-60s max |
132
+ | Using v1 for Magic WAN v2 workloads | GRE overhead, complexity | Use v2 for simplified routing |
133
+ | Assuming BGP session = traffic flowing | BGP up ≠ routes installed | Verify routing tables + test traffic |
134
+ | Not enabling maintenance alerts | Surprise downtime during maintenance | Enable notifications immediately |
135
+ | Hardcoding VLAN in automation | VLAN assigned by CF (v1) | Get VLAN from CNI object response |
136
+ | Using Direct without colocation | Can't access cross-connect | Use Partner or Cloud interconnect |
137
+
138
+ ## What's Not Queryable via API
139
+
140
+ **Cannot retrieve:**
141
+ - BGP session state (use Dashboard or BGP logs)
142
+ - Light levels (contact account team)
143
+ - Historical metrics (uptime, traffic)
144
+ - Bandwidth utilization per interconnect
145
+ - Maintenance window schedules (notifications only)
146
+ - Fiber path details
147
+ - Cross-connect installation status
148
+
149
+ **Workarounds:**
150
+ - External monitoring for BGP state
151
+ - Log aggregation for historical data
152
+ - Notifications for maintenance windows
153
+
154
+ ## Limits
155
+
156
+ | Resource/Limit | Value | Notes |
157
+ |----------------|-------|-------|
158
+ | Max optical distance | 10km | Physical limit |
159
+ | MTU (v1) | 1500↓ / 1476↑ | Asymmetric |
160
+ | MTU (v2) | 1500 both | Symmetric |
161
+ | GRE tunnel throughput | 1 Gbps | Per tunnel (v1) |
162
+ | Recovery time | Days | No formal SLA |
163
+ | Light level minimum | -20 dBm | Target threshold |
164
+ | API rate limit | 1200 req/5min | Per token |
165
+ | Health check delay | 6 hours | New maintenance alert subscriptions |
@@ -0,0 +1,166 @@
1
+ # CNI Patterns
2
+
3
+ See [README.md](README.md) for overview.
4
+
5
+ ## High Availability
6
+
7
+ **Critical:** Design for resilience from day one.
8
+
9
+ **Requirements:**
10
+ - Device-level diversity (separate hardware)
11
+ - Backup Internet connectivity (no SLA on CNI)
12
+ - Network-resilient locations preferred
13
+ - Regular failover testing
14
+
15
+ **Architecture:**
16
+ ```
17
+ Your Network A ──10G CNI v2──> CF CCR Device 1
18
+
19
+ Your Network B ──10G CNI v2──> CF CCR Device 2
20
+
21
+ CF Global Network (AS13335)
22
+ ```
23
+
24
+ **Capacity Planning:**
25
+ - Plan across all links
26
+ - Account for failover scenarios
27
+ - Your responsibility
28
+
29
+ ## Pattern: Magic Transit + CNI v2
30
+
31
+ **Use Case:** DDoS protection, private connectivity, no GRE overhead.
32
+
33
+ ```typescript
34
+ // 1. Create interconnect
35
+ const ic = await client.networkInterconnects.interconnects.create({
36
+ account_id: id,
37
+ type: 'direct',
38
+ facility: 'EWR1',
39
+ speed: '10G',
40
+ name: 'magic-transit-primary',
41
+ });
42
+
43
+ // 2. Poll until active
44
+ const status = await pollUntilActive(id, ic.id);
45
+
46
+ // 3. Configure Magic Transit tunnel via Dashboard/API
47
+ ```
48
+
49
+ **Benefits:** 1500 MTU both ways, simplified routing.
50
+
51
+ ## Pattern: Multi-Cloud Hybrid
52
+
53
+ **Use Case:** AWS/GCP workloads with Cloudflare.
54
+
55
+ **AWS Direct Connect:**
56
+ ```typescript
57
+ // 1. Order Direct Connect in AWS Console
58
+ // 2. Get LOA + VLAN from AWS
59
+ // 3. Send to CF account team (no API)
60
+ // 4. Configure static routes in Magic WAN
61
+
62
+ await configureStaticRoutes(id, {
63
+ prefix: '10.0.0.0/8',
64
+ nexthop: 'aws-direct-connect',
65
+ });
66
+ ```
67
+
68
+ **GCP Cloud Interconnect:**
69
+ ```
70
+ 1. Get VLAN attachment pairing key from GCP Console
71
+ 2. Create via Dashboard: Interconnects → Create → Cloud Interconnect → Google
72
+ - Enter pairing key, name, MTU, speed
73
+ 3. Configure static routes in Magic WAN (BGP routes from GCP ignored)
74
+ 4. Configure custom learned routes in GCP Cloud Router
75
+ ```
76
+
77
+ **Note:** Dashboard-only. No API/SDK support yet.
78
+
79
+ ## Pattern: Multi-Location HA
80
+
81
+ **Use Case:** 99.99%+ uptime.
82
+
83
+ ```typescript
84
+ // Primary (NY)
85
+ const primary = await client.networkInterconnects.interconnects.create({
86
+ account_id: id,
87
+ type: 'direct',
88
+ facility: 'EWR1',
89
+ speed: '10G',
90
+ name: 'primary-ewr1',
91
+ });
92
+
93
+ // Secondary (NY, different hardware)
94
+ const secondary = await client.networkInterconnects.interconnects.create({
95
+ account_id: id,
96
+ type: 'direct',
97
+ facility: 'EWR2',
98
+ speed: '10G',
99
+ name: 'secondary-ewr2',
100
+ });
101
+
102
+ // Tertiary (LA, different geography)
103
+ const tertiary = await client.networkInterconnects.interconnects.create({
104
+ account_id: id,
105
+ type: 'partner',
106
+ facility: 'LAX1',
107
+ speed: '10G',
108
+ name: 'tertiary-lax1',
109
+ });
110
+
111
+ // BGP local preferences:
112
+ // Primary: 200
113
+ // Secondary: 150
114
+ // Tertiary: 100
115
+ // Internet: Last resort
116
+ ```
117
+
118
+ ## Pattern: Partner Interconnect (Equinix)
119
+
120
+ **Use Case:** Quick deployment, no colocation.
121
+
122
+ **Setup:**
123
+ 1. Order virtual circuit in Equinix Fabric Portal
124
+ 2. Select Cloudflare as destination
125
+ 3. Choose facility
126
+ 4. Send details to CF account team
127
+ 5. CF accepts in portal
128
+ 6. Configure BGP
129
+
130
+ **No API automation** – partner portals managed separately.
131
+
132
+ ## Failover & Security
133
+
134
+ **Failover Best Practices:**
135
+ - Use BGP local preferences for priority
136
+ - Configure BFD for fast detection (v1)
137
+ - Test regularly with traffic shift
138
+ - Document runbooks
139
+
140
+ **Security:**
141
+ - BGP password authentication
142
+ - BGP route filtering
143
+ - Monitor unexpected routes
144
+ - Magic Firewall for DDoS/threats
145
+ - Minimum API token permissions
146
+ - Rotate credentials periodically
147
+
148
+ ## Decision Matrix
149
+
150
+ | Requirement | Recommended |
151
+ |-------------|-------------|
152
+ | Collocated with CF | Direct |
153
+ | Not collocated | Partner |
154
+ | AWS/GCP workloads | Cloud |
155
+ | 1500 MTU both ways | v2 |
156
+ | VLAN tagging | v1 |
157
+ | Public peering | v1 |
158
+ | Simplest config | v2 |
159
+ | BFD fast failover | v1 |
160
+ | LACP bundling | v1 |
161
+
162
+ ## Resources
163
+
164
+ - [Magic Transit Docs](https://developers.cloudflare.com/magic-transit/)
165
+ - [Magic WAN Docs](https://developers.cloudflare.com/magic-wan/)
166
+ - [Argo Smart Routing](https://developers.cloudflare.com/argo/)
@@ -0,0 +1,88 @@
1
+ # Cloudflare Observability Skill Reference
2
+
3
+ **Purpose**: Comprehensive guidance for implementing observability in Cloudflare Workers, covering traces, logs, metrics, and analytics.
4
+
5
+ **Scope**: Cloudflare Observability features ONLY - Workers Logs, Traces, Analytics Engine, Logpush, Metrics & Analytics, and OpenTelemetry exports.
6
+
7
+ ---
8
+
9
+ ## Decision Tree: Which File to Load?
10
+
11
+ Use this to route to the correct file without loading all content:
12
+
13
+ ```
14
+ ├─ "How do I enable/configure X?" → configuration.md
15
+ ├─ "What's the API/method/binding for X?" → api.md
16
+ ├─ "How do I implement X pattern?" → patterns.md
17
+ │ ├─ Usage tracking/billing → patterns.md
18
+ │ ├─ Error tracking → patterns.md
19
+ │ ├─ Performance monitoring → patterns.md
20
+ │ ├─ Multi-tenant tracking → patterns.md
21
+ │ ├─ Tail Worker filtering → patterns.md
22
+ │ └─ OpenTelemetry export → patterns.md
23
+ └─ "Why isn't X working?" / "Limits?" → gotchas.md
24
+ ```
25
+
26
+ ## Reading Order
27
+
28
+ Load files in this order based on task:
29
+
30
+ | Task Type | Load Order | Reason |
31
+ |-----------|------------|--------|
32
+ | **Initial setup** | configuration.md → gotchas.md | Setup first, avoid pitfalls |
33
+ | **Implement feature** | patterns.md → api.md → gotchas.md | Pattern → API details → edge cases |
34
+ | **Debug issue** | gotchas.md → configuration.md | Common issues first |
35
+ | **Query data** | api.md → patterns.md | API syntax → query examples |
36
+
37
+ ## Product Overview
38
+
39
+ ### Workers Logs
40
+ - **What:** Console output from Workers (console.log/warn/error)
41
+ - **Access:** Dashboard (Real-time Logs), Logpush, Tail Workers
42
+ - **Cost:** Free (included with all Workers)
43
+ - **Retention:** Real-time only (no historical storage in dashboard)
44
+
45
+ ### Workers Traces
46
+ - **What:** Execution traces with timing, CPU usage, outcome
47
+ - **Access:** Dashboard (Workers Analytics → Traces), Logpush
48
+ - **Cost:** $0.10/1M spans (GA pricing starts March 1, 2026), 10M free/month
49
+ - **Retention:** 14 days included
50
+
51
+ ### Analytics Engine
52
+ - **What:** High-cardinality event storage and SQL queries
53
+ - **Access:** SQL API, Dashboard (Analytics → Analytics Engine)
54
+ - **Cost:** $0.25/1M writes beyond 10M free/month
55
+ - **Retention:** 90 days (configurable up to 1 year)
56
+
57
+ ### Tail Workers
58
+ - **What:** Workers that receive logs/traces from other Workers
59
+ - **Use Cases:** Log filtering, transformation, external export
60
+ - **Cost:** Standard Workers pricing
61
+
62
+ ### Logpush
63
+ - **What:** Stream logs to external storage (S3, R2, Datadog, etc.)
64
+ - **Access:** Dashboard, API
65
+ - **Cost:** Requires Business/Enterprise plan
66
+
67
+ ## Pricing Summary (2026)
68
+
69
+ | Feature | Free Tier | Cost Beyond Free Tier | Plan Requirement |
70
+ |---------|-----------|----------------------|------------------|
71
+ | Workers Logs | Unlimited | Free | Any |
72
+ | Workers Traces | 10M spans/month | $0.10/1M spans | Paid Workers (GA: March 1, 2026) |
73
+ | Analytics Engine | 10M writes/month | $0.25/1M writes | Paid Workers |
74
+ | Logpush | N/A | Included in plan | Business/Enterprise |
75
+
76
+ ## In This Reference
77
+
78
+ - **[configuration.md](configuration.md)** - Setup, deployment, configuration (Logs, Traces, Analytics Engine, Tail Workers, Logpush)
79
+ - **[api.md](api.md)** - API endpoints, methods, interfaces (GraphQL, SQL, bindings, types)
80
+ - **[patterns.md](patterns.md)** - Common patterns, use cases, examples (billing, monitoring, error tracking, exports)
81
+ - **[gotchas.md](gotchas.md)** - Troubleshooting, best practices, limitations (common errors, performance gotchas, pricing)
82
+
83
+ ## See Also
84
+
85
+ - [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/)
86
+ - [Analytics Engine Docs](https://developers.cloudflare.com/analytics/analytics-engine/)
87
+ - [Workers Traces Docs](https://developers.cloudflare.com/workers/observability/traces/)
88
+ - [GraphQL Analytics API Reference](../graphql-api/) - Query Workers metrics, HTTP analytics, and 70+ other datasets via GraphQL
@@ -0,0 +1,164 @@
1
+ ## API Reference
2
+
3
+ ### GraphQL Analytics API
4
+
5
+ **Endpoint**: `https://api.cloudflare.com/client/v4/graphql`
6
+
7
+ **Query Workers Metrics**:
8
+ ```graphql
9
+ query {
10
+ viewer {
11
+ accounts(filter: { accountTag: $accountId }) {
12
+ workersInvocationsAdaptive(
13
+ limit: 100
14
+ filter: {
15
+ datetime_geq: "2025-01-01T00:00:00Z"
16
+ datetime_leq: "2025-01-31T23:59:59Z"
17
+ scriptName: "my-worker"
18
+ }
19
+ ) {
20
+ sum {
21
+ requests
22
+ errors
23
+ subrequests
24
+ }
25
+ quantiles {
26
+ cpuTimeP50
27
+ cpuTimeP99
28
+ wallTimeP50
29
+ wallTimeP99
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ ### Analytics Engine SQL API
38
+
39
+ **Endpoint**: `https://api.cloudflare.com/client/v4/accounts/{account_id}/analytics_engine/sql`
40
+
41
+ **Authentication**: `Authorization: Bearer <API_TOKEN>` (Account Analytics Read permission)
42
+
43
+ **Common Queries**:
44
+
45
+ ```sql
46
+ -- List all datasets
47
+ SHOW TABLES;
48
+
49
+ -- Time-series aggregation (5-minute buckets)
50
+ SELECT
51
+ intDiv(toUInt32(timestamp), 300) * 300 AS time_bucket,
52
+ blob1 AS endpoint,
53
+ SUM(_sample_interval) AS total_requests,
54
+ AVG(double1) AS avg_response_time_ms
55
+ FROM api_metrics
56
+ WHERE timestamp >= NOW() - INTERVAL '24' HOUR
57
+ GROUP BY time_bucket, endpoint
58
+ ORDER BY time_bucket DESC;
59
+
60
+ -- Top customers by usage
61
+ SELECT
62
+ index1 AS customer_id,
63
+ SUM(_sample_interval * double1) AS total_api_calls,
64
+ AVG(double2) AS avg_response_time_ms
65
+ FROM api_usage
66
+ WHERE timestamp >= NOW() - INTERVAL '7' DAY
67
+ GROUP BY customer_id
68
+ ORDER BY total_api_calls DESC
69
+ LIMIT 100;
70
+
71
+ -- Error rate analysis
72
+ SELECT
73
+ blob1 AS error_type,
74
+ COUNT(*) AS occurrences,
75
+ MAX(timestamp) AS last_seen
76
+ FROM error_tracking
77
+ WHERE timestamp >= NOW() - INTERVAL '1' HOUR
78
+ GROUP BY error_type
79
+ ORDER BY occurrences DESC;
80
+ ```
81
+
82
+ ### Console Logging API
83
+
84
+ **Methods**:
85
+ ```typescript
86
+ // Standard methods (all appear in Workers Logs)
87
+ console.log('info message');
88
+ console.info('info message');
89
+ console.warn('warning message');
90
+ console.error('error message');
91
+ console.debug('debug message');
92
+
93
+ // Structured logging (recommended)
94
+ console.log({
95
+ level: 'info',
96
+ user_id: '123',
97
+ action: 'checkout',
98
+ amount: 99.99,
99
+ currency: 'USD'
100
+ });
101
+ ```
102
+
103
+ **Log Levels**: All console methods produce logs; use structured fields for filtering:
104
+ ```typescript
105
+ console.log({
106
+ level: 'error',
107
+ message: 'Payment failed',
108
+ error_code: 'CARD_DECLINED'
109
+ });
110
+ ```
111
+
112
+ ### Analytics Engine Binding Types
113
+
114
+ ```typescript
115
+ interface AnalyticsEngineDataset {
116
+ writeDataPoint(event: AnalyticsEngineDataPoint): void;
117
+ }
118
+
119
+ interface AnalyticsEngineDataPoint {
120
+ // Indexed strings (use for filtering/grouping)
121
+ indexes?: string[];
122
+
123
+ // Non-indexed strings (metadata, IDs, URLs)
124
+ blobs?: string[];
125
+
126
+ // Numeric values (counts, durations, amounts)
127
+ doubles?: number[];
128
+ }
129
+ ```
130
+
131
+ **Field Limits**:
132
+ - Max 20 indexes
133
+ - Max 20 blobs
134
+ - Max 20 doubles
135
+ - Max 25 `writeDataPoint` calls per request
136
+
137
+ ### Tail Consumer Event Type
138
+
139
+ ```typescript
140
+ interface TraceItem {
141
+ event: TraceEvent;
142
+ logs: TraceLog[];
143
+ exceptions: TraceException[];
144
+ scriptName?: string;
145
+ }
146
+
147
+ interface TraceEvent {
148
+ outcome: 'ok' | 'exception' | 'exceededCpu' | 'exceededMemory' | 'unknown';
149
+ cpuTime: number; // microseconds
150
+ wallTime: number; // microseconds
151
+ }
152
+
153
+ interface TraceLog {
154
+ timestamp: number;
155
+ level: 'log' | 'info' | 'debug' | 'warn' | 'error';
156
+ message: any; // string or structured object
157
+ }
158
+
159
+ interface TraceException {
160
+ name: string;
161
+ message: string;
162
+ timestamp: number;
163
+ }
164
+ ```