@atlaskit/rovo-agent-analytics 0.19.0 → 1.0.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +112 -103
  3. package/dist/cjs/actions/groups/agent-interactions.js +1 -40
  4. package/dist/cjs/actions/groups/debug.js +1 -31
  5. package/dist/cjs/actions/groups/editing.js +1 -22
  6. package/dist/cjs/actions/groups/evaluation.js +1 -0
  7. package/dist/cjs/actions/groups/tools.js +1 -28
  8. package/dist/cjs/actions/index.js +24 -34
  9. package/dist/cjs/common/types.js +18 -1
  10. package/dist/cjs/create/index.js +29 -15
  11. package/dist/es2019/actions/groups/agent-interactions.js +1 -38
  12. package/dist/es2019/actions/groups/debug.js +0 -25
  13. package/dist/es2019/actions/groups/editing.js +1 -20
  14. package/dist/es2019/actions/groups/evaluation.js +0 -0
  15. package/dist/es2019/actions/groups/tools.js +1 -26
  16. package/dist/es2019/actions/index.js +17 -34
  17. package/dist/es2019/common/types.js +12 -0
  18. package/dist/es2019/create/index.js +26 -16
  19. package/dist/esm/actions/groups/agent-interactions.js +1 -38
  20. package/dist/esm/actions/groups/debug.js +0 -25
  21. package/dist/esm/actions/groups/editing.js +1 -20
  22. package/dist/esm/actions/groups/evaluation.js +0 -0
  23. package/dist/esm/actions/groups/tools.js +1 -26
  24. package/dist/esm/actions/index.js +23 -34
  25. package/dist/esm/common/types.js +12 -0
  26. package/dist/esm/create/index.js +27 -14
  27. package/dist/types/actions/groups/agent-interactions.d.ts +42 -26
  28. package/dist/types/actions/groups/debug.d.ts +22 -18
  29. package/dist/types/actions/groups/editing.d.ts +6 -10
  30. package/dist/types/actions/groups/evaluation.d.ts +56 -0
  31. package/dist/types/actions/groups/tools.d.ts +22 -20
  32. package/dist/types/actions/index.d.ts +2 -20
  33. package/dist/types/common/types.d.ts +28 -2
  34. package/dist/types/create/index.d.ts +20 -17
  35. package/dist/types-ts4.5/actions/groups/agent-interactions.d.ts +42 -26
  36. package/dist/types-ts4.5/actions/groups/debug.d.ts +22 -18
  37. package/dist/types-ts4.5/actions/groups/editing.d.ts +6 -10
  38. package/dist/types-ts4.5/actions/groups/evaluation.d.ts +56 -0
  39. package/dist/types-ts4.5/actions/groups/tools.d.ts +22 -20
  40. package/dist/types-ts4.5/actions/index.d.ts +2 -20
  41. package/dist/types-ts4.5/common/types.d.ts +28 -2
  42. package/dist/types-ts4.5/create/index.d.ts +20 -17
  43. package/package.json +2 -2
  44. package/actions/add-tools-prompt/package.json +0 -17
  45. package/actions/agent-interactions/package.json +0 -17
  46. package/actions/create-flow/package.json +0 -17
  47. package/actions/debug/package.json +0 -17
  48. package/actions/editing/package.json +0 -17
  49. package/actions/tool-actions/package.json +0 -17
  50. package/dist/cjs/actions/groups/add-tools-prompt.js +0 -32
  51. package/dist/cjs/actions/groups/create-flow.js +0 -39
  52. package/dist/cjs/actions/registry.js +0 -53
  53. package/dist/es2019/actions/groups/add-tools-prompt.js +0 -26
  54. package/dist/es2019/actions/groups/create-flow.js +0 -33
  55. package/dist/es2019/actions/registry.js +0 -52
  56. package/dist/esm/actions/groups/add-tools-prompt.js +0 -26
  57. package/dist/esm/actions/groups/create-flow.js +0 -33
  58. package/dist/esm/actions/registry.js +0 -48
  59. package/dist/types/actions/groups/add-tools-prompt.d.ts +0 -21
  60. package/dist/types/actions/groups/create-flow.d.ts +0 -22
  61. package/dist/types/actions/registry.d.ts +0 -16
  62. package/dist/types-ts4.5/actions/groups/add-tools-prompt.d.ts +0 -21
  63. package/dist/types-ts4.5/actions/groups/create-flow.d.ts +0 -22
  64. package/dist/types-ts4.5/actions/registry.d.ts +0 -16
@@ -1,22 +1,4 @@
1
- import type { RemainingRequired } from '../common/types';
2
- import { AgentInteractionActions } from './groups/agent-interactions';
3
- import { AgentDebugActions as AgentDebugActionsEnum } from './groups/debug';
4
- import { AgentEditingActions } from './groups/editing';
5
- import type { ActionAttributes } from './registry';
6
- export declare const AgentCommonActions: {
7
- readonly UPDATED: AgentEditingActions.UPDATED;
8
- readonly VIEW: AgentInteractionActions.VIEW;
9
- readonly EDIT: AgentInteractionActions.EDIT;
10
- readonly COPY_LINK: AgentInteractionActions.COPY_LINK;
11
- readonly DELETE: AgentInteractionActions.DELETE;
12
- readonly DUPLICATE: AgentInteractionActions.DUPLICATE;
13
- readonly STAR: AgentInteractionActions.STAR;
14
- readonly CHAT: AgentInteractionActions.CHAT;
15
- readonly VERIFY: AgentInteractionActions.VERIFY;
16
- readonly UNVERIFY: AgentInteractionActions.UNVERIFY;
17
- };
18
- export declare const AgentDebugActions: typeof AgentDebugActionsEnum;
1
+ import { type EventPayload } from '../common/types';
19
2
  export declare const useRovoAgentActionAnalytics: <T extends {}>(commonAttributes: T) => {
20
- trackAgentAction: <A extends keyof ActionAttributes>(action: A, attributes: RemainingRequired<ActionAttributes[A], T>) => void;
21
- trackAgentActionError: <A extends keyof ActionAttributes>(action: A, error: Error, attributes?: RemainingRequired<ActionAttributes[A], T>) => void;
3
+ trackAgentEvent: (payload: EventPayload) => void;
22
4
  };
@@ -1,5 +1,31 @@
1
+ import type { AgentInteractionsEventPayload } from '../actions/groups/agent-interactions';
2
+ import type { DebugEventPayload } from '../actions/groups/debug';
3
+ import type { EditingEventPayload } from '../actions/groups/editing';
4
+ import type { EvaluationEventPayload } from '../actions/groups/evaluation';
5
+ import type { ToolsEventPayload } from '../actions/groups/tools';
1
6
  export type RemainingRequired<T, P extends Partial<T>> = Required<Omit<T, keyof P>>;
2
7
  export type BaseAgentAnalyticsAttributes = {
3
- touchPoint: string;
4
- agentId: string;
8
+ touchPoint?: string;
9
+ agentId?: string;
5
10
  };
11
+ /** Common library attribute injected into all events */
12
+ export declare const LIBRARY_ATTRIBUTE: "agents-analytics";
13
+ /**
14
+ * Generic error event payload type.
15
+ * Use with `trackAgentEvent()` to track error events.
16
+ */
17
+ export type ErrorEventPayload = {
18
+ actionSubject: 'rovoAgentError';
19
+ action: string;
20
+ attributes: {
21
+ error: {
22
+ message: string;
23
+ };
24
+ [key: string]: unknown;
25
+ };
26
+ };
27
+ /**
28
+ * Union of all event payload types.
29
+ * Use with `trackAgentEvent()` for typed event tracking.
30
+ */
31
+ export type EventPayload = EditingEventPayload | AgentInteractionsEventPayload | DebugEventPayload | ToolsEventPayload | EvaluationEventPayload | ErrorEventPayload;
@@ -1,26 +1,29 @@
1
- import { AddToolsPromptActions } from '../actions/groups/add-tools-prompt';
2
- import { CreateFlowActions } from '../actions/groups/create-flow';
3
- export declare const AgentCreateActions: {
4
- readonly SHOWN: AddToolsPromptActions.SHOWN;
5
- readonly BROWSE: AddToolsPromptActions.BROWSE;
6
- readonly DISMISS: AddToolsPromptActions.DISMISS;
7
- readonly START: CreateFlowActions.START;
8
- readonly SKIP_NL: CreateFlowActions.SKIP_NL;
9
- readonly REVIEW_NL: CreateFlowActions.REVIEW_NL;
10
- readonly ACTIVATE: CreateFlowActions.ACTIVATE;
11
- readonly RESTART: CreateFlowActions.RESTART;
12
- readonly ERROR: CreateFlowActions.ERROR;
13
- readonly LAND: CreateFlowActions.LAND;
14
- readonly DISCARD: CreateFlowActions.DISCARD;
15
- readonly SA_DRAFT: CreateFlowActions.SA_DRAFT;
16
- };
1
+ /**
2
+ * Union type of all valid create agent flow actions.
3
+ * Includes both CreateFlow and AddToolsPrompt actions.
4
+ *
5
+ * Data portal registry links:
6
+ * - createFlowStart: https://data-portal.internal.atlassian.com/analytics/registry/97089
7
+ * - createFlowSkipNL: https://data-portal.internal.atlassian.com/analytics/registry/97127
8
+ * - createFlowReviewNL: https://data-portal.internal.atlassian.com/analytics/registry/97124
9
+ * - createFlowActivate: https://data-portal.internal.atlassian.com/analytics/registry/97123
10
+ * - createFlowRestart: https://data-portal.internal.atlassian.com/analytics/registry/97131
11
+ * - createFlowError: https://data-portal.internal.atlassian.com/analytics/registry/97132
12
+ * - createLandInStudio: https://data-portal.internal.atlassian.com/analytics/registry/97136
13
+ * - createDiscard: https://data-portal.internal.atlassian.com/analytics/registry/97137
14
+ * - saDraft: https://data-portal.internal.atlassian.com/analytics/registry/97924
15
+ * - addToolsPromptShown: https://data-portal.internal.atlassian.com/analytics/registry/98106
16
+ * - addToolsPromptBrowse: https://data-portal.internal.atlassian.com/analytics/registry/98107
17
+ * - addToolsPromptDismiss: https://data-portal.internal.atlassian.com/analytics/registry/98108
18
+ */
19
+ type AgentCreateAction = 'createFlowStart' | 'createFlowSkipNL' | 'createFlowReviewNL' | 'createFlowActivate' | 'createFlowRestart' | 'createFlowError' | 'createLandInStudio' | 'createDiscard' | 'saDraft' | 'addToolsPromptShown' | 'addToolsPromptBrowse' | 'addToolsPromptDismiss';
17
20
  type CommonAnalyticsAttributes = {
18
21
  touchPoint?: string;
19
22
  } & Record<string, any>;
20
23
  export declare const useRovoAgentCreateAnalytics: (commonAttributes: CommonAnalyticsAttributes) => readonly [
21
24
  string | null,
22
25
  {
23
- readonly trackCreateSession: (action: (typeof AgentCreateActions)[keyof typeof AgentCreateActions], attributes?: CommonAnalyticsAttributes) => void;
26
+ readonly trackCreateSession: (action: AgentCreateAction, attributes?: CommonAnalyticsAttributes) => void;
24
27
  readonly trackCreateSessionStart: (attributes?: CommonAnalyticsAttributes) => void;
25
28
  readonly trackCreateSessionError: (error: Error, attributes?: CommonAnalyticsAttributes) => void;
26
29
  readonly refreshCSID: () => `${string}-${string}-${string}-${string}-${string}`;
package/package.json CHANGED
@@ -27,7 +27,7 @@
27
27
  "@atlaskit/analytics-listeners": "^10.0.0",
28
28
  "@atlaskit/analytics-next": "^11.1.0",
29
29
  "@babel/runtime": "^7.0.0",
30
- "@compiled/react": "^0.18.6"
30
+ "@compiled/react": "^0.20.0"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "react": "^18.2.0"
@@ -75,7 +75,7 @@
75
75
  }
76
76
  },
77
77
  "name": "@atlaskit/rovo-agent-analytics",
78
- "version": "0.19.0",
78
+ "version": "1.0.0",
79
79
  "description": "Rovo Agents analytics",
80
80
  "author": "Atlassian Pty Ltd",
81
81
  "license": "Apache-2.0",
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/add-tools-prompt",
3
- "main": "../../dist/cjs/actions/groups/add-tools-prompt.js",
4
- "module": "../../dist/esm/actions/groups/add-tools-prompt.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/add-tools-prompt.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/add-tools-prompt.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/add-tools-prompt.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/agent-interactions",
3
- "main": "../../dist/cjs/actions/groups/agent-interactions.js",
4
- "module": "../../dist/esm/actions/groups/agent-interactions.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/agent-interactions.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/agent-interactions.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/agent-interactions.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/create-flow",
3
- "main": "../../dist/cjs/actions/groups/create-flow.js",
4
- "module": "../../dist/esm/actions/groups/create-flow.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/create-flow.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/create-flow.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/create-flow.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/debug",
3
- "main": "../../dist/cjs/actions/groups/debug.js",
4
- "module": "../../dist/esm/actions/groups/debug.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/debug.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/debug.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/debug.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/editing",
3
- "main": "../../dist/cjs/actions/groups/editing.js",
4
- "module": "../../dist/esm/actions/groups/editing.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/editing.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/editing.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/editing.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "name": "@atlaskit/rovo-agent-analytics/actions/tool-actions",
3
- "main": "../../dist/cjs/actions/groups/tools.js",
4
- "module": "../../dist/esm/actions/groups/tools.js",
5
- "module:es2019": "../../dist/es2019/actions/groups/tools.js",
6
- "sideEffects": [
7
- "*.compiled.css"
8
- ],
9
- "types": "../../dist/types/actions/groups/tools.d.ts",
10
- "typesVersions": {
11
- ">=4.5 <5.9": {
12
- "*": [
13
- "../../dist/types-ts4.5/actions/groups/tools.d.ts"
14
- ]
15
- }
16
- }
17
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AddToolsPromptActions = exports.ACTION_GROUP = void 0;
7
- /**
8
- * Action Group: addToolsPrompt
9
- *
10
- * Add tools prompt modal — shown when a user tries to activate/publish an agent that has no tools.
11
- * The user can browse tools or dismiss and proceed without them.
12
- *
13
- * This group is intentionally flow-agnostic so the action values stay stable
14
- * regardless of whether the prompt fires from the create flow or a future publish flow.
15
- *
16
- * ## Adding a new action
17
- * 1. Add the action to the `AddToolsPromptActions` enum below with a data-portal link
18
- * 2. Register this group in ../registry.ts (if this is a new group file)
19
- *
20
- */
21
-
22
- /** The group name sent as `attributes.actionGroup` in analytics events */
23
- var ACTION_GROUP = exports.ACTION_GROUP = 'addToolsPrompt';
24
- var AddToolsPromptActions = exports.AddToolsPromptActions = /*#__PURE__*/function (AddToolsPromptActions) {
25
- /* Add tools prompt shown (agent has no tools) - https://data-portal.internal.atlassian.com/analytics/registry/98106 */
26
- AddToolsPromptActions["SHOWN"] = "addToolsPromptShown";
27
- /* User clicked "Browse skills" on the add tools prompt - https://data-portal.internal.atlassian.com/analytics/registry/98107 */
28
- AddToolsPromptActions["BROWSE"] = "addToolsPromptBrowse";
29
- /* User dismissed the add tools prompt ("No thanks") and proceeded anyway - https://data-portal.internal.atlassian.com/analytics/registry/98108 */
30
- AddToolsPromptActions["DISMISS"] = "addToolsPromptDismiss";
31
- return AddToolsPromptActions;
32
- }({});
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CreateFlowActions = exports.ACTION_GROUP = void 0;
7
- /**
8
- * Action Group: createFlow
9
- *
10
- * Create agent funnel steps — from clicking "Create agent" through to activation or discard,
11
- *
12
- * ## Adding a new action
13
- * 1. Add the action to the `CreateFlowActions` enum below with a data-portal link
14
- * 2. Register this group in ../registry.ts (if this is a new group file)
15
- */
16
-
17
- /** The group name sent as `attributes.actionGroup` in analytics events */
18
- var ACTION_GROUP = exports.ACTION_GROUP = 'createFlow';
19
- var CreateFlowActions = exports.CreateFlowActions = /*#__PURE__*/function (CreateFlowActions) {
20
- /* Start create flow when user clicks on "Create agent" button - https://data-portal.internal.atlassian.com/analytics/registry/97089 */
21
- CreateFlowActions["START"] = "createFlowStart";
22
- /* Skip natural language - https://data-portal.internal.atlassian.com/analytics/registry/97127 */
23
- CreateFlowActions["SKIP_NL"] = "createFlowSkipNL";
24
- /* Review natural language - https://data-portal.internal.atlassian.com/analytics/registry/97124 */
25
- CreateFlowActions["REVIEW_NL"] = "createFlowReviewNL";
26
- /* Activate agent - https://data-portal.internal.atlassian.com/analytics/registry/97123 */
27
- CreateFlowActions["ACTIVATE"] = "createFlowActivate";
28
- /* Restart create flow - https://data-portal.internal.atlassian.com/analytics/registry/97131 */
29
- CreateFlowActions["RESTART"] = "createFlowRestart";
30
- /* Error occurred - https://data-portal.internal.atlassian.com/analytics/registry/97132 */
31
- CreateFlowActions["ERROR"] = "createFlowError";
32
- /* Land in studio - https://data-portal.internal.atlassian.com/analytics/registry/97136 */
33
- CreateFlowActions["LAND"] = "createLandInStudio";
34
- /* Discard agent - https://data-portal.internal.atlassian.com/analytics/registry/97137 */
35
- CreateFlowActions["DISCARD"] = "createDiscard";
36
- /* Draft created from solution architect plan card - https://data-portal.internal.atlassian.com/analytics/registry/97924 */
37
- CreateFlowActions["SA_DRAFT"] = "saDraft";
38
- return CreateFlowActions;
39
- }({});
@@ -1,53 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ACTION_TO_GROUP = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _addToolsPrompt = require("./groups/add-tools-prompt");
10
- var _agentInteractions = require("./groups/agent-interactions");
11
- var _createFlow = require("./groups/create-flow");
12
- var _debug = require("./groups/debug");
13
- var _editing = require("./groups/editing");
14
- var _tools = require("./groups/tools");
15
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
17
- * Action Registry
18
- *
19
- * Single source of truth for ALL action groups across the library.
20
- * This file composes all groups into a type-safe registry and builds the
21
- * runtime mapping from action values to their group names, which gets
22
- * automatically attached as `attributes.actionGroup` in every fired event.
23
- *
24
- * Both `useRovoAgentActionAnalytics` and `useRovoAgentCreateAnalytics` hooks
25
- * use `ACTION_TO_GROUP` from this registry.
26
- *
27
- * ## Adding a new action group
28
- * 1. Create a new file in ./groups/ following the template of existing group files
29
- * 2. Import the group's ACTION_GROUP, action enum, and attribute type below
30
- * 3. If the group is used by the actions hook, add the attribute type to `ActionAttributes`
31
- * 4. Add the enum + group to `ACTION_TO_GROUP` using `mapActionsToGroup`
32
- */
33
- /**
34
- * Combined attribute map for action-hook groups (type-safe attributes).
35
- * Create-flow groups are excluded — they use a looser attribute type via the create hook.
36
- */
37
-
38
- /**
39
- * Helper to build a Record mapping each enum value to its group name.
40
- */
41
- var mapActionsToGroup = function mapActionsToGroup(actionEnum, group) {
42
- return Object.fromEntries(Object.values(actionEnum).map(function (action) {
43
- return [action, group];
44
- }));
45
- };
46
-
47
- /**
48
- * Runtime lookup: action value → group name.
49
- * Used by ALL analytics hooks to auto-inject `attributes.actionGroup`.
50
- *
51
- * When you add a new group, add it here too.
52
- */
53
- var ACTION_TO_GROUP = exports.ACTION_TO_GROUP = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, mapActionsToGroup(_agentInteractions.AgentInteractionActions, _agentInteractions.ACTION_GROUP)), mapActionsToGroup(_editing.AgentEditingActions, _editing.ACTION_GROUP)), mapActionsToGroup(_debug.AgentDebugActions, _debug.ACTION_GROUP)), mapActionsToGroup(_tools.AgentToolActions, _tools.ACTION_GROUP)), mapActionsToGroup(_createFlow.CreateFlowActions, _createFlow.ACTION_GROUP)), mapActionsToGroup(_addToolsPrompt.AddToolsPromptActions, _addToolsPrompt.ACTION_GROUP));
@@ -1,26 +0,0 @@
1
- /**
2
- * Action Group: addToolsPrompt
3
- *
4
- * Add tools prompt modal — shown when a user tries to activate/publish an agent that has no tools.
5
- * The user can browse tools or dismiss and proceed without them.
6
- *
7
- * This group is intentionally flow-agnostic so the action values stay stable
8
- * regardless of whether the prompt fires from the create flow or a future publish flow.
9
- *
10
- * ## Adding a new action
11
- * 1. Add the action to the `AddToolsPromptActions` enum below with a data-portal link
12
- * 2. Register this group in ../registry.ts (if this is a new group file)
13
- *
14
- */
15
-
16
- /** The group name sent as `attributes.actionGroup` in analytics events */
17
- export const ACTION_GROUP = 'addToolsPrompt';
18
- export let AddToolsPromptActions = /*#__PURE__*/function (AddToolsPromptActions) {
19
- /* Add tools prompt shown (agent has no tools) - https://data-portal.internal.atlassian.com/analytics/registry/98106 */
20
- AddToolsPromptActions["SHOWN"] = "addToolsPromptShown";
21
- /* User clicked "Browse skills" on the add tools prompt - https://data-portal.internal.atlassian.com/analytics/registry/98107 */
22
- AddToolsPromptActions["BROWSE"] = "addToolsPromptBrowse";
23
- /* User dismissed the add tools prompt ("No thanks") and proceeded anyway - https://data-portal.internal.atlassian.com/analytics/registry/98108 */
24
- AddToolsPromptActions["DISMISS"] = "addToolsPromptDismiss";
25
- return AddToolsPromptActions;
26
- }({});
@@ -1,33 +0,0 @@
1
- /**
2
- * Action Group: createFlow
3
- *
4
- * Create agent funnel steps — from clicking "Create agent" through to activation or discard,
5
- *
6
- * ## Adding a new action
7
- * 1. Add the action to the `CreateFlowActions` enum below with a data-portal link
8
- * 2. Register this group in ../registry.ts (if this is a new group file)
9
- */
10
-
11
- /** The group name sent as `attributes.actionGroup` in analytics events */
12
- export const ACTION_GROUP = 'createFlow';
13
- export let CreateFlowActions = /*#__PURE__*/function (CreateFlowActions) {
14
- /* Start create flow when user clicks on "Create agent" button - https://data-portal.internal.atlassian.com/analytics/registry/97089 */
15
- CreateFlowActions["START"] = "createFlowStart";
16
- /* Skip natural language - https://data-portal.internal.atlassian.com/analytics/registry/97127 */
17
- CreateFlowActions["SKIP_NL"] = "createFlowSkipNL";
18
- /* Review natural language - https://data-portal.internal.atlassian.com/analytics/registry/97124 */
19
- CreateFlowActions["REVIEW_NL"] = "createFlowReviewNL";
20
- /* Activate agent - https://data-portal.internal.atlassian.com/analytics/registry/97123 */
21
- CreateFlowActions["ACTIVATE"] = "createFlowActivate";
22
- /* Restart create flow - https://data-portal.internal.atlassian.com/analytics/registry/97131 */
23
- CreateFlowActions["RESTART"] = "createFlowRestart";
24
- /* Error occurred - https://data-portal.internal.atlassian.com/analytics/registry/97132 */
25
- CreateFlowActions["ERROR"] = "createFlowError";
26
- /* Land in studio - https://data-portal.internal.atlassian.com/analytics/registry/97136 */
27
- CreateFlowActions["LAND"] = "createLandInStudio";
28
- /* Discard agent - https://data-portal.internal.atlassian.com/analytics/registry/97137 */
29
- CreateFlowActions["DISCARD"] = "createDiscard";
30
- /* Draft created from solution architect plan card - https://data-portal.internal.atlassian.com/analytics/registry/97924 */
31
- CreateFlowActions["SA_DRAFT"] = "saDraft";
32
- return CreateFlowActions;
33
- }({});
@@ -1,52 +0,0 @@
1
- /**
2
- * Action Registry
3
- *
4
- * Single source of truth for ALL action groups across the library.
5
- * This file composes all groups into a type-safe registry and builds the
6
- * runtime mapping from action values to their group names, which gets
7
- * automatically attached as `attributes.actionGroup` in every fired event.
8
- *
9
- * Both `useRovoAgentActionAnalytics` and `useRovoAgentCreateAnalytics` hooks
10
- * use `ACTION_TO_GROUP` from this registry.
11
- *
12
- * ## Adding a new action group
13
- * 1. Create a new file in ./groups/ following the template of existing group files
14
- * 2. Import the group's ACTION_GROUP, action enum, and attribute type below
15
- * 3. If the group is used by the actions hook, add the attribute type to `ActionAttributes`
16
- * 4. Add the enum + group to `ACTION_TO_GROUP` using `mapActionsToGroup`
17
- */
18
- import { AddToolsPromptActions, ACTION_GROUP as ADD_TOOLS_PROMPT_GROUP } from './groups/add-tools-prompt';
19
- import { AgentInteractionActions, ACTION_GROUP as AGENT_INTERACTIONS_GROUP } from './groups/agent-interactions';
20
- import { CreateFlowActions, ACTION_GROUP as CREATE_FLOW_GROUP } from './groups/create-flow';
21
- import { AgentDebugActions, ACTION_GROUP as DEBUG_GROUP } from './groups/debug';
22
- import { AgentEditingActions, ACTION_GROUP as EDITING_GROUP } from './groups/editing';
23
- import { AgentToolActions, ACTION_GROUP as TOOLS_GROUP } from './groups/tools';
24
-
25
- /**
26
- * Combined attribute map for action-hook groups (type-safe attributes).
27
- * Create-flow groups are excluded — they use a looser attribute type via the create hook.
28
- */
29
-
30
- /**
31
- * Helper to build a Record mapping each enum value to its group name.
32
- */
33
- const mapActionsToGroup = (actionEnum, group) => {
34
- return Object.fromEntries(Object.values(actionEnum).map(action => [action, group]));
35
- };
36
-
37
- /**
38
- * Runtime lookup: action value → group name.
39
- * Used by ALL analytics hooks to auto-inject `attributes.actionGroup`.
40
- *
41
- * When you add a new group, add it here too.
42
- */
43
- export const ACTION_TO_GROUP = {
44
- // Action hook groups
45
- ...mapActionsToGroup(AgentInteractionActions, AGENT_INTERACTIONS_GROUP),
46
- ...mapActionsToGroup(AgentEditingActions, EDITING_GROUP),
47
- ...mapActionsToGroup(AgentDebugActions, DEBUG_GROUP),
48
- ...mapActionsToGroup(AgentToolActions, TOOLS_GROUP),
49
- // Create hook groups
50
- ...mapActionsToGroup(CreateFlowActions, CREATE_FLOW_GROUP),
51
- ...mapActionsToGroup(AddToolsPromptActions, ADD_TOOLS_PROMPT_GROUP)
52
- };
@@ -1,26 +0,0 @@
1
- /**
2
- * Action Group: addToolsPrompt
3
- *
4
- * Add tools prompt modal — shown when a user tries to activate/publish an agent that has no tools.
5
- * The user can browse tools or dismiss and proceed without them.
6
- *
7
- * This group is intentionally flow-agnostic so the action values stay stable
8
- * regardless of whether the prompt fires from the create flow or a future publish flow.
9
- *
10
- * ## Adding a new action
11
- * 1. Add the action to the `AddToolsPromptActions` enum below with a data-portal link
12
- * 2. Register this group in ../registry.ts (if this is a new group file)
13
- *
14
- */
15
-
16
- /** The group name sent as `attributes.actionGroup` in analytics events */
17
- export var ACTION_GROUP = 'addToolsPrompt';
18
- export var AddToolsPromptActions = /*#__PURE__*/function (AddToolsPromptActions) {
19
- /* Add tools prompt shown (agent has no tools) - https://data-portal.internal.atlassian.com/analytics/registry/98106 */
20
- AddToolsPromptActions["SHOWN"] = "addToolsPromptShown";
21
- /* User clicked "Browse skills" on the add tools prompt - https://data-portal.internal.atlassian.com/analytics/registry/98107 */
22
- AddToolsPromptActions["BROWSE"] = "addToolsPromptBrowse";
23
- /* User dismissed the add tools prompt ("No thanks") and proceeded anyway - https://data-portal.internal.atlassian.com/analytics/registry/98108 */
24
- AddToolsPromptActions["DISMISS"] = "addToolsPromptDismiss";
25
- return AddToolsPromptActions;
26
- }({});
@@ -1,33 +0,0 @@
1
- /**
2
- * Action Group: createFlow
3
- *
4
- * Create agent funnel steps — from clicking "Create agent" through to activation or discard,
5
- *
6
- * ## Adding a new action
7
- * 1. Add the action to the `CreateFlowActions` enum below with a data-portal link
8
- * 2. Register this group in ../registry.ts (if this is a new group file)
9
- */
10
-
11
- /** The group name sent as `attributes.actionGroup` in analytics events */
12
- export var ACTION_GROUP = 'createFlow';
13
- export var CreateFlowActions = /*#__PURE__*/function (CreateFlowActions) {
14
- /* Start create flow when user clicks on "Create agent" button - https://data-portal.internal.atlassian.com/analytics/registry/97089 */
15
- CreateFlowActions["START"] = "createFlowStart";
16
- /* Skip natural language - https://data-portal.internal.atlassian.com/analytics/registry/97127 */
17
- CreateFlowActions["SKIP_NL"] = "createFlowSkipNL";
18
- /* Review natural language - https://data-portal.internal.atlassian.com/analytics/registry/97124 */
19
- CreateFlowActions["REVIEW_NL"] = "createFlowReviewNL";
20
- /* Activate agent - https://data-portal.internal.atlassian.com/analytics/registry/97123 */
21
- CreateFlowActions["ACTIVATE"] = "createFlowActivate";
22
- /* Restart create flow - https://data-portal.internal.atlassian.com/analytics/registry/97131 */
23
- CreateFlowActions["RESTART"] = "createFlowRestart";
24
- /* Error occurred - https://data-portal.internal.atlassian.com/analytics/registry/97132 */
25
- CreateFlowActions["ERROR"] = "createFlowError";
26
- /* Land in studio - https://data-portal.internal.atlassian.com/analytics/registry/97136 */
27
- CreateFlowActions["LAND"] = "createLandInStudio";
28
- /* Discard agent - https://data-portal.internal.atlassian.com/analytics/registry/97137 */
29
- CreateFlowActions["DISCARD"] = "createDiscard";
30
- /* Draft created from solution architect plan card - https://data-portal.internal.atlassian.com/analytics/registry/97924 */
31
- CreateFlowActions["SA_DRAFT"] = "saDraft";
32
- return CreateFlowActions;
33
- }({});
@@ -1,48 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- /**
5
- * Action Registry
6
- *
7
- * Single source of truth for ALL action groups across the library.
8
- * This file composes all groups into a type-safe registry and builds the
9
- * runtime mapping from action values to their group names, which gets
10
- * automatically attached as `attributes.actionGroup` in every fired event.
11
- *
12
- * Both `useRovoAgentActionAnalytics` and `useRovoAgentCreateAnalytics` hooks
13
- * use `ACTION_TO_GROUP` from this registry.
14
- *
15
- * ## Adding a new action group
16
- * 1. Create a new file in ./groups/ following the template of existing group files
17
- * 2. Import the group's ACTION_GROUP, action enum, and attribute type below
18
- * 3. If the group is used by the actions hook, add the attribute type to `ActionAttributes`
19
- * 4. Add the enum + group to `ACTION_TO_GROUP` using `mapActionsToGroup`
20
- */
21
- import { AddToolsPromptActions, ACTION_GROUP as ADD_TOOLS_PROMPT_GROUP } from './groups/add-tools-prompt';
22
- import { AgentInteractionActions, ACTION_GROUP as AGENT_INTERACTIONS_GROUP } from './groups/agent-interactions';
23
- import { CreateFlowActions, ACTION_GROUP as CREATE_FLOW_GROUP } from './groups/create-flow';
24
- import { AgentDebugActions, ACTION_GROUP as DEBUG_GROUP } from './groups/debug';
25
- import { AgentEditingActions, ACTION_GROUP as EDITING_GROUP } from './groups/editing';
26
- import { AgentToolActions, ACTION_GROUP as TOOLS_GROUP } from './groups/tools';
27
-
28
- /**
29
- * Combined attribute map for action-hook groups (type-safe attributes).
30
- * Create-flow groups are excluded — they use a looser attribute type via the create hook.
31
- */
32
-
33
- /**
34
- * Helper to build a Record mapping each enum value to its group name.
35
- */
36
- var mapActionsToGroup = function mapActionsToGroup(actionEnum, group) {
37
- return Object.fromEntries(Object.values(actionEnum).map(function (action) {
38
- return [action, group];
39
- }));
40
- };
41
-
42
- /**
43
- * Runtime lookup: action value → group name.
44
- * Used by ALL analytics hooks to auto-inject `attributes.actionGroup`.
45
- *
46
- * When you add a new group, add it here too.
47
- */
48
- export var ACTION_TO_GROUP = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, mapActionsToGroup(AgentInteractionActions, AGENT_INTERACTIONS_GROUP)), mapActionsToGroup(AgentEditingActions, EDITING_GROUP)), mapActionsToGroup(AgentDebugActions, DEBUG_GROUP)), mapActionsToGroup(AgentToolActions, TOOLS_GROUP)), mapActionsToGroup(CreateFlowActions, CREATE_FLOW_GROUP)), mapActionsToGroup(AddToolsPromptActions, ADD_TOOLS_PROMPT_GROUP));
@@ -1,21 +0,0 @@
1
- /**
2
- * Action Group: addToolsPrompt
3
- *
4
- * Add tools prompt modal — shown when a user tries to activate/publish an agent that has no tools.
5
- * The user can browse tools or dismiss and proceed without them.
6
- *
7
- * This group is intentionally flow-agnostic so the action values stay stable
8
- * regardless of whether the prompt fires from the create flow or a future publish flow.
9
- *
10
- * ## Adding a new action
11
- * 1. Add the action to the `AddToolsPromptActions` enum below with a data-portal link
12
- * 2. Register this group in ../registry.ts (if this is a new group file)
13
- *
14
- */
15
- /** The group name sent as `attributes.actionGroup` in analytics events */
16
- export declare const ACTION_GROUP: "addToolsPrompt";
17
- export declare enum AddToolsPromptActions {
18
- SHOWN = "addToolsPromptShown",
19
- BROWSE = "addToolsPromptBrowse",
20
- DISMISS = "addToolsPromptDismiss"
21
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * Action Group: createFlow
3
- *
4
- * Create agent funnel steps — from clicking "Create agent" through to activation or discard,
5
- *
6
- * ## Adding a new action
7
- * 1. Add the action to the `CreateFlowActions` enum below with a data-portal link
8
- * 2. Register this group in ../registry.ts (if this is a new group file)
9
- */
10
- /** The group name sent as `attributes.actionGroup` in analytics events */
11
- export declare const ACTION_GROUP: "createFlow";
12
- export declare enum CreateFlowActions {
13
- START = "createFlowStart",
14
- SKIP_NL = "createFlowSkipNL",
15
- REVIEW_NL = "createFlowReviewNL",
16
- ACTIVATE = "createFlowActivate",
17
- RESTART = "createFlowRestart",
18
- ERROR = "createFlowError",
19
- LAND = "createLandInStudio",
20
- DISCARD = "createDiscard",
21
- SA_DRAFT = "saDraft"
22
- }