Cloudflare/spectrum
Cloudflare Spectrum — TCP/UDP proxying for non-HTTP applications
2026.08.21.1
Changed: Errors and validation now say what went wrong and where.
- Cloudflare API failures (HTTP errors and
success: falseAPI responses) now name the HTTP method and path that was attempted, in addition to the original status/message. Previously the error read onlyCloudflare API error: <message>, with no indication of which endpoint the method call was hitting — now it readsCloudflare API request failed: GET /zones/<zone>/spectrum/apps/<id>: <message>. This applies to every method on this model, since they all share the same request helper. app_idis now validated as non-empty before any request is made. Passing an empty string previously sent a request to a malformed URL (/zones/<zone>/spectrum/apps/) and produced a confusing 404 from Cloudflare; it now fails fast withapp_id must not be empty.
Upgrade note: No method was added, removed, or renamed. Existing callers
that always pass a non-empty app_id see no behavioral change beyond clearer
error text.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| apiToken | string | Cloudflare API token |
| zoneId | string | Cloudflare zone ID |
| Argument | Type | Description |
|---|---|---|
| appID? | string | |
| colo_name? | string |
| Argument | Type | Description |
|---|---|---|
| dimensions? | string | |
| sort? | string | |
| until? | string | |
| metrics? | string | |
| filters? | string | |
| since? | string | |
| time_delta? | enum |
| Argument | Type | Description |
|---|---|---|
| dimensions? | string | |
| sort? | string | |
| until? | string | |
| metrics? | string | |
| filters? | string | |
| since? | string |
| Argument | Type | Description |
|---|---|---|
| page? | number | |
| per_page? | number | |
| direction? | enum | |
| order? | enum |
| Argument | Type | Description |
|---|---|---|
| app_id | string |
| Argument | Type | Description |
|---|---|---|
| app_id | string |
| Argument | Type | Description |
|---|---|---|
| app_id | string |
Resources
2026.07.27.1
Fixed: Regenerated from scripts/cloudflare-codegen after two generator
bugs were repaired (webframp/swamp-extensions#284).
Methods referencing an undeclared path parameter did not compile. The generator derived a method's arguments schema and execute signature from the OpenAPI
parameterslist, but built the request URL from the path template. Where the Cloudflare spec omits a declaration for a{placeholder}— which it does in several places — the result was a method witharguments: z.object({})and an unused_argsparameter whose body still interpolatedargs.<name>. Those methods failed type checking and were uncallable even if they had compiled, because the argument was never declared. Path-template placeholders are now unioned into the declared parameters, so the schema, the signature, and the body agree.Generated tests could request a URL the mock server did not serve. Test arguments merged the request-body fixture over the path-parameter values, so a body property sharing a name with a path parameter (commonly
id) substituted its own example value into the URL. The request then missed the mock and failed withCloudflare API error: Not found. Path parameters now take precedence, matching what the generated model already does by excluding path-parameter names from the request body.
Upgrade note: No API surface change and no method was added or removed. If
this extension type-checked and tested cleanly before, its behavior is unchanged
and only the version moved. Extensions that previously failed deno check or
deno task test now pass.
2026.07.19.1
Added: Initial code-generated release of @webframp/cloudflare/spectrum with 8 methods covering the Cloudflare spectrum API surface.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned