Attribute external agent imports by provider (#34451)

## What changed

- Add an optional opaque `providerId` to `externalAgentConfig/import` for analytics attribution, independently of the `migrationSource` selector.
- Include the provider ID in completed-import and import-failure analytics events.
- Have TUI imports identify their selected migration source as the provider.

## Testing

- Cover provider attribution in app-server import completion and failure tests and analytics serialization tests.

GitOrigin-RevId: 0ee7313a43652e5305939c526bf6b903a79334ad
This commit is contained in:
charlesgong-openai
2026-07-21 02:59:22 +00:00
committed by copyberry
parent 3bc49e1721
commit a30aee8d90
15 changed files with 71 additions and 2 deletions
@@ -722,6 +722,10 @@ pub struct ExternalAgentConfigImportParams {
/// Optional identifier for the product that initiated the import.
#[ts(optional = nullable)]
pub source: Option<String>,
/// Opaque provider identifier supplied by the caller for analytics attribution. This does not
/// select the migration source.
#[ts(optional = nullable)]
pub provider_id: Option<String>,
/// Migration-source selector used to produce the migration items. Pass the same value to
/// detection and import; missing or unrecognized values use the default source.
#[ts(optional = nullable)]
@@ -436,6 +436,7 @@ fn external_agent_config_import_params_accept_legacy_plugin_details() {
}),
}],
source: None,
provider_id: None,
migration_source: None,
}
);