@atlaskit/rovo-triggers 10.5.0 → 10.6.1

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,43 @@
1
1
  # @atlaskit/rovo-triggers
2
2
 
3
+ ## 10.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9c1bd3f520493`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9c1bd3f520493) -
8
+ Cleanup feature gate `rovo_chat_fix_cold_start_prompt_insertion`. The `set-message-context` event
9
+ is now always ignored for trigger-latest replay, and the editor placeholder analytics event is now
10
+ always sent.
11
+
12
+ ## 10.6.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [`169859ef13e04`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/169859ef13e04) -
17
+ Add an additive `chatEntryPoint` attribution channel to Rovo Chat, so a product can measure chats
18
+ that originated from its own surfaces.
19
+
20
+ A `chat-new` publisher can now pass a `ChatEntryPoint` enum value to record which surface launched
21
+ the conversation. New entry points must be added to the enum before use. The value is stored on
22
+ the conversation record — so it also covers launches that carry no `prompt`, and keeps applying
23
+ past the first turn — and is reported as a new `chatEntryPoint` attribute on the
24
+ `aiInteraction initiated` and `aiResult viewed` events.
25
+
26
+ ```ts
27
+ import { ChatEntryPoint } from '@atlaskit/rovo-triggers/chat-entry-point';
28
+
29
+ publish({
30
+ type: 'chat-new',
31
+ data: {
32
+ chatEntryPoint: ChatEntryPoint.SEARCH_PAGE_AUTO_OPEN_CHAT,
33
+ },
34
+ });
35
+ ```
36
+
37
+ Purely additive: no existing analytics attribute changes value or value space. `source`,
38
+ `subjectId`, `interactionSource`, `followUpSource`, `invokedFrom`, `entryPoint` and
39
+ `proactiveAIGenerated` are untouched.
40
+
3
41
  ## 10.5.0
4
42
 
5
43
  ### Minor Changes
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@atlaskit/rovo-triggers/chat-entry-point",
3
+ "main": "../dist/cjs/chat-entry-point.js",
4
+ "module": "../dist/esm/chat-entry-point.js",
5
+ "module:es2019": "../dist/es2019/chat-entry-point.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/chat-entry-point.d.ts"
10
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatEntryPoint = void 0;
7
+ var ChatEntryPoint = exports.ChatEntryPoint = /*#__PURE__*/function (ChatEntryPoint) {
8
+ ChatEntryPoint["SEARCH_PAGE_AUTO_OPEN_CHAT"] = "searchPageAutoOpenChat";
9
+ return ChatEntryPoint;
10
+ }({});
package/dist/cjs/main.js CHANGED
@@ -19,14 +19,11 @@ var ignoredTriggerLatestEvents = new Set(['editor-context-payload', 'agent-chang
19
19
  // cause `triggerLatest` subscribers (e.g. PubSubListener) to replay them
20
20
  // instead of the real action event (e.g. open-browse-agent-modal) that
21
21
  // originally opened the chat.
22
- 'smartlinks-subscription-changed', 'smartlinks-context-payload']);
22
+ 'smartlinks-subscription-changed', 'smartlinks-context-payload', 'set-message-context']);
23
23
  var isIgnoredForTriggerLatest = function isIgnoredForTriggerLatest(type) {
24
24
  if (ignoredTriggerLatestEvents.has(type)) {
25
25
  return true;
26
26
  }
27
- if (type === 'set-message-context') {
28
- return (0, _platformFeatureFlags.fg)('rovo_chat_fix_cold_start_prompt_insertion');
29
- }
30
27
  if (type === 'jira-create-context-payload') {
31
28
  return (0, _platformFeatureFlags.fg)('rovo_chat_fix_jira_prompt_dropped_on_reopen');
32
29
  }
@@ -0,0 +1,4 @@
1
+ export let ChatEntryPoint = /*#__PURE__*/function (ChatEntryPoint) {
2
+ ChatEntryPoint["SEARCH_PAGE_AUTO_OPEN_CHAT"] = "searchPageAutoOpenChat";
3
+ return ChatEntryPoint;
4
+ }({});
@@ -6,14 +6,11 @@ const ignoredTriggerLatestEvents = new Set(['editor-context-payload', 'agent-cha
6
6
  // cause `triggerLatest` subscribers (e.g. PubSubListener) to replay them
7
7
  // instead of the real action event (e.g. open-browse-agent-modal) that
8
8
  // originally opened the chat.
9
- 'smartlinks-subscription-changed', 'smartlinks-context-payload']);
9
+ 'smartlinks-subscription-changed', 'smartlinks-context-payload', 'set-message-context']);
10
10
  const isIgnoredForTriggerLatest = type => {
11
11
  if (ignoredTriggerLatestEvents.has(type)) {
12
12
  return true;
13
13
  }
14
- if (type === 'set-message-context') {
15
- return fg('rovo_chat_fix_cold_start_prompt_insertion');
16
- }
17
14
  if (type === 'jira-create-context-payload') {
18
15
  return fg('rovo_chat_fix_jira_prompt_dropped_on_reopen');
19
16
  }
@@ -0,0 +1,4 @@
1
+ export var ChatEntryPoint = /*#__PURE__*/function (ChatEntryPoint) {
2
+ ChatEntryPoint["SEARCH_PAGE_AUTO_OPEN_CHAT"] = "searchPageAutoOpenChat";
3
+ return ChatEntryPoint;
4
+ }({});
package/dist/esm/main.js CHANGED
@@ -12,14 +12,11 @@ var ignoredTriggerLatestEvents = new Set(['editor-context-payload', 'agent-chang
12
12
  // cause `triggerLatest` subscribers (e.g. PubSubListener) to replay them
13
13
  // instead of the real action event (e.g. open-browse-agent-modal) that
14
14
  // originally opened the chat.
15
- 'smartlinks-subscription-changed', 'smartlinks-context-payload']);
15
+ 'smartlinks-subscription-changed', 'smartlinks-context-payload', 'set-message-context']);
16
16
  var isIgnoredForTriggerLatest = function isIgnoredForTriggerLatest(type) {
17
17
  if (ignoredTriggerLatestEvents.has(type)) {
18
18
  return true;
19
19
  }
20
- if (type === 'set-message-context') {
21
- return fg('rovo_chat_fix_cold_start_prompt_insertion');
22
- }
23
20
  if (type === 'jira-create-context-payload') {
24
21
  return fg('rovo_chat_fix_jira_prompt_dropped_on_reopen');
25
22
  }
@@ -0,0 +1,3 @@
1
+ export declare enum ChatEntryPoint {
2
+ SEARCH_PAGE_AUTO_OPEN_CHAT = "searchPageAutoOpenChat"
3
+ }
@@ -1,4 +1,5 @@
1
1
  import type { DocNode } from '@atlaskit/adf-schema/doc';
2
+ import type { ChatEntryPoint } from './chat-entry-point';
2
3
  import type { SolutionDraftAgentUpdatePayload } from './common/types/agent';
3
4
  import type { JsmJourneyBuilderActionsPayload } from './common/types/jsm-journey-builder';
4
5
  import type { SolutionArchitectAgentActivationFlowStoppedPayload, SolutionArchitectAgentActivationPayload, SolutionArchitectAgentActivationFlowStartedPayload, SolutionArchitectHandoffPayload, SolutionPlanStateUpdatePayload, StudioAutomationBuildUpdatePayload, StudioLandingPageRedirectPayload, UpdateAgentConfigurationPayload } from './common/types/solution-architect';
@@ -139,6 +140,8 @@ export type ChatNewPayload = PayloadCore<'chat-new', {
139
140
  */
140
141
  agentName?: string;
141
142
  agentIdentityAccountId?: string;
143
+ /** Identifies the product surface that launched the conversation for analytics attribution. */
144
+ chatEntryPoint?: ChatEntryPoint;
142
145
  } & Partial<TargetAgentParam> & PlaceholderParam>;
143
146
  export type RovoSpaceEntryPoint = 'leftNav' | 'sidebar' | 'zeroQuery' | 'typeahead' | 'inChatRecommendation';
144
147
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/rovo-triggers",
3
- "version": "10.5.0",
3
+ "version": "10.6.1",
4
4
  "description": "Provides various trigger events to drive Rovo Chat functionality, such as a publish-subscribe and URL parameter hooks",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
@@ -44,7 +44,7 @@
44
44
  "@atlaskit/primitives": "^22.2.0",
45
45
  "@atlaskit/ssr": "workspace:^",
46
46
  "@atlassian/a11y-jest-testing": "^0.15.0",
47
- "@atlassian/conversation-assistant-service-api": "^15.1.0",
47
+ "@atlassian/conversation-assistant-service-api": "^16.0.0",
48
48
  "@atlassian/feature-flags-test-utils": "^1.2.0",
49
49
  "@testing-library/react": "^16.3.0",
50
50
  "react": "^18.2.0",
@@ -87,9 +87,6 @@
87
87
  }
88
88
  },
89
89
  "platform-feature-flags": {
90
- "rovo_chat_fix_cold_start_prompt_insertion": {
91
- "type": "boolean"
92
- },
93
90
  "rovo_chat_fix_jira_prompt_dropped_on_reopen": {
94
91
  "type": "boolean"
95
92
  }