@atlaskit/rovo-triggers 3.16.0 → 3.18.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,41 @@
1
1
  # @atlaskit/rovo-triggers
2
2
 
3
+ ## 3.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`28b001c5985f4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/28b001c5985f4) -
8
+ Introduced:
9
+ - URL validation utility with pattern matching (wildcards \* and \*\*)
10
+ - Add promptInputDroppableUr config for configurable URL validation
11
+ - Unit tests for URL validation
12
+
13
+ Changed:
14
+ - Simplified useUrlInsertion hook (removed type-specific logic)
15
+ - Updated FileUploadDropzone to validate URLs using new config
16
+ - Event payload: insert-urls → insert-urls-into-prompt-input
17
+ - Removed urlType field from event data structure
18
+
19
+ - [`15e36868e69c6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/15e36868e69c6) -
20
+ [ux] Introduce a capability for Rovo to listen to generic external action errors fired to surface
21
+ an error message.
22
+
23
+ ## 3.17.0
24
+
25
+ ### Minor Changes
26
+
27
+ - [`8c79d013d1465`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8c79d013d1465) -
28
+ [ux] Added Drag-and-Drop URL Support
29
+
30
+ Added ability to drag and drop card URLs (e.g., Trello cards) directly into chat input
31
+ - URLs are automatically formatted as inline cards
32
+ - Duplicate URLs are automatically detected and prevented
33
+ - Proper spacing and formatting maintained between multiple cards
34
+
35
+ Enhanced
36
+ - File upload dropzone now supports both file attachments and URL card drops
37
+ - Chat input editor can now receive URLs from external sources via drag-and-drop
38
+
3
39
  ## 3.16.0
4
40
 
5
41
  ### Minor Changes
package/dist/cjs/types.js CHANGED
@@ -22,4 +22,10 @@ var Topics = exports.Topics = {
22
22
  /** Inserts a prompt into the chat input - either:
23
23
  * - A prompt without a placeholder - sends as a message
24
24
  * - A prompt with a placeholder - inserts the prompt into the chat input
25
+ */
26
+
27
+ /** Inserts URLs as inline nodes into the chat input
28
+ * - URLs are deduplicated against existing content
29
+ * - Formatted as inline card nodes in the editor
30
+ * - Supports multiple card types (Jira, Confluence, Trello, etc.)
25
31
  */
@@ -16,4 +16,10 @@ export const Topics = {
16
16
  /** Inserts a prompt into the chat input - either:
17
17
  * - A prompt without a placeholder - sends as a message
18
18
  * - A prompt with a placeholder - inserts the prompt into the chat input
19
+ */
20
+
21
+ /** Inserts URLs as inline nodes into the chat input
22
+ * - URLs are deduplicated against existing content
23
+ * - Formatted as inline card nodes in the editor
24
+ * - Supports multiple card types (Jira, Confluence, Trello, etc.)
19
25
  */
package/dist/esm/types.js CHANGED
@@ -16,4 +16,10 @@ export var Topics = {
16
16
  /** Inserts a prompt into the chat input - either:
17
17
  * - A prompt without a placeholder - sends as a message
18
18
  * - A prompt with a placeholder - inserts the prompt into the chat input
19
+ */
20
+
21
+ /** Inserts URLs as inline nodes into the chat input
22
+ * - URLs are deduplicated against existing content
23
+ * - Formatted as inline card nodes in the editor
24
+ * - Supports multiple card types (Jira, Confluence, Trello, etc.)
19
25
  */
@@ -125,6 +125,14 @@ export type InsertPromptPayload = PayloadCore<'insert-prompt', {
125
125
  */
126
126
  placeholderType?: 'person' | 'link' | 'generic';
127
127
  }>;
128
+ /** Inserts URLs as inline nodes into the chat input
129
+ * - URLs are deduplicated against existing content
130
+ * - Formatted as inline card nodes in the editor
131
+ * - Supports multiple card types (Jira, Confluence, Trello, etc.)
132
+ */
133
+ export type InsertUrlsPayload = PayloadCore<'insert-urls-into-prompt-input', {
134
+ urls: string[];
135
+ }>;
128
136
  export type TransitionId = string;
129
137
  export type StatusId = string;
130
138
  export type StatusCategory = 'TODO' | 'IN_PROGRESS' | 'DONE' | 'UNDEFINED';
@@ -223,9 +231,14 @@ export type JiraWorkflowWizardAction = {
223
231
  payload: DeleteRuleRovoPayload;
224
232
  };
225
233
  export type JiraWorkflowWizardActionsPayload = PayloadCore<'jira-workflow-wizard-actions', {
234
+ invocationId?: string;
226
235
  operations?: JiraWorkflowWizardAction[];
227
236
  currentWorkflowDocument?: Record<string, unknown>;
228
237
  }>;
238
+ export type GenericActionErrorPayload = PayloadCore<'generic-action-error', {
239
+ invocationId: string;
240
+ errors: string[];
241
+ }>;
229
242
  export type DashboardInsightsActionsPayload = PayloadCore<'dashboard-insights-actions'> & {
230
243
  data?: DashboardInsightsActionsPayloadData;
231
244
  };
@@ -233,7 +246,7 @@ export type DashboardInsightsActionsPayloadData = {
233
246
  content: string;
234
247
  } | undefined;
235
248
  export type SetChatContextPayload = PayloadCore<'set-message-context', ChatContextPayload>;
236
- export type Payload = MessageSendPayload | ChatClosePayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload;
249
+ export type Payload = MessageSendPayload | ChatClosePayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | GenericActionErrorPayload;
237
250
  export type Callback = (payload: Payload) => void;
238
251
  export type TopicEvents = {
239
252
  [key in Topic]?: Array<{
@@ -125,6 +125,14 @@ export type InsertPromptPayload = PayloadCore<'insert-prompt', {
125
125
  */
126
126
  placeholderType?: 'person' | 'link' | 'generic';
127
127
  }>;
128
+ /** Inserts URLs as inline nodes into the chat input
129
+ * - URLs are deduplicated against existing content
130
+ * - Formatted as inline card nodes in the editor
131
+ * - Supports multiple card types (Jira, Confluence, Trello, etc.)
132
+ */
133
+ export type InsertUrlsPayload = PayloadCore<'insert-urls-into-prompt-input', {
134
+ urls: string[];
135
+ }>;
128
136
  export type TransitionId = string;
129
137
  export type StatusId = string;
130
138
  export type StatusCategory = 'TODO' | 'IN_PROGRESS' | 'DONE' | 'UNDEFINED';
@@ -223,9 +231,14 @@ export type JiraWorkflowWizardAction = {
223
231
  payload: DeleteRuleRovoPayload;
224
232
  };
225
233
  export type JiraWorkflowWizardActionsPayload = PayloadCore<'jira-workflow-wizard-actions', {
234
+ invocationId?: string;
226
235
  operations?: JiraWorkflowWizardAction[];
227
236
  currentWorkflowDocument?: Record<string, unknown>;
228
237
  }>;
238
+ export type GenericActionErrorPayload = PayloadCore<'generic-action-error', {
239
+ invocationId: string;
240
+ errors: string[];
241
+ }>;
229
242
  export type DashboardInsightsActionsPayload = PayloadCore<'dashboard-insights-actions'> & {
230
243
  data?: DashboardInsightsActionsPayloadData;
231
244
  };
@@ -233,7 +246,7 @@ export type DashboardInsightsActionsPayloadData = {
233
246
  content: string;
234
247
  } | undefined;
235
248
  export type SetChatContextPayload = PayloadCore<'set-message-context', ChatContextPayload>;
236
- export type Payload = MessageSendPayload | ChatClosePayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload;
249
+ export type Payload = MessageSendPayload | ChatClosePayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | GenericActionErrorPayload;
237
250
  export type Callback = (payload: Payload) => void;
238
251
  export type TopicEvents = {
239
252
  [key in Topic]?: Array<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/rovo-triggers",
3
- "version": "3.16.0",
3
+ "version": "3.18.0",
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": {