Skip to content

[codex] Support marketplace plugin manifest fallback#28789

Draft
charlesgong-openai wants to merge 1 commit into
mainfrom
dev/charlesgong/marketplace-manifest-from-index
Draft

[codex] Support marketplace plugin manifest fallback#28789
charlesgong-openai wants to merge 1 commit into
mainfrom
dev/charlesgong/marketplace-manifest-from-index

Conversation

@charlesgong-openai

@charlesgong-openai charlesgong-openai commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Support marketplace plugins whose source directory does not include a discoverable plugin manifest. Marketplace entries now synthesize a fallback .codex-plugin/plugin.json from supported marketplace.json fields and use that metadata for local detail reads, install, and non-curated cache refresh.

The install path stages a temporary source copy before writing the fallback manifest, so local marketplace checkout contents are not mutated. Existing source manifests still take precedence when present.

Details

  • Adds a marketplace-entry manifest fallback that emits the plugin manifest fields supported today: version, description, keywords, skills, mcpServers, apps, hooks, and interface.
  • Migrates all currently supported interface metadata from either top-level marketplace entry fields or nested interface, including descriptions, developer/category metadata, capabilities, URLs, default prompts, brand color, icons, logos, and screenshots.
  • Maps author.name to interface.developerName and marketplace category to the plugin interface category; unsupported marketplace-only keys such as agents are not written into the generated plugin.json.
  • Accepts skills as either a string or array in marketplace entries, using the first valid path for the synthesized plugin manifest because the current plugin manifest schema supports a single skills root.
  • Uses the synthesized manifest only when the marketplace entry contributed supported metadata, preserving the existing missing-manifest error for bare name/source entries.

Validation

  • CARGO_TARGET_DIR=/tmp/codex-target just test -p codex-app-server plugin_read_returns_invalid_request_when_plugin_manifest_is_missing passed: 1/1.
  • CARGO_TARGET_DIR=/tmp/codex-target just test -p codex-core-plugins passed: 252/252.
  • CARGO_TARGET_DIR=/tmp/codex-target just fix -p codex-core-plugins completed; it reported an existing unrelated large_enum_variant warning in core-plugins/src/manifest.rs.
  • just fmt passed.

@charlesgong-openai charlesgong-openai force-pushed the dev/charlesgong/marketplace-manifest-from-index branch 2 times, most recently from 21e54f0 to 7da943b Compare June 17, 2026 21:54
@charlesgong-openai charlesgong-openai force-pushed the dev/charlesgong/marketplace-manifest-from-index branch from 7da943b to ee33893 Compare June 18, 2026 05:50
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