@interopio/desktop 6.3.1 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/changelog.md CHANGED
@@ -1,3 +1,15 @@
1
+ 6.5.0
2
+ - feat: contexts - add new methods - setPath,setPaths
3
+ - fix: windows - activate/focus never resolves in certain cases
4
+ - fix: appManager - when an is started, allow the timeout to be overridden
5
+ 6.4.1
6
+ - fix: channels - listen to event for channel restrictions
7
+ - chore: windows: messageTitle should be optional in the windows
8
+ - chore: fix types for the resolver
9
+ 6.4.0
10
+ - feat: channels - add support for channel restrictions
11
+ - chore: update types
12
+ - chore: update schemas to 9.3.0 (was 9.2.0)
1
13
  6.3.1
2
14
  - chore: update core to 6.2.1 (was 6.1.0)
3
15
  6.3.0
package/desktop.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-shadow */
2
- import { ApplicationConfig } from "@glue42/schemas";
2
+ import { ApplicationConfig } from "@interopio/schemas";
3
3
  import { IOConnectCore } from "@interopio/core";
4
4
  import { IOConnectWorkspaces } from "@interopio/workspaces-api";
5
5
  import { UnsubscribeFunction } from "callback-registry";
@@ -1070,7 +1070,7 @@ export declare namespace IOConnectDesktop {
1070
1070
  * Retrieves an app by name.
1071
1071
  * @param name Name of the desired app.
1072
1072
  */
1073
- application(name: string): Application;
1073
+ application(name: string): Application | undefined;
1074
1074
 
1075
1075
  /**
1076
1076
  * Retrieves a collection of the available apps.
@@ -1624,6 +1624,11 @@ export declare namespace IOConnectDesktop {
1624
1624
  * Optional parameters that will be passed to the executable app that is to be started. The value will be used as is and no validation will be performed on it.
1625
1625
  */
1626
1626
  parameters?: string;
1627
+
1628
+ /**
1629
+ * Interval in seconds to wait for the app to initialize.
1630
+ */
1631
+ timeout?: number
1627
1632
  }
1628
1633
 
1629
1634
  /**
@@ -2662,16 +2667,23 @@ export declare namespace IOConnectDesktop {
2662
2667
  borderColor?: string;
2663
2668
 
2664
2669
  /**
2665
- * Name of the Channel which the window will join.
2670
+ * Deprecated. Use `channelSelector` instead. Name of the Channel which the window will join.
2671
+ * @ignore
2666
2672
  */
2667
2673
  channelId?: string;
2668
2674
 
2669
2675
  /**
2670
- * If `true`, Channels will be enabled for the window and it will show the Channel Selector.
2676
+ * Deprecated. Use `channelSelector` instead. If `true`, Channels will be enabled for the window and it will show the Channel Selector.
2671
2677
  * @default false
2678
+ * @ignore
2672
2679
  */
2673
2680
  allowChannels?: boolean;
2674
2681
 
2682
+ /**
2683
+ * Settings for the Channel Selector UI.
2684
+ */
2685
+ channelSelector?: ChannelSelector;
2686
+
2675
2687
  /**
2676
2688
  * Defines the height of the window when collapsed.
2677
2689
  * @default -1
@@ -2962,6 +2974,36 @@ export declare namespace IOConnectDesktop {
2962
2974
  preloadScripts?: string[];
2963
2975
  }
2964
2976
 
2977
+ /**
2978
+ * Settings for the Channel Selector UI.
2979
+ */
2980
+ export interface ChannelSelector {
2981
+ /**
2982
+ * If `true`, will allow showing the Channel Selector.
2983
+ * @default false
2984
+ */
2985
+ enabled?: boolean;
2986
+
2987
+ /**
2988
+ * Type of the Channel Selector to show on the io.Connect Windows. A single Channel Selector (default) allows the window to join a single Channel
2989
+ * to which it can subscribe and publish data unrestrictedly. A directional single Channel Selector allows the window to join a single Channel,
2990
+ * but also enables the user to restrict the window from publishing or from subscribing to the current Channel.
2991
+ * @default "single"
2992
+ */
2993
+ type?: "single" | "directionalSingle";
2994
+
2995
+ /**
2996
+ * Name of the Channel to which the window will be joined by default when it's started.
2997
+ */
2998
+ channelId: string;
2999
+
3000
+ /**
3001
+ * If `true`, the Channel Selector will be visible, but the user won't be able to switch between Channels from it.
3002
+ * @default false
3003
+ */
3004
+ readOnly: boolean;
3005
+ }
3006
+
2965
3007
  /**
2966
3008
  * Options for loading a window URL.
2967
3009
  */
@@ -2982,8 +3024,7 @@ export declare namespace IOConnectDesktop {
2982
3024
  extraHeaders?: string;
2983
3025
 
2984
3026
  /**
2985
- * Data for the POST request. Either an array of `UploadFile` objects describing the location and other properties of the file to upload,
2986
- * or an array of `UploadBase64Data` objects containing data encoded as a Base64 string.
3027
+ * Data for the POST request. The list can contain both `UploadFile` objects (describing the location and other properties of the file to upload) and `UploadBase64Data` objects (containing data encoded as a Base64 string).
2987
3028
  */
2988
3029
  postData?: ((UploadBase64Data) | (UploadFile))[];
2989
3030
 
@@ -4256,7 +4297,7 @@ export declare namespace IOConnectDesktop {
4256
4297
  * @param options Options for closing the group that can be used to prevent closing the group and control whether to show a confirmation dialog before closing it.
4257
4298
  * @since io.Connect Desktop 9.3
4258
4299
  */
4259
- close(group: Group | string, options: CloseOptions): Promise<void>;
4300
+ close(group: Group | string, options?: CloseOptions): Promise<void>;
4260
4301
 
4261
4302
  /**
4262
4303
  * Lists all window groups.
@@ -4376,6 +4417,11 @@ export declare namespace IOConnectDesktop {
4376
4417
  */
4377
4418
  message: string;
4378
4419
 
4420
+ /**
4421
+ * Title for the message that will be displayed in the dialog.
4422
+ */
4423
+ messageTitle?: string;
4424
+
4379
4425
  /**
4380
4426
  * If `true`, the user will be able to move the dialog.
4381
4427
  * @default true
@@ -4389,7 +4435,7 @@ export declare namespace IOConnectDesktop {
4389
4435
  transparent?: boolean;
4390
4436
 
4391
4437
  /**
4392
- * Title for the dialog to show.
4438
+ * Title for the dialog that will be displayed in the dialog header.
4393
4439
  */
4394
4440
  title?: string;
4395
4441
 
@@ -4567,7 +4613,7 @@ export declare namespace IOConnectDesktop {
4567
4613
  * @param window Window ID or a window object by which to find a window in the group.
4568
4614
  * @param success Callback function for handling the successfully returned result.
4569
4615
  */
4570
- find(window: string | IOConnectWindow, success?: (window: IOConnectWindow) => void): IOConnectWindow;
4616
+ find(window: string | IOConnectWindow, success?: (window: IOConnectWindow) => void): IOConnectWindow | undefined;
4571
4617
 
4572
4618
  /**
4573
4619
  * Restores a window group.
@@ -4626,11 +4672,11 @@ export declare namespace IOConnectDesktop {
4626
4672
  hide(): Promise<void>;
4627
4673
 
4628
4674
  /**
4629
- * Close a window group.
4630
- * @since 9.3.0
4631
- * @param options Options for closing the group that can be used to prevent closing the window and control whether to show a confirmation dialog before closing it.
4675
+ * Closes the window group.
4676
+ * @param options Options for closing the group that can be used to prevent closing the group and control whether to show a confirmation dialog before closing it.
4677
+ * @since io.Connect Desktop 9.3
4632
4678
  */
4633
- close(options: CloseOptions): Promise<void>;
4679
+ close(options?: CloseOptions): Promise<void>;
4634
4680
 
4635
4681
  /**
4636
4682
  * Creates a popup window.
@@ -4683,7 +4729,7 @@ export declare namespace IOConnectDesktop {
4683
4729
  /**
4684
4730
  * Retrieves the current window.
4685
4731
  */
4686
- my(): IOConnectWindow;
4732
+ my(): IOConnectWindow | undefined;
4687
4733
 
4688
4734
  /**
4689
4735
  * Opens a new io.Connect Window.
@@ -4701,7 +4747,7 @@ export declare namespace IOConnectDesktop {
4701
4747
  * @param success Callback function for handling the successfully returned result.
4702
4748
  * @param error Callback function for handling errors.
4703
4749
  */
4704
- find(name: string, success?: (window: IOConnectWindow) => void, error?: (error: string) => void): IOConnectWindow;
4750
+ find(name: string, success?: (window: IOConnectWindow) => void, error?: (error: string) => void): IOConnectWindow | undefined;
4705
4751
 
4706
4752
  /**
4707
4753
  * Finds a window by ID.
@@ -4709,7 +4755,7 @@ export declare namespace IOConnectDesktop {
4709
4755
  * @param success Callback function for handling the successfully returned result.
4710
4756
  * @param error Callback function for handling errors.
4711
4757
  */
4712
- findById(id: string, success?: (window: IOConnectWindow) => void, error?: (error: string) => void): IOConnectWindow;
4758
+ findById(id: string, success?: (window: IOConnectWindow) => void, error?: (error: string) => void): IOConnectWindow | undefined;
4713
4759
 
4714
4760
  /**
4715
4761
  * Lists all windows.
@@ -5908,6 +5954,20 @@ export declare namespace IOConnectDesktop {
5908
5954
  */
5909
5955
  publish(data: any, name?: string): Promise<void>;
5910
5956
 
5957
+ /**
5958
+ * Sets a specified path within the Channel context to the provided value. If the path doesn't exist, it will be created.
5959
+ * @param path Object containing the path to update and the value with which to update it. The path must be specified as a dot-separated string (e.g., `"prop1.prop2"`).
5960
+ * @param name Name of the Channel to update. If not specified, will update the current Channel.
5961
+ */
5962
+ setPath(path: IOConnectDesktop.Contexts.PathValue, name?: string): Promise<void>;
5963
+
5964
+ /**
5965
+ * Sets a list of specified paths within the Channel context to the provided values. If a path doesn't exist, it will be created.
5966
+ * @param paths List of objects each containing a path to update and the value with which to update it. The path must be specified as a dot-separated string (e.g., `"prop1.prop2"`).
5967
+ * @param name Name of the Channel to update. If not specified, will update the current Channel.
5968
+ */
5969
+ setPaths(paths: IOConnectDesktop.Contexts.PathValue[], name?: string): Promise<void>;
5970
+
5911
5971
  /**
5912
5972
  * Retrieves a list of all Channel names.
5913
5973
  */
@@ -6275,7 +6335,22 @@ export declare namespace IOConnectDesktop {
6275
6335
  /**
6276
6336
  * Name of the raised Intent.
6277
6337
  */
6278
- intent: string;
6338
+ intent?: string | IntentRequest;
6339
+
6340
+ /**
6341
+ * Version of the Intents Resolver API.
6342
+ */
6343
+ version: string;
6344
+
6345
+ /**
6346
+ * Criteria for filtering the available Intent handlers. Available only if the `filterHandlers()` method was used to open the Intents Resolver UI.
6347
+ */
6348
+ handlerFilter?: HandlerFilter;
6349
+
6350
+ /**
6351
+ * Retrieves the title for the search operation. Available only if the `filterHandlers()` method was used to open the Intents Resolver UI and the `title` property of the `HandlerFilter` object was set.
6352
+ */
6353
+ getTitle(): string | undefined;
6279
6354
 
6280
6355
  /**
6281
6356
  * Notifies when a handler for the current Intent is added. Replays already existing handlers.
@@ -6822,15 +6897,16 @@ export declare namespace IOConnectDesktop {
6822
6897
  }
6823
6898
 
6824
6899
  /**
6825
- * Notification state.
6826
- * - `"Active"` - based on configuration, the notification is either visible as a toast, or is raised only in the Notification Panel, but the user hasn't seen it yet.
6827
- * When the toast is hidden, the user clicks on the toast, or sees the notification in the Notification Panel, the state will change;
6828
- * - `"Acknowledged"` - the user has seen the notification in the Notification Panel;
6829
- * - `"Closed"` - the notification has either been closed from its "Close" button, or the user has clicked on it or on an action in it;
6830
- * - `"Stale"` - the time specified in `toastExpiry` has elapsed;
6900
+ * Notification states that are used by the platform when handling notifications. These states can also be used in your custom logic for processing notifications on the client or on the server side. Defaults to `"Active"`.
6901
+ * - `"Active"` - a notification can be marked as active when it is raised, but the user hasn't seen it, or interacted in any way with it yet;
6902
+ * - `"Acknowledged"` - a notification can be marked as acknowledged when the user has interacted with it by clicking on the notification or on an action in it;
6903
+ * - `"Seen"` - a notification can be marked as seen when the user has seen it (e.g., by opening the Notification Panel);
6904
+ * - `"Closed"` - a notification can be marked as closed when the user has closed the notification in the Notification Panel;
6905
+ * - `"Stale"` - a notification can be marked as stale after a predefined period of time;
6906
+ * - `"Snoozed"` - a notification can be marked as snoozed when the user snoozes it from the UI;
6907
+ * - `"Processing"` - a notification can be marked as `"Processing"` when its state is in the process of changing (e.g., the user interacts with a notification from the UI, you make a request to a remote service to update the notification state, and you are still waiting for a response);
6831
6908
  */
6832
- export type State = "Active" | "Acknowledged" | "Closed" | "Stale";
6833
-
6909
+ export type State = "Active" | "Acknowledged" | "Seen" | "Closed" | "Stale" | "Snoozed" | "Processing";
6834
6910
  /**
6835
6911
  * Options for the clicked notification.
6836
6912
  */