Skip to content

Live test plugin#130

Merged
godronus merged 10 commits into
mainfrom
live-test-plugin
May 20, 2026
Merged

Live test plugin#130
godronus merged 10 commits into
mainfrom
live-test-plugin

Conversation

@godronus
Copy link
Copy Markdown
Collaborator

No description provided.

Apply parity with the fastedge-plugin generate-docs-template.sh.
Rejected `claude -p` outputs now persist under docs/.failures/ for
prompt-debugging, and the salvage path strips one-line conversational
preambles (a known Sonnet update-mode failure) rather than retrying.
Tightens OUTPUT CONSTRAINT and existing-content prompt blocks to ban
the "outputting verbatim" acknowledgement class explicitly.
Copilot AI review requested due to automatic review settings May 19, 2026 15:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the FastEdge SDK JS “live test plugin” source inputs by renaming “downstream” terminology to “outbound”, adding several new example projects (with live-test fixtures), and expanding the fastedge-plugin source manifest/scripts plus documentation content used by the plugin pipeline.

Changes:

  • Renamed “downstream fetch” examples/pages to “outbound fetch” across examples + GitHub Pages docs.
  • Added new standalone examples (e.g., streaming, request inspection, secret rotation, crypto JWT verification, bloom-filter denylist) and many fixtures/*.test.json + *.live.json files for live testing.
  • Extended fastedge-plugin-source/ manifest + sync/generation scripts and added new docs references (runtime constraints + pattern docs).

Reviewed changes

Copilot reviewed 167 out of 170 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates workspace importer entries for renamed/added examples and dependency resolutions
github-pages/src/content/docs/reference/headers.md Terminology update from downstream → outbound in Headers reference
github-pages/src/content/docs/examples/outbound-modify-response.mdx New docs page embedding outbound-modify-response example source
github-pages/src/content/docs/examples/outbound-fetch.mdx New docs page embedding outbound-fetch example source
github-pages/src/content/docs/examples/main-examples.mdx Updates example cards to point to outbound example pages
github-pages/src/content/docs/examples/downstream-modify-response.mdx Removes old downstream-modify-response docs page
github-pages/src/content/docs/examples/downstream-fetch.mdx Removes old downstream-fetch docs page
fastedge-plugin-source/manifest.json Adds new docs sources + updates example blueprint paths and target mapping
fastedge-plugin-source/generate-docs.sh Improves generation prompt constraints and salvages leaked preambles into .failures/
fastedge-plugin-source/check-copilot-sync.sh Adds advisory check ensuring examples on disk are represented in manifest
fastedge-plugin-source/.generation-config.md Expands generation requirements for SDK_API (unavailable APIs + crypto matrix guidance)
examples/variables-and-secrets/fixtures/happy-path.test.json Adds live-test fixture for variables-and-secrets example
examples/variables-and-secrets/fixtures/happy-path.live.json Adds expected live response fixture for variables-and-secrets
examples/variables-and-secrets/fixtures/.env Adds fixture env vars/secrets for variables-and-secrets live tests
examples/template-invoice/src/index.js Adjusts fetch event handler wiring
examples/template-invoice/fixtures/happy-path.test.json Adds template-invoice live-test fixture
examples/template-invoice/fixtures/happy-path.live.json Adds template-invoice expected live response fixture
examples/template-invoice-ab-testing/fixtures/hops-exo2.test.json Adds AB testing variant fixture
examples/template-invoice-ab-testing/fixtures/hops-exo2.live.json Adds AB testing variant expected live response fixture
examples/template-invoice-ab-testing/fixtures/defaults.test.json Adds AB testing default variant fixture
examples/template-invoice-ab-testing/fixtures/defaults.live.json Adds AB testing default expected live response fixture
examples/template-invoice-ab-testing/fixtures/bottle-gloria.test.json Adds AB testing alternative variant fixture
examples/template-invoice-ab-testing/fixtures/bottle-gloria.live.json Adds AB testing alternative expected live response fixture
examples/streaming/src/index.js New example: streaming response via ReadableStream
examples/streaming/README.md Documents streaming example behavior and testing tips
examples/streaming/package.json Adds streaming example package setup
examples/streaming/fixtures/happy-path.test.json Adds streaming example live-test fixture
examples/streaming/fixtures/happy-path.live.json Adds streaming example expected live response fixture
examples/static-assets/fixtures/template.test.json Adds static-assets fixture for /template route
examples/static-assets/fixtures/template.live.json Adds static-assets expected live response for /template
examples/static-assets/fixtures/jsx.test.json Adds static-assets fixture for /jsx route
examples/static-assets/fixtures/jsx.live.json Adds static-assets expected live response for /jsx
examples/static-assets/fixtures/image.test.json Adds static-assets fixture for serving an image asset
examples/static-assets/fixtures/image.live.json Adds static-assets expected headers for image asset
examples/static-assets/fixtures/home.test.json Adds static-assets fixture for home page
examples/static-assets/fixtures/home.live.json Adds static-assets expected live response for home page
examples/static-assets/fixtures/css.test.json Adds static-assets fixture for serving CSS
examples/static-assets/fixtures/css.live.json Adds static-assets expected headers for CSS
examples/secret-rotation/src/index.js New example: slot-based secret rotation using getSecretEffectiveAt
examples/secret-rotation/README.md Documents secret rotation slots and usage patterns
examples/secret-rotation/package.json Adds secret-rotation example package setup
examples/secret-rotation/fixtures/specific-slot.test.json Adds secret-rotation fixture for explicit slot query
examples/secret-rotation/fixtures/specific-slot.live.json Adds secret-rotation expected live response assertions
examples/secret-rotation/fixtures/default.test.json Adds default secret-rotation fixture
examples/secret-rotation/fixtures/default.live.json Adds default secret-rotation expected live response
examples/secret-rotation/fixtures/custom-secret.test.json Adds custom secret name fixture
examples/secret-rotation/fixtures/custom-secret.live.json Adds expected live response for custom secret fixture
examples/secret-rotation/fixtures/.env Adds fixture secrets for secret-rotation live tests
examples/request-inspection/src/index.js New example: echo request method/url/headers/client info
examples/request-inspection/README.md Documents request-inspection example usage
examples/request-inspection/package.json Adds request-inspection example package setup
examples/request-inspection/fixtures/happy-path.test.json Adds request-inspection live-test fixture
examples/request-inspection/fixtures/happy-path.live.json Adds request-inspection expected live response fixture
examples/README.md Updates examples index list; adds new examples and renames outbound ones
examples/react-with-hono-server/fixtures/home.test.json Adds react-with-hono-server home route fixture
examples/react-with-hono-server/fixtures/home.live.json Adds react-with-hono-server home expected live response
examples/react-with-hono-server/fixtures/api-users-post.test.json Adds react-with-hono-server POST fixture
examples/react-with-hono-server/fixtures/api-users-post.live.json Adds expected live response for POST fixture
examples/react-with-hono-server/fixtures/api-hello.test.json Adds react-with-hono-server API hello fixture
examples/react-with-hono-server/fixtures/api-hello.live.json Adds expected live response for API hello fixture
examples/react-with-hono-server/fastedge-server/config/asset-manifest.ts Updates embedded asset manifest timestamps/metadata
examples/outbound-modify-response/src/index.js Renames downstreamResponse variable to outboundResponse
examples/outbound-modify-response/README.md Adds outbound-modify-response example documentation
examples/outbound-modify-response/package.json Adds outbound-modify-response example package setup
examples/outbound-modify-response/fixtures/happy-path.test.json Adds outbound-modify-response live-test fixture
examples/outbound-modify-response/fixtures/happy-path.live.json Adds outbound-modify-response expected live response fixture
examples/outbound-fetch/src/index.js New example: outbound fetch passthrough
examples/outbound-fetch/README.md Adds outbound-fetch example documentation
examples/outbound-fetch/package.json Adds outbound-fetch example package setup
examples/outbound-fetch/fixtures/happy-path.test.json Adds outbound-fetch live-test fixture
examples/outbound-fetch/fixtures/happy-path.live.json Adds outbound-fetch expected live response fixture
examples/mcp-server/README.md Updates MCP README to reflect registerTool API and schemas
examples/mcp-server/fixtures/tools-list.test.json Adds MCP tools/list fixture
examples/mcp-server/fixtures/tools-list.live.json Adds MCP tools/list expected live response assertions
examples/mcp-server/fixtures/initialize.test.json Adds MCP initialize fixture
examples/mcp-server/fixtures/initialize.live.json Adds MCP initialize expected live response assertions
examples/kv-store/README.md Expands KV store README with param tables and examples
examples/kv-store/fixtures/zscan.test.json Adds KV zscan fixture
examples/kv-store/fixtures/zrange.test.json Adds KV zrange fixture
examples/kv-store/fixtures/scan.test.json Adds KV scan fixture
examples/kv-store/fixtures/missing-params.test.json Adds KV missing params fixture
examples/kv-store/fixtures/missing-params.live.json Adds KV missing params expected response
examples/kv-store/fixtures/get.test.json Adds KV get fixture
examples/kv-store/fixtures/bf-exists.test.json Adds KV bfExists fixture
examples/kv-store-basic/README.md Expands kv-store-basic README with usage details and build info
examples/kv-store-basic/fixtures/happy-path.test.json Adds kv-store-basic fixture
examples/kv-store-basic/fixtures/happy-path.live.json Adds kv-store-basic expected live response
examples/hello-world/fixtures/happy-path.test.json Adds hello-world fixture
examples/hello-world/fixtures/happy-path.live.json Adds hello-world expected live response
examples/headers/fixtures/happy-path.test.json Adds headers example fixture
examples/headers/fixtures/happy-path.live.json Adds headers example expected live response
examples/headers/fixtures/.env Adds headers fixture env var
examples/geo-redirect/README.md Expands geo-redirect README with usage/build/testing
examples/geo-redirect/fixtures/us.test.json Adds geo-redirect US fixture
examples/geo-redirect/fixtures/us.live.json Adds geo-redirect US expected redirect assertions
examples/geo-redirect/fixtures/missing-config/.env Adds empty env fixture for missing-config scenario
examples/geo-redirect/fixtures/missing-config.test.json Adds missing-config fixture
examples/geo-redirect/fixtures/missing-config.live.json Adds missing-config expected response
examples/geo-redirect/fixtures/germany.test.json Adds geo-redirect DE fixture
examples/geo-redirect/fixtures/germany.live.json Adds geo-redirect DE expected redirect assertions
examples/geo-redirect/fixtures/fallback.test.json Adds geo-redirect fallback fixture
examples/geo-redirect/fixtures/fallback.live.json Adds geo-redirect fallback expected redirect assertions
examples/geo-redirect/fixtures/.env Adds geo-redirect fixture env vars
examples/downstream-modify-response/README.md Removes old downstream-modify-response README
examples/downstream-modify-response/package.json Removes old downstream-modify-response package
examples/downstream-fetch/README.md Removes old downstream-fetch README
examples/downstream-fetch/package.json Removes old downstream-fetch package
examples/crypto-hmac-jwt/src/index.js New example: HS256 JWT verification using crypto.subtle
examples/crypto-hmac-jwt/README.md Documents crypto-hmac-jwt example
examples/crypto-hmac-jwt/package.json Adds crypto-hmac-jwt example package setup
examples/crypto-hmac-jwt/fixtures/valid-token.test.json Adds valid JWT fixture
examples/crypto-hmac-jwt/fixtures/valid-token.live.json Adds expected response for valid JWT fixture
examples/crypto-hmac-jwt/fixtures/missing-auth.test.json Adds missing auth fixture
examples/crypto-hmac-jwt/fixtures/missing-auth.live.json Adds expected response for missing auth
examples/crypto-hmac-jwt/fixtures/malformed-token.test.json Adds malformed token fixture
examples/crypto-hmac-jwt/fixtures/malformed-token.live.json Adds expected response for malformed token
examples/crypto-hmac-jwt/fixtures/.env Adds JWT secret fixture env
examples/cache/fixtures/unknown-action.test.json Adds cache example unknown-action fixture
examples/cache/fixtures/unknown-action.live.json Adds cache example unknown-action expected response
examples/cache/fixtures/rate-limit-exceeded.test.json Adds cache example rate-limit exceeded fixture
examples/cache/fixtures/rate-limit-exceeded.live.json Adds cache example rate-limit exceeded expected response
examples/cache/fixtures/rate-limit-allowed.test.json Adds cache example rate-limit allowed fixture
examples/cache/fixtures/rate-limit-allowed.live.json Adds cache example rate-limit allowed expected response
examples/cache/fixtures/proxy-miss.test.json Adds cache proxy miss fixture
examples/cache/fixtures/proxy-miss.live.json Adds cache proxy miss expected response
examples/cache/fixtures/proxy-invalid-url.test.json Adds cache proxy invalid-url fixture
examples/cache/fixtures/proxy-invalid-url.live.json Adds cache proxy invalid-url expected response
examples/cache/fixtures/memo.test.json Adds cache memo fixture
examples/cache/fixtures/memo.live.json Adds cache memo expected response
examples/cache/fixtures/landing.test.json Adds cache landing fixture
examples/cache/fixtures/landing.live.json Adds cache landing expected response
examples/cache-basic/fixtures/07-unknown-action.test.json Adds cache-basic unknown-action fixture
examples/cache-basic/fixtures/07-unknown-action.live.json Adds cache-basic unknown-action expected response
examples/cache-basic/fixtures/06-missing-key.test.json Adds cache-basic missing-key fixture
examples/cache-basic/fixtures/06-missing-key.live.json Adds cache-basic missing-key expected response
examples/cache-basic/fixtures/05-cache-get-miss.test.json Adds cache-basic get-miss fixture
examples/cache-basic/fixtures/05-cache-get-miss.live.json Adds cache-basic get-miss expected response
examples/cache-basic/fixtures/04-cache-delete.test.json Adds cache-basic delete fixture
examples/cache-basic/fixtures/04-cache-delete.live.json Adds cache-basic delete expected response
examples/cache-basic/fixtures/03-cache-exists.test.json Adds cache-basic exists fixture
examples/cache-basic/fixtures/03-cache-exists.live.json Adds cache-basic exists expected response
examples/cache-basic/fixtures/02-cache-get-hit.test.json Adds cache-basic get-hit fixture
examples/cache-basic/fixtures/02-cache-get-hit.live.json Adds cache-basic get-hit expected response
examples/cache-basic/fixtures/01-cache-set.test.json Adds cache-basic set fixture
examples/cache-basic/fixtures/01-cache-set.live.json Adds cache-basic set expected response
examples/bloom-filter-denylist/src/index.js New example: KV bloom-filter denylist based on client IP
examples/bloom-filter-denylist/README.md Documents bloom-filter denylist example
examples/bloom-filter-denylist/package.json Adds bloom-filter denylist example package setup
examples/bloom-filter-denylist/fixtures/missing-config.test.json Adds bloom-filter missing-config fixture
examples/bloom-filter-denylist/fixtures/missing-config.live.json Adds bloom-filter missing-config expected response
examples/bloom-filter-denylist/fixtures/happy-path.test.json Adds bloom-filter happy-path fixture
examples/bloom-filter-denylist/fixtures/.env Adds bloom-filter fixture env var
examples/ab-testing/src/index.js Renames downstream URL env var to OUTBOUND_URL and updates fetch target variable names
examples/ab-testing/README.md Updates terminology downstream → outbound and adds guidance note
examples/ab-testing/package.json Adds main entry field
examples/ab-testing/fixtures/new-visitor.test.json Adds AB testing new-visitor fixture
examples/ab-testing/fixtures/new-visitor.live.json Adds AB testing new-visitor expected response
examples/ab-testing/fixtures/missing-config.test.json Adds AB testing missing-config fixture
examples/ab-testing/fixtures/existing-visitor.test.json Adds AB testing existing-visitor fixture
examples/ab-testing/fixtures/existing-visitor.live.json Adds AB testing existing-visitor expected response
examples/ab-testing/fixtures/.env Adds AB testing fixture env var
docs/RUNTIME_CONSTRAINTS.md Adds runtime constraints and compatibility reference
docs/quickstart.md Updates quickstart wording downstream → outbound
docs/PROXY_PATTERNS.md Adds proxy/transform patterns reference document
docs/HONO_PATTERNS.md Adds Hono usage patterns reference document
docs/AUTH_PATTERNS.md Adds auth patterns reference document
context/CONTEXT_INDEX.md Adds doc verification backlog items for runtime/Web API behavior
.gitignore Ignores example lockfiles and docs generator failure artifacts
.github/workflows/copilot-sync.yml Expands workflow triggers to include examples/** and docs/**
.github/copilot-instructions.md Updates review guidance for docs generation and freshness expectations
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

examples/outbound-modify-response/src/index.js:3

  • This example uses plain HTTP for the outbound fetch URL. Prefer HTTPS to avoid insecure transport and potential outbound policy restrictions. Switch the JSONPlaceholder URL to https://jsonplaceholder.typicode.com/users.

Comment thread pnpm-lock.yaml Outdated
Comment thread .github/copilot-instructions.md Outdated
Comment thread fastedge-plugin-source/manifest.json
Comment thread docs/PROXY_PATTERNS.md Outdated
@godronus godronus requested a review from Copilot May 19, 2026 16:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 176 out of 179 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)

fastedge-plugin-source/generate-llms-txt.sh:103

  • generate-llms-txt.sh derives each doc's link label from head -1, which for hand-authored docs starts with an HTML maintenance comment (not the # heading). This produces llms.txt entries with an empty/hidden label instead of a human-meaningful title. Consider extracting the first Markdown heading line (first line starting with #) or skipping leading HTML comments/blank lines when computing heading.
    examples/outbound-modify-response/src/index.js:3
  • This example fetches JSONPlaceholder over plain HTTP. Please switch to HTTPS so the sample doesn’t promote insecure transport (and to stay consistent with the README’s https URL).

Comment thread llms.txt Outdated
Comment thread docs/SDK_API.md
Comment thread docs/AUTH_PATTERNS.md
@godronus godronus requested a review from qrdl May 19, 2026 17:02
@godronus godronus merged commit df672e9 into main May 20, 2026
9 checks passed
@godronus godronus deleted the live-test-plugin branch May 20, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants