Skip to content

Route manifest EnvVars into auth_data (EnvVar.inject_into_auth_data) - #10

Merged
sezeryavuz merged 2 commits into
stagingfrom
feat/envvar-auth-data-injection
Jun 17, 2026
Merged

Route manifest EnvVars into auth_data (EnvVar.inject_into_auth_data)#10
sezeryavuz merged 2 commits into
stagingfrom
feat/envvar-auth-data-injection

Conversation

@sezeryavuz

Copy link
Copy Markdown
Contributor

What

Adds an additive EnvVar.inject_into_auth_data: bool = False to the schema contract and flags the two EnvVars that currently fail with "missing from auth_data":

  • google_ads GOOGLE_ADS_DEVELOPER_TOKENonly_for_custom=True, inject_into_auth_data=True (managed app resolves from server env).
  • google_merchant_center GOOGLE_MERCHANT_CENTER_MERCHANT_IDinject_into_auth_data=True (per-credential user input).

tools.py is unchanged — both already read these keys from auth_data. The source is derived from only_for_custom, so no per-integration runtime branching is needed.

Notes

  • Backward-compatible: default False; the other ~80 integrations dump it as False and the runtime injection is a no-op for them.
  • The actual injection behavior lands in the modulex runtime (external brief #021); the package change is inert without it.

Verification

  • ruff clean, mypy clean on touched files.
  • Full suite: 1890 passed / 8 skipped — identical to baseline (zero regression).

🤖 Generated with Claude Code

sezeryavuz and others added 2 commits June 17, 2026 02:02
Adds a single additive, backward-compatible field to the EnvVar
contract (default False reproduces today's behavior). When True, the
runtime must guarantee the value reaches a credential's auth_data at
action-execution time; the source is derived from only_for_custom
(server-level secret vs per-credential user input) rather than
declared, so no integration-specific branching is needed.

Wires the two integrations that currently fail with "missing from
auth_data":
- google_ads GOOGLE_ADS_DEVELOPER_TOKEN: only_for_custom=True +
  inject_into_auth_data=True (managed app resolves from server env).
- google_merchant_center GOOGLE_MERCHANT_CENTER_MERCHANT_ID:
  inject_into_auth_data=True (per-credential user input).

tools.py is unchanged (both already read these keys from auth_data).
The actual injection behavior lands in the modulex runtime; see the
external brief. Verification baseline unchanged: 1890 passed, ruff
clean, mypy clean for touched files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sezeryavuz
sezeryavuz merged commit 4e579fe into staging Jun 17, 2026
2 checks passed
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.

1 participant