Default openapi.addSpec credentialTargetScope to the source's scope#747
Merged
RhysSullivan merged 1 commit intomainfrom May 10, 2026
Merged
Conversation
config-sync calls openapi.addSpec without ever passing credentialTargetScope. addSpecInternal forwarded the field unchanged to rebuildSource, where targetScopeForBinding rejected the missing field with "credentialTargetScope is required when adding direct OpenAPI credentials" — so any source with a header secret in executor.jsonc broke the daemon at startup. Fall back to config.scope, matching what refreshSource and editSource already do (refreshSource hardcodes scope; editSource uses input.credentialTargetScope ?? scope). Add a regression test that exercises addSpec with header secrets but no credentialTargetScope — the test fails on main and passes after the fix.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-marketing | 75a4714 | Commit Preview URL Branch Preview URL |
May 10 2026, 05:02 PM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | 75a4714 | May 10 2026, 05:02 PM |
@executor-js/cli
@executor-js/config
@executor-js/execution
@executor-js/sdk
@executor-js/storage-core
@executor-js/codemode-core
@executor-js/runtime-quickjs
@executor-js/plugin-file-secrets
@executor-js/plugin-google-discovery
@executor-js/plugin-graphql
@executor-js/plugin-keychain
@executor-js/plugin-mcp
@executor-js/plugin-onepassword
@executor-js/plugin-openapi
executor
commit: |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
addSpecInternalforwardedcredentialTargetScopetorebuildSourceunchanged. When the caller (notably config-sync, which never sets it) passedundefined,targetScopeForBindingerrored with"credentialTargetScope is required when adding direct OpenAPI credentials"— so any OpenAPI source with a header secret inexecutor.jsoncbroke the daemon at startup.Default to
config.scope, matching the pattern already used by:refreshSource(packages/plugins/openapi/src/sdk/plugin.ts:972— hardcodesscope)editSource(packages/plugins/openapi/src/sdk/plugin.ts:1090—input.credentialTargetScope ?? scope)Repro (before this PR)
Test plan
plugin.test.ts:addSpec without credentialTargetScope defaults to the source's scope— fails onmain, passes after the fixbun run lintclean