@openfin/cloud-interop-core-api 0.0.1-alpha.f23e349 → 0.0.1-alpha.f5e354c
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/dist/api.d.ts +16 -20
- package/dist/controllers/event.controller.d.ts +8 -0
- package/dist/controllers/index.d.ts +2 -0
- package/dist/controllers/intent.controller.d.ts +13 -0
- package/dist/index.cjs +476 -139
- package/dist/index.d.ts +4 -1
- package/dist/index.mjs +475 -3898
- package/dist/{interfaces.d.ts → interfaces/connect.interface.d.ts} +8 -65
- package/dist/interfaces/event.interface.d.ts +15 -0
- package/dist/interfaces/index.d.ts +3 -0
- package/dist/interfaces/intents.interface.d.ts +22 -0
- package/dist/utils.d.ts +25 -0
- package/package.json +4 -4
|
@@ -13,13 +13,9 @@ export type ConnectParameters = {
|
|
|
13
13
|
*/
|
|
14
14
|
platformId: string;
|
|
15
15
|
/**
|
|
16
|
-
* An identifier for the source
|
|
16
|
+
* An user-friendly identifier for the source session e.g. Windows Desktop, Android Phone, etc.
|
|
17
17
|
*/
|
|
18
18
|
sourceId: string;
|
|
19
|
-
/**
|
|
20
|
-
* A display name for the source environment e.g. Andys Mobile
|
|
21
|
-
*/
|
|
22
|
-
sourceDisplayName?: string;
|
|
23
19
|
/**
|
|
24
20
|
* The maximum number of times to retry connecting to the cloud interop service when the connection is dropped
|
|
25
21
|
* defaults to 30
|
|
@@ -77,66 +73,13 @@ export type ConnectParameters = {
|
|
|
77
73
|
export type CloudInteropSettings = {
|
|
78
74
|
url: string;
|
|
79
75
|
};
|
|
80
|
-
|
|
81
|
-
* Represents a session
|
|
82
|
-
*/
|
|
83
|
-
export type InteropSession = {
|
|
76
|
+
export type CreateSessionResponse = {
|
|
84
77
|
sessionId: string;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
* Source session id
|
|
92
|
-
*/
|
|
93
|
-
sessionId: string;
|
|
94
|
-
/**
|
|
95
|
-
* source environment id
|
|
96
|
-
*/
|
|
78
|
+
sessionRootTopic: string;
|
|
79
|
+
url: string;
|
|
80
|
+
token: string;
|
|
81
|
+
orgId: string;
|
|
82
|
+
sub: string;
|
|
83
|
+
platformId: string;
|
|
97
84
|
sourceId: string;
|
|
98
|
-
/**
|
|
99
|
-
* source environment display name
|
|
100
|
-
*/
|
|
101
|
-
sourceDisplayName: string;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* Represents the details of an intent found during discovery
|
|
105
|
-
*/
|
|
106
|
-
export type IntentDetail = {
|
|
107
|
-
/**
|
|
108
|
-
* The location of the intent implementation
|
|
109
|
-
*/
|
|
110
|
-
source: Source;
|
|
111
|
-
/**
|
|
112
|
-
* The instance id of the intent
|
|
113
|
-
*/
|
|
114
|
-
intentInstanceId: string;
|
|
115
|
-
/**
|
|
116
|
-
* The name of the intent
|
|
117
|
-
*/
|
|
118
|
-
intentName: string;
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Represents a context received from another cloud interop publisher
|
|
122
|
-
*
|
|
123
|
-
* @export
|
|
124
|
-
* @type ContextEvent
|
|
125
|
-
* @property {string} contextGroup - The context group
|
|
126
|
-
* @property {object} context - The context
|
|
127
|
-
* @property {Source} source - The source of the context
|
|
128
|
-
*/
|
|
129
|
-
export type ContextEvent = {
|
|
130
|
-
/**
|
|
131
|
-
* The context group
|
|
132
|
-
*/
|
|
133
|
-
contextGroup: string;
|
|
134
|
-
/**
|
|
135
|
-
* The context object
|
|
136
|
-
*/
|
|
137
|
-
context: object;
|
|
138
|
-
/**
|
|
139
|
-
* The source of the context
|
|
140
|
-
*/
|
|
141
|
-
source: Source;
|
|
142
85
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AggregateIntentDetailsEvent, ContextEvent, IntentDetailsEvent, IntentResultEvent, RaiseIntentEvent, ReportIntentsEvent } from '@openfin/shared-utils';
|
|
2
|
+
export type EventMap = {
|
|
3
|
+
reconnected: () => void;
|
|
4
|
+
disconnected: () => void;
|
|
5
|
+
context: (event: ContextEvent) => void;
|
|
6
|
+
reconnecting: (attemptNo: number) => void;
|
|
7
|
+
error: (error: Error) => void;
|
|
8
|
+
'session-expired': () => void;
|
|
9
|
+
'report-intents': (event: ReportIntentsEvent) => void;
|
|
10
|
+
'intent-details': (event: IntentDetailsEvent) => void;
|
|
11
|
+
'aggregate-intent-details': (event: AggregateIntentDetailsEvent) => void;
|
|
12
|
+
'raise-intent': (event: RaiseIntentEvent) => void;
|
|
13
|
+
'intent-result': (event: IntentResultEvent) => void;
|
|
14
|
+
};
|
|
15
|
+
export type EventListenersMap = Map<keyof EventMap, Array<(...args: Parameters<EventMap[keyof EventMap]>) => void>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AppIdentifier, FindIntentOptions, RaiseIntentOptions } from '@openfin/shared-utils';
|
|
2
|
+
/**
|
|
3
|
+
* Options used to start an Intent Discovery Operation, with possible constraints for the responses
|
|
4
|
+
*/
|
|
5
|
+
export type StartIntentDiscoveryOptions = {
|
|
6
|
+
findOptions: FindIntentOptions;
|
|
7
|
+
/**
|
|
8
|
+
* The timeout in ms.
|
|
9
|
+
*
|
|
10
|
+
* Discovery will wait for all connected sessions to respond or until the timeout is reached.
|
|
11
|
+
*
|
|
12
|
+
* Defaults to 3000ms if not provided, minimum value 500ms
|
|
13
|
+
*/
|
|
14
|
+
timeout?: number;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Options used to raise an Intent
|
|
18
|
+
*/
|
|
19
|
+
export type RaiseIntentAPIOptions = {
|
|
20
|
+
raiseOptions: RaiseIntentOptions;
|
|
21
|
+
appId: AppIdentifier | string;
|
|
22
|
+
};
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AppIdentifier, AppIntent, Source } from '@openfin/shared-utils';
|
|
2
|
+
import { ConnectParameters, CreateSessionResponse } from './interfaces';
|
|
3
|
+
export declare const APP_ID_DELIM = "::";
|
|
4
|
+
export declare const getRequestHeaders: (connectionParameters: ConnectParameters) => HeadersInit;
|
|
5
|
+
/**
|
|
6
|
+
* Encodes all app intents in the format: `appId::sourceId::sessionId`,
|
|
7
|
+
* where sourceId and sessionId are URI encoded
|
|
8
|
+
* @param appIntents
|
|
9
|
+
* @param source
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const encodeAppIntents: (appIntents: AppIntent[], { sessionId, sourceId }: Source) => AppIntent[];
|
|
13
|
+
/**
|
|
14
|
+
* Decodes all app intents by URI decoding the parts previously encoded by `encodeAppIntents`
|
|
15
|
+
* @param appIntents
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare const decodeAppIntents: (appIntents: AppIntent[]) => AppIntent[];
|
|
19
|
+
/**
|
|
20
|
+
* Decodes the app id to extract the sessionId, returns '' if not able to parse
|
|
21
|
+
* @param app
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare const parseSessionId: (appId: AppIdentifier | string) => any;
|
|
25
|
+
export declare const getSourceFromSession: (sessionDetails: CreateSessionResponse) => Source;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfin/cloud-interop-core-api",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.f5e354c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"files": [
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"browser": "./dist/index.mjs",
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"scripts": {
|
|
13
|
-
"build": "rollup -c",
|
|
13
|
+
"build": "rimraf dist && rollup -c",
|
|
14
14
|
"build:watch": "rollup -c --watch",
|
|
15
15
|
"typecheck": "tsc --noEmit",
|
|
16
16
|
"test": "jest --coverage",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
26
26
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
27
27
|
"@types/jest": "^29.5.14",
|
|
28
|
-
"@types/node": "^
|
|
28
|
+
"@types/node": "^22.7.7",
|
|
29
29
|
"@typescript-eslint/eslint-plugin": "^7.5.0",
|
|
30
30
|
"@typescript-eslint/parser": "^7.15.0",
|
|
31
31
|
"eslint": "^8.57.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"typescript": "^5.6.3"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"
|
|
45
|
+
"@openfin/shared-utils": "file:../shared-utils",
|
|
46
46
|
"mqtt": "^5.3.1"
|
|
47
47
|
},
|
|
48
48
|
"eslintConfig": {
|