@finsemble/finsemble-ui 10.0.0-iocd.2 → 10.0.0-iocd.8
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/clients/authenticationClient.d.ts +1 -0
- package/clients/authenticationClient.d.ts.map +1 -1
- package/clients/authenticationClient.js +2 -0
- package/clients/authenticationClient.js.map +1 -1
- package/clients/dialogManagerClient.d.ts +3 -3
- package/clients/dialogManagerClient.d.ts.map +1 -1
- package/clients/dialogManagerClient.js +6 -6
- package/clients/dialogManagerClient.js.map +1 -1
- package/clients/hotkeyClient.d.ts +1 -0
- package/clients/hotkeyClient.d.ts.map +1 -1
- package/clients/hotkeyClient.js +2 -0
- package/clients/hotkeyClient.js.map +1 -1
- package/clients/searchClient.d.ts +1 -0
- package/clients/searchClient.d.ts.map +1 -1
- package/clients/searchClient.js +2 -0
- package/clients/searchClient.js.map +1 -1
- package/clients/windowClient.d.ts +8 -0
- package/clients/windowClient.d.ts.map +1 -1
- package/clients/windowClient.js +38 -0
- package/clients/windowClient.js.map +1 -1
- package/clients/workspaceClient.d.ts +4 -2
- package/clients/workspaceClient.d.ts.map +1 -1
- package/clients/workspaceClient.js +10 -7
- package/clients/workspaceClient.js.map +1 -1
- package/common/Monitors.d.ts.map +1 -1
- package/common/Monitors.js +1 -2
- package/common/Monitors.js.map +1 -1
- package/common/constants.d.ts +1 -0
- package/common/constants.d.ts.map +1 -1
- package/common/constants.js +1 -0
- package/common/constants.js.map +1 -1
- package/package.json +1 -2
- package/platform/services/Interop/modules/types.d.ts +1 -0
- package/platform/services/Interop/modules/types.d.ts.map +1 -1
- package/platform/services/systemManager/_constants.d.ts.map +1 -1
- package/platform/services/systemManager/_constants.js +1 -0
- package/platform/services/systemManager/_constants.js.map +1 -1
- package/platform/services/systemManager/types.d.ts +1 -1
- package/platform/services/systemManager/types.d.ts.map +1 -1
- package/platform/services/systemManager/types.js.map +1 -1
- package/platform/services/window/types.d.ts +1 -0
- package/platform/services/window/types.d.ts.map +1 -1
- package/react/assets/css/advancedAppLauncher.css +65 -52
- package/react/components/favorites/FavoriteMaker.d.ts.map +1 -1
- package/react/components/favorites/FavoriteMaker.js +5 -3
- package/react/components/favorites/FavoriteMaker.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialog.d.ts.map +1 -1
- package/react/components/legacyControls/FinsembleDialog.js +0 -12
- package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
- package/react/components/legacyControls/FinsembleDraggable.d.ts.map +1 -1
- package/react/components/legacyControls/FinsembleDraggable.js +1 -1
- package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +5 -4
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/shared/openQuitConfirmationDialog.d.ts.map +1 -1
- package/react/components/shared/openQuitConfirmationDialog.js +0 -1
- package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.d.ts.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.js +2 -5
- package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
- package/react/components/system/System.d.ts.map +1 -1
- package/react/components/system/System.js +20 -5
- package/react/components/system/System.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +1 -4
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/AdvancedAppLauncher.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/AdvancedAppLauncher.js +14 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppDefinition.d.ts +2 -0
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppDefinition.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppDefinition.js +22 -8
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppDefinition.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/Content.d.ts +5 -11
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/Content.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/Content.js +57 -25
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FoldersList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FoldersList.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FoldersList.js +22 -9
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/LeftNavBottomLinks.d.ts +3 -15
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/LeftNavBottomLinks.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/LeftNavBottomLinks.js +11 -28
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/SortBy.d.ts.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/SortBy.js +2 -6
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/SortBy.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.d.ts.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +91 -44
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +0 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +0 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/userPreferences/FinsembleUserPreferences.d.ts +17 -0
- package/react/components/userPreferences/FinsembleUserPreferences.d.ts.map +1 -0
- package/react/components/userPreferences/FinsembleUserPreferences.js +28 -0
- package/react/components/userPreferences/FinsembleUserPreferences.js.map +1 -0
- package/react/components/userPreferences/UserPreferences.d.ts +1 -1
- package/react/components/userPreferences/UserPreferences.d.ts.map +1 -1
- package/react/components/userPreferences/UserPreferences.js +8 -11
- package/react/components/userPreferences/UserPreferences.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesBase.d.ts +9 -1
- package/react/components/userPreferences/UserPreferencesBase.d.ts.map +1 -1
- package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
- package/react/components/userPreferences/components/ContentSection.d.ts +3 -14
- package/react/components/userPreferences/components/ContentSection.d.ts.map +1 -1
- package/react/components/userPreferences/components/ContentSection.js +0 -1
- package/react/components/userPreferences/components/ContentSection.js.map +1 -1
- package/react/components/userPreferences/components/content/General.d.ts +2 -1
- package/react/components/userPreferences/components/content/General.d.ts.map +1 -1
- package/react/components/userPreferences/components/content/General.js +11 -30
- package/react/components/userPreferences/components/content/General.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +5 -5
- package/react/components/userPreferences/components/content/Workspaces.d.ts.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js +36 -53
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/general/DownloadPreferences.js +2 -1
- package/react/components/userPreferences/components/general/DownloadPreferences.js.map +1 -1
- package/react/components/userPreferences/components/general/ResetPreferences.d.ts +2 -1
- package/react/components/userPreferences/components/general/ResetPreferences.d.ts.map +1 -1
- package/react/components/userPreferences/components/general/ResetPreferences.js +5 -12
- package/react/components/userPreferences/components/general/ResetPreferences.js.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledClose.d.ts +5 -5
- package/react/components/userPreferences/components/general/ScheduledClose.d.ts.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledClose.js +30 -84
- package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
- package/react/components/userPreferences/iocdUserPreferences.d.ts +17 -0
- package/react/components/userPreferences/iocdUserPreferences.d.ts.map +1 -0
- package/react/components/userPreferences/iocdUserPreferences.js +49 -0
- package/react/components/userPreferences/iocdUserPreferences.js.map +1 -0
- package/react/components/userPreferences/utils.d.ts +3 -0
- package/react/components/userPreferences/utils.d.ts.map +1 -0
- package/react/components/userPreferences/utils.js +11 -0
- package/react/components/userPreferences/utils.js.map +1 -0
- package/react/components/utils.d.ts +2 -2
- package/react/components/utils.d.ts.map +1 -1
- package/react/components/utils.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.d.ts.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.js +7 -10
- package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
- package/react/hooks/useDashbar.d.ts.map +1 -1
- package/react/hooks/useDashbar.js +6 -3
- package/react/hooks/useDashbar.js.map +1 -1
- package/react/hooks/useFavoritesShell.d.ts.map +1 -1
- package/react/hooks/useFavoritesShell.js +6 -1
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/typedefs/FDC3/api/DesktopAgent.d.ts +7 -5
- package/typedefs/FDC3/api/DesktopAgent.d.ts.map +1 -1
- package/typedefs/FDC3/api/IntentMetadata.d.ts +2 -1
- package/typedefs/FDC3/api/IntentMetadata.d.ts.map +1 -1
- package/typedefs/FDC3/api/IntentResolution.d.ts +2 -1
- package/typedefs/FDC3/api/IntentResolution.d.ts.map +1 -1
- package/typedefs/FDC3/api/Methods.d.ts +19 -5
- package/typedefs/FDC3/api/Methods.d.ts.map +1 -1
- package/typedefs/FDC3/api/Methods.js +19 -3
- package/typedefs/FDC3/api/Methods.js.map +1 -1
- package/typedefs/FDC3/bridging/BridgingTypes.d.ts +519 -306
- package/typedefs/FDC3/bridging/BridgingTypes.d.ts.map +1 -1
- package/typedefs/FDC3/bridging/BridgingTypes.js +1372 -1386
- package/typedefs/FDC3/bridging/BridgingTypes.js.map +1 -1
- package/typedefs/FDC3/context/ContextType.d.ts +19 -1
- package/typedefs/FDC3/context/ContextType.d.ts.map +1 -1
- package/typedefs/FDC3/context/ContextType.js +7 -0
- package/typedefs/FDC3/context/ContextType.js.map +1 -1
- package/typedefs/FDC3/context/ContextTypes.d.ts +1373 -135
- package/typedefs/FDC3/context/ContextTypes.d.ts.map +1 -1
- package/typedefs/FDC3/context/ContextTypes.js +590 -508
- package/typedefs/FDC3/context/ContextTypes.js.map +1 -1
- package/typedefs/FDC3/intents/Intents.d.ts +15 -0
- package/typedefs/FDC3/intents/Intents.d.ts.map +1 -1
- package/typedefs/FDC3/intents/Intents.js +7 -0
- package/typedefs/FDC3/intents/Intents.js.map +1 -1
- package/typedefs/FDC3/internal/contextConfiguration.d.ts +2 -0
- package/typedefs/FDC3/internal/contextConfiguration.d.ts.map +1 -0
- package/typedefs/FDC3/internal/contextConfiguration.js +5 -0
- package/typedefs/FDC3/internal/contextConfiguration.js.map +1 -0
- package/typedefs/FDC3/internal/intentConfiguration.d.ts +2 -0
- package/typedefs/FDC3/internal/intentConfiguration.d.ts.map +1 -0
- package/typedefs/FDC3/internal/intentConfiguration.js +5 -0
- package/typedefs/FDC3/internal/intentConfiguration.js.map +1 -0
- package/typedefs/FDC3/internal/typeHelpers.d.ts +7 -0
- package/typedefs/FDC3/internal/typeHelpers.d.ts.map +1 -0
- package/typedefs/FDC3/internal/typeHelpers.js +5 -0
- package/typedefs/FDC3/internal/typeHelpers.js.map +1 -0
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppActionsMenu.d.ts +0 -43
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppActionsMenu.d.ts.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppActionsMenu.js +0 -123
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/AppActionsMenu.js.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FilterSort.d.ts +0 -26
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FilterSort.d.ts.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FilterSort.js +0 -34
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/FilterSort.js.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +0 -9
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/ToggleFavoriteDropdown.d.ts.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/ToggleFavoriteDropdown.js +0 -27
- package/react/components/toolbar/advancedAppLauncher/iocdAdvancedAppLauncher/components/ToggleFavoriteDropdown.js.map +0 -1
|
@@ -1,158 +1,513 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A representation of an FDC3 Action (specified via a Context or Context & Intent) that can
|
|
3
|
+
* be inserted inside another object, for example a chat message.
|
|
4
|
+
*
|
|
5
|
+
* The action may be completed by calling `fdc3.raiseIntent()` with the specified Intent and
|
|
6
|
+
* Context, or, if only a context is specified, by calling `fdc3.raiseIntentForContext()`
|
|
7
|
+
* (which the Desktop Agent will resolve by presenting the user with a list of available
|
|
8
|
+
* Intents for the Context).
|
|
9
|
+
*
|
|
10
|
+
* Accepts an optional `app` parameter in order to specify a specific app.
|
|
11
|
+
*/
|
|
1
12
|
export interface Action {
|
|
2
|
-
app?: ActionApp;
|
|
3
|
-
context: ActionContext;
|
|
4
|
-
customConfig?: {
|
|
5
|
-
[key: string]: any;
|
|
6
|
-
};
|
|
7
13
|
/**
|
|
8
|
-
*
|
|
14
|
+
* An optional target application identifier that should perform the action
|
|
15
|
+
*/
|
|
16
|
+
app?: ActionTargetApp;
|
|
17
|
+
/**
|
|
18
|
+
* A context object with which the action will be performed
|
|
19
|
+
*/
|
|
20
|
+
context: ContextElement;
|
|
21
|
+
/**
|
|
22
|
+
* Optional Intent to raise to perform the actions. Should reference an intent type name,
|
|
23
|
+
* such as those defined in the FDC3 Standard. If intent is not set then
|
|
24
|
+
* `fdc3.raiseIntentForContext` should be used to perform the action as this will usually
|
|
25
|
+
* allow the user to choose the intent to raise.
|
|
9
26
|
*/
|
|
10
27
|
intent?: string;
|
|
28
|
+
/**
|
|
29
|
+
* A human readable display name for the action
|
|
30
|
+
*/
|
|
11
31
|
title: string;
|
|
12
|
-
type:
|
|
32
|
+
type: "fdc3.action";
|
|
13
33
|
id?: {
|
|
14
34
|
[key: string]: any;
|
|
15
35
|
};
|
|
16
36
|
name?: string;
|
|
17
37
|
[property: string]: any;
|
|
18
38
|
}
|
|
19
|
-
|
|
39
|
+
/**
|
|
40
|
+
* An optional target application identifier that should perform the action
|
|
41
|
+
*
|
|
42
|
+
* Identifies an application, or instance of an application, and is used to target FDC3 API
|
|
43
|
+
* calls, such as `fdc3.open` or `fdc3.raiseIntent` at specific applications or application
|
|
44
|
+
* instances.
|
|
45
|
+
*
|
|
46
|
+
* Will always include at least an `appId` field, which uniquely identifies a specific app.
|
|
47
|
+
*
|
|
48
|
+
* If the `instanceId` field is set then the `AppMetadata` object represents a specific
|
|
49
|
+
* instance of the application that may be addressed using that Id.
|
|
50
|
+
*/
|
|
51
|
+
export interface ActionTargetApp {
|
|
52
|
+
/**
|
|
53
|
+
* The unique application identifier located within a specific application directory
|
|
54
|
+
* instance. An example of an appId might be 'app@sub.root'
|
|
55
|
+
*/
|
|
20
56
|
appId: string;
|
|
57
|
+
/**
|
|
58
|
+
* The Desktop Agent that the app is available on. Used in Desktop Agent Bridging to
|
|
59
|
+
* identify the Desktop Agent to target.
|
|
60
|
+
*/
|
|
61
|
+
desktopAgent?: string;
|
|
62
|
+
/**
|
|
63
|
+
* An optional instance identifier, indicating that this object represents a specific
|
|
64
|
+
* instance of the application described.
|
|
65
|
+
*/
|
|
21
66
|
instanceId?: string;
|
|
22
67
|
[property: string]: any;
|
|
23
68
|
}
|
|
24
|
-
|
|
69
|
+
/**
|
|
70
|
+
* A context object with which the action will be performed
|
|
71
|
+
*
|
|
72
|
+
* A context object returned by the transaction, possibly with updated data.
|
|
73
|
+
*
|
|
74
|
+
* The `fdc3.context` type defines the basic contract or "shape" for all data exchanged by
|
|
75
|
+
* FDC3 operations. As such, it is not really meant to be used on its own, but is imported
|
|
76
|
+
* by more specific type definitions (standardized or custom) to provide the structure and
|
|
77
|
+
* properties shared by all FDC3 context data types.
|
|
78
|
+
*
|
|
79
|
+
* The key element of FDC3 context types is their mandatory `type` property, which is used
|
|
80
|
+
* to identify what type of data the object represents, and what shape it has.
|
|
81
|
+
*
|
|
82
|
+
* The FDC3 context type, and all derived types, define the minimum set of fields a context
|
|
83
|
+
* data object of a particular type can be expected to have, but this can always be extended
|
|
84
|
+
* with custom fields as appropriate.
|
|
85
|
+
*/
|
|
86
|
+
export interface ContextElement {
|
|
87
|
+
/**
|
|
88
|
+
* Context data objects may include a set of equivalent key-value pairs that can be used to
|
|
89
|
+
* help applications identify and look up the context type they receive in their own domain.
|
|
90
|
+
* The idea behind this design is that applications can provide as many equivalent
|
|
91
|
+
* identifiers to a target application as possible, e.g. an instrument may be represented by
|
|
92
|
+
* an ISIN, CUSIP or Bloomberg identifier.
|
|
93
|
+
*
|
|
94
|
+
* Identifiers do not make sense for all types of data, so the `id` property is therefore
|
|
95
|
+
* optional, but some derived types may choose to require at least one identifier.
|
|
96
|
+
* Identifier values SHOULD always be of type string.
|
|
97
|
+
*/
|
|
25
98
|
id?: {
|
|
26
99
|
[key: string]: any;
|
|
27
100
|
};
|
|
101
|
+
/**
|
|
102
|
+
* Context data objects may include a name property that can be used for more information,
|
|
103
|
+
* or display purposes. Some derived types may require the name object as mandatory,
|
|
104
|
+
* depending on use case.
|
|
105
|
+
*/
|
|
28
106
|
name?: string;
|
|
107
|
+
/**
|
|
108
|
+
* The type property is the only _required_ part of the FDC3 context data schema. The FDC3
|
|
109
|
+
* [API](https://fdc3.finos.org/docs/api/spec) relies on the `type` property being present
|
|
110
|
+
* to route shared context data appropriately.
|
|
111
|
+
*
|
|
112
|
+
* FDC3 [Intents](https://fdc3.finos.org/docs/intents/spec) also register the context data
|
|
113
|
+
* types they support in an FDC3 [App
|
|
114
|
+
* Directory](https://fdc3.finos.org/docs/app-directory/overview), used for intent discovery
|
|
115
|
+
* and routing.
|
|
116
|
+
*
|
|
117
|
+
* Standardized FDC3 context types have well-known `type` properties prefixed with the
|
|
118
|
+
* `fdc3` namespace, e.g. `fdc3.instrument`. For non-standard types, e.g. those defined and
|
|
119
|
+
* used by a particular organization, the convention is to prefix them with an
|
|
120
|
+
* organization-specific namespace, e.g. `blackrock.fund`.
|
|
121
|
+
*
|
|
122
|
+
* See the [Context Data Specification](https://fdc3.finos.org/docs/context/spec) for more
|
|
123
|
+
* information about context data types.
|
|
124
|
+
*/
|
|
29
125
|
type: string;
|
|
30
126
|
[property: string]: any;
|
|
31
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Free text to be used for a keyword search
|
|
130
|
+
*
|
|
131
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
132
|
+
* `'Meeting'` although other string values are permitted.
|
|
133
|
+
*/
|
|
134
|
+
/**
|
|
135
|
+
* A context type representing details of a Chart, which may be used to request plotting of
|
|
136
|
+
* a particular chart or to otherwise share details of its composition, such as:
|
|
137
|
+
*
|
|
138
|
+
* - A list of instruments for comparison
|
|
139
|
+
* - The time period to plot the chart over
|
|
140
|
+
* - The style of chart (line, bar, mountain, candle etc.)
|
|
141
|
+
* - Other settings such as indicators to calculate, or data representing drawings and
|
|
142
|
+
* annotations.
|
|
143
|
+
*
|
|
144
|
+
* In addition to handling requests to plot charts, a charting application may use this type
|
|
145
|
+
* to output a representation of what it is currently displaying so that it can be recorded
|
|
146
|
+
* by another application.
|
|
147
|
+
*/
|
|
32
148
|
export interface Chart {
|
|
149
|
+
/**
|
|
150
|
+
* An array of instrument contexts whose data should be plotted.
|
|
151
|
+
*/
|
|
33
152
|
instruments: InstrumentElement[];
|
|
153
|
+
/**
|
|
154
|
+
* It is common for charts to support other configuration, such as indicators, annotations
|
|
155
|
+
* etc., which do not have standardized formats, but may be included in the `otherConfig`
|
|
156
|
+
* array as context objects.
|
|
157
|
+
*/
|
|
34
158
|
otherConfig?: ContextElement[];
|
|
159
|
+
/**
|
|
160
|
+
* The time range that should be plotted
|
|
161
|
+
*/
|
|
35
162
|
range?: TimeRangeObject;
|
|
36
|
-
|
|
37
|
-
|
|
163
|
+
/**
|
|
164
|
+
* The type of chart that should be plotted
|
|
165
|
+
*/
|
|
166
|
+
style?: ChartStyle;
|
|
167
|
+
type: "fdc3.chart";
|
|
38
168
|
id?: {
|
|
39
169
|
[key: string]: any;
|
|
40
170
|
};
|
|
41
171
|
name?: string;
|
|
42
172
|
[property: string]: any;
|
|
43
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* financial instrument that relates to the definition of this product
|
|
176
|
+
*
|
|
177
|
+
*
|
|
178
|
+
*
|
|
179
|
+
* A financial instrument from any asset class.
|
|
180
|
+
*/
|
|
44
181
|
export interface InstrumentElement {
|
|
45
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
184
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
185
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
186
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
187
|
+
*
|
|
188
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
189
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
190
|
+
*
|
|
191
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
192
|
+
* for tickers as used by an exchange.
|
|
193
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
194
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
195
|
+
* make interpretation easier for the developers of target applications.
|
|
196
|
+
*/
|
|
197
|
+
id: PurpleInstrumentIdentifiers;
|
|
198
|
+
/**
|
|
199
|
+
* The `market` map can be used to further specify the instrument and help achieve
|
|
200
|
+
* interoperability between disparate data sources. This is especially useful when using an
|
|
201
|
+
* `id` field that is not globally unique.
|
|
202
|
+
*/
|
|
46
203
|
market?: OrganizationMarket;
|
|
47
|
-
type:
|
|
204
|
+
type: "fdc3.instrument";
|
|
48
205
|
name?: string;
|
|
49
206
|
[property: string]: any;
|
|
50
207
|
}
|
|
51
|
-
|
|
208
|
+
/**
|
|
209
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
210
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
211
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
212
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
213
|
+
*
|
|
214
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
215
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
216
|
+
*
|
|
217
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
218
|
+
* for tickers as used by an exchange.
|
|
219
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
220
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
221
|
+
* make interpretation easier for the developers of target applications.
|
|
222
|
+
*/
|
|
223
|
+
export interface PurpleInstrumentIdentifiers {
|
|
224
|
+
/**
|
|
225
|
+
* <https://www.bloomberg.com/>
|
|
226
|
+
*/
|
|
52
227
|
BBG?: string;
|
|
228
|
+
/**
|
|
229
|
+
* <https://www.cusip.com/>
|
|
230
|
+
*/
|
|
53
231
|
CUSIP?: string;
|
|
232
|
+
/**
|
|
233
|
+
* <https://www.factset.com/>
|
|
234
|
+
*/
|
|
54
235
|
FDS_ID?: string;
|
|
236
|
+
/**
|
|
237
|
+
* <https://www.openfigi.com/>
|
|
238
|
+
*/
|
|
55
239
|
FIGI?: string;
|
|
240
|
+
/**
|
|
241
|
+
* <https://www.isin.org/>
|
|
242
|
+
*/
|
|
56
243
|
ISIN?: string;
|
|
244
|
+
/**
|
|
245
|
+
* <https://permid.org/>
|
|
246
|
+
*/
|
|
57
247
|
PERMID?: string;
|
|
248
|
+
/**
|
|
249
|
+
* <https://www.refinitiv.com/>
|
|
250
|
+
*/
|
|
58
251
|
RIC?: string;
|
|
252
|
+
/**
|
|
253
|
+
* <https://www.lseg.com/sedol>
|
|
254
|
+
*/
|
|
59
255
|
SEDOL?: string;
|
|
256
|
+
/**
|
|
257
|
+
* Unstandardized stock tickers
|
|
258
|
+
*/
|
|
60
259
|
ticker?: string;
|
|
61
260
|
[property: string]: any;
|
|
62
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* The `market` map can be used to further specify the instrument and help achieve
|
|
264
|
+
* interoperability between disparate data sources. This is especially useful when using an
|
|
265
|
+
* `id` field that is not globally unique.
|
|
266
|
+
*/
|
|
63
267
|
export interface OrganizationMarket {
|
|
268
|
+
/**
|
|
269
|
+
* <https://www.bloomberg.com/>
|
|
270
|
+
*/
|
|
64
271
|
BBG?: string;
|
|
272
|
+
/**
|
|
273
|
+
* <https://www.iso.org/iso-3166-country-codes.html>
|
|
274
|
+
*/
|
|
65
275
|
COUNTRY_ISOALPHA2?: string;
|
|
276
|
+
/**
|
|
277
|
+
* <https://en.wikipedia.org/wiki/Market_Identifier_Code>
|
|
278
|
+
*/
|
|
66
279
|
MIC?: string;
|
|
280
|
+
/**
|
|
281
|
+
* Human readable market name
|
|
282
|
+
*/
|
|
67
283
|
name?: string;
|
|
68
284
|
[property: string]: any;
|
|
69
285
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
286
|
+
/**
|
|
287
|
+
* Free text to be used for a keyword search
|
|
288
|
+
*
|
|
289
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
290
|
+
* `'Meeting'` although other string values are permitted.
|
|
291
|
+
*/
|
|
292
|
+
/**
|
|
293
|
+
* The time range that should be plotted
|
|
294
|
+
*
|
|
295
|
+
* The time range over which the interaction occurred
|
|
296
|
+
*
|
|
297
|
+
* A context representing a period of time. Any user interfaces that represent or visualize
|
|
298
|
+
* events or activity over time can be filtered or focused on a particular time period,
|
|
299
|
+
* e.g.:
|
|
300
|
+
*
|
|
301
|
+
* - A pricing chart
|
|
302
|
+
* - A trade blotter
|
|
303
|
+
* - A record of client contact/activity in a CRM
|
|
304
|
+
*
|
|
305
|
+
* Example use cases:
|
|
306
|
+
*
|
|
307
|
+
* - User may want to view pricing/trades/customer activity for a security over a particular
|
|
308
|
+
* time period, the time range might be specified as the context for the `ViewChart` intent
|
|
309
|
+
* OR it might be embedded in another context (e.g. a context representing a chart to plot).
|
|
310
|
+
* - User filters a visualization (e.g. a pricing chart) to show a particular period, the
|
|
311
|
+
* `TimeRange` is broadcast and other visualizations (e.g. a heatmap of activity by
|
|
312
|
+
* instrument, or industry sector etc.) receive it and filter themselves to show data over
|
|
313
|
+
* the same range.
|
|
314
|
+
*
|
|
315
|
+
* Notes:
|
|
316
|
+
*
|
|
317
|
+
* - A `TimeRange` may be closed (i.e. `startTime` and `endTime` are both known) or open
|
|
318
|
+
* (i.e. only one of `startTime` or `endTime` is known).
|
|
319
|
+
* - Ranges corresponding to dates (e.g. `2022-05-12` to `2022-05-19`) should be specified
|
|
320
|
+
* using times as this prevents issues with timezone conversions and inclusive/exclusive
|
|
321
|
+
* date ranges.
|
|
322
|
+
* - String fields representing times are encoded according to [ISO
|
|
323
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html).
|
|
324
|
+
* - A timezone indicator should be specified, e.g. `"2022-05-12T15:18:03Z"` or
|
|
325
|
+
* `"2022-05-12T16:18:03+01:00"`
|
|
326
|
+
* - Times MAY be specified with millisecond precision, e.g. `"2022-05-12T15:18:03.349Z"`
|
|
327
|
+
*/
|
|
78
328
|
export interface TimeRangeObject {
|
|
329
|
+
/**
|
|
330
|
+
* The end time of the range, encoded according to [ISO
|
|
331
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator.
|
|
332
|
+
*/
|
|
79
333
|
endTime?: Date;
|
|
334
|
+
/**
|
|
335
|
+
* The start time of the range, encoded according to [ISO
|
|
336
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator.
|
|
337
|
+
*/
|
|
80
338
|
startTime?: Date;
|
|
81
|
-
type:
|
|
339
|
+
type: "fdc3.timerange";
|
|
82
340
|
id?: {
|
|
83
341
|
[key: string]: any;
|
|
84
342
|
};
|
|
85
343
|
name?: string;
|
|
86
344
|
[property: string]: any;
|
|
87
345
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
346
|
+
/**
|
|
347
|
+
* Free text to be used for a keyword search
|
|
348
|
+
*
|
|
349
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
350
|
+
* `'Meeting'` although other string values are permitted.
|
|
351
|
+
*/
|
|
352
|
+
/**
|
|
353
|
+
* The type of chart that should be plotted
|
|
354
|
+
*/
|
|
355
|
+
export declare type ChartStyle = "line" | "bar" | "stacked-bar" | "mountain" | "candle" | "pie" | "scatter" | "histogram" | "heatmap" | "custom";
|
|
356
|
+
/**
|
|
357
|
+
* Free text to be used for a keyword search
|
|
358
|
+
*
|
|
359
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
360
|
+
* `'Meeting'` although other string values are permitted.
|
|
361
|
+
*/
|
|
362
|
+
/**
|
|
363
|
+
* A collection of settings to start a new chat conversation
|
|
364
|
+
*/
|
|
100
365
|
export interface ChatInitSettings {
|
|
366
|
+
/**
|
|
367
|
+
* Name to apply to the chat created
|
|
368
|
+
*/
|
|
101
369
|
chatName?: string;
|
|
370
|
+
/**
|
|
371
|
+
* Contacts to add to the chat
|
|
372
|
+
*/
|
|
102
373
|
members?: ContactListObject;
|
|
374
|
+
/**
|
|
375
|
+
* An initial message to post in the chat when created.
|
|
376
|
+
*/
|
|
103
377
|
message?: MessageObject | string;
|
|
104
|
-
|
|
105
|
-
|
|
378
|
+
/**
|
|
379
|
+
* Option settings that affect the creation of the chat
|
|
380
|
+
*/
|
|
381
|
+
options?: ChatOptions;
|
|
382
|
+
type: "fdc3.chat.initSettings";
|
|
106
383
|
id?: {
|
|
107
384
|
[key: string]: any;
|
|
108
385
|
};
|
|
109
386
|
name?: string;
|
|
110
387
|
[property: string]: any;
|
|
111
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Contacts to add to the chat
|
|
391
|
+
*
|
|
392
|
+
* A list of contacts involved in the interaction
|
|
393
|
+
*
|
|
394
|
+
* A collection of contacts, e.g. for chatting to or calling multiple contacts.
|
|
395
|
+
*
|
|
396
|
+
* The contact list schema does not explicitly include identifiers in the `id` section, as
|
|
397
|
+
* there is not a common standard for such identifiers. Applications can, however, populate
|
|
398
|
+
* this part of the contract with custom identifiers if so desired.
|
|
399
|
+
*/
|
|
112
400
|
export interface ContactListObject {
|
|
401
|
+
/**
|
|
402
|
+
* An array of contact contexts that forms the list.
|
|
403
|
+
*/
|
|
113
404
|
contacts: ContactElement[];
|
|
114
|
-
type:
|
|
405
|
+
type: "fdc3.contactList";
|
|
115
406
|
id?: {
|
|
116
407
|
[key: string]: any;
|
|
117
408
|
};
|
|
118
409
|
name?: string;
|
|
119
410
|
[property: string]: any;
|
|
120
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* The contact that initiated the interaction
|
|
414
|
+
*
|
|
415
|
+
* A person contact that can be engaged with through email, calling, messaging, CMS, etc.
|
|
416
|
+
*/
|
|
121
417
|
export interface ContactElement {
|
|
122
|
-
|
|
123
|
-
|
|
418
|
+
/**
|
|
419
|
+
* Identifiers that relate to the Contact represented by this context
|
|
420
|
+
*/
|
|
421
|
+
id: PurpleContactIdentifiers;
|
|
422
|
+
type: "fdc3.contact";
|
|
124
423
|
name?: string;
|
|
125
424
|
[property: string]: any;
|
|
126
425
|
}
|
|
127
|
-
|
|
426
|
+
/**
|
|
427
|
+
* Identifiers that relate to the Contact represented by this context
|
|
428
|
+
*/
|
|
429
|
+
export interface PurpleContactIdentifiers {
|
|
430
|
+
/**
|
|
431
|
+
* The email address for the contact
|
|
432
|
+
*/
|
|
128
433
|
email?: string;
|
|
434
|
+
/**
|
|
435
|
+
* FactSet Permanent Identifier representing the contact
|
|
436
|
+
*/
|
|
129
437
|
FDS_ID?: string;
|
|
130
438
|
[property: string]: any;
|
|
131
439
|
}
|
|
440
|
+
/**
|
|
441
|
+
* Free text to be used for a keyword search
|
|
442
|
+
*
|
|
443
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
444
|
+
* `'Meeting'` although other string values are permitted.
|
|
445
|
+
*/
|
|
446
|
+
/**
|
|
447
|
+
* Free text to be used for a keyword search
|
|
448
|
+
*
|
|
449
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
450
|
+
* `'Meeting'` although other string values are permitted.
|
|
451
|
+
*/
|
|
452
|
+
/**
|
|
453
|
+
* A chat message to be sent through an instant messaging application. Can contain one or
|
|
454
|
+
* several text bodies (organized by mime-type, plaintext or markdown), as well as attached
|
|
455
|
+
* entities (either arbitrary file attachments or FDC3 actions to be embedded in the
|
|
456
|
+
* message). To be put inside a ChatInitSettings object.
|
|
457
|
+
*/
|
|
132
458
|
export interface MessageObject {
|
|
459
|
+
/**
|
|
460
|
+
* A map of string IDs to entities that should be attached to the message, such as an action
|
|
461
|
+
* to perform, a file attachment, or other FDC3 context object.
|
|
462
|
+
*/
|
|
133
463
|
entities?: {
|
|
134
464
|
[key: string]: PurpleAction;
|
|
135
465
|
};
|
|
136
|
-
|
|
137
|
-
|
|
466
|
+
/**
|
|
467
|
+
* A map of string mime-type to string content
|
|
468
|
+
*/
|
|
469
|
+
text?: PurpleMessageText;
|
|
470
|
+
type: "fdc3.message";
|
|
138
471
|
id?: {
|
|
139
472
|
[key: string]: any;
|
|
140
473
|
};
|
|
141
474
|
name?: string;
|
|
142
475
|
[property: string]: any;
|
|
143
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* A representation of an FDC3 Action (specified via a Context or Context & Intent) that can
|
|
479
|
+
* be inserted inside another object, for example a chat message.
|
|
480
|
+
*
|
|
481
|
+
* The action may be completed by calling `fdc3.raiseIntent()` with the specified Intent and
|
|
482
|
+
* Context, or, if only a context is specified, by calling `fdc3.raiseIntentForContext()`
|
|
483
|
+
* (which the Desktop Agent will resolve by presenting the user with a list of available
|
|
484
|
+
* Intents for the Context).
|
|
485
|
+
*
|
|
486
|
+
* Accepts an optional `app` parameter in order to specify a specific app.
|
|
487
|
+
*
|
|
488
|
+
* A File attachment encoded in the form of a data URI
|
|
489
|
+
*/
|
|
144
490
|
export interface PurpleAction {
|
|
145
|
-
app?: EntityApp;
|
|
146
|
-
context?: EntityContext;
|
|
147
|
-
customConfig?: {
|
|
148
|
-
[key: string]: any;
|
|
149
|
-
};
|
|
150
491
|
/**
|
|
151
|
-
*
|
|
492
|
+
* An optional target application identifier that should perform the action
|
|
493
|
+
*/
|
|
494
|
+
app?: ActionTargetApp;
|
|
495
|
+
/**
|
|
496
|
+
* A context object with which the action will be performed
|
|
497
|
+
*/
|
|
498
|
+
context?: ContextElement;
|
|
499
|
+
/**
|
|
500
|
+
* Optional Intent to raise to perform the actions. Should reference an intent type name,
|
|
501
|
+
* such as those defined in the FDC3 Standard. If intent is not set then
|
|
502
|
+
* `fdc3.raiseIntentForContext` should be used to perform the action as this will usually
|
|
503
|
+
* allow the user to choose the intent to raise.
|
|
152
504
|
*/
|
|
153
505
|
intent?: string;
|
|
506
|
+
/**
|
|
507
|
+
* A human readable display name for the action
|
|
508
|
+
*/
|
|
154
509
|
title?: string;
|
|
155
|
-
type:
|
|
510
|
+
type: EntityType;
|
|
156
511
|
id?: {
|
|
157
512
|
[key: string]: any;
|
|
158
513
|
};
|
|
@@ -160,244 +515,838 @@ export interface PurpleAction {
|
|
|
160
515
|
data?: PurpleData;
|
|
161
516
|
[property: string]: any;
|
|
162
517
|
}
|
|
163
|
-
export interface EntityApp {
|
|
164
|
-
appId: string;
|
|
165
|
-
instanceId?: string;
|
|
166
|
-
[property: string]: any;
|
|
167
|
-
}
|
|
168
|
-
export interface EntityContext {
|
|
169
|
-
id?: {
|
|
170
|
-
[key: string]: any;
|
|
171
|
-
};
|
|
172
|
-
name?: string;
|
|
173
|
-
type: string;
|
|
174
|
-
[property: string]: any;
|
|
175
|
-
}
|
|
176
518
|
export interface PurpleData {
|
|
519
|
+
/**
|
|
520
|
+
* A data URI encoding the content of the file to be attached
|
|
521
|
+
*/
|
|
177
522
|
dataUri: string;
|
|
523
|
+
/**
|
|
524
|
+
* The name of the attached file
|
|
525
|
+
*/
|
|
178
526
|
name: string;
|
|
179
527
|
[property: string]: any;
|
|
180
528
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
529
|
+
/**
|
|
530
|
+
* Free text to be used for a keyword search
|
|
531
|
+
*
|
|
532
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
533
|
+
* `'Meeting'` although other string values are permitted.
|
|
534
|
+
*/
|
|
535
|
+
export declare type EntityType = "fdc3.action" | "fdc3.entity.fileAttachment";
|
|
536
|
+
/**
|
|
537
|
+
* A map of string mime-type to string content
|
|
538
|
+
*/
|
|
539
|
+
export interface PurpleMessageText {
|
|
540
|
+
/**
|
|
541
|
+
* Markdown encoded content
|
|
542
|
+
*/
|
|
543
|
+
"text/markdown"?: string;
|
|
544
|
+
/**
|
|
545
|
+
* Plain text encoded content.
|
|
546
|
+
*/
|
|
547
|
+
"text/plain"?: string;
|
|
184
548
|
[property: string]: any;
|
|
185
549
|
}
|
|
186
|
-
|
|
550
|
+
/**
|
|
551
|
+
* Free text to be used for a keyword search
|
|
552
|
+
*
|
|
553
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
554
|
+
* `'Meeting'` although other string values are permitted.
|
|
555
|
+
*/
|
|
556
|
+
/**
|
|
557
|
+
* Option settings that affect the creation of the chat
|
|
558
|
+
*/
|
|
559
|
+
export interface ChatOptions {
|
|
560
|
+
/**
|
|
561
|
+
* if true members will be allowed to add other members to the chat
|
|
562
|
+
*/
|
|
187
563
|
allowAddUser?: boolean;
|
|
564
|
+
/**
|
|
565
|
+
* if true members will be allowed to browse past messages
|
|
566
|
+
*/
|
|
188
567
|
allowHistoryBrowsing?: boolean;
|
|
568
|
+
/**
|
|
569
|
+
* if true members will be allowed to copy/paste messages
|
|
570
|
+
*/
|
|
189
571
|
allowMessageCopy?: boolean;
|
|
572
|
+
/**
|
|
573
|
+
* if false a separate chat will be created for each member
|
|
574
|
+
*/
|
|
190
575
|
groupRecipients?: boolean;
|
|
576
|
+
/**
|
|
577
|
+
* if true the room will be visible to everyone in the chat application
|
|
578
|
+
*/
|
|
191
579
|
isPublic?: boolean;
|
|
192
580
|
[property: string]: any;
|
|
193
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* Free text to be used for a keyword search
|
|
584
|
+
*
|
|
585
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
586
|
+
* `'Meeting'` although other string values are permitted.
|
|
587
|
+
*/
|
|
588
|
+
/**
|
|
589
|
+
* A context representing a chat message. Typically used to send the message or to
|
|
590
|
+
* pre-populate a message for sending.
|
|
591
|
+
*/
|
|
194
592
|
export interface ChatMessage {
|
|
195
593
|
chatRoom: ChatRoomObject;
|
|
196
594
|
message: MessageObject;
|
|
197
|
-
type:
|
|
595
|
+
type: "fdc3.chat.message";
|
|
198
596
|
id?: {
|
|
199
597
|
[key: string]: any;
|
|
200
598
|
};
|
|
201
599
|
name?: string;
|
|
202
600
|
[property: string]: any;
|
|
203
601
|
}
|
|
602
|
+
/**
|
|
603
|
+
* Reference to the chat room which could be used to send a message to the room
|
|
604
|
+
*/
|
|
204
605
|
export interface ChatRoomObject {
|
|
606
|
+
/**
|
|
607
|
+
* Identifier(s) for the chat - currently unstandardized
|
|
608
|
+
*/
|
|
205
609
|
id: {
|
|
206
610
|
[key: string]: any;
|
|
207
611
|
};
|
|
612
|
+
/**
|
|
613
|
+
* Display name for the chat room
|
|
614
|
+
*/
|
|
208
615
|
name?: string;
|
|
616
|
+
/**
|
|
617
|
+
* The name of the service that hosts the chat
|
|
618
|
+
*/
|
|
209
619
|
providerName: string;
|
|
210
|
-
type:
|
|
620
|
+
type: "fdc3.chat.room";
|
|
621
|
+
/**
|
|
622
|
+
* Universal url to access to the room. It could be opened from a browser, a mobile app,
|
|
623
|
+
* etc...
|
|
624
|
+
*/
|
|
211
625
|
url?: string;
|
|
212
626
|
[property: string]: any;
|
|
213
627
|
}
|
|
628
|
+
/**
|
|
629
|
+
* Free text to be used for a keyword search
|
|
630
|
+
*
|
|
631
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
632
|
+
* `'Meeting'` although other string values are permitted.
|
|
633
|
+
*/
|
|
634
|
+
/**
|
|
635
|
+
* Free text to be used for a keyword search
|
|
636
|
+
*
|
|
637
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
638
|
+
* `'Meeting'` although other string values are permitted.
|
|
639
|
+
*/
|
|
640
|
+
/**
|
|
641
|
+
* Reference to the chat room which could be used to send a message to the room
|
|
642
|
+
*/
|
|
214
643
|
export interface ChatRoom {
|
|
644
|
+
/**
|
|
645
|
+
* Identifier(s) for the chat - currently unstandardized
|
|
646
|
+
*/
|
|
215
647
|
id: {
|
|
216
648
|
[key: string]: any;
|
|
217
649
|
};
|
|
650
|
+
/**
|
|
651
|
+
* Display name for the chat room
|
|
652
|
+
*/
|
|
218
653
|
name?: string;
|
|
654
|
+
/**
|
|
655
|
+
* The name of the service that hosts the chat
|
|
656
|
+
*/
|
|
219
657
|
providerName: string;
|
|
220
|
-
type:
|
|
658
|
+
type: "fdc3.chat.room";
|
|
659
|
+
/**
|
|
660
|
+
* Universal url to access to the room. It could be opened from a browser, a mobile app,
|
|
661
|
+
* etc...
|
|
662
|
+
*/
|
|
221
663
|
url?: string;
|
|
222
664
|
[property: string]: any;
|
|
223
665
|
}
|
|
666
|
+
/**
|
|
667
|
+
* A context type that represents a simple search criterion, based on a list of other
|
|
668
|
+
* context objects, that can be used to search or filter messages in a chat application.
|
|
669
|
+
*/
|
|
224
670
|
export interface ChatSearchCriteria {
|
|
671
|
+
/**
|
|
672
|
+
* An array of criteria that should match chats returned from by a search.
|
|
673
|
+
*
|
|
674
|
+
* ⚠️ Operators (and/or/not) are not defined in `fdc3.chat.searchCriteria`. It is up to the
|
|
675
|
+
* application that processes the FDC3 Intent to choose and apply the operators between the
|
|
676
|
+
* criteria.
|
|
677
|
+
*
|
|
678
|
+
* Empty search criteria can be supported to allow resetting of filters.
|
|
679
|
+
*/
|
|
225
680
|
criteria: Array<OrganizationObject | string>;
|
|
226
|
-
type:
|
|
681
|
+
type: "fdc3.chat.searchCriteria";
|
|
227
682
|
id?: {
|
|
228
683
|
[key: string]: any;
|
|
229
684
|
};
|
|
230
685
|
name?: string;
|
|
231
686
|
[property: string]: any;
|
|
232
687
|
}
|
|
688
|
+
/**
|
|
689
|
+
* financial instrument that relates to the definition of this product
|
|
690
|
+
*
|
|
691
|
+
*
|
|
692
|
+
*
|
|
693
|
+
* A financial instrument from any asset class.
|
|
694
|
+
*
|
|
695
|
+
* An entity that can be used when referencing private companies and other organizations
|
|
696
|
+
* where a specific instrument is not available or desired e.g. CRM and News workflows.
|
|
697
|
+
*
|
|
698
|
+
* It is valid to include extra properties and metadata as part of the organization payload,
|
|
699
|
+
* but the minimum requirement is for at least one specified identifier to be provided.
|
|
700
|
+
*
|
|
701
|
+
* The contact that initiated the interaction
|
|
702
|
+
*
|
|
703
|
+
* A person contact that can be engaged with through email, calling, messaging, CMS, etc.
|
|
704
|
+
*/
|
|
233
705
|
export interface OrganizationObject {
|
|
234
|
-
|
|
706
|
+
/**
|
|
707
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
708
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
709
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
710
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
711
|
+
*
|
|
712
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
713
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
714
|
+
*
|
|
715
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
716
|
+
* for tickers as used by an exchange.
|
|
717
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
718
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
719
|
+
* make interpretation easier for the developers of target applications.
|
|
720
|
+
*
|
|
721
|
+
* Identifiers for the organization, at least one must be provided.
|
|
722
|
+
*
|
|
723
|
+
* Identifiers that relate to the Contact represented by this context
|
|
724
|
+
*/
|
|
725
|
+
id: Identifiers;
|
|
726
|
+
/**
|
|
727
|
+
* The `market` map can be used to further specify the instrument and help achieve
|
|
728
|
+
* interoperability between disparate data sources. This is especially useful when using an
|
|
729
|
+
* `id` field that is not globally unique.
|
|
730
|
+
*/
|
|
235
731
|
market?: OrganizationMarket;
|
|
236
|
-
type:
|
|
732
|
+
type: TentacledInteractionType;
|
|
237
733
|
name?: string;
|
|
238
734
|
[property: string]: any;
|
|
239
735
|
}
|
|
240
|
-
|
|
736
|
+
/**
|
|
737
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
738
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
739
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
740
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
741
|
+
*
|
|
742
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
743
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
744
|
+
*
|
|
745
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
746
|
+
* for tickers as used by an exchange.
|
|
747
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
748
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
749
|
+
* make interpretation easier for the developers of target applications.
|
|
750
|
+
*
|
|
751
|
+
* Identifiers for the organization, at least one must be provided.
|
|
752
|
+
*
|
|
753
|
+
* Identifiers that relate to the Contact represented by this context
|
|
754
|
+
*/
|
|
755
|
+
export interface Identifiers {
|
|
756
|
+
/**
|
|
757
|
+
* <https://www.bloomberg.com/>
|
|
758
|
+
*/
|
|
241
759
|
BBG?: string;
|
|
760
|
+
/**
|
|
761
|
+
* <https://www.cusip.com/>
|
|
762
|
+
*/
|
|
242
763
|
CUSIP?: string;
|
|
764
|
+
/**
|
|
765
|
+
* <https://www.factset.com/>
|
|
766
|
+
*
|
|
767
|
+
* FactSet Permanent Identifier representing the organization
|
|
768
|
+
*
|
|
769
|
+
* FactSet Permanent Identifier representing the contact
|
|
770
|
+
*/
|
|
243
771
|
FDS_ID?: string;
|
|
772
|
+
/**
|
|
773
|
+
* <https://www.openfigi.com/>
|
|
774
|
+
*/
|
|
244
775
|
FIGI?: string;
|
|
776
|
+
/**
|
|
777
|
+
* <https://www.isin.org/>
|
|
778
|
+
*/
|
|
245
779
|
ISIN?: string;
|
|
780
|
+
/**
|
|
781
|
+
* <https://permid.org/>
|
|
782
|
+
*
|
|
783
|
+
* Refinitiv Permanent Identifiers, or PermID for the organization
|
|
784
|
+
*/
|
|
246
785
|
PERMID?: string;
|
|
786
|
+
/**
|
|
787
|
+
* <https://www.refinitiv.com/>
|
|
788
|
+
*/
|
|
247
789
|
RIC?: string;
|
|
790
|
+
/**
|
|
791
|
+
* <https://www.lseg.com/sedol>
|
|
792
|
+
*/
|
|
248
793
|
SEDOL?: string;
|
|
794
|
+
/**
|
|
795
|
+
* Unstandardized stock tickers
|
|
796
|
+
*/
|
|
249
797
|
ticker?: string;
|
|
798
|
+
/**
|
|
799
|
+
* The Legal Entity Identifier (LEI) is a 20-character, alpha-numeric code based on the ISO
|
|
800
|
+
* 17442 standard developed by the International Organization for Standardization (ISO). It
|
|
801
|
+
* connects to key reference information that enables clear and unique identification of
|
|
802
|
+
* legal entities participating in financial transactions.
|
|
803
|
+
*/
|
|
250
804
|
LEI?: string;
|
|
805
|
+
/**
|
|
806
|
+
* The email address for the contact
|
|
807
|
+
*/
|
|
251
808
|
email?: string;
|
|
252
809
|
[property: string]: any;
|
|
253
810
|
}
|
|
811
|
+
/**
|
|
812
|
+
* Free text to be used for a keyword search
|
|
813
|
+
*
|
|
814
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
815
|
+
* `'Meeting'` although other string values are permitted.
|
|
816
|
+
*/
|
|
817
|
+
export declare type TentacledInteractionType = "fdc3.instrument" | "fdc3.organization" | "fdc3.contact";
|
|
818
|
+
/**
|
|
819
|
+
* Free text to be used for a keyword search
|
|
820
|
+
*
|
|
821
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
822
|
+
* `'Meeting'` although other string values are permitted.
|
|
823
|
+
*/
|
|
824
|
+
/**
|
|
825
|
+
* A person contact that can be engaged with through email, calling, messaging, CMS, etc.
|
|
826
|
+
*/
|
|
254
827
|
export interface Contact {
|
|
255
|
-
|
|
256
|
-
|
|
828
|
+
/**
|
|
829
|
+
* Identifiers that relate to the Contact represented by this context
|
|
830
|
+
*/
|
|
831
|
+
id: FluffyContactIdentifiers;
|
|
832
|
+
type: "fdc3.contact";
|
|
257
833
|
name?: string;
|
|
258
834
|
[property: string]: any;
|
|
259
835
|
}
|
|
260
|
-
|
|
836
|
+
/**
|
|
837
|
+
* Identifiers that relate to the Contact represented by this context
|
|
838
|
+
*/
|
|
839
|
+
export interface FluffyContactIdentifiers {
|
|
840
|
+
/**
|
|
841
|
+
* The email address for the contact
|
|
842
|
+
*/
|
|
261
843
|
email?: string;
|
|
844
|
+
/**
|
|
845
|
+
* FactSet Permanent Identifier representing the contact
|
|
846
|
+
*/
|
|
262
847
|
FDS_ID?: string;
|
|
263
848
|
[property: string]: any;
|
|
264
849
|
}
|
|
850
|
+
/**
|
|
851
|
+
* A collection of contacts, e.g. for chatting to or calling multiple contacts.
|
|
852
|
+
*
|
|
853
|
+
* The contact list schema does not explicitly include identifiers in the `id` section, as
|
|
854
|
+
* there is not a common standard for such identifiers. Applications can, however, populate
|
|
855
|
+
* this part of the contract with custom identifiers if so desired.
|
|
856
|
+
*/
|
|
265
857
|
export interface ContactList {
|
|
858
|
+
/**
|
|
859
|
+
* An array of contact contexts that forms the list.
|
|
860
|
+
*/
|
|
266
861
|
contacts: ContactElement[];
|
|
267
|
-
type:
|
|
862
|
+
type: "fdc3.contactList";
|
|
268
863
|
id?: {
|
|
269
864
|
[key: string]: any;
|
|
270
865
|
};
|
|
271
866
|
name?: string;
|
|
272
867
|
[property: string]: any;
|
|
273
868
|
}
|
|
869
|
+
/**
|
|
870
|
+
* The `fdc3.context` type defines the basic contract or "shape" for all data exchanged by
|
|
871
|
+
* FDC3 operations. As such, it is not really meant to be used on its own, but is imported
|
|
872
|
+
* by more specific type definitions (standardized or custom) to provide the structure and
|
|
873
|
+
* properties shared by all FDC3 context data types.
|
|
874
|
+
*
|
|
875
|
+
* The key element of FDC3 context types is their mandatory `type` property, which is used
|
|
876
|
+
* to identify what type of data the object represents, and what shape it has.
|
|
877
|
+
*
|
|
878
|
+
* The FDC3 context type, and all derived types, define the minimum set of fields a context
|
|
879
|
+
* data object of a particular type can be expected to have, but this can always be extended
|
|
880
|
+
* with custom fields as appropriate.
|
|
881
|
+
*/
|
|
274
882
|
export interface Context {
|
|
883
|
+
/**
|
|
884
|
+
* Context data objects may include a set of equivalent key-value pairs that can be used to
|
|
885
|
+
* help applications identify and look up the context type they receive in their own domain.
|
|
886
|
+
* The idea behind this design is that applications can provide as many equivalent
|
|
887
|
+
* identifiers to a target application as possible, e.g. an instrument may be represented by
|
|
888
|
+
* an ISIN, CUSIP or Bloomberg identifier.
|
|
889
|
+
*
|
|
890
|
+
* Identifiers do not make sense for all types of data, so the `id` property is therefore
|
|
891
|
+
* optional, but some derived types may choose to require at least one identifier.
|
|
892
|
+
* Identifier values SHOULD always be of type string.
|
|
893
|
+
*/
|
|
275
894
|
id?: {
|
|
276
895
|
[key: string]: any;
|
|
277
896
|
};
|
|
897
|
+
/**
|
|
898
|
+
* Context data objects may include a name property that can be used for more information,
|
|
899
|
+
* or display purposes. Some derived types may require the name object as mandatory,
|
|
900
|
+
* depending on use case.
|
|
901
|
+
*/
|
|
278
902
|
name?: string;
|
|
903
|
+
/**
|
|
904
|
+
* The type property is the only _required_ part of the FDC3 context data schema. The FDC3
|
|
905
|
+
* [API](https://fdc3.finos.org/docs/api/spec) relies on the `type` property being present
|
|
906
|
+
* to route shared context data appropriately.
|
|
907
|
+
*
|
|
908
|
+
* FDC3 [Intents](https://fdc3.finos.org/docs/intents/spec) also register the context data
|
|
909
|
+
* types they support in an FDC3 [App
|
|
910
|
+
* Directory](https://fdc3.finos.org/docs/app-directory/overview), used for intent discovery
|
|
911
|
+
* and routing.
|
|
912
|
+
*
|
|
913
|
+
* Standardized FDC3 context types have well-known `type` properties prefixed with the
|
|
914
|
+
* `fdc3` namespace, e.g. `fdc3.instrument`. For non-standard types, e.g. those defined and
|
|
915
|
+
* used by a particular organization, the convention is to prefix them with an
|
|
916
|
+
* organization-specific namespace, e.g. `blackrock.fund`.
|
|
917
|
+
*
|
|
918
|
+
* See the [Context Data Specification](https://fdc3.finos.org/docs/context/spec) for more
|
|
919
|
+
* information about context data types.
|
|
920
|
+
*/
|
|
279
921
|
type: string;
|
|
280
922
|
[property: string]: any;
|
|
281
923
|
}
|
|
924
|
+
/**
|
|
925
|
+
* A country entity.
|
|
926
|
+
*
|
|
927
|
+
* Notes:
|
|
928
|
+
*
|
|
929
|
+
* - It is valid to include extra properties and metadata as part of the country payload,
|
|
930
|
+
* but the minimum requirement is for at least one standardized identifier to be provided
|
|
931
|
+
*
|
|
932
|
+
* - `COUNTRY_ISOALPHA2` SHOULD be preferred.
|
|
933
|
+
*
|
|
934
|
+
* - Try to only use country identifiers as intended and specified in the [ISO
|
|
935
|
+
* standard](https://en.wikipedia.org/wiki/ISO_3166-1). E.g. the `COUNTRY_ISOALPHA2`
|
|
936
|
+
* property must be a recognized value and not a proprietary two-letter code. If the
|
|
937
|
+
* identifier you want to share is not a standardized and recognized one, rather define a
|
|
938
|
+
* property that makes it clear what value it is. This makes it easier for target
|
|
939
|
+
* applications.
|
|
940
|
+
*/
|
|
282
941
|
export interface Country {
|
|
283
942
|
id: CountryID;
|
|
284
|
-
type:
|
|
943
|
+
type: "fdc3.country";
|
|
285
944
|
name?: string;
|
|
286
945
|
[property: string]: any;
|
|
287
946
|
}
|
|
288
947
|
export interface CountryID {
|
|
948
|
+
/**
|
|
949
|
+
* Two-letter ISO country code
|
|
950
|
+
*/
|
|
289
951
|
COUNTRY_ISOALPHA2?: string;
|
|
952
|
+
/**
|
|
953
|
+
* Three-letter ISO country code
|
|
954
|
+
*/
|
|
290
955
|
COUNTRY_ISOALPHA3?: string;
|
|
956
|
+
/**
|
|
957
|
+
* Two-letter ISO country code. Deprecated in FDC3 2.0 in favour of the version prefixed
|
|
958
|
+
* with `COUNTRY_`.
|
|
959
|
+
*/
|
|
291
960
|
ISOALPHA2?: string;
|
|
961
|
+
/**
|
|
962
|
+
* Three-letter ISO country code. Deprecated in FDC3 2.0 in favour of the version prefixed
|
|
963
|
+
* with `COUNTRY_`.
|
|
964
|
+
*/
|
|
292
965
|
ISOALPHA3?: string;
|
|
293
966
|
[property: string]: any;
|
|
294
967
|
}
|
|
968
|
+
/**
|
|
969
|
+
* Free text to be used for a keyword search
|
|
970
|
+
*
|
|
971
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
972
|
+
* `'Meeting'` although other string values are permitted.
|
|
973
|
+
*/
|
|
974
|
+
/**
|
|
975
|
+
* A context representing an individual Currency.
|
|
976
|
+
*/
|
|
295
977
|
export interface Currency {
|
|
296
978
|
id: CurrencyID;
|
|
979
|
+
/**
|
|
980
|
+
* The name of the currency for display purposes
|
|
981
|
+
*/
|
|
297
982
|
name?: string;
|
|
298
|
-
type:
|
|
983
|
+
type: "fdc3.currency";
|
|
299
984
|
[property: string]: any;
|
|
300
985
|
}
|
|
301
986
|
export interface CurrencyID {
|
|
987
|
+
/**
|
|
988
|
+
* The `CURRENCY_ISOCODE` should conform to 3 character alphabetic codes defined in [ISO
|
|
989
|
+
* 4217](https://www.iso.org/iso-4217-currency-codes.html)
|
|
990
|
+
*/
|
|
302
991
|
CURRENCY_ISOCODE?: string;
|
|
303
992
|
[property: string]: any;
|
|
304
993
|
}
|
|
994
|
+
/**
|
|
995
|
+
* Free text to be used for a keyword search
|
|
996
|
+
*
|
|
997
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
998
|
+
* `'Meeting'` although other string values are permitted.
|
|
999
|
+
*/
|
|
1000
|
+
/**
|
|
1001
|
+
* A collection of information to be used to initiate an email with a Contact or ContactList.
|
|
1002
|
+
*/
|
|
305
1003
|
export interface Email {
|
|
306
|
-
|
|
1004
|
+
/**
|
|
1005
|
+
* One or more receipients for the email.
|
|
1006
|
+
*/
|
|
1007
|
+
recipients: EmailRecipients;
|
|
1008
|
+
/**
|
|
1009
|
+
* Subject line for the email.
|
|
1010
|
+
*/
|
|
307
1011
|
subject?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* Body content for the email.
|
|
1014
|
+
*/
|
|
308
1015
|
textBody?: string;
|
|
309
|
-
type:
|
|
1016
|
+
type: "fdc3.email";
|
|
310
1017
|
id?: {
|
|
311
1018
|
[key: string]: any;
|
|
312
1019
|
};
|
|
313
1020
|
name?: string;
|
|
314
1021
|
[property: string]: any;
|
|
315
1022
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
1023
|
+
/**
|
|
1024
|
+
* One or more receipients for the email.
|
|
1025
|
+
*
|
|
1026
|
+
* The contact that initiated the interaction
|
|
1027
|
+
*
|
|
1028
|
+
* A person contact that can be engaged with through email, calling, messaging, CMS, etc.
|
|
1029
|
+
*
|
|
1030
|
+
* Contacts to add to the chat
|
|
1031
|
+
*
|
|
1032
|
+
* A list of contacts involved in the interaction
|
|
1033
|
+
*
|
|
1034
|
+
* A collection of contacts, e.g. for chatting to or calling multiple contacts.
|
|
1035
|
+
*
|
|
1036
|
+
* The contact list schema does not explicitly include identifiers in the `id` section, as
|
|
1037
|
+
* there is not a common standard for such identifiers. Applications can, however, populate
|
|
1038
|
+
* this part of the contract with custom identifiers if so desired.
|
|
1039
|
+
*/
|
|
1040
|
+
export interface EmailRecipients {
|
|
1041
|
+
/**
|
|
1042
|
+
* Identifiers that relate to the Contact represented by this context
|
|
1043
|
+
*/
|
|
1044
|
+
id?: EmailRecipientsID;
|
|
1045
|
+
type: EmailRecipientsType;
|
|
319
1046
|
name?: string;
|
|
1047
|
+
/**
|
|
1048
|
+
* An array of contact contexts that forms the list.
|
|
1049
|
+
*/
|
|
320
1050
|
contacts?: ContactElement[];
|
|
321
1051
|
[property: string]: any;
|
|
322
1052
|
}
|
|
323
|
-
|
|
1053
|
+
/**
|
|
1054
|
+
* Identifiers that relate to the Contact represented by this context
|
|
1055
|
+
*/
|
|
1056
|
+
export interface EmailRecipientsID {
|
|
1057
|
+
/**
|
|
1058
|
+
* The email address for the contact
|
|
1059
|
+
*/
|
|
324
1060
|
email?: string;
|
|
1061
|
+
/**
|
|
1062
|
+
* FactSet Permanent Identifier representing the contact
|
|
1063
|
+
*/
|
|
325
1064
|
FDS_ID?: string;
|
|
326
1065
|
[property: string]: any;
|
|
327
1066
|
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Free text to be used for a keyword search
|
|
1069
|
+
*
|
|
1070
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1071
|
+
* `'Meeting'` although other string values are permitted.
|
|
1072
|
+
*/
|
|
1073
|
+
export declare type EmailRecipientsType = "fdc3.contact" | "fdc3.contactList";
|
|
1074
|
+
/**
|
|
1075
|
+
* Free text to be used for a keyword search
|
|
1076
|
+
*
|
|
1077
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1078
|
+
* `'Meeting'` although other string values are permitted.
|
|
1079
|
+
*/
|
|
1080
|
+
/**
|
|
1081
|
+
* A financial instrument from any asset class.
|
|
1082
|
+
*/
|
|
328
1083
|
export interface Instrument {
|
|
329
|
-
|
|
1084
|
+
/**
|
|
1085
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
1086
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
1087
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
1088
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
1089
|
+
*
|
|
1090
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
1091
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
1092
|
+
*
|
|
1093
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
1094
|
+
* for tickers as used by an exchange.
|
|
1095
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
1096
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
1097
|
+
* make interpretation easier for the developers of target applications.
|
|
1098
|
+
*/
|
|
1099
|
+
id: FluffyInstrumentIdentifiers;
|
|
1100
|
+
/**
|
|
1101
|
+
* The `market` map can be used to further specify the instrument and help achieve
|
|
1102
|
+
* interoperability between disparate data sources. This is especially useful when using an
|
|
1103
|
+
* `id` field that is not globally unique.
|
|
1104
|
+
*/
|
|
330
1105
|
market?: PurpleMarket;
|
|
331
|
-
type:
|
|
1106
|
+
type: "fdc3.instrument";
|
|
332
1107
|
name?: string;
|
|
333
1108
|
[property: string]: any;
|
|
334
1109
|
}
|
|
335
|
-
|
|
1110
|
+
/**
|
|
1111
|
+
* Any combination of instrument identifiers can be used together to resolve ambiguity, or
|
|
1112
|
+
* for a better match. Not all applications will use the same instrument identifiers, which
|
|
1113
|
+
* is why FDC3 allows for multiple to be specified. In general, the more identifiers an
|
|
1114
|
+
* application can provide, the easier it will be to achieve interoperability.
|
|
1115
|
+
*
|
|
1116
|
+
* It is valid to include extra properties and metadata as part of the instrument payload,
|
|
1117
|
+
* but the minimum requirement is for at least one instrument identifier to be provided.
|
|
1118
|
+
*
|
|
1119
|
+
* Try to only use instrument identifiers as intended. E.g. the `ticker` property is meant
|
|
1120
|
+
* for tickers as used by an exchange.
|
|
1121
|
+
* If the identifier you want to share is not a ticker or one of the other standardized
|
|
1122
|
+
* fields, define a property that makes it clear what the value represents. Doing so will
|
|
1123
|
+
* make interpretation easier for the developers of target applications.
|
|
1124
|
+
*/
|
|
1125
|
+
export interface FluffyInstrumentIdentifiers {
|
|
1126
|
+
/**
|
|
1127
|
+
* <https://www.bloomberg.com/>
|
|
1128
|
+
*/
|
|
336
1129
|
BBG?: string;
|
|
1130
|
+
/**
|
|
1131
|
+
* <https://www.cusip.com/>
|
|
1132
|
+
*/
|
|
337
1133
|
CUSIP?: string;
|
|
1134
|
+
/**
|
|
1135
|
+
* <https://www.factset.com/>
|
|
1136
|
+
*/
|
|
338
1137
|
FDS_ID?: string;
|
|
1138
|
+
/**
|
|
1139
|
+
* <https://www.openfigi.com/>
|
|
1140
|
+
*/
|
|
339
1141
|
FIGI?: string;
|
|
1142
|
+
/**
|
|
1143
|
+
* <https://www.isin.org/>
|
|
1144
|
+
*/
|
|
340
1145
|
ISIN?: string;
|
|
1146
|
+
/**
|
|
1147
|
+
* <https://permid.org/>
|
|
1148
|
+
*/
|
|
341
1149
|
PERMID?: string;
|
|
1150
|
+
/**
|
|
1151
|
+
* <https://www.refinitiv.com/>
|
|
1152
|
+
*/
|
|
342
1153
|
RIC?: string;
|
|
1154
|
+
/**
|
|
1155
|
+
* <https://www.lseg.com/sedol>
|
|
1156
|
+
*/
|
|
343
1157
|
SEDOL?: string;
|
|
1158
|
+
/**
|
|
1159
|
+
* Unstandardized stock tickers
|
|
1160
|
+
*/
|
|
344
1161
|
ticker?: string;
|
|
345
1162
|
[property: string]: any;
|
|
346
1163
|
}
|
|
1164
|
+
/**
|
|
1165
|
+
* The `market` map can be used to further specify the instrument and help achieve
|
|
1166
|
+
* interoperability between disparate data sources. This is especially useful when using an
|
|
1167
|
+
* `id` field that is not globally unique.
|
|
1168
|
+
*/
|
|
347
1169
|
export interface PurpleMarket {
|
|
1170
|
+
/**
|
|
1171
|
+
* <https://www.bloomberg.com/>
|
|
1172
|
+
*/
|
|
348
1173
|
BBG?: string;
|
|
1174
|
+
/**
|
|
1175
|
+
* <https://www.iso.org/iso-3166-country-codes.html>
|
|
1176
|
+
*/
|
|
349
1177
|
COUNTRY_ISOALPHA2?: string;
|
|
1178
|
+
/**
|
|
1179
|
+
* <https://en.wikipedia.org/wiki/Market_Identifier_Code>
|
|
1180
|
+
*/
|
|
350
1181
|
MIC?: string;
|
|
1182
|
+
/**
|
|
1183
|
+
* Human readable market name
|
|
1184
|
+
*/
|
|
351
1185
|
name?: string;
|
|
352
1186
|
[property: string]: any;
|
|
353
1187
|
}
|
|
1188
|
+
/**
|
|
1189
|
+
* A collection of instruments. Use this type for use cases that require not just a single
|
|
1190
|
+
* instrument, but multiple (e.g. to populate a watchlist). However, when holding
|
|
1191
|
+
* information for each instrument is required, it is recommended to use the
|
|
1192
|
+
* [Portfolio](Portfolio) type.
|
|
1193
|
+
*
|
|
1194
|
+
* The instrument list schema does not explicitly include identifiers in the `id` section,
|
|
1195
|
+
* as there is not a common standard for such identifiers. Applications can, however,
|
|
1196
|
+
* populate this part of the contract with custom identifiers if so desired.
|
|
1197
|
+
*/
|
|
354
1198
|
export interface InstrumentList {
|
|
1199
|
+
/**
|
|
1200
|
+
* An array of instrument contexts that forms the list.
|
|
1201
|
+
*/
|
|
355
1202
|
instruments: InstrumentElement[];
|
|
356
|
-
type:
|
|
1203
|
+
type: "fdc3.instrumentList";
|
|
357
1204
|
id?: {
|
|
358
1205
|
[key: string]: any;
|
|
359
1206
|
};
|
|
360
1207
|
name?: string;
|
|
361
1208
|
[property: string]: any;
|
|
362
1209
|
}
|
|
1210
|
+
/**
|
|
1211
|
+
* Free text to be used for a keyword search
|
|
1212
|
+
*
|
|
1213
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1214
|
+
* `'Meeting'` although other string values are permitted.
|
|
1215
|
+
*/
|
|
1216
|
+
/**
|
|
1217
|
+
* An `Interaction` is a significant direct exchange of ideas or information between a
|
|
1218
|
+
* number of participants, e.g. a Sell Side party and one or more Buy Side parties. An
|
|
1219
|
+
* `Interaction` might be a call, a meeting (physical or virtual), an IM or the preparation
|
|
1220
|
+
* of some specialist data, such as financial data for a given company or sector.
|
|
1221
|
+
*/
|
|
363
1222
|
export interface Interaction {
|
|
1223
|
+
/**
|
|
1224
|
+
* A human-readable description of the interaction
|
|
1225
|
+
*/
|
|
364
1226
|
description: string;
|
|
1227
|
+
/**
|
|
1228
|
+
* Can be used by a target application to pass an identifier back to the originating
|
|
1229
|
+
* application after an interaction record has been created, updated or deleted. An
|
|
1230
|
+
* interaction ID does not need to be populated by the originating application, however the
|
|
1231
|
+
* target application could store it for future reference and SHOULD return it in a
|
|
1232
|
+
* `TransactionResult`.
|
|
1233
|
+
*/
|
|
1234
|
+
id?: InteractionID;
|
|
1235
|
+
/**
|
|
1236
|
+
* The contact that initiated the interaction
|
|
1237
|
+
*/
|
|
365
1238
|
initiator?: ContactElement;
|
|
1239
|
+
/**
|
|
1240
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1241
|
+
* `'Meeting'` although other string values are permitted.
|
|
1242
|
+
*/
|
|
366
1243
|
interactionType: string;
|
|
1244
|
+
/**
|
|
1245
|
+
* Used to represent the application or service that the interaction was created from to aid
|
|
1246
|
+
* in tracing the source of an interaction.
|
|
1247
|
+
*/
|
|
367
1248
|
origin?: string;
|
|
1249
|
+
/**
|
|
1250
|
+
* A list of contacts involved in the interaction
|
|
1251
|
+
*/
|
|
368
1252
|
participants: ContactListObject;
|
|
1253
|
+
/**
|
|
1254
|
+
* The time range over which the interaction occurred
|
|
1255
|
+
*/
|
|
369
1256
|
timeRange: TimeRangeObject;
|
|
370
|
-
type:
|
|
371
|
-
id?: {
|
|
372
|
-
[key: string]: any;
|
|
373
|
-
};
|
|
1257
|
+
type: "fdc3.interaction";
|
|
374
1258
|
name?: string;
|
|
375
1259
|
[property: string]: any;
|
|
376
1260
|
}
|
|
1261
|
+
/**
|
|
1262
|
+
* Can be used by a target application to pass an identifier back to the originating
|
|
1263
|
+
* application after an interaction record has been created, updated or deleted. An
|
|
1264
|
+
* interaction ID does not need to be populated by the originating application, however the
|
|
1265
|
+
* target application could store it for future reference and SHOULD return it in a
|
|
1266
|
+
* `TransactionResult`.
|
|
1267
|
+
*/
|
|
1268
|
+
export interface InteractionID {
|
|
1269
|
+
/**
|
|
1270
|
+
* Interactions ID in Salesforce
|
|
1271
|
+
*/
|
|
1272
|
+
SALESFORCE?: string;
|
|
1273
|
+
/**
|
|
1274
|
+
* Interaction ID in SingleTrack
|
|
1275
|
+
*/
|
|
1276
|
+
SINGLETRACK?: string;
|
|
1277
|
+
/**
|
|
1278
|
+
* Can be used by a target application to pass a record's link back to the originating
|
|
1279
|
+
* application. This offers the originating application a way to open the record for a user
|
|
1280
|
+
* to view.
|
|
1281
|
+
*/
|
|
1282
|
+
URI?: string;
|
|
1283
|
+
[property: string]: any;
|
|
1284
|
+
}
|
|
1285
|
+
/**
|
|
1286
|
+
* Free text to be used for a keyword search
|
|
1287
|
+
*
|
|
1288
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1289
|
+
* `'Meeting'` although other string values are permitted.
|
|
1290
|
+
*/
|
|
1291
|
+
/**
|
|
1292
|
+
* A chat message to be sent through an instant messaging application. Can contain one or
|
|
1293
|
+
* several text bodies (organized by mime-type, plaintext or markdown), as well as attached
|
|
1294
|
+
* entities (either arbitrary file attachments or FDC3 actions to be embedded in the
|
|
1295
|
+
* message). To be put inside a ChatInitSettings object.
|
|
1296
|
+
*/
|
|
377
1297
|
export interface Message {
|
|
1298
|
+
/**
|
|
1299
|
+
* A map of string IDs to entities that should be attached to the message, such as an action
|
|
1300
|
+
* to perform, a file attachment, or other FDC3 context object.
|
|
1301
|
+
*/
|
|
378
1302
|
entities?: {
|
|
379
1303
|
[key: string]: FluffyAction;
|
|
380
1304
|
};
|
|
381
|
-
|
|
382
|
-
|
|
1305
|
+
/**
|
|
1306
|
+
* A map of string mime-type to string content
|
|
1307
|
+
*/
|
|
1308
|
+
text?: FluffyMessageText;
|
|
1309
|
+
type: "fdc3.message";
|
|
383
1310
|
id?: {
|
|
384
1311
|
[key: string]: any;
|
|
385
1312
|
};
|
|
386
1313
|
name?: string;
|
|
387
1314
|
[property: string]: any;
|
|
388
1315
|
}
|
|
1316
|
+
/**
|
|
1317
|
+
* A representation of an FDC3 Action (specified via a Context or Context & Intent) that can
|
|
1318
|
+
* be inserted inside another object, for example a chat message.
|
|
1319
|
+
*
|
|
1320
|
+
* The action may be completed by calling `fdc3.raiseIntent()` with the specified Intent and
|
|
1321
|
+
* Context, or, if only a context is specified, by calling `fdc3.raiseIntentForContext()`
|
|
1322
|
+
* (which the Desktop Agent will resolve by presenting the user with a list of available
|
|
1323
|
+
* Intents for the Context).
|
|
1324
|
+
*
|
|
1325
|
+
* Accepts an optional `app` parameter in order to specify a specific app.
|
|
1326
|
+
*
|
|
1327
|
+
* A File attachment encoded in the form of a data URI
|
|
1328
|
+
*/
|
|
389
1329
|
export interface FluffyAction {
|
|
390
|
-
app?: EntityApp;
|
|
391
|
-
context?: EntityContext;
|
|
392
|
-
customConfig?: {
|
|
393
|
-
[key: string]: any;
|
|
394
|
-
};
|
|
395
1330
|
/**
|
|
396
|
-
*
|
|
1331
|
+
* An optional target application identifier that should perform the action
|
|
1332
|
+
*/
|
|
1333
|
+
app?: ActionTargetApp;
|
|
1334
|
+
/**
|
|
1335
|
+
* A context object with which the action will be performed
|
|
1336
|
+
*/
|
|
1337
|
+
context?: ContextElement;
|
|
1338
|
+
/**
|
|
1339
|
+
* Optional Intent to raise to perform the actions. Should reference an intent type name,
|
|
1340
|
+
* such as those defined in the FDC3 Standard. If intent is not set then
|
|
1341
|
+
* `fdc3.raiseIntentForContext` should be used to perform the action as this will usually
|
|
1342
|
+
* allow the user to choose the intent to raise.
|
|
397
1343
|
*/
|
|
398
1344
|
intent?: string;
|
|
1345
|
+
/**
|
|
1346
|
+
* A human readable display name for the action
|
|
1347
|
+
*/
|
|
399
1348
|
title?: string;
|
|
400
|
-
type:
|
|
1349
|
+
type: EntityType;
|
|
401
1350
|
id?: {
|
|
402
1351
|
[key: string]: any;
|
|
403
1352
|
};
|
|
@@ -406,23 +1355,58 @@ export interface FluffyAction {
|
|
|
406
1355
|
[property: string]: any;
|
|
407
1356
|
}
|
|
408
1357
|
export interface FluffyData {
|
|
1358
|
+
/**
|
|
1359
|
+
* A data URI encoding the content of the file to be attached
|
|
1360
|
+
*/
|
|
409
1361
|
dataUri: string;
|
|
1362
|
+
/**
|
|
1363
|
+
* The name of the attached file
|
|
1364
|
+
*/
|
|
410
1365
|
name: string;
|
|
411
1366
|
[property: string]: any;
|
|
412
1367
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
1368
|
+
/**
|
|
1369
|
+
* A map of string mime-type to string content
|
|
1370
|
+
*/
|
|
1371
|
+
export interface FluffyMessageText {
|
|
1372
|
+
/**
|
|
1373
|
+
* Markdown encoded content
|
|
1374
|
+
*/
|
|
1375
|
+
"text/markdown"?: string;
|
|
1376
|
+
/**
|
|
1377
|
+
* Plain text encoded content.
|
|
1378
|
+
*/
|
|
1379
|
+
"text/plain"?: string;
|
|
416
1380
|
[property: string]: any;
|
|
417
1381
|
}
|
|
1382
|
+
/**
|
|
1383
|
+
* A type that explicitly represents a lack of context.
|
|
1384
|
+
*
|
|
1385
|
+
* Notes:
|
|
1386
|
+
*
|
|
1387
|
+
* - Intended to be used in situations where no context is desired.
|
|
1388
|
+
* - For example:
|
|
1389
|
+
* - Raising an intent without context (e.g. opening a blank order form, or chat interface
|
|
1390
|
+
* without a contact selected).
|
|
1391
|
+
* - Resetting context on a channel (e.g. when context is used to set a filter in other
|
|
1392
|
+
* applications a null context might release the filter).
|
|
1393
|
+
* - An explicit representation of a Null or empty context allows apps to declare support
|
|
1394
|
+
* for a lack of context, for example in their intent metadata in an app directory.
|
|
1395
|
+
*/
|
|
418
1396
|
export interface Nothing {
|
|
419
|
-
type:
|
|
1397
|
+
type: "fdc3.nothing";
|
|
420
1398
|
id?: {
|
|
421
1399
|
[key: string]: any;
|
|
422
1400
|
};
|
|
423
1401
|
name?: string;
|
|
424
1402
|
[property: string]: any;
|
|
425
1403
|
}
|
|
1404
|
+
/**
|
|
1405
|
+
* Free text to be used for a keyword search
|
|
1406
|
+
*
|
|
1407
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1408
|
+
* `'Meeting'` although other string values are permitted.
|
|
1409
|
+
*/
|
|
426
1410
|
/**
|
|
427
1411
|
* @experimental context type representing an order. To be used with OMS and EMS systems.
|
|
428
1412
|
*
|
|
@@ -451,7 +1435,7 @@ export interface Order {
|
|
|
451
1435
|
* An optional human-readable summary of the order.
|
|
452
1436
|
*/
|
|
453
1437
|
name?: string;
|
|
454
|
-
type:
|
|
1438
|
+
type: "fdc3.order";
|
|
455
1439
|
[property: string]: any;
|
|
456
1440
|
}
|
|
457
1441
|
/**
|
|
@@ -463,11 +1447,17 @@ export interface PurpleOrderDetails {
|
|
|
463
1447
|
[property: string]: any;
|
|
464
1448
|
}
|
|
465
1449
|
/**
|
|
1450
|
+
* A product that is the subject of the trade.
|
|
1451
|
+
*
|
|
466
1452
|
* @experimental context type representing a tradable product. To be used with OMS and EMS
|
|
467
1453
|
* systems.
|
|
468
1454
|
*
|
|
469
1455
|
* This type is currently only loosely defined as an extensible context object, with an
|
|
470
1456
|
* optional instrument field.
|
|
1457
|
+
*
|
|
1458
|
+
* The Product schema does not explicitly include identifiers in the id section, as there is
|
|
1459
|
+
* not a common standard for such identifiers. Applications can, however, populate this part
|
|
1460
|
+
* of the contract with custom identifiers if so desired.
|
|
471
1461
|
*/
|
|
472
1462
|
export interface ProductObject {
|
|
473
1463
|
/**
|
|
@@ -477,20 +1467,43 @@ export interface ProductObject {
|
|
|
477
1467
|
id: {
|
|
478
1468
|
[key: string]: string;
|
|
479
1469
|
};
|
|
1470
|
+
/**
|
|
1471
|
+
* financial instrument that relates to the definition of this product
|
|
1472
|
+
*/
|
|
1473
|
+
instrument?: InstrumentElement;
|
|
480
1474
|
/**
|
|
481
1475
|
* A human-readable summary of the product.
|
|
482
1476
|
*/
|
|
483
1477
|
name?: string;
|
|
484
|
-
type:
|
|
485
|
-
instrument?: InstrumentElement;
|
|
1478
|
+
type: "fdc3.product";
|
|
486
1479
|
[property: string]: any;
|
|
487
1480
|
}
|
|
488
1481
|
/**
|
|
489
|
-
*
|
|
1482
|
+
* Free text to be used for a keyword search
|
|
1483
|
+
*
|
|
1484
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1485
|
+
* `'Meeting'` although other string values are permitted.
|
|
1486
|
+
*/
|
|
1487
|
+
/**
|
|
1488
|
+
* Free text to be used for a keyword search
|
|
1489
|
+
*
|
|
1490
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1491
|
+
* `'Meeting'` although other string values are permitted.
|
|
1492
|
+
*/
|
|
1493
|
+
/**
|
|
1494
|
+
* @experimental A list of orders. Use this type for use cases that require not just a
|
|
1495
|
+
* single order, but multiple.
|
|
1496
|
+
*
|
|
1497
|
+
* The OrderList schema does not explicitly include identifiers in the id section, as there
|
|
1498
|
+
* is not a common standard for such identifiers. Applications can, however, populate this
|
|
1499
|
+
* part of the contract with custom identifiers if so desired.
|
|
490
1500
|
*/
|
|
491
1501
|
export interface OrderList {
|
|
1502
|
+
/**
|
|
1503
|
+
* An array of order contexts that forms the list.
|
|
1504
|
+
*/
|
|
492
1505
|
orders: OrderElement[];
|
|
493
|
-
type:
|
|
1506
|
+
type: "fdc3.orderList";
|
|
494
1507
|
id?: {
|
|
495
1508
|
[key: string]: any;
|
|
496
1509
|
};
|
|
@@ -525,7 +1538,7 @@ export interface OrderElement {
|
|
|
525
1538
|
* An optional human-readable summary of the order.
|
|
526
1539
|
*/
|
|
527
1540
|
name?: string;
|
|
528
|
-
type:
|
|
1541
|
+
type: "fdc3.order";
|
|
529
1542
|
[property: string]: any;
|
|
530
1543
|
}
|
|
531
1544
|
/**
|
|
@@ -536,41 +1549,142 @@ export interface FluffyOrderDetails {
|
|
|
536
1549
|
product?: ProductObject;
|
|
537
1550
|
[property: string]: any;
|
|
538
1551
|
}
|
|
1552
|
+
/**
|
|
1553
|
+
* Free text to be used for a keyword search
|
|
1554
|
+
*
|
|
1555
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1556
|
+
* `'Meeting'` although other string values are permitted.
|
|
1557
|
+
*/
|
|
1558
|
+
/**
|
|
1559
|
+
* An entity that can be used when referencing private companies and other organizations
|
|
1560
|
+
* where a specific instrument is not available or desired e.g. CRM and News workflows.
|
|
1561
|
+
*
|
|
1562
|
+
* It is valid to include extra properties and metadata as part of the organization payload,
|
|
1563
|
+
* but the minimum requirement is for at least one specified identifier to be provided.
|
|
1564
|
+
*/
|
|
539
1565
|
export interface Organization {
|
|
540
|
-
|
|
541
|
-
|
|
1566
|
+
/**
|
|
1567
|
+
* Identifiers for the organization, at least one must be provided.
|
|
1568
|
+
*/
|
|
1569
|
+
id: OrganizationIdentifiers;
|
|
1570
|
+
type: "fdc3.organization";
|
|
542
1571
|
name?: string;
|
|
543
1572
|
[property: string]: any;
|
|
544
1573
|
}
|
|
545
|
-
|
|
1574
|
+
/**
|
|
1575
|
+
* Identifiers for the organization, at least one must be provided.
|
|
1576
|
+
*/
|
|
1577
|
+
export interface OrganizationIdentifiers {
|
|
1578
|
+
/**
|
|
1579
|
+
* FactSet Permanent Identifier representing the organization
|
|
1580
|
+
*/
|
|
546
1581
|
FDS_ID?: string;
|
|
1582
|
+
/**
|
|
1583
|
+
* The Legal Entity Identifier (LEI) is a 20-character, alpha-numeric code based on the ISO
|
|
1584
|
+
* 17442 standard developed by the International Organization for Standardization (ISO). It
|
|
1585
|
+
* connects to key reference information that enables clear and unique identification of
|
|
1586
|
+
* legal entities participating in financial transactions.
|
|
1587
|
+
*/
|
|
547
1588
|
LEI?: string;
|
|
1589
|
+
/**
|
|
1590
|
+
* Refinitiv Permanent Identifiers, or PermID for the organization
|
|
1591
|
+
*/
|
|
548
1592
|
PERMID?: string;
|
|
549
1593
|
[property: string]: any;
|
|
550
1594
|
}
|
|
1595
|
+
/**
|
|
1596
|
+
* Free text to be used for a keyword search
|
|
1597
|
+
*
|
|
1598
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1599
|
+
* `'Meeting'` although other string values are permitted.
|
|
1600
|
+
*/
|
|
1601
|
+
/**
|
|
1602
|
+
* A financial portfolio made up of multiple positions (holdings) in several instruments.
|
|
1603
|
+
* Contrast this with e.g. the [InstrumentList](InstrumentList) type, which is just a list
|
|
1604
|
+
* of instruments.
|
|
1605
|
+
*
|
|
1606
|
+
* This is a good example of how types can be composed and extended with extra properties to
|
|
1607
|
+
* define more complex types.
|
|
1608
|
+
*
|
|
1609
|
+
* The Portfolio type consists of an array of [Position](Position) types, each of which
|
|
1610
|
+
* refers to a single [Instrument](Instrument) and a holding amount for that instrument.
|
|
1611
|
+
*
|
|
1612
|
+
* The portfolio schema does not explicitly include identifiers in the `id` section, as
|
|
1613
|
+
* there bis not a common standard for such identifiers. Applications can, however, populate
|
|
1614
|
+
* this part of the contract with custom identifiers if so desired.
|
|
1615
|
+
*/
|
|
551
1616
|
export interface Portfolio {
|
|
1617
|
+
/**
|
|
1618
|
+
* The List of Positions which make up the Portfolio
|
|
1619
|
+
*/
|
|
552
1620
|
positions: PositionElement[];
|
|
553
|
-
type:
|
|
1621
|
+
type: "fdc3.portfolio";
|
|
554
1622
|
id?: {
|
|
555
1623
|
[key: string]: any;
|
|
556
1624
|
};
|
|
557
1625
|
name?: string;
|
|
558
1626
|
[property: string]: any;
|
|
559
1627
|
}
|
|
1628
|
+
/**
|
|
1629
|
+
* A financial position made up of an instrument and a holding in that instrument. This type
|
|
1630
|
+
* is a good example of how new context types can be composed from existing types.
|
|
1631
|
+
*
|
|
1632
|
+
* In this case, the instrument and the holding amount for that instrument are required
|
|
1633
|
+
* values.
|
|
1634
|
+
*
|
|
1635
|
+
* The [Position](Position) type goes hand-in-hand with the [Portfolio](Portfolio) type,
|
|
1636
|
+
* which represents multiple holdings in a combination of instruments.
|
|
1637
|
+
*
|
|
1638
|
+
* The position schema does not explicitly include identifiers in the `id` section, as there
|
|
1639
|
+
* is not a common standard for such identifiers. Applications can, however, populate this
|
|
1640
|
+
* part of the contract with custom identifiers if so desired.
|
|
1641
|
+
*/
|
|
560
1642
|
export interface PositionElement {
|
|
1643
|
+
/**
|
|
1644
|
+
* The amount of the holding, e.g. a number of shares
|
|
1645
|
+
*/
|
|
561
1646
|
holding: number;
|
|
562
1647
|
instrument: InstrumentElement;
|
|
563
|
-
type:
|
|
1648
|
+
type: "fdc3.position";
|
|
564
1649
|
id?: {
|
|
565
1650
|
[key: string]: any;
|
|
566
1651
|
};
|
|
567
1652
|
name?: string;
|
|
568
1653
|
[property: string]: any;
|
|
569
1654
|
}
|
|
1655
|
+
/**
|
|
1656
|
+
* Free text to be used for a keyword search
|
|
1657
|
+
*
|
|
1658
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1659
|
+
* `'Meeting'` although other string values are permitted.
|
|
1660
|
+
*/
|
|
1661
|
+
/**
|
|
1662
|
+
* Free text to be used for a keyword search
|
|
1663
|
+
*
|
|
1664
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1665
|
+
* `'Meeting'` although other string values are permitted.
|
|
1666
|
+
*/
|
|
1667
|
+
/**
|
|
1668
|
+
* A financial position made up of an instrument and a holding in that instrument. This type
|
|
1669
|
+
* is a good example of how new context types can be composed from existing types.
|
|
1670
|
+
*
|
|
1671
|
+
* In this case, the instrument and the holding amount for that instrument are required
|
|
1672
|
+
* values.
|
|
1673
|
+
*
|
|
1674
|
+
* The [Position](Position) type goes hand-in-hand with the [Portfolio](Portfolio) type,
|
|
1675
|
+
* which represents multiple holdings in a combination of instruments.
|
|
1676
|
+
*
|
|
1677
|
+
* The position schema does not explicitly include identifiers in the `id` section, as there
|
|
1678
|
+
* is not a common standard for such identifiers. Applications can, however, populate this
|
|
1679
|
+
* part of the contract with custom identifiers if so desired.
|
|
1680
|
+
*/
|
|
570
1681
|
export interface Position {
|
|
1682
|
+
/**
|
|
1683
|
+
* The amount of the holding, e.g. a number of shares
|
|
1684
|
+
*/
|
|
571
1685
|
holding: number;
|
|
572
1686
|
instrument: InstrumentElement;
|
|
573
|
-
type:
|
|
1687
|
+
type: "fdc3.position";
|
|
574
1688
|
id?: {
|
|
575
1689
|
[key: string]: any;
|
|
576
1690
|
};
|
|
@@ -583,6 +1697,10 @@ export interface Position {
|
|
|
583
1697
|
*
|
|
584
1698
|
* This type is currently only loosely defined as an extensible context object, with an
|
|
585
1699
|
* optional instrument field.
|
|
1700
|
+
*
|
|
1701
|
+
* The Product schema does not explicitly include identifiers in the id section, as there is
|
|
1702
|
+
* not a common standard for such identifiers. Applications can, however, populate this part
|
|
1703
|
+
* of the contract with custom identifiers if so desired.
|
|
586
1704
|
*/
|
|
587
1705
|
export interface Product {
|
|
588
1706
|
/**
|
|
@@ -592,18 +1710,61 @@ export interface Product {
|
|
|
592
1710
|
id: {
|
|
593
1711
|
[key: string]: string;
|
|
594
1712
|
};
|
|
1713
|
+
/**
|
|
1714
|
+
* financial instrument that relates to the definition of this product
|
|
1715
|
+
*/
|
|
1716
|
+
instrument?: InstrumentElement;
|
|
595
1717
|
/**
|
|
596
1718
|
* A human-readable summary of the product.
|
|
597
1719
|
*/
|
|
598
1720
|
name?: string;
|
|
599
|
-
type:
|
|
600
|
-
instrument?: InstrumentElement;
|
|
1721
|
+
type: "fdc3.product";
|
|
601
1722
|
[property: string]: any;
|
|
602
1723
|
}
|
|
1724
|
+
/**
|
|
1725
|
+
* A context representing a period of time. Any user interfaces that represent or visualize
|
|
1726
|
+
* events or activity over time can be filtered or focused on a particular time period,
|
|
1727
|
+
* e.g.:
|
|
1728
|
+
*
|
|
1729
|
+
* - A pricing chart
|
|
1730
|
+
* - A trade blotter
|
|
1731
|
+
* - A record of client contact/activity in a CRM
|
|
1732
|
+
*
|
|
1733
|
+
* Example use cases:
|
|
1734
|
+
*
|
|
1735
|
+
* - User may want to view pricing/trades/customer activity for a security over a particular
|
|
1736
|
+
* time period, the time range might be specified as the context for the `ViewChart` intent
|
|
1737
|
+
* OR it might be embedded in another context (e.g. a context representing a chart to plot).
|
|
1738
|
+
* - User filters a visualization (e.g. a pricing chart) to show a particular period, the
|
|
1739
|
+
* `TimeRange` is broadcast and other visualizations (e.g. a heatmap of activity by
|
|
1740
|
+
* instrument, or industry sector etc.) receive it and filter themselves to show data over
|
|
1741
|
+
* the same range.
|
|
1742
|
+
*
|
|
1743
|
+
* Notes:
|
|
1744
|
+
*
|
|
1745
|
+
* - A `TimeRange` may be closed (i.e. `startTime` and `endTime` are both known) or open
|
|
1746
|
+
* (i.e. only one of `startTime` or `endTime` is known).
|
|
1747
|
+
* - Ranges corresponding to dates (e.g. `2022-05-12` to `2022-05-19`) should be specified
|
|
1748
|
+
* using times as this prevents issues with timezone conversions and inclusive/exclusive
|
|
1749
|
+
* date ranges.
|
|
1750
|
+
* - String fields representing times are encoded according to [ISO
|
|
1751
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html).
|
|
1752
|
+
* - A timezone indicator should be specified, e.g. `"2022-05-12T15:18:03Z"` or
|
|
1753
|
+
* `"2022-05-12T16:18:03+01:00"`
|
|
1754
|
+
* - Times MAY be specified with millisecond precision, e.g. `"2022-05-12T15:18:03.349Z"`
|
|
1755
|
+
*/
|
|
603
1756
|
export interface TimeRange {
|
|
1757
|
+
/**
|
|
1758
|
+
* The end time of the range, encoded according to [ISO
|
|
1759
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator.
|
|
1760
|
+
*/
|
|
604
1761
|
endTime?: Date;
|
|
1762
|
+
/**
|
|
1763
|
+
* The start time of the range, encoded according to [ISO
|
|
1764
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator.
|
|
1765
|
+
*/
|
|
605
1766
|
startTime?: Date;
|
|
606
|
-
type:
|
|
1767
|
+
type: "fdc3.timerange";
|
|
607
1768
|
id?: {
|
|
608
1769
|
[key: string]: any;
|
|
609
1770
|
};
|
|
@@ -618,6 +1779,10 @@ export interface TimeRange {
|
|
|
618
1779
|
* to summarize the trade and a required `product` field that may be used to provide
|
|
619
1780
|
* additional detail about the trade, which is currently typed as a unspecified Context
|
|
620
1781
|
* type, but `product` is expected to be standardized in future.
|
|
1782
|
+
*
|
|
1783
|
+
* The Trade schema does not explicitly include identifiers in the id section, as there is
|
|
1784
|
+
* not a common standard for such identifiers. Applications can, however, populate this part
|
|
1785
|
+
* of the contract with custom identifiers if so desired.
|
|
621
1786
|
*/
|
|
622
1787
|
export interface Trade {
|
|
623
1788
|
/**
|
|
@@ -631,16 +1796,33 @@ export interface Trade {
|
|
|
631
1796
|
* A human-readable summary of the trade.
|
|
632
1797
|
*/
|
|
633
1798
|
name?: string;
|
|
1799
|
+
/**
|
|
1800
|
+
* A product that is the subject of the trade.
|
|
1801
|
+
*/
|
|
634
1802
|
product: ProductObject;
|
|
635
|
-
type:
|
|
1803
|
+
type: "fdc3.trade";
|
|
636
1804
|
[property: string]: any;
|
|
637
1805
|
}
|
|
638
1806
|
/**
|
|
639
|
-
*
|
|
1807
|
+
* Free text to be used for a keyword search
|
|
1808
|
+
*
|
|
1809
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1810
|
+
* `'Meeting'` although other string values are permitted.
|
|
1811
|
+
*/
|
|
1812
|
+
/**
|
|
1813
|
+
* @experimental A list of trades. Use this type for use cases that require not just a
|
|
1814
|
+
* single trade, but multiple.
|
|
1815
|
+
*
|
|
1816
|
+
* The TradeList schema does not explicitly include identifiers in the id section, as there
|
|
1817
|
+
* is not a common standard for such identifiers. Applications can, however, populate this
|
|
1818
|
+
* part of the contract with custom identifiers if so desired.
|
|
640
1819
|
*/
|
|
641
1820
|
export interface TradeList {
|
|
1821
|
+
/**
|
|
1822
|
+
* An array of trade contexts that forms the list.
|
|
1823
|
+
*/
|
|
642
1824
|
trades: TradeElement[];
|
|
643
|
-
type:
|
|
1825
|
+
type: "fdc3.tradeList";
|
|
644
1826
|
id?: {
|
|
645
1827
|
[key: string]: any;
|
|
646
1828
|
};
|
|
@@ -655,6 +1837,10 @@ export interface TradeList {
|
|
|
655
1837
|
* to summarize the trade and a required `product` field that may be used to provide
|
|
656
1838
|
* additional detail about the trade, which is currently typed as a unspecified Context
|
|
657
1839
|
* type, but `product` is expected to be standardized in future.
|
|
1840
|
+
*
|
|
1841
|
+
* The Trade schema does not explicitly include identifiers in the id section, as there is
|
|
1842
|
+
* not a common standard for such identifiers. Applications can, however, populate this part
|
|
1843
|
+
* of the contract with custom identifiers if so desired.
|
|
658
1844
|
*/
|
|
659
1845
|
export interface TradeElement {
|
|
660
1846
|
/**
|
|
@@ -668,32 +1854,78 @@ export interface TradeElement {
|
|
|
668
1854
|
* A human-readable summary of the trade.
|
|
669
1855
|
*/
|
|
670
1856
|
name?: string;
|
|
1857
|
+
/**
|
|
1858
|
+
* A product that is the subject of the trade.
|
|
1859
|
+
*/
|
|
671
1860
|
product: ProductObject;
|
|
672
|
-
type:
|
|
1861
|
+
type: "fdc3.trade";
|
|
673
1862
|
[property: string]: any;
|
|
674
1863
|
}
|
|
1864
|
+
/**
|
|
1865
|
+
* Free text to be used for a keyword search
|
|
1866
|
+
*
|
|
1867
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1868
|
+
* `'Meeting'` although other string values are permitted.
|
|
1869
|
+
*/
|
|
1870
|
+
/**
|
|
1871
|
+
* A context type representing the result of a transaction initiated via FDC3, which SHOULD
|
|
1872
|
+
* be returned as an `IntentResult` by intents that create, retrieve, update or delete
|
|
1873
|
+
* content or records in another application. Its purpose is to provide a status and message
|
|
1874
|
+
* (where needed) for the transaction and MAY wrap a returned context object.
|
|
1875
|
+
*/
|
|
675
1876
|
export interface TransactionResult {
|
|
1877
|
+
/**
|
|
1878
|
+
* A context object returned by the transaction, possibly with updated data.
|
|
1879
|
+
*/
|
|
676
1880
|
context?: ContextElement;
|
|
677
|
-
|
|
678
|
-
|
|
1881
|
+
/**
|
|
1882
|
+
* The status of the transaction being reported.
|
|
1883
|
+
*/
|
|
1884
|
+
status: TransactionStatus;
|
|
1885
|
+
type: "fdc3.transactionResult";
|
|
679
1886
|
id?: {
|
|
680
1887
|
[key: string]: any;
|
|
681
1888
|
};
|
|
682
1889
|
name?: string;
|
|
683
1890
|
[property: string]: any;
|
|
684
1891
|
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
1892
|
+
/**
|
|
1893
|
+
* The status of the transaction being reported.
|
|
1894
|
+
*/
|
|
1895
|
+
export declare type TransactionStatus = "Created" | "Deleted" | "Updated" | "Failed";
|
|
1896
|
+
/**
|
|
1897
|
+
* Free text to be used for a keyword search
|
|
1898
|
+
*
|
|
1899
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1900
|
+
* `'Meeting'` although other string values are permitted.
|
|
1901
|
+
*/
|
|
1902
|
+
/**
|
|
1903
|
+
* A context type representing the price and value of a holding.
|
|
1904
|
+
*/
|
|
691
1905
|
export interface Valuation {
|
|
1906
|
+
/**
|
|
1907
|
+
* The valuation currency, which should conform to 3 character alphabetic codes defined in
|
|
1908
|
+
* [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html)
|
|
1909
|
+
*/
|
|
692
1910
|
CURRENCY_ISOCODE: string;
|
|
1911
|
+
/**
|
|
1912
|
+
* The time at which this valuation expires, encoded according to [ISO
|
|
1913
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator included.
|
|
1914
|
+
*/
|
|
693
1915
|
expiryTime?: Date;
|
|
1916
|
+
/**
|
|
1917
|
+
* The price per unit the the valuation is based on.
|
|
1918
|
+
*/
|
|
694
1919
|
price?: number;
|
|
695
|
-
type:
|
|
1920
|
+
type: "fdc3.valuation";
|
|
1921
|
+
/**
|
|
1922
|
+
* The time at which the valuation was performed, encoded according to [ISO
|
|
1923
|
+
* 8601-1:2019](https://www.iso.org/standard/70907.html) with a timezone indicator included.
|
|
1924
|
+
*/
|
|
696
1925
|
valuationTime?: Date;
|
|
1926
|
+
/**
|
|
1927
|
+
* The value of the holding, expresses in the nominated currency.
|
|
1928
|
+
*/
|
|
697
1929
|
value: number;
|
|
698
1930
|
id?: {
|
|
699
1931
|
[key: string]: any;
|
|
@@ -701,6 +1933,12 @@ export interface Valuation {
|
|
|
701
1933
|
name?: string;
|
|
702
1934
|
[property: string]: any;
|
|
703
1935
|
}
|
|
1936
|
+
/**
|
|
1937
|
+
* Free text to be used for a keyword search
|
|
1938
|
+
*
|
|
1939
|
+
* `interactionType` SHOULD be one of `'Instant Message'`, `'Email'`, `'Call'`, or
|
|
1940
|
+
* `'Meeting'` although other string values are permitted.
|
|
1941
|
+
*/
|
|
704
1942
|
export declare class Convert {
|
|
705
1943
|
static toAction(json: string): Action;
|
|
706
1944
|
static actionToJson(value: Action): string;
|