SIGN IN SIGN UP

Connectors: Fix and generalize the API for custom connector types.

Validate `setting_name`, `constant_name`, and `env_var_name` in connector
registration — reject invalid values with `_doing_it_wrong()` instead of
silently falling back.
Change the auto-generated `setting_name` pattern from
`connectors_ai_{$id}_api_key` to `connectors_{$type}_{$id}_api_key` so it
works for any connector type. Built-in AI providers infer their names using
the existing `connectors_ai_{$id}_api_key` convention, preserving backward
compatibility.
Add `constant_name` and `env_var_name` as optional authentication fields,
allowing connectors to declare explicit PHP constant and environment
variable names for API key lookup. AI providers auto-generate these using
the `{CONSTANT_CASE_ID}_API_KEY` convention.
Refactor `_wp_connectors_get_api_key_source()` to accept explicit
`env_var_name` and `constant_name` parameters instead of deriving them from
the provider ID. Environment variable and constant checks are skipped when
not provided.
Generalize REST dispatch, settings registration, and script module data to
work with all connector types, not just `ai_provider`. Settings
registration skips already-registered settings. Non-AI connectors determine
`isConnected` based on key source.
Replace `isInstalled` with `pluginFile` in script module data output to fix
plugin entity ID resolution on the frontend.
Update PHPDoc to reflect current behavior — widen `type` from literal
`'ai_provider'` to `non-empty-string`, document new authentication fields,
and use Anthropic examples throughout.

Props gziolo, jorgefilipecosta.
Fixes #64957.

git-svn-id: https://develop.svn.wordpress.org/trunk@62180 602fd350-edb4-49c9-b593-d223f7449a82
J
Jorge Costa committed
54624070b478f45243e643d0f596f0e565ee08f5
Parent: a906b96