Skip to content

Commit 5aaddc5

Browse files
committed
fix: move ESM provider wrapper from plugin to CDN
Move the ESM provider wrapper (jetpack-ai-provider-esm.mjs) from Jetpack plugin files to the CDN build in calypso. This eliminates the dependency on local plugin files for the provider URL, which breaks on Simple sites where plugin files don't exist on disk. - Delete local jetpack-ai-provider-esm.mjs - Add AI_SIDEBAR_PROVIDER_URL constant pointing to CDN - Update register_provider() to use CDN URL without ?ver= param (wrapper reads from window global at import time, always in sync) - Update test assertions to match new URL
1 parent 3f4a41f commit 5aaddc5

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/ai-sidebar/class-jetpack-ai-sidebar.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
const AI_SIDEBAR_JS_URL = 'https://' . AM_ASSET_BASE_PATH . 'jetpack-ai-sidebar.min.js';
2323
const AI_SIDEBAR_CSS_URL = 'https://' . AM_ASSET_BASE_PATH . 'jetpack-ai-sidebar.css';
2424
const AI_SIDEBAR_RTL_CSS_URL = 'https://' . AM_ASSET_BASE_PATH . 'jetpack-ai-sidebar.rtl.css';
25+
const AI_SIDEBAR_PROVIDER_URL = 'https://' . AM_ASSET_BASE_PATH . 'jetpack-ai-sidebar.provider.mjs';
2526

2627
/**
2728
* Handles loading the Agents Manager from CDN and registering the
@@ -383,10 +384,11 @@ public static function register_provider( array $providers ): array {
383384
$version
384385
);
385386

386-
// Register as AM provider. When Big Sky is also present, AM merges
387-
// both providers — abilities, suggestions, and components are combined.
388-
$esm_url = plugins_url( '_inc/blocks/ai-sidebar/jetpack-ai-provider-esm.mjs', JETPACK__PLUGIN_FILE );
389-
$providers[] = $esm_url . '?ver=' . $version;
387+
// Register as AM provider via CDN-hosted ESM wrapper.
388+
// AM dynamically imports this module to merge tools, suggestions, and components.
389+
// No ?ver= needed — the wrapper re-exports from window.__JetpackAIProvider
390+
// at import time, so its behavior always matches the loaded IIFE bundle.
391+
$providers[] = AI_SIDEBAR_PROVIDER_URL;
390392

391393
return $providers;
392394
}

projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/ai-sidebar/jetpack-ai-provider-esm.mjs

Lines changed: 0 additions & 7 deletions
This file was deleted.

projects/plugins/jetpack/tests/php/extensions/plugins/ai-sidebar/Jetpack_AI_Sidebar_Test.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ public function test_register_provider_adds_url_and_enqueues() {
281281
$providers = Jetpack_AI_Sidebar::register_provider( array() );
282282

283283
$this->assertCount( 1, $providers );
284-
$this->assertStringContainsString( 'jetpack-ai-provider-esm.mjs', $providers[0] );
284+
$this->assertStringContainsString( 'jetpack-ai-sidebar.provider.mjs', $providers[0] );
285285
$this->assertTrue( wp_script_is( 'jetpack-ai-provider', 'enqueued' ) );
286286
$this->assertTrue( wp_style_is( 'jetpack-ai-provider', 'enqueued' ) );
287287
}
@@ -320,7 +320,7 @@ public function test_register_provider_preserves_existing_providers() {
320320
$this->assertCount( 3, $providers );
321321
$this->assertSame( 'https://example.com/provider-a.mjs', $providers[0] );
322322
$this->assertSame( 'https://example.com/provider-b.mjs', $providers[1] );
323-
$this->assertStringContainsString( 'jetpack-ai-provider-esm.mjs', $providers[2] );
323+
$this->assertStringContainsString( 'jetpack-ai-sidebar.provider.mjs', $providers[2] );
324324
}
325325

326326
// ──────────────────────────────────────────────────
@@ -386,7 +386,7 @@ public function test_full_flow_with_filter_enabled() {
386386
$providers = apply_filters( 'agents_manager_agent_providers', array() );
387387

388388
$this->assertCount( 1, $providers );
389-
$this->assertStringContainsString( 'jetpack-ai-provider-esm.mjs', $providers[0] );
389+
$this->assertStringContainsString( 'jetpack-ai-sidebar.provider.mjs', $providers[0] );
390390
}
391391

392392
/**

0 commit comments

Comments
 (0)