@atlaskit/rovo-triggers 6.0.2 → 6.2.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,25 @@
1
1
  # @atlaskit/rovo-triggers
2
2
 
3
+ ## 6.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`4fa6da872648d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4fa6da872648d) -
8
+ Cleanup feature gate `ai-mate-pub-sub-post-message-origin-fix`.
9
+
10
+ ### Patch Changes
11
+
12
+ - [`69e5d70a23296`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/69e5d70a23296) -
13
+ Fix 3P connector recommendation matching to use ORS generator name as primary identifier,
14
+ enablingmatching regardless of SmartLinks auth state
15
+
16
+ ## 6.1.0
17
+
18
+ ### Minor Changes
19
+
20
+ - [`3f7b6b35d7be8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3f7b6b35d7be8) -
21
+ [ux] add openChatMode as a query param for rovo chat
22
+
3
23
  ## 6.0.2
4
24
 
5
25
  ### Patch Changes
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ROVO_VALID_PARAMS = exports.ROVO_PARAM_PREFIX = void 0;
7
7
  var ROVO_PARAM_PREFIX = exports.ROVO_PARAM_PREFIX = 'rovoChat';
8
- var ROVO_VALID_PARAMS = exports.ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen'];
8
+ var ROVO_VALID_PARAMS = exports.ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen', 'openChatMode'];
@@ -8,7 +8,6 @@ exports.useRovoPostMessageToPubsub = exports.isAllowedOrigin = exports.RovoPostM
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
10
  var _bindEventListener = require("bind-event-listener");
11
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
11
  var _main = require("../../../main");
13
12
  var ROVO_POST_MESSAGE_EVENT_TYPE = exports.ROVO_POST_MESSAGE_EVENT_TYPE = 'rovo-post-message';
14
13
  var ROVO_POST_MESSAGE_ACK_EVENT_TYPE = exports.ROVO_POST_MESSAGE_ACK_EVENT_TYPE = 'rovo-post-message-ack';
@@ -41,9 +40,9 @@ var RovoPostMessagePubsubListener = exports.RovoPostMessagePubsubListener = func
41
40
  eventType: ROVO_POST_MESSAGE_ACK_EVENT_TYPE,
42
41
  payloadId: eventData.payloadId
43
42
  };
44
- (_event$source = event.source) === null || _event$source === void 0 || _event$source.postMessage(ackPayload, (0, _platformFeatureFlags.fg)('ai-mate-pub-sub-post-message-origin-fix') ? {
43
+ (_event$source = event.source) === null || _event$source === void 0 || _event$source.postMessage(ackPayload, {
45
44
  targetOrigin: '*'
46
- } : undefined);
45
+ });
47
46
  publish(event.data.payload);
48
47
  }
49
48
  }
@@ -1,2 +1,2 @@
1
1
  export const ROVO_PARAM_PREFIX = 'rovoChat';
2
- export const ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen'];
2
+ export const ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen', 'openChatMode'];
@@ -1,6 +1,5 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { bind } from 'bind-event-listener';
3
- import { fg } from '@atlaskit/platform-feature-flags';
4
3
  import { usePublish } from '../../../main';
5
4
  export const ROVO_POST_MESSAGE_EVENT_TYPE = 'rovo-post-message';
6
5
  export const ROVO_POST_MESSAGE_ACK_EVENT_TYPE = 'rovo-post-message-ack';
@@ -31,9 +30,9 @@ export const RovoPostMessagePubsubListener = () => {
31
30
  eventType: ROVO_POST_MESSAGE_ACK_EVENT_TYPE,
32
31
  payloadId: eventData.payloadId
33
32
  };
34
- (_event$source = event.source) === null || _event$source === void 0 ? void 0 : _event$source.postMessage(ackPayload, fg('ai-mate-pub-sub-post-message-origin-fix') ? {
33
+ (_event$source = event.source) === null || _event$source === void 0 ? void 0 : _event$source.postMessage(ackPayload, {
35
34
  targetOrigin: '*'
36
- } : undefined);
35
+ });
37
36
  publish(event.data.payload);
38
37
  }
39
38
  }
@@ -1,2 +1,2 @@
1
1
  export var ROVO_PARAM_PREFIX = 'rovoChat';
2
- export var ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen'];
2
+ export var ROVO_VALID_PARAMS = ['pathway', 'agentId', 'conversationId', 'prompt', 'cloudId', 'triggerOpen', 'insertPrompt', 'promptLibraryOpen', 'openChatMode'];
@@ -1,7 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { bind } from 'bind-event-listener';
4
- import { fg } from '@atlaskit/platform-feature-flags';
5
4
  import { usePublish } from '../../../main';
6
5
  export var ROVO_POST_MESSAGE_EVENT_TYPE = 'rovo-post-message';
7
6
  export var ROVO_POST_MESSAGE_ACK_EVENT_TYPE = 'rovo-post-message-ack';
@@ -34,9 +33,9 @@ export var RovoPostMessagePubsubListener = function RovoPostMessagePubsubListene
34
33
  eventType: ROVO_POST_MESSAGE_ACK_EVENT_TYPE,
35
34
  payloadId: eventData.payloadId
36
35
  };
37
- (_event$source = event.source) === null || _event$source === void 0 || _event$source.postMessage(ackPayload, fg('ai-mate-pub-sub-post-message-origin-fix') ? {
36
+ (_event$source = event.source) === null || _event$source === void 0 || _event$source.postMessage(ackPayload, {
38
37
  targetOrigin: '*'
39
- } : undefined);
38
+ });
40
39
  publish(event.data.payload);
41
40
  }
42
41
  }
@@ -31,6 +31,12 @@ export type SolutionArchitectAgentActivationPayload = PayloadCore<'solution-arch
31
31
  draftBuildId: string;
32
32
  ari?: string | null | undefined;
33
33
  }>;
34
+ export type SolutionArchitectAgentActivationFlowStartedPayload = PayloadCore<'solution-architect-agent-activation-flow-started', {
35
+ draftBuildId: string;
36
+ }>;
37
+ export type SolutionArchitectAgentActivationFlowStoppedPayload = PayloadCore<'solution-architect-agent-activation-flow-stopped', {
38
+ draftBuildId: string;
39
+ }>;
34
40
  export type StudioAutomationBuildUpdatePayload = PayloadCore<'studio-automation-build-updated', {
35
41
  buildId: string;
36
42
  }>;
@@ -1,4 +1,5 @@
1
1
  export type RovoChatPathway = 'chat' | 'agents-browse' | 'agents-create' | 'pulse';
2
+ export type RovoChatOpenMode = 'sidebar' | 'mini-modal';
2
3
  export interface BaseRovoChatParams {
3
4
  pathway: RovoChatPathway;
4
5
  agentId: string;
@@ -11,6 +12,7 @@ export interface BaseRovoChatParams {
11
12
  stagingAreaOpen: boolean;
12
13
  messageIdSelectedForPreview: string;
13
14
  promptLibraryOpen: boolean;
15
+ openChatMode: RovoChatOpenMode;
14
16
  }
15
17
  export type ValidPrefix = 'rovoChat';
16
18
  export type ValidParam = keyof BaseRovoChatParams;
@@ -1,7 +1,7 @@
1
1
  import type { DocNode } from '@atlaskit/adf-schema';
2
2
  import type { SolutionDraftAgentUpdatePayload } from './common/types/agent';
3
3
  import type { JsmJourneyBuilderActionsPayload } from './common/types/jsm-journey-builder';
4
- import type { SolutionArchitectAgentActivationPayload, SolutionArchitectHandoffPayload, SolutionPlanStateUpdatePayload, StudioAutomationBuildUpdatePayload, StudioLandingPageRedirectPayload, UpdateAgentConfigurationPayload } from './common/types/solution-architect';
4
+ import type { SolutionArchitectAgentActivationFlowStoppedPayload, SolutionArchitectAgentActivationPayload, SolutionArchitectAgentActivationFlowStartedPayload, SolutionArchitectHandoffPayload, SolutionPlanStateUpdatePayload, StudioAutomationBuildUpdatePayload, StudioLandingPageRedirectPayload, UpdateAgentConfigurationPayload } from './common/types/solution-architect';
5
5
  import type { ChatContextPayload } from './common/utils/chat-context/types';
6
6
  export declare const Topics: {
7
7
  readonly AI_MATE: "ai-mate";
@@ -416,6 +416,11 @@ export type SmartLinksContextPayload = PayloadCore<'smartlinks-context-payload'>
416
416
  * enabling the chat to cross-reference with Knowledge API without a mapping table.
417
417
  */
418
418
  orsAuthKey: string;
419
+ /**
420
+ * Human-readable provider name from ORS generator (e.g. 'Google Drive', 'Slack').
421
+ * Available regardless of SmartLinks auth state — matched against connector friendlyName.
422
+ */
423
+ generatorName?: string;
419
424
  /** Number of occurrences on the page — used for ranking in the banner. */
420
425
  count: number;
421
426
  }>;
@@ -428,6 +433,7 @@ export type SpaceSelectedPayload = PayloadCore<'space-selected', {
428
433
  description?: string;
429
434
  }>;
430
435
  export type SpaceDeselectedPayload = PayloadCore<'space-deselected'>;
436
+ export type RecommendedSpacesSelectedPayload = PayloadCore<'recommended-spaces-selected'>;
431
437
  /** Published after a new conversation is linked to a Rovo Space (e.g. space landing chat). */
432
438
  export type SpaceConversationCreatedPayload = PayloadCore<'space-conversation-created', {
433
439
  spaceId: string;
@@ -438,7 +444,7 @@ export type SmartlinksSubscriptionChangedPayload = PayloadCore<'smartlinks-subsc
438
444
  openChat: false;
439
445
  isActive: boolean;
440
446
  };
441
- export type Payload = MessageSendPayload | ChatClosePayload | SmartCreationModalOpenPayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | SmartlinksSubscriptionChangedPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | JiraCreateContextPayload | DatabaseContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | SelectActionPayload | AddChartToDashboardPayload | GenericExternalActionErrorPayload | OpenChatDebugModalPayload | OpenChatFeedbackModalPayload | JsmJourneyBuilderActionsPayload | StudioAutomationBuildUpdatePayload | SolutionArchitectHandoffPayload | SolutionPlanStateUpdatePayload | SolutionDraftAgentUpdatePayload | SolutionArchitectAgentActivationPayload | UpdateAgentConfigurationPayload | StudioLandingPageRedirectPayload | UploadAndInsertMediaPayload | SmartLinksContextPayload | SpaceSelectedPayload | SpaceDeselectedPayload | SpaceConversationCreatedPayload | TaskPlanConfirmedPayload | TaskAskQuestionRenderedPayload | TaskPlanRenderedPayload | TaskSkipAllQuestionsPayload | TaskCancelPlanPayload | TaskAskQuestionConfirmedPayload | TaskModifyPlanRequestedPayload | TaskModifyPlanSubmittedPayload;
447
+ export type Payload = MessageSendPayload | ChatClosePayload | SmartCreationModalOpenPayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | SmartlinksSubscriptionChangedPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | JiraCreateContextPayload | DatabaseContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | SelectActionPayload | AddChartToDashboardPayload | GenericExternalActionErrorPayload | OpenChatDebugModalPayload | OpenChatFeedbackModalPayload | JsmJourneyBuilderActionsPayload | StudioAutomationBuildUpdatePayload | SolutionArchitectHandoffPayload | SolutionPlanStateUpdatePayload | SolutionDraftAgentUpdatePayload | SolutionArchitectAgentActivationPayload | SolutionArchitectAgentActivationFlowStartedPayload | SolutionArchitectAgentActivationFlowStoppedPayload | UpdateAgentConfigurationPayload | StudioLandingPageRedirectPayload | UploadAndInsertMediaPayload | SmartLinksContextPayload | SpaceSelectedPayload | SpaceDeselectedPayload | RecommendedSpacesSelectedPayload | SpaceConversationCreatedPayload | TaskPlanConfirmedPayload | TaskAskQuestionRenderedPayload | TaskPlanRenderedPayload | TaskSkipAllQuestionsPayload | TaskCancelPlanPayload | TaskAskQuestionConfirmedPayload | TaskModifyPlanRequestedPayload | TaskModifyPlanSubmittedPayload;
442
448
  export type TaskPlanConfirmedPayload = PayloadCore<'task-plan-confirmed', {
443
449
  conversationId: string;
444
450
  planTitle: string;
@@ -31,6 +31,12 @@ export type SolutionArchitectAgentActivationPayload = PayloadCore<'solution-arch
31
31
  draftBuildId: string;
32
32
  ari?: string | null | undefined;
33
33
  }>;
34
+ export type SolutionArchitectAgentActivationFlowStartedPayload = PayloadCore<'solution-architect-agent-activation-flow-started', {
35
+ draftBuildId: string;
36
+ }>;
37
+ export type SolutionArchitectAgentActivationFlowStoppedPayload = PayloadCore<'solution-architect-agent-activation-flow-stopped', {
38
+ draftBuildId: string;
39
+ }>;
34
40
  export type StudioAutomationBuildUpdatePayload = PayloadCore<'studio-automation-build-updated', {
35
41
  buildId: string;
36
42
  }>;
@@ -1,4 +1,5 @@
1
1
  export type RovoChatPathway = 'chat' | 'agents-browse' | 'agents-create' | 'pulse';
2
+ export type RovoChatOpenMode = 'sidebar' | 'mini-modal';
2
3
  export interface BaseRovoChatParams {
3
4
  pathway: RovoChatPathway;
4
5
  agentId: string;
@@ -11,6 +12,7 @@ export interface BaseRovoChatParams {
11
12
  stagingAreaOpen: boolean;
12
13
  messageIdSelectedForPreview: string;
13
14
  promptLibraryOpen: boolean;
15
+ openChatMode: RovoChatOpenMode;
14
16
  }
15
17
  export type ValidPrefix = 'rovoChat';
16
18
  export type ValidParam = keyof BaseRovoChatParams;
@@ -1,7 +1,7 @@
1
1
  import type { DocNode } from '@atlaskit/adf-schema';
2
2
  import type { SolutionDraftAgentUpdatePayload } from './common/types/agent';
3
3
  import type { JsmJourneyBuilderActionsPayload } from './common/types/jsm-journey-builder';
4
- import type { SolutionArchitectAgentActivationPayload, SolutionArchitectHandoffPayload, SolutionPlanStateUpdatePayload, StudioAutomationBuildUpdatePayload, StudioLandingPageRedirectPayload, UpdateAgentConfigurationPayload } from './common/types/solution-architect';
4
+ import type { SolutionArchitectAgentActivationFlowStoppedPayload, SolutionArchitectAgentActivationPayload, SolutionArchitectAgentActivationFlowStartedPayload, SolutionArchitectHandoffPayload, SolutionPlanStateUpdatePayload, StudioAutomationBuildUpdatePayload, StudioLandingPageRedirectPayload, UpdateAgentConfigurationPayload } from './common/types/solution-architect';
5
5
  import type { ChatContextPayload } from './common/utils/chat-context/types';
6
6
  export declare const Topics: {
7
7
  readonly AI_MATE: "ai-mate";
@@ -416,6 +416,11 @@ export type SmartLinksContextPayload = PayloadCore<'smartlinks-context-payload'>
416
416
  * enabling the chat to cross-reference with Knowledge API without a mapping table.
417
417
  */
418
418
  orsAuthKey: string;
419
+ /**
420
+ * Human-readable provider name from ORS generator (e.g. 'Google Drive', 'Slack').
421
+ * Available regardless of SmartLinks auth state — matched against connector friendlyName.
422
+ */
423
+ generatorName?: string;
419
424
  /** Number of occurrences on the page — used for ranking in the banner. */
420
425
  count: number;
421
426
  }>;
@@ -428,6 +433,7 @@ export type SpaceSelectedPayload = PayloadCore<'space-selected', {
428
433
  description?: string;
429
434
  }>;
430
435
  export type SpaceDeselectedPayload = PayloadCore<'space-deselected'>;
436
+ export type RecommendedSpacesSelectedPayload = PayloadCore<'recommended-spaces-selected'>;
431
437
  /** Published after a new conversation is linked to a Rovo Space (e.g. space landing chat). */
432
438
  export type SpaceConversationCreatedPayload = PayloadCore<'space-conversation-created', {
433
439
  spaceId: string;
@@ -438,7 +444,7 @@ export type SmartlinksSubscriptionChangedPayload = PayloadCore<'smartlinks-subsc
438
444
  openChat: false;
439
445
  isActive: boolean;
440
446
  };
441
- export type Payload = MessageSendPayload | ChatClosePayload | SmartCreationModalOpenPayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | SmartlinksSubscriptionChangedPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | JiraCreateContextPayload | DatabaseContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | SelectActionPayload | AddChartToDashboardPayload | GenericExternalActionErrorPayload | OpenChatDebugModalPayload | OpenChatFeedbackModalPayload | JsmJourneyBuilderActionsPayload | StudioAutomationBuildUpdatePayload | SolutionArchitectHandoffPayload | SolutionPlanStateUpdatePayload | SolutionDraftAgentUpdatePayload | SolutionArchitectAgentActivationPayload | UpdateAgentConfigurationPayload | StudioLandingPageRedirectPayload | UploadAndInsertMediaPayload | SmartLinksContextPayload | SpaceSelectedPayload | SpaceDeselectedPayload | SpaceConversationCreatedPayload | TaskPlanConfirmedPayload | TaskAskQuestionRenderedPayload | TaskPlanRenderedPayload | TaskSkipAllQuestionsPayload | TaskCancelPlanPayload | TaskAskQuestionConfirmedPayload | TaskModifyPlanRequestedPayload | TaskModifyPlanSubmittedPayload;
447
+ export type Payload = MessageSendPayload | ChatClosePayload | SmartCreationModalOpenPayload | ChatNewPayload | ChatDraftPayload | EditorContextPayload | ChatOpenPayload | OpenBrowseAgentPayload | SmartlinksSubscriptionChangedPayload | OpenBrowseAgentSidebarPayload | EditorSuggestionPayload | EditorAgentChangedPayload | BrowserContextPayload | WhiteboardContextPayload | JiraCreateContextPayload | DatabaseContextPayload | ForgeAppAuthSuccess | ForgeAppAuthFailure | JiraWorkflowWizardActionsPayload | InsertPromptPayload | DashboardInsightsActionsPayload | SetChatContextPayload | InsertUrlsPayload | SelectActionPayload | AddChartToDashboardPayload | GenericExternalActionErrorPayload | OpenChatDebugModalPayload | OpenChatFeedbackModalPayload | JsmJourneyBuilderActionsPayload | StudioAutomationBuildUpdatePayload | SolutionArchitectHandoffPayload | SolutionPlanStateUpdatePayload | SolutionDraftAgentUpdatePayload | SolutionArchitectAgentActivationPayload | SolutionArchitectAgentActivationFlowStartedPayload | SolutionArchitectAgentActivationFlowStoppedPayload | UpdateAgentConfigurationPayload | StudioLandingPageRedirectPayload | UploadAndInsertMediaPayload | SmartLinksContextPayload | SpaceSelectedPayload | SpaceDeselectedPayload | RecommendedSpacesSelectedPayload | SpaceConversationCreatedPayload | TaskPlanConfirmedPayload | TaskAskQuestionRenderedPayload | TaskPlanRenderedPayload | TaskSkipAllQuestionsPayload | TaskCancelPlanPayload | TaskAskQuestionConfirmedPayload | TaskModifyPlanRequestedPayload | TaskModifyPlanSubmittedPayload;
442
448
  export type TaskPlanConfirmedPayload = PayloadCore<'task-plan-confirmed', {
443
449
  conversationId: string;
444
450
  planTitle: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/rovo-triggers",
3
- "version": "6.0.2",
3
+ "version": "6.2.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": {
@@ -36,7 +36,7 @@
36
36
  ],
37
37
  "atlaskit:src": "src/index.ts",
38
38
  "dependencies": {
39
- "@atlaskit/adf-schema": "^52.9.0",
39
+ "@atlaskit/adf-schema": "^52.11.0",
40
40
  "@atlaskit/platform-feature-flags": "^1.1.0",
41
41
  "@babel/runtime": "^7.0.0",
42
42
  "bind-event-listener": "^3.0.0"
@@ -51,7 +51,7 @@
51
51
  "@atlaskit/primitives": "^19.0.0",
52
52
  "@atlaskit/ssr": "workspace:^",
53
53
  "@atlassian/a11y-jest-testing": "^0.11.0",
54
- "@atlassian/feature-flags-test-utils": "^1.0.0",
54
+ "@atlassian/feature-flags-test-utils": "^1.1.0",
55
55
  "@atlassian/react-compiler-gating": "workspace:^",
56
56
  "@testing-library/react": "^16.3.0",
57
57
  "react-dom": "^18.2.0",
@@ -91,10 +91,5 @@
91
91
  "import-no-extraneous-disable-for-examples-and-docs"
92
92
  ]
93
93
  }
94
- },
95
- "platform-feature-flags": {
96
- "ai-mate-pub-sub-post-message-origin-fix": {
97
- "type": "boolean"
98
- }
99
94
  }
100
95
  }