Repository navigation
Open the integration seam so a vendor module can live outside core #1094
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
jwrosewell
wants to merge
377
commits into
IABTechLab:main
from
jwrosewell:split/7-integration-seam-impl
Closed
Changes from all commits
Commits
Show all changes
377 commits
Select commit
Hold shift + click to select a range
d860f2a
Give the provider seams the async shape and the services a real vendo…
jwrosewell 248690a
Documentation, house-style, and test-compilation fixes for the seam i…
jwrosewell 894b83d
Complete the mint and fingerprint house-style sweep after rebase
jwrosewell cb69c92
Drop the unused EdgeCookieProvider import from the seam-probe test
jwrosewell 1d1fa44
Land the module-supplied Edge Cookie provider on the single seam
jwrosewell b650c1a
Refuse a module device provider whose permissions nothing can enforce
jwrosewell 3399d42
Format the guide pages for the docs Prettier gate and tidy the device…
jwrosewell ef6c042
Name the declared permissions in the device refusal and align the gui…
jwrosewell 5bb867d
Finish the default_country retirement across the seam branches
jwrosewell 5b1f2a4
Point the permission-model guide at the config/permissions sample
jwrosewell ebf0117
Merge branch 'main' into split/1-ec-provider
aram356 02f79c7
Put the permission signal models behind a seam
jwrosewell da4ea02
Evaluate permission signals in order, each amending the last
jwrosewell 5383a36
Name the permission signal models in configuration
jwrosewell 1c369bf
Stop treating an unreadable consent record as a model to choose
jwrosewell 5d11c51
Open the permission signal seam to providers outside core
jwrosewell cce1f45
Ship the four IAB signal schemes as crates the adapters link
jwrosewell 48919be
Document permission signals and the provider order
jwrosewell b752d96
Carry the terms the data is available under
jwrosewell 0a54cf3
Merge the permission signal work from split/3
jwrosewell 6534bbd
Merge the permission signal work from split/4
jwrosewell 90f5c9f
Merge the permission signal work from split/5
jwrosewell c43ebef
Keep the provider rationale on the docs page
jwrosewell 2eb8712
Say what each permission signal assertion checks
jwrosewell 8c36bba
Merge the follow-up commits from split/3
jwrosewell 13c27d7
Merge the follow-up commits from split/4
jwrosewell f57ad1d
Merge the follow-up commits from split/5
jwrosewell af2e2f5
Merge main into the Edge Cookie provider seam
jwrosewell cb28ad3
Build the Axum test state from the compiled auction plan
jwrosewell 0832f00
Merge main into device and geo selection through split/1
jwrosewell a75571d
Resolve the host-signals passphrase from the secret store
jwrosewell 2ea1c69
Merge main into the permission model through split/2
jwrosewell 3c9f4b0
Correct the Windows notes on CI runners and the CLI
jwrosewell 69e7d57
Merge main into client resolve through split/3
jwrosewell d484805
Merge main into the response hook docs through split/4
jwrosewell 3d04183
Say the host-signal provider also hashes the client IP
jwrosewell 8b7cd94
Stop naming the retired default_country in the geo guide
jwrosewell 0980b73
Describe rejected provider effects accurately
jwrosewell 0e7f7eb
Key the remaining identity-graph paths canonically
jwrosewell fb1bc28
Correct comment claims and test a stale preload read
jwrosewell be0ed2d
Acknowledge one jurisdiction in the adapter startup tests
jwrosewell cb6f717
Keep provider headers only from candidates that generation commits
jwrosewell 1b88e42
Correct the admin lookup forms and the bare reader row note
jwrosewell 37eadae
Merge the Edge Cookie review follow-ups from split/1
jwrosewell e3bb4b9
Merge the Edge Cookie review follow-ups through split/2
jwrosewell 2c34be4
Merge the Edge Cookie review follow-ups through split/3
jwrosewell 5406acf
Merge the Edge Cookie review follow-ups through split/4
jwrosewell 88a7482
Run the permission signal providers in the permissions inspector
jwrosewell b7dd13f
Merge the permissions inspector fix from split/3
jwrosewell 65f7005
Merge the permissions inspector fix from split/4
jwrosewell a2a1dfc
Name the permissions sample for what it is
jwrosewell e17090b
Merge the permissions sample rename from split/3
jwrosewell 672cc60
Merge the permissions sample rename from split/4, and follow it in the
jwrosewell b5442bb
Merge main and the permission work into the integration seam through …
jwrosewell 7ea7682
Hand the Axum startup check the Edge Cookie provider a module supplies
jwrosewell 60bf324
Name the client-fixed demo Edge Cookie provider client_fixed
jwrosewell f5b9c04
Select permission signal providers with provider, named in snake_case
jwrosewell 9adf988
Switch integrations on by naming them in [integration] provider
jwrosewell b231b55
Write the integration list from ts audit and the test fixtures
jwrosewell 6e61e0b
Name the host-signal Edge Cookie provider host_signals
jwrosewell 14a3ffb
Give each identity provider its own table under [ec]
jwrosewell 6943587
Select demand sources and the ad server like every other provider
jwrosewell 07dd08b
Document how an integration is switched on
jwrosewell 973a81a
Say that an integration runs rather than that it is enabled
jwrosewell 18e6946
Write down the one rule every provider configuration follows
jwrosewell d9e6e1c
Merge the integration selector into the demand and ad server seam
jwrosewell 194874e
Select the APS renderer test's source in the demand table
jwrosewell 396bc80
Select the adapters' test demand sources in the demand table
jwrosewell 558bde5
Merge the per-provider [ec] tables from split/1
jwrosewell 5c9f27e
Merge the per-provider [ec] tables and the host_signals name from spl…
jwrosewell ea716f5
Merge the per-provider [ec] tables and the permission signal rename f…
jwrosewell 6004c99
Merge the four provider renames from split/4, and follow them in the …
jwrosewell bddec03
Merge the Edge Cookie provider tables and the docs from split/5
jwrosewell d11895b
Join four clauses in the Edge Cookie guides with words rather than marks
jwrosewell 27e05fa
Hand a demand implementation only the parts of a request it owns
jwrosewell 29d1fde
Refuse an integration setting no integration knows, and say only what…
jwrosewell 6a7cbb9
Merge the Edge Cookie guide wording fix from split/5
jwrosewell e40b80e
Name the Edge Cookie block the Axum test fixture writes
jwrosewell f50c32e
Count the asset proxy entries the audit writes rather than the templa…
jwrosewell 59a2eb2
Drive the CLI overlay tests from the demand table the fixture already…
jwrosewell ede61f6
Write the Fastly adapter's test fixtures on the demand table
jwrosewell 4d40e5c
Merge main into the Edge Cookie provider seam
jwrosewell 5e32cde
Merge main into device and geo provider selection
jwrosewell 0d446be
Merge main into the permission model
jwrosewell eca58fe
Merge main into the client-set Edge Cookie value path
jwrosewell f97a328
Merge main into the provider documentation set
jwrosewell 5b83034
Give the test state the services field main added
jwrosewell c6bb840
Merge the test state fix from split/1
jwrosewell edad223
Merge the test state fix from split/2
jwrosewell 077da8f
Merge the test state fix from split/3
jwrosewell 1feaab6
Merge the test state fix from split/4
jwrosewell fe0b6d9
Let the shared Next.js fixture say it serves one jurisdiction
jwrosewell 7d53894
Merge the fixture jurisdiction fix from split/3
jwrosewell 02782ab
Merge the fixture jurisdiction fix from split/4
jwrosewell da0bd7c
Merge main into the integration seam
jwrosewell f48e2a8
Merge the test state and fixture fixes from split/5
jwrosewell 22262a0
Let the cache withdrawal test withdraw on this branch's terms
jwrosewell ffe1b44
Merge the withdrawal test fix from split/3
jwrosewell 33503ed
Merge the withdrawal test fix from split/4
jwrosewell 986c33d
Merge the withdrawal test fix from split/5
jwrosewell 4ef7328
Compile the auction plan with the integrations the adapter was given
jwrosewell a5a3b98
Make main's new fixture compile against the seam
jwrosewell b41c61e
Remove the section replacer the seam left with no caller
jwrosewell b1dfdc4
Make main's new tests run against the seam
jwrosewell 52feb1c
Fix the audit port and point the diagnostics at the demand table
jwrosewell 742ecfd
Stop importing the plan compiler the adapters no longer call
jwrosewell 408fad3
Re-pad the API reference table and drop a test re-import
jwrosewell 7757770
Let the adapter test fixtures import the plan compiler they use
jwrosewell 8aa8ca1
Bring main's CLI tests and documented fixture onto this stack
jwrosewell 44b56d0
Put the test import where rustfmt wants it
jwrosewell 53f16ab
Merge upstream main 7a0ecb4 into split/1-ec-provider
jwrosewell 797c919
Give orphan recovery the request's headers, path and query
jwrosewell fbe302a
Delete the cookie reading test that only read its own double
jwrosewell 977456e
Test that push validation keeps a labeled block's other errors
jwrosewell 4da2a39
Bring the Edge Cookie seam's comments, docs and tests into line
jwrosewell 1e25353
The Edge Cookie seam says module where it said provider
jwrosewell 80a842e
Merge split/1-ec-provider at 1e25353b8 into split/2-device-geo
jwrosewell 2c34ed1
Stop refusing the host-signals spelling by name
jwrosewell badb58b
Resolve a cross-named built-in Edge Cookie block's passphrase once
jwrosewell 13cfa9b
The device and geo seams say module where they said provider
jwrosewell 66b4bf6
Merge split/2-device-geo at 13cfa9b5e into split/3-permissions
jwrosewell 796bb47
Say what happens when geolocation resolves no location
jwrosewell 207d04e
Say which permissions are still waiting for a signal
jwrosewell c04649f
Await only what a configured module could still grant
jwrosewell ddceadd
Each module owns its own unreadable signal, and the state names the v…
jwrosewell 7554c3e
The Model Terms for Marketing signal module, reading the preference c…
jwrosewell fc2a355
The permission model says module where it said provider
jwrosewell 1e8b612
Run the permission signal crates' tests with the Axum adapter
jwrosewell 511db9b
Bring the permission model's comments and tests into line
jwrosewell 20af33c
Merge split/3-permissions at 511db9b3a into split/4-client-resolve
jwrosewell 6c0d268
Acknowledge single-jurisdiction operation in the Fastly sandbox tests
jwrosewell c4722aa
Refuse a resolve_allowed_origins entry that is not a bare origin
jwrosewell c87a986
Answer a resolve with the module the request selected
jwrosewell 3b30859
Stop refusing the client-fixed spelling by name
jwrosewell 8ae43d1
Write the resolved Edge Cookie with set_ec_cookie
jwrosewell 4e28a68
Format the permission model and signal pages
jwrosewell 343bd5f
Stop the inspector reporting a field core no longer answers
jwrosewell 7de2f18
Fold the Edge Cookie resolve tests that repeat one arrange
jwrosewell ac51edc
Pin the inspector's lock to the edgezero revision the workspace uses
jwrosewell bbda299
Bring the resolve tests into line with what the endpoint does
jwrosewell 8f6047e
Format the agent guide and the permission signal README
jwrosewell c91b8c6
Fold the demonstration module's resolve_from_client tests into one table
jwrosewell b63eabc
Merge split/3-permissions at 8f6047e94 into split/4-client-resolve
jwrosewell ff56a5f
The client resolve path says module where it said provider
jwrosewell 17fd681
Thread the selected module into the conflict test's context
jwrosewell 3c77e44
Merge split/4-client-resolve at ff56a5fcd into split/5-response-hook-…
jwrosewell caccf8d
The documentation set says module where it said provider
jwrosewell ecb5fb7
Merge split/4-client-resolve at 17fd681eb into split/5-response-hook-…
jwrosewell 8fcb54a
Merge split/5-response-hook-docs at ecb5fb737 into split/7-integratio…
jwrosewell b8d451b
The seam says module where an operator selects a capability
jwrosewell 79c1a9f
Finish the documentation for the demand, adserver and integration tables
jwrosewell cccce58
Read the demand table in ts prebid server inspect
jwrosewell e3aeeba
Restore the icu_provider crate name in the inspector's lockfile
jwrosewell 30fbc6d
Merge split/4-client-resolve at e3aeeba08 into split/5-response-hook-…
jwrosewell d8e09a9
Merge split/5-response-hook-docs at 30fbc6d36 into split/7-integratio…
jwrosewell 0d5755f
The local harness names prebid in [integration] module
jwrosewell 6b2e303
A module is named by its crate folder
jwrosewell 6fc9cdf
Merge split/1-ec-provider at 6b2e303f1 into split/2-device-geo
jwrosewell 6489135
Merge split/2-device-geo at 6fc9cdf71 into split/3-permissions
jwrosewell fd51fe8
The permission signal modules are named by their crate folders
jwrosewell 9a37728
Merge split/3-permissions at fd51fe830 into split/4-client-resolve
jwrosewell 833089e
Merge split/4-client-resolve at 9a3772871 into split/5-response-hook-…
jwrosewell 93af3ea
The configuration guide states the module name rule
jwrosewell 060b442
Merge split/5-response-hook-docs at 93af3ea2b into split/7-integratio…
jwrosewell 22fa839
The auction's tables select with modules and module
jwrosewell 90f6690
Page integrations are selected in the section of their type
jwrosewell ad734fd
The audit generator borrows the detected integration's name
jwrosewell d3e2366
An auction implementation is named by its module path
jwrosewell 35eb0ea
Messages and guides name a setting by the section it is read from
jwrosewell ef4c013
Comments say what the code does, with the history taken out
jwrosewell 35ccc36
Merge split/1-ec-provider at ef4c01347 into split/2-device-geo
jwrosewell cec6052
Comments say what the code does, with the history and plans taken out
jwrosewell 05a1cce
Merge split/2-device-geo at cec6052e2 into split/3-permissions
jwrosewell 9da9a65
Comments and the permission model guide say what is true now
jwrosewell 5d808f2
Say what normalize_id_for_kv decides, and pin it with a fixture
jwrosewell 09514b1
Merge split/1-ec-provider at 5d808f233 into split/2-device-geo
jwrosewell c0a0f3a
Merge split/2-device-geo at 09514b188 into split/3-permissions
jwrosewell 6b9f52b
Merge split/3-permissions at c0a0f3a81 into split/4-client-resolve
jwrosewell 327211c
Merge split/4-client-resolve at 6b9f52b40 into split/5-response-hook-…
jwrosewell f220687
The Edge Cookie guides describe the permission model as it is
jwrosewell 1579133
Merge split/5-response-hook-docs at f220687ba into split/7-integratio…
jwrosewell 6b335b7
Comments say what the code does, and one names the ad server's table
jwrosewell 6c7e0d6
The Fastly adapter is a library, and the seam's round trip runs on it
jwrosewell 0810bbe
The integration guide says how an integration ships outside core
jwrosewell b52e347
Merge split/7-integration-seam-impl at 0810bbe40 into the Fastly comp…
jwrosewell b98dc7a
The guide and changelog say how a Fastly deployment composes a vendor…
jwrosewell b5ef822
Comments and the onboarding pages name the library root as the entry …
jwrosewell 2b5ca44
A registration names the Edge Cookie, geo and device modules it supplies
jwrosewell b3ef39e
Merge split/7-integration-seam-impl at 2b5ca444a into the Fastly comp…
jwrosewell 5a2e8f6
A demand source or ad server from outside core is known when the sett…
jwrosewell 93f7db0
Merge split/7-integration-seam-impl at 5a2e8f602 into the Fastly comp…
jwrosewell 1eabe04
On Fastly, the device module [device] selects classifies each request
jwrosewell e4b9a62
Merge split/7-integration-seam-impl at 1eabe0426 into the Fastly comp…
jwrosewell 812c90c
The seam probe supplies a demand source
jwrosewell 7dbe938
Merge split/7-integration-seam-impl at 812c90c2a into the Fastly comp…
jwrosewell afe895e
Merge the Fastly library target into split/7-integration-seam-impl
jwrosewell 6f52771
The identity graph's comments describe device records, not person rec…
jwrosewell fb1d369
Merge split/1-ec-provider at 6f527710a into split/2-device-geo
jwrosewell 613cd18
Merge split/2-device-geo at fb1d369a1 into split/3-permissions
jwrosewell 59660c4
Merge split/3-permissions at 613cd1831 into split/4-client-resolve
jwrosewell 1f31ba5
Merge split/4-client-resolve at 59660c468 into split/5-response-hook-…
jwrosewell 7a186db
Merge split/5-response-hook-docs at 1f31ba53e into split/7-integratio…
jwrosewell d2e68d0
The seam probe's notes name both adapters whose tests use it
jwrosewell 3bb85a6
Osano moves out of core, and a stock build's modules are listed in on…
jwrosewell 693b590
Core offers what an integration crate outside it needs
jwrosewell b90b4db
Lockr moves out of core
jwrosewell 947cedd
Permutive moves out of core
jwrosewell 9e8e663
Sourcepoint moves out of core
jwrosewell 5832b17
Didomi moves out of core
jwrosewell 91af0a1
Google Tag Manager moves out of core
jwrosewell 8392960
Testlight moves out of core
jwrosewell 215c5dc
Next.js moves out of core
jwrosewell 5f0e9c0
Google Publisher Tags moves out of core
jwrosewell ccdae38
A module acts on one request without core naming it
jwrosewell 4f8fd2a
The Google Publisher Tags diagnostics module moves out of core
jwrosewell 4087052
A module declares its own secret settings
jwrosewell 609154d
DataDome moves out of core
jwrosewell e08ef73
The audit generator asks the stock list where a module is selected
jwrosewell d31e511
A module registers and validates against the auction plan
jwrosewell 549cbb7
The mock ad server moves out of core
jwrosewell a1339c9
APS moves out of core
jwrosewell 27648c0
Prebid's file is divided between the page integration and the demand
jwrosewell 39f1240
Prebid moves out of core
jwrosewell dd7f232
The Prebid Server demand moves out of core
jwrosewell 2e60184
The Fastly adapter's test fixtures compile their plan with the stock …
jwrosewell 8aba9c4
The guides say where an integration lives
jwrosewell 3481121
Prebid raises the integration error every module raises
jwrosewell e1b6513
Core drops an ad server model and an error variant nothing uses
jwrosewell 036618b
Prebid's request extension types go with the provider that writes them
jwrosewell 4db59c8
Routing's zone limit and transport headers are named for what they are
jwrosewell 7689923
Every crate outside core names its maintainers
jwrosewell d33507b
Merge upstream main 182fdf4 into split/1-ec-provider
jwrosewell 47551a6
Merge split/1-ec-provider at d33507b32 into split/2-device-geo
jwrosewell 0afd715
Merge split/2-device-geo at 47551a622 into split/3-permissions
jwrosewell e7623de
Merge split/3-permissions at 0afd715c5 into split/4-client-resolve
jwrosewell 3c7ef00
Merge split/4-client-resolve at e7623de78 into split/5-response-hook-…
jwrosewell a90a141
Merge split/5-response-hook-docs at 3c7ef00e7 into split/7-integratio…
jwrosewell 9ce9e3e
Every tool and test that validates settings registers the stock modules
jwrosewell 1e2577e
Merge split/7-integration-seam-impl at a90a141bc into the move of the…
jwrosewell 190ea05
The Viceroy generator's test loads its blob with the stock modules
jwrosewell f5a2858
The plain OpenRTB demand moves out of core
jwrosewell 49bdf21
Merge the move of the integration modules out of core into split/7-in…
jwrosewell 6844050
Merge upstream main d2f0d8cc0 into split/1-ec-provider
Jamesr51d 138faf1
Merge split/1-ec-provider into split/2-device-geo
Jamesr51d a028c00
Merge split/2-device-geo into split/3-permissions
Jamesr51d a70e9d2
Merge split/3-permissions into split/4-client-resolve
Jamesr51d 61b1399
Merge split/4-client-resolve into split/5-response-hook-docs
Jamesr51d b826d6e
Merge split/5-response-hook-docs into split/7-integration-seam-impl
Jamesr51d af04ad6
Lock the web-time dependency of the DataDome crate
Jamesr51d d3bbc32
Keep the compiled-in git version out of the legacy settings loader an…
Jamesr51d File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| name: "Permissions Inspector" | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build-inspector-wasm: | ||
| name: build inspector wasm | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Retrieve Rust version | ||
| id: rust-version | ||
| run: echo "rust-version=$(grep -oP 'channel = "\K[^"]+' rust-toolchain.toml)" >> "$GITHUB_OUTPUT" | ||
| - name: Set up Rust toolchain | ||
| uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
| with: | ||
| toolchain: ${{ steps.rust-version.outputs.rust-version }} | ||
| target: wasm32-unknown-unknown | ||
| - name: Build the inspector engine | ||
| run: ./scripts/build-inspector-wasm.sh | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.