@atlaskit/tmp-editor-statsig 135.0.1 → 135.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # @atlaskit/editor-statsig-tmp
2
2
 
3
+ ## 135.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`5174794d869df`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5174794d869df) -
8
+ Add the third-party (3P) prompt tile to Create-with-Rovo personalized suggestions, gated behind
9
+ the `confluence_cwr_3p_connection_suggested_prompts` experiment (Control / Variant A / Variant B).
10
+
11
+ The frontend owns all experiment logic and passes a plain `enable3pPromptOn3rdCard` boolean to
12
+ `fetchPersonalizedPromptSuggestionsStream`; the backend uses it only to gate 3P tile generation.
13
+ The modal and its preloads share one prompt-suggestions cache, so all of them decide the flag with
14
+ a no-exposure cohort read (only eligible users request the tile). The Statsig exposure fires once,
15
+ when the modal actually opens, so preloads don't dilute the experiment. Variant B renders up to
16
+ two connector icons on the 3P tile via `RovoLogoForAppSource`, falling back to the single tile
17
+ icon (Variant A behaviour) when there are no connectors.
18
+
19
+ A `track` eligibility event is emitted when the modal opens so the "admin allowed no 3P apps → not
20
+ in the experiment" segment (which fires no Statsig exposure) is still counted, alongside
21
+ eligible/cohort and connectors-unavailable outcomes.
22
+
23
+ `useEnsureConnectorsLoaded` gains an optional `enabled` flag (default `true`): the 3P tile loads
24
+ connectors only on the exposure surface or for variants, so control on a preload surface pays no
25
+ connectors fetch — and no extra render — on every create-button mount.
26
+
27
+ Usage:
28
+
29
+ ```ts
30
+ import { fetchPersonalizedPromptSuggestionsStream } from '@atlassian/conversation-assistant-service/services/assistance-service/main';
31
+ import {
32
+ type ThirdPartyConnector,
33
+ THIRD_PARTY_PROMPT_SOURCE_CONTENT_TYPE,
34
+ } from '@atlassian/conversation-assistant-service-api/types/assistance-service';
35
+
36
+ // Opt in to the 3P tile on the 3rd card (variants A/B only); omit the flag otherwise
37
+ // so the request stays byte-identical for everyone else.
38
+ const { generator } = await assistanceService.fetchPersonalizedPromptSuggestionsStream({
39
+ enable3pPromptOn3rdCard: true,
40
+ });
41
+
42
+ // A returned tile is the 3P tile when its source content type matches; it carries the
43
+ // connectors used to render the product icons.
44
+ const is3pTile = tile.source_content_type === THIRD_PARTY_PROMPT_SOURCE_CONTENT_TYPE;
45
+ const connectors: ThirdPartyConnector[] | undefined = tile.third_party_connectors;
46
+ ```
47
+
3
48
  ## 135.0.1
4
49
 
5
50
  ### Patch Changes
@@ -17,7 +17,8 @@ var testMultivariateOverrides = exports.testMultivariateOverrides = {
17
17
  platform_editor_paste_actions_menu_v2: 'control',
18
18
  cc_smarts_should_improve_writing_migration: 'control',
19
19
  confluence_quick_insert_embeds: 'control',
20
- cc_cwr_prompt_strength_indicator: 'control'
20
+ cc_cwr_prompt_strength_indicator: 'control',
21
+ confluence_cwr_3p_connection_suggested_prompts: 'control'
21
22
  };
22
23
  var testBooleanOverrides = exports.testBooleanOverrides = {
23
24
  'cc-maui-ai-edit-loading-experiment': true,
@@ -517,6 +517,15 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
517
517
  values: ['control', 'variant1'],
518
518
  defaultValue: 'control'
519
519
  }),
520
+ // Added 2026-07-21
521
+ confluence_cwr_3p_connection_suggested_prompts: (0, _experimentBuilders.createMultivariateExperiment)({
522
+ productKeys: {
523
+ confluence: 'confluence_cwr_3p_connection_suggested_prompts'
524
+ },
525
+ param: 'cohort',
526
+ values: ['control', 'variant_a', 'variant_b'],
527
+ defaultValue: 'control'
528
+ }),
520
529
  // Added 2026-03-02
521
530
  platform_editor_inline_card_dispatch_guard: (0, _experimentBuilders.createBooleanExperiment)({
522
531
  productKeys: {
@@ -11,7 +11,8 @@ export const testMultivariateOverrides = {
11
11
  platform_editor_paste_actions_menu_v2: 'control',
12
12
  cc_smarts_should_improve_writing_migration: 'control',
13
13
  confluence_quick_insert_embeds: 'control',
14
- cc_cwr_prompt_strength_indicator: 'control'
14
+ cc_cwr_prompt_strength_indicator: 'control',
15
+ confluence_cwr_3p_connection_suggested_prompts: 'control'
15
16
  };
16
17
  export const testBooleanOverrides = {
17
18
  'cc-maui-ai-edit-loading-experiment': true,
@@ -511,6 +511,15 @@ export const editorExperimentsConfig = {
511
511
  values: ['control', 'variant1'],
512
512
  defaultValue: 'control'
513
513
  }),
514
+ // Added 2026-07-21
515
+ confluence_cwr_3p_connection_suggested_prompts: createMultivariateExperiment({
516
+ productKeys: {
517
+ confluence: 'confluence_cwr_3p_connection_suggested_prompts'
518
+ },
519
+ param: 'cohort',
520
+ values: ['control', 'variant_a', 'variant_b'],
521
+ defaultValue: 'control'
522
+ }),
514
523
  // Added 2026-03-02
515
524
  platform_editor_inline_card_dispatch_guard: createBooleanExperiment({
516
525
  productKeys: {
@@ -11,7 +11,8 @@ export var testMultivariateOverrides = {
11
11
  platform_editor_paste_actions_menu_v2: 'control',
12
12
  cc_smarts_should_improve_writing_migration: 'control',
13
13
  confluence_quick_insert_embeds: 'control',
14
- cc_cwr_prompt_strength_indicator: 'control'
14
+ cc_cwr_prompt_strength_indicator: 'control',
15
+ confluence_cwr_3p_connection_suggested_prompts: 'control'
15
16
  };
16
17
  export var testBooleanOverrides = {
17
18
  'cc-maui-ai-edit-loading-experiment': true,
@@ -511,6 +511,15 @@ export var editorExperimentsConfig = {
511
511
  values: ['control', 'variant1'],
512
512
  defaultValue: 'control'
513
513
  }),
514
+ // Added 2026-07-21
515
+ confluence_cwr_3p_connection_suggested_prompts: createMultivariateExperiment({
516
+ productKeys: {
517
+ confluence: 'confluence_cwr_3p_connection_suggested_prompts'
518
+ },
519
+ param: 'cohort',
520
+ values: ['control', 'variant_a', 'variant_b'],
521
+ defaultValue: 'control'
522
+ }),
514
523
  // Added 2026-03-02
515
524
  platform_editor_inline_card_dispatch_guard: createBooleanExperiment({
516
525
  productKeys: {
@@ -1840,5 +1840,12 @@ export declare const editorExperimentsConfig: {
1840
1840
  productKeys?: ProductKeys;
1841
1841
  typeGuard: IsBooleanType;
1842
1842
  };
1843
+ confluence_cwr_3p_connection_suggested_prompts: {
1844
+ defaultValue: 'control' | 'variant_a' | 'variant_b';
1845
+ param: string;
1846
+ productKeys?: ProductKeys;
1847
+ typeGuard: (value: unknown) => value is 'control' | 'variant_a' | 'variant_b';
1848
+ values: ('control' | 'variant_a' | 'variant_b')[];
1849
+ };
1843
1850
  };
1844
1851
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/tmp-editor-statsig",
3
- "version": "135.0.1",
3
+ "version": "135.1.0",
4
4
  "description": "Temp plugin to ease use of statsig feature flags until platform feature flags are available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",