@cmusei/console-forge 0.14.0 → 0.16.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.
@@ -4,6 +4,7 @@ import { ConsoleClientService } from '../../services/console-clients/console-cli
4
4
  import { ConsoleToolbarComponentBase } from '../../models/console-toolbar-component-base';
5
5
  import { ConsolePowerRequest } from '../../models/console-power-request';
6
6
  import { ConsoleComponentNetworkConfig } from '../../models/console-component-network-config';
7
+ import { ConsoleConnectionStatus } from '../../models/console-connection-status';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class ConsoleComponent implements OnDestroy {
9
10
  autoConnect: import("@angular/core").InputSignal<boolean>;
@@ -12,6 +13,7 @@ export declare class ConsoleComponent implements OnDestroy {
12
13
  networkConfig: import("@angular/core").InputSignal<ConsoleComponentNetworkConfig | undefined>;
13
14
  toolbarComponent: import("@angular/core").InputSignal<Type<ConsoleToolbarComponentBase> | undefined>;
14
15
  toolbarDisabled: import("@angular/core").InputSignal<boolean>;
16
+ connectionStatusChanged: import("@angular/core").OutputEmitterRef<ConsoleConnectionStatus | undefined>;
15
17
  consoleClipboardUpdated: import("@angular/core").OutputEmitterRef<string>;
16
18
  consoleRecorded: import("@angular/core").OutputEmitterRef<Blob>;
17
19
  ctrlAltDelSent: import("@angular/core").OutputEmitterRef<void>;
@@ -19,8 +21,8 @@ export declare class ConsoleComponent implements OnDestroy {
19
21
  networkConnectionRequested: import("@angular/core").OutputEmitterRef<string>;
20
22
  networkDisconnectRequested: import("@angular/core").OutputEmitterRef<void>;
21
23
  powerRequestSent: import("@angular/core").OutputEmitterRef<ConsolePowerRequest>;
24
+ reconnectRequest: import("@angular/core").OutputEmitterRef<ConsoleComponentConfig>;
22
25
  screenshotCopied: import("@angular/core").OutputEmitterRef<Blob>;
23
- status: import("@angular/core").Signal<import("@cmusei/console-forge").ConsoleConnectionStatus>;
24
26
  private readonly browserNotifications;
25
27
  private readonly canvasService;
26
28
  private readonly clipboardService;
@@ -43,10 +45,11 @@ export declare class ConsoleComponent implements OnDestroy {
43
45
  protected handleConsoleRecordingStarted(): Promise<void>;
44
46
  protected handleCtrlAltDelSent(): Promise<void>;
45
47
  protected handleFullscreen(): Promise<void>;
48
+ protected handleReconnectRequest(): void;
46
49
  protected handleScreenshotCopied(screenshotData: Blob): Promise<Blob>;
47
50
  connect(config: ConsoleComponentConfig): Promise<void>;
48
51
  disconnect(): Promise<void>;
49
52
  private resolveConsoleCanvas;
50
53
  static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleComponent, "cf-console", never, { "autoConnect": { "alias": "autoConnect"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "isViewOnly": { "alias": "isViewOnly"; "required": false; "isSignal": true; }; "networkConfig": { "alias": "networkConfig"; "required": false; "isSignal": true; }; "toolbarComponent": { "alias": "toolbarComponent"; "required": false; "isSignal": true; }; "toolbarDisabled": { "alias": "toolbarDisabled"; "required": false; "isSignal": true; }; }, { "consoleClipboardUpdated": "consoleClipboardUpdated"; "consoleRecorded": "consoleRecorded"; "ctrlAltDelSent": "ctrlAltDelSent"; "localClipboardUpdated": "localClipboardUpdated"; "networkConnectionRequested": "networkConnectionRequested"; "networkDisconnectRequested": "networkDisconnectRequested"; "powerRequestSent": "powerRequestSent"; "screenshotCopied": "screenshotCopied"; }, never, never, true, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleComponent, "cf-console", never, { "autoConnect": { "alias": "autoConnect"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "isViewOnly": { "alias": "isViewOnly"; "required": false; "isSignal": true; }; "networkConfig": { "alias": "networkConfig"; "required": false; "isSignal": true; }; "toolbarComponent": { "alias": "toolbarComponent"; "required": false; "isSignal": true; }; "toolbarDisabled": { "alias": "toolbarDisabled"; "required": false; "isSignal": true; }; }, { "connectionStatusChanged": "connectionStatusChanged"; "consoleClipboardUpdated": "consoleClipboardUpdated"; "consoleRecorded": "consoleRecorded"; "ctrlAltDelSent": "ctrlAltDelSent"; "localClipboardUpdated": "localClipboardUpdated"; "networkConnectionRequested": "networkConnectionRequested"; "networkDisconnectRequested": "networkDisconnectRequested"; "powerRequestSent": "powerRequestSent"; "reconnectRequest": "reconnectRequest"; "screenshotCopied": "screenshotCopied"; }, never, never, true, never>;
52
55
  }
@@ -3,9 +3,10 @@ import { ConsoleConnectionStatus } from '../../models/console-connection-status'
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ConsoleStatusComponent implements AfterViewInit {
5
5
  status: import("@angular/core").InputSignal<ConsoleConnectionStatus | undefined>;
6
+ reconnectRequest: import("@angular/core").OutputEmitterRef<void>;
6
7
  private readonly picoCssService;
7
8
  private readonly hostElement;
8
9
  ngAfterViewInit(): Promise<void>;
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleStatusComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleStatusComponent, "cf-console-status", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleStatusComponent, "cf-console-status", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "reconnectRequest": "reconnectRequest"; }, never, never, true, never>;
11
12
  }
@@ -3,6 +3,7 @@ import { ConsoleClientService } from '../../services/console-clients/console-cli
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ConsoleTileComponent {
5
5
  config: import("@angular/core").InputSignal<ConsoleComponentConfig | undefined>;
6
+ reconnectRequest: import("@angular/core").OutputEmitterRef<ConsoleComponentConfig | undefined>;
6
7
  private readonly cfConfig;
7
8
  private readonly consoleClientFactory;
8
9
  private readonly consoleClientType;
@@ -13,5 +14,5 @@ export declare class ConsoleTileComponent {
13
14
  constructor();
14
15
  private connect;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleTileComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleTileComponent, "cf-console-tile", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleTileComponent, "cf-console-tile", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "reconnectRequest": "reconnectRequest"; }, never, never, true, never>;
17
18
  }
@@ -17,6 +17,7 @@ export declare class ConsoleToolbarComponent {
17
17
  networkConnectionRequested: import("@angular/core").OutputEmitterRef<string>;
18
18
  networkDisconnectRequested: import("@angular/core").OutputEmitterRef<void>;
19
19
  powerRequestSent: import("@angular/core").OutputEmitterRef<ConsolePowerRequest>;
20
+ reconnectRequestSent: import("@angular/core").OutputEmitterRef<void>;
20
21
  screenshotCopied: import("@angular/core").OutputEmitterRef<Blob>;
21
22
  toggleFullscreen: import("@angular/core").OutputEmitterRef<void>;
22
23
  private readonly blobDownloader;
@@ -27,6 +28,7 @@ export declare class ConsoleToolbarComponent {
27
28
  private readonly logger;
28
29
  private readonly userSettings;
29
30
  private readonly activeConsoleRecording;
31
+ private readonly isManualConsoleReconnectAvailable;
30
32
  protected readonly toolbarComponentContext: ConsoleToolbarContext;
31
33
  protected readonly toolbarComponent: import("@angular/core").Signal<Type<ConsoleToolbarComponentBase>>;
32
34
  constructor();
@@ -34,11 +36,12 @@ export declare class ConsoleToolbarComponent {
34
36
  protected handleFullscreen(): Promise<void>;
35
37
  protected handleKeyboardInputSend(text: string): Promise<void>;
36
38
  protected handleNetworkConnectionRequest(networkName: string): void;
39
+ protected handleReconnectRequestSent(): Promise<void>;
37
40
  protected handleRecordScreenStart(): void;
38
41
  protected handleRecordScreenStop(): Promise<Blob>;
39
42
  protected handleSendCtrlAltDelete(): Promise<void>;
40
43
  private handleSendPowerRequest;
41
44
  protected handleSendTextToClipboard(text: string): Promise<void>;
42
45
  static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleToolbarComponent, never>;
43
- static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleToolbarComponent, "cf-console-toolbar", never, { "consoleClient": { "alias": "consoleClient"; "required": true; "isSignal": true; }; "consoleNetworkConfig": { "alias": "consoleNetworkConfig"; "required": false; "isSignal": true; }; "customToolbarComponent": { "alias": "customToolbarComponent"; "required": false; "isSignal": true; }; "isViewOnly": { "alias": "isViewOnly"; "required": true; "isSignal": true; }; }, { "canvasRecordingStarted": "canvasRecordingStarted"; "canvasRecordingFinished": "canvasRecordingFinished"; "ctrlAltDelSent": "ctrlAltDelSent"; "keyboardInputSent": "keyboardInputSent"; "networkConnectionRequested": "networkConnectionRequested"; "networkDisconnectRequested": "networkDisconnectRequested"; "powerRequestSent": "powerRequestSent"; "screenshotCopied": "screenshotCopied"; "toggleFullscreen": "toggleFullscreen"; }, never, never, true, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConsoleToolbarComponent, "cf-console-toolbar", never, { "consoleClient": { "alias": "consoleClient"; "required": true; "isSignal": true; }; "consoleNetworkConfig": { "alias": "consoleNetworkConfig"; "required": false; "isSignal": true; }; "customToolbarComponent": { "alias": "customToolbarComponent"; "required": false; "isSignal": true; }; "isViewOnly": { "alias": "isViewOnly"; "required": true; "isSignal": true; }; }, { "canvasRecordingStarted": "canvasRecordingStarted"; "canvasRecordingFinished": "canvasRecordingFinished"; "ctrlAltDelSent": "ctrlAltDelSent"; "keyboardInputSent": "keyboardInputSent"; "networkConnectionRequested": "networkConnectionRequested"; "networkDisconnectRequested": "networkDisconnectRequested"; "powerRequestSent": "powerRequestSent"; "reconnectRequestSent": "reconnectRequestSent"; "screenshotCopied": "screenshotCopied"; "toggleFullscreen": "toggleFullscreen"; }, never, never, true, never>;
44
47
  }
@@ -4,7 +4,7 @@ import { ConsoleClientType } from "../models/console-client-type";
4
4
  import { ConsoleToolbarComponentBase } from "../models/console-toolbar-component-base";
5
5
  export declare abstract class ConsoleForgeConfig {
6
6
  abstract canvasRecording: {
7
- autoDownloadCompletedRecordings: boolean;
7
+ autoDownloadCompletedRecordings?: boolean;
8
8
  chunkLength?: number;
9
9
  frameRate?: number;
10
10
  maxDuration?: number;
@@ -12,8 +12,11 @@ export declare abstract class ConsoleForgeConfig {
12
12
  };
13
13
  abstract consoleBackgroundStyle?: string;
14
14
  abstract defaultConsoleClientType?: ConsoleClientType;
15
- abstract enableClipboard: boolean;
16
- abstract enableConsoleRecord: boolean;
15
+ abstract disabledFeatures: {
16
+ clipboard?: boolean;
17
+ consoleScreenRecord?: boolean;
18
+ manualConsoleReconnect?: boolean;
19
+ };
17
20
  abstract logThreshold: LogLevel;
18
21
  abstract showBrowserNotificationsOnConsoleEvents: boolean;
19
22
  abstract toolbar: {
@@ -11,6 +11,12 @@ export interface ConsoleComponentConfig {
11
11
  * provider.
12
12
  */
13
13
  consoleClientType?: ConsoleClientType;
14
+ /**
15
+ * An optional identifier for this console. ConsoleForge doesn't use this value internally at all, but some of its events
16
+ * (e.g. reconnect requests) will return this configuration to you. You may want to set this identifier to something that allows
17
+ * you to uniquely identify the console so you can handle its events as desired.
18
+ */
19
+ consoleId?: string;
14
20
  /**
15
21
  * An optional username, password, or sessionId to use to authenticate to the console. Configuration here is specific
16
22
  * to the protocol being used and the configuration of the target virtual console. See ConsoleForge's documentation
@@ -16,6 +16,7 @@ export interface ConsoleToolbarContext {
16
16
  sendCtrlAltDel(): Promise<void>;
17
17
  sendKeyboardInput(text: string): Promise<void>;
18
18
  sendPowerRequest(request: ConsolePowerRequest): Promise<void>;
19
+ sendReconnectRequest(): Promise<void>;
19
20
  supportedFeatures: Signal<ConsoleSupportedFeatures>;
20
21
  toggleFullscreen(): Promise<void>;
21
22
  };
@@ -28,6 +29,7 @@ export interface ConsoleToolbarContext {
28
29
  activeConsoleRecording: Signal<CanvasRecording | undefined>;
29
30
  isConnected: Signal<boolean>;
30
31
  isFullscreenAvailable: Signal<boolean>;
32
+ isManualReconnectAvailable: Signal<boolean>;
31
33
  isRecordingAvailable: Signal<boolean>;
32
34
  isViewOnly: Signal<boolean>;
33
35
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmusei/console-forge",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/cmu-sei/console-forge.git"