@cmusei/console-forge 0.10.0 → 0.12.1

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.
@@ -9,6 +9,7 @@ export declare class ConsoleToolbarComponent {
9
9
  consoleClient: import("@angular/core").InputSignal<ConsoleClientService>;
10
10
  consoleNetworkConfig: import("@angular/core").InputSignal<ConsoleComponentNetworkConfig | undefined>;
11
11
  customToolbarComponent: import("@angular/core").InputSignal<Type<ConsoleToolbarComponentBase> | undefined>;
12
+ isViewOnly: import("@angular/core").InputSignal<boolean>;
12
13
  canvasRecordingStarted: import("@angular/core").OutputEmitterRef<void>;
13
14
  canvasRecordingFinished: import("@angular/core").OutputEmitterRef<Blob>;
14
15
  ctrlAltDelSent: import("@angular/core").OutputEmitterRef<void>;
@@ -18,6 +19,7 @@ export declare class ConsoleToolbarComponent {
18
19
  powerRequestSent: import("@angular/core").OutputEmitterRef<ConsolePowerRequest>;
19
20
  screenshotCopied: import("@angular/core").OutputEmitterRef<Blob>;
20
21
  toggleFullscreen: import("@angular/core").OutputEmitterRef<void>;
22
+ private readonly blobDownloader;
21
23
  private readonly canvas;
22
24
  private readonly canvasRecorder;
23
25
  private readonly clipboardService;
@@ -38,5 +40,5 @@ export declare class ConsoleToolbarComponent {
38
40
  private handleSendPowerRequest;
39
41
  protected handleSendTextToClipboard(text: string): Promise<void>;
40
42
  static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleToolbarComponent, never>;
41
- 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; }; }, { "canvasRecordingStarted": "canvasRecordingStarted"; "canvasRecordingFinished": "canvasRecordingFinished"; "ctrlAltDelSent": "ctrlAltDelSent"; "keyboardInputSent": "keyboardInputSent"; "networkConnectionRequested": "networkConnectionRequested"; "networkDisconnectRequested": "networkDisconnectRequested"; "powerRequestSent": "powerRequestSent"; "screenshotCopied": "screenshotCopied"; "toggleFullscreen": "toggleFullscreen"; }, never, never, true, 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>;
42
44
  }
@@ -4,6 +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
8
  chunkLength?: number;
8
9
  frameRate?: number;
9
10
  maxDuration?: number;
@@ -27,4 +27,9 @@ export interface ConsoleSupportedFeatures {
27
27
  * of the machine, so we usually have to rely on the protocol-specific service to tell us whether the feature is enabled (see our VNC client, wrapping noVnc, for an example)
28
28
  */
29
29
  powerManagement: boolean;
30
+ /**
31
+ * Whether the remote console protocol/library supports a "view/read"-only canvas. If it doesn't, we have to do some CSS/JS hacking in the console component, so
32
+ * we prefer the client lib/protocol's implementation if we can get it.
33
+ */
34
+ viewOnlyMode: boolean;
30
35
  }
@@ -29,6 +29,7 @@ export interface ConsoleToolbarContext {
29
29
  isConnected: Signal<boolean>;
30
30
  isFullscreenAvailable: Signal<boolean>;
31
31
  isRecordingAvailable: Signal<boolean>;
32
+ isViewOnly: Signal<boolean>;
32
33
  };
33
34
  userSettings: UserSettingsService;
34
35
  }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class BlobDownloaderService {
3
+ private readonly doc;
4
+ download(blob: Blob, fileName: string): void;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<BlobDownloaderService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<BlobDownloaderService>;
7
+ }
@@ -3,11 +3,13 @@ import { ConsoleConnectionOptions } from "../../models/console-connection-option
3
3
  import { ConsoleConnectionStatus } from "../../models/console-connection-status";
4
4
  import { ConsolePowerRequest } from "../../models/console-power-request";
5
5
  import { ConsoleSupportedFeatures } from "../../models/console-supported-features";
6
+ import { ConsoleClientType } from "../../models/console-client-type";
6
7
  export interface ConsoleClientService {
8
+ readonly clientType: ConsoleClientType;
7
9
  readonly connectionStatus: Signal<ConsoleConnectionStatus>;
8
10
  readonly consoleClipboardUpdated: Signal<string>;
9
11
  readonly supportedFeatures: Signal<ConsoleSupportedFeatures>;
10
- connect(url: string, options: ConsoleConnectionOptions): Promise<ConsoleSupportedFeatures>;
12
+ connect(url: string, options: ConsoleConnectionOptions): Promise<void>;
11
13
  disconnect(): Promise<void>;
12
14
  sendClipboardText(text: string): Promise<void>;
13
15
  sendCtrlAltDelete(): Promise<void>;
@@ -3,6 +3,7 @@ import { ConsoleConnectionOptions } from '../../../models/console-connection-opt
3
3
  import { ConsoleConnectionStatus } from '../../../models/console-connection-status';
4
4
  import { ConsolePowerRequest } from '../../../models/console-power-request';
5
5
  import { ConsoleSupportedFeatures } from '../../../models/console-supported-features';
6
+ import { ConsoleClientType } from '../../../models/console-client-type';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class VmWareConsoleClientService implements ConsoleClientService {
8
9
  private readonly cfConfig;
@@ -12,6 +13,7 @@ export declare class VmWareConsoleClientService implements ConsoleClientService
12
13
  private readonly userSettings;
13
14
  private readonly window;
14
15
  private wmksClient?;
16
+ readonly clientType: ConsoleClientType;
15
17
  private readonly _connectionStatus;
16
18
  readonly connectionStatus: import("@angular/core").Signal<ConsoleConnectionStatus>;
17
19
  private readonly _consoleClipboardUpdated;
@@ -20,7 +22,7 @@ export declare class VmWareConsoleClientService implements ConsoleClientService
20
22
  readonly supportedFeatures: import("@angular/core").Signal<ConsoleSupportedFeatures>;
21
23
  private readonly _needsCanvasSizeUpdate;
22
24
  private readonly _needsCanvasSizeUpdateSub;
23
- connect(url: string, options: ConsoleConnectionOptions): Promise<ConsoleSupportedFeatures>;
25
+ connect(url: string, options: ConsoleConnectionOptions): Promise<void>;
24
26
  disconnect(): Promise<void>;
25
27
  sendClipboardText(text: string): Promise<void>;
26
28
  sendCtrlAltDelete(): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import { ConsoleClientType } from '../../../models/console-client-type';
1
2
  import { ConsoleConnectionOptions } from '../../../models/console-connection-options';
2
3
  import { ConsoleConnectionStatus } from '../../../models/console-connection-status';
3
4
  import { ConsolePowerRequest } from '../../../models/console-power-request';
@@ -5,6 +6,7 @@ import { ConsoleSupportedFeatures } from '../../../models/console-supported-feat
5
6
  import { ConsoleClientService } from '../../../services/console-clients/console-client.service';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class VncConsoleClientService implements ConsoleClientService {
9
+ readonly clientType: ConsoleClientType;
8
10
  private readonly _consoleClipboardUpdated;
9
11
  readonly consoleClipboardUpdated: import("@angular/core").Signal<string>;
10
12
  private readonly _connectionStatus;
@@ -16,7 +18,7 @@ export declare class VncConsoleClientService implements ConsoleClientService {
16
18
  private readonly logger;
17
19
  private readonly userSettings;
18
20
  private noVncClient?;
19
- connect(url: string, options: ConsoleConnectionOptions): Promise<ConsoleSupportedFeatures>;
21
+ connect(url: string, options: ConsoleConnectionOptions): Promise<void>;
20
22
  disconnect(): Promise<void>;
21
23
  dispose(): Promise<void>;
22
24
  sendClipboardText(text: string): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmusei/console-forge",
3
- "version": "0.10.0",
3
+ "version": "0.12.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/cmu-sei/console-forge.git"