@fastybird/smart-panel-backend 1.1.0-alpha.40 → 1.1.0-alpha.42
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/app.module.js +1 -1
- package/dist/app.module.js.map +1 -1
- package/dist/common/utils/cancellable-exec.utils.d.ts +5 -0
- package/dist/common/utils/cancellable-exec.utils.js +34 -0
- package/dist/common/utils/cancellable-exec.utils.js.map +1 -0
- package/dist/common/utils/remote-access-observation.utils.d.ts +11 -0
- package/dist/common/utils/remote-access-observation.utils.js +89 -0
- package/dist/common/utils/remote-access-observation.utils.js.map +1 -0
- package/dist/modules/auth/auth.module.js +4 -0
- package/dist/modules/auth/auth.module.js.map +1 -1
- package/dist/modules/auth/guards/auth.guard.js +8 -13
- package/dist/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/modules/auth/services/token-metadata.service.d.ts +42 -0
- package/dist/modules/auth/services/token-metadata.service.js +202 -0
- package/dist/modules/auth/services/token-metadata.service.js.map +1 -0
- package/dist/modules/auth/services/token-usage.service.d.ts +22 -0
- package/dist/modules/auth/services/token-usage.service.js +93 -0
- package/dist/modules/auth/services/token-usage.service.js.map +1 -0
- package/dist/modules/auth/services/tokens.service.d.ts +8 -2
- package/dist/modules/auth/services/tokens.service.js +16 -10
- package/dist/modules/auth/services/tokens.service.js.map +1 -1
- package/dist/modules/devices/devices.module.js +7 -0
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/dto/property-command.dto.js +2 -8
- package/dist/modules/devices/dto/property-command.dto.js.map +1 -1
- package/dist/modules/devices/services/device-command-graph.service.d.ts +18 -0
- package/dist/modules/devices/services/device-command-graph.service.js +92 -0
- package/dist/modules/devices/services/device-command-graph.service.js.map +1 -0
- package/dist/modules/devices/services/devices.service.js +2 -17
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-dispatch.service.d.ts +5 -3
- package/dist/modules/devices/services/property-command-dispatch.service.js +15 -12
- package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
- package/dist/modules/devices/services/property-command.service.d.ts +7 -5
- package/dist/modules/devices/services/property-command.service.js +41 -20
- package/dist/modules/devices/services/property-command.service.js.map +1 -1
- package/dist/modules/devices/services/property-metadata.service.d.ts +9 -2
- package/dist/modules/devices/services/property-metadata.service.js +67 -17
- package/dist/modules/devices/services/property-metadata.service.js.map +1 -1
- package/dist/modules/devices/utils/device-graph-query.utils.d.ts +3 -0
- package/dist/modules/devices/utils/device-graph-query.utils.js +23 -0
- package/dist/modules/devices/utils/device-graph-query.utils.js.map +1 -0
- package/dist/modules/devices/validators/property-command-target-constraint.validator.d.ts +9 -0
- package/dist/modules/devices/validators/property-command-target-constraint.validator.js +58 -0
- package/dist/modules/devices/validators/property-command-target-constraint.validator.js.map +1 -0
- package/dist/modules/remote-access/controllers/remote-access.controller.js +9 -5
- package/dist/modules/remote-access/controllers/remote-access.controller.js.map +1 -1
- package/dist/modules/remote-access/models/provider.model.d.ts +3 -0
- package/dist/modules/remote-access/models/provider.model.js +23 -0
- package/dist/modules/remote-access/models/provider.model.js.map +1 -1
- package/dist/modules/remote-access/models/status.model.d.ts +2 -0
- package/dist/modules/remote-access/models/status.model.js +18 -1
- package/dist/modules/remote-access/models/status.model.js.map +1 -1
- package/dist/modules/remote-access/models/urls.model.d.ts +2 -0
- package/dist/modules/remote-access/models/urls.model.js +17 -0
- package/dist/modules/remote-access/models/urls.model.js.map +1 -1
- package/dist/modules/remote-access/platforms/remote-access-provider.platform.d.ts +18 -1
- package/dist/modules/remote-access/remote-access.constants.d.ts +2 -1
- package/dist/modules/remote-access/remote-access.constants.js +2 -1
- package/dist/modules/remote-access/remote-access.constants.js.map +1 -1
- package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.d.ts +1 -0
- package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -1
- package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
- package/dist/modules/remote-access/services/remote-access-status.service.d.ts +40 -8
- package/dist/modules/remote-access/services/remote-access-status.service.js +314 -65
- package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
- package/dist/modules/remote-access/services/remote-access-url.service.d.ts +2 -2
- package/dist/modules/remote-access/services/remote-access-url.service.js +4 -2
- package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
- package/dist/modules/spaces/services/module-reset.service.d.ts +5 -1
- package/dist/modules/spaces/services/module-reset.service.js +10 -2
- package/dist/modules/spaces/services/module-reset.service.js.map +1 -1
- package/dist/modules/spaces/services/space-activity.service.d.ts +14 -0
- package/dist/modules/spaces/services/space-activity.service.js +56 -0
- package/dist/modules/spaces/services/space-activity.service.js.map +1 -0
- package/dist/modules/spaces/spaces.module.js +5 -0
- package/dist/modules/spaces/spaces.module.js.map +1 -1
- package/dist/modules/spaces/subscribers/space-activity.subscriber.d.ts +17 -0
- package/dist/modules/spaces/subscribers/space-activity.subscriber.js +89 -0
- package/dist/modules/spaces/subscribers/space-activity.subscriber.js.map +1 -0
- package/dist/modules/websocket/gateway/websocket.gateway.js +1 -0
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/modules/websocket/services/ws-auth.service.js +12 -28
- package/dist/modules/websocket/services/ws-auth.service.js.map +1 -1
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.d.ts +3 -8
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js +6 -36
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +5 -3
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +20 -8
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +3 -5
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +11 -10
- package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +2 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +17 -0
- package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +20 -2
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +105 -48
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +13 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +8 -2
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +12 -24
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +1 -1
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +5 -2
- package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +10 -5
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +105 -15
- package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +5 -4
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +19 -9
- package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +16 -0
- package/dist/plugins/remote-access-tailscale/models/status.model.js +100 -1
- package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +17 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +33 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +1 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +2 -0
- package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +8 -4
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +58 -14
- package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +8 -3
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +175 -151
- package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +51 -7
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +481 -101
- package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.d.ts +33 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js +167 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js.map +1 -0
- package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.d.ts +13 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js +8 -2
- package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +7 -6
- package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +1 -3
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +9 -11
- package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
- package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.d.ts +5 -0
- package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js +36 -0
- package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js.map +1 -0
- package/dist/plugins/spaces-home-control/listeners/space-activity.listener.d.ts +6 -7
- package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js +19 -44
- package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.d.ts +4 -4
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js +9 -22
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.d.ts +4 -4
- package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js +9 -22
- package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.d.ts +4 -4
- package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js +9 -22
- package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.d.ts +3 -5
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.js +9 -12
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.d.ts +3 -5
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js +7 -10
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-sensor-state.service.d.ts +3 -5
- package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js +7 -10
- package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-state-read.service.d.ts +47 -0
- package/dist/plugins/spaces-home-control/services/space-state-read.service.js +262 -0
- package/dist/plugins/spaces-home-control/services/space-state-read.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +4 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
import { TailscaleRequirement } from './services/tailscale-node-managed.service';
|
|
1
|
+
import type { TailscaleRequirement } from './services/tailscale-node-managed.service';
|
|
2
|
+
export declare class TailscaleOperationCancelledException extends Error {
|
|
3
|
+
readonly code = "operation-cancelled";
|
|
4
|
+
constructor();
|
|
5
|
+
}
|
|
6
|
+
export declare class TailscaleOperationInProgressException extends Error {
|
|
7
|
+
readonly code = "operation-in-progress";
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
export declare class TailscalePluginDisabledException extends Error {
|
|
11
|
+
readonly code = "plugin-disabled";
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
14
|
+
export declare class TailscaleChildTerminationException extends Error {
|
|
15
|
+
readonly code = "child-termination-failed";
|
|
16
|
+
constructor();
|
|
17
|
+
}
|
|
2
18
|
export declare class TailscaleRequirementUnsatisfiedException extends Error {
|
|
3
19
|
readonly requirement: TailscaleRequirement;
|
|
4
20
|
constructor(requirement: TailscaleRequirement);
|
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TailscaleNodeStopFailedException = exports.TailscaleSetupUnavailableException = exports.TailscaleRequirementUnsatisfiedException = void 0;
|
|
3
|
+
exports.TailscaleNodeStopFailedException = exports.TailscaleSetupUnavailableException = exports.TailscaleRequirementUnsatisfiedException = exports.TailscaleChildTerminationException = exports.TailscalePluginDisabledException = exports.TailscaleOperationInProgressException = exports.TailscaleOperationCancelledException = void 0;
|
|
4
|
+
class TailscaleOperationCancelledException extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super('The Tailscale operation was cancelled by a newer lifecycle action.');
|
|
7
|
+
this.code = 'operation-cancelled';
|
|
8
|
+
this.name = 'TailscaleOperationCancelledException';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.TailscaleOperationCancelledException = TailscaleOperationCancelledException;
|
|
12
|
+
class TailscaleOperationInProgressException extends Error {
|
|
13
|
+
constructor() {
|
|
14
|
+
super('Another Tailscale operation is in progress. Wait for it to finish or disconnect to cancel it.');
|
|
15
|
+
this.code = 'operation-in-progress';
|
|
16
|
+
this.name = 'TailscaleOperationInProgressException';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.TailscaleOperationInProgressException = TailscaleOperationInProgressException;
|
|
20
|
+
class TailscalePluginDisabledException extends Error {
|
|
21
|
+
constructor() {
|
|
22
|
+
super('Enable the Tailscale plugin before connecting or signing in.');
|
|
23
|
+
this.code = 'plugin-disabled';
|
|
24
|
+
this.name = 'TailscalePluginDisabledException';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.TailscalePluginDisabledException = TailscalePluginDisabledException;
|
|
28
|
+
class TailscaleChildTerminationException extends Error {
|
|
29
|
+
constructor() {
|
|
30
|
+
super('A Tailscale command did not exit after cancellation. Disconnect again before retrying.');
|
|
31
|
+
this.code = 'child-termination-failed';
|
|
32
|
+
this.name = 'TailscaleChildTerminationException';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.TailscaleChildTerminationException = TailscaleChildTerminationException;
|
|
4
36
|
class TailscaleRequirementUnsatisfiedException extends Error {
|
|
5
37
|
constructor(requirement) {
|
|
6
38
|
super(requirement.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-access-tailscale.exceptions.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"remote-access-tailscale.exceptions.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.ts"],"names":[],"mappings":";;;AAEA,MAAa,oCAAqC,SAAQ,KAAK;IAE9D;QACC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAFpE,SAAI,GAAG,qBAAqB,CAAC;QAGrC,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;IACpD,CAAC;CACD;AAND,oFAMC;AAED,MAAa,qCAAsC,SAAQ,KAAK;IAE/D;QACC,KAAK,CAAC,+FAA+F,CAAC,CAAC;QAF/F,SAAI,GAAG,uBAAuB,CAAC;QAGvC,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAC;IACrD,CAAC;CACD;AAND,sFAMC;AAED,MAAa,gCAAiC,SAAQ,KAAK;IAE1D;QACC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAF9D,SAAI,GAAG,iBAAiB,CAAC;QAGjC,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IAChD,CAAC;CACD;AAND,4EAMC;AAED,MAAa,kCAAmC,SAAQ,KAAK;IAE5D;QACC,KAAK,CAAC,wFAAwF,CAAC,CAAC;QAFxF,SAAI,GAAG,0BAA0B,CAAC;QAG1C,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IAClD,CAAC;CACD;AAND,gFAMC;AAWD,MAAa,wCAAyC,SAAQ,KAAK;IAClE,YAAqB,WAAiC;QACrD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QADP,gBAAW,GAAX,WAAW,CAAsB;QAErD,IAAI,CAAC,IAAI,GAAG,0CAA0C,CAAC;IACxD,CAAC;CACD;AALD,4FAKC;AA4BD,MAAa,kCAAmC,SAAQ,KAAK;IAC5D,YACC,OAAe,EACC,OAAsC,sBAAsB;QAE5E,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAwD;QAG5E,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IAClD,CAAC;CACD;AARD,gFAQC;AAYD,MAAa,gCAAiC,SAAQ,KAAK;IAC1D,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IAChD,CAAC;CACD;AALD,4EAKC"}
|
|
@@ -2,5 +2,5 @@ import { RemoteAccessTailscalePluginLoginDto } from './dto/login.dto';
|
|
|
2
2
|
import { UpdateRemoteAccessTailscalePluginConfigDto } from './dto/update-config.dto';
|
|
3
3
|
import { RemoteAccessTailscalePluginConfigModel } from './models/config.model';
|
|
4
4
|
import { RemoteAccessTailscalePluginInstallModel, RemoteAccessTailscalePluginInstallResponseModel, RemoteAccessTailscalePluginLoginModel, RemoteAccessTailscalePluginLoginResponseModel } from './models/login.model';
|
|
5
|
-
import { RemoteAccessTailscalePluginPrivilegedSetupModel, RemoteAccessTailscalePluginRequirementModel, RemoteAccessTailscalePluginSetupJobModel } from './models/status.model';
|
|
6
|
-
export declare const REMOTE_ACCESS_TAILSCALE_PLUGIN_SWAGGER_EXTRA_MODELS: (typeof RemoteAccessTailscalePluginLoginDto | typeof RemoteAccessTailscalePluginLoginModel | typeof RemoteAccessTailscalePluginLoginResponseModel | typeof RemoteAccessTailscalePluginInstallModel | typeof RemoteAccessTailscalePluginInstallResponseModel | typeof RemoteAccessTailscalePluginConfigModel | typeof RemoteAccessTailscalePluginRequirementModel | typeof RemoteAccessTailscalePluginSetupJobModel | typeof RemoteAccessTailscalePluginPrivilegedSetupModel | typeof UpdateRemoteAccessTailscalePluginConfigDto)[];
|
|
5
|
+
import { RemoteAccessTailscalePluginControlModel, RemoteAccessTailscalePluginPrivilegedSetupModel, RemoteAccessTailscalePluginRequirementModel, RemoteAccessTailscalePluginSetupJobModel } from './models/status.model';
|
|
6
|
+
export declare const REMOTE_ACCESS_TAILSCALE_PLUGIN_SWAGGER_EXTRA_MODELS: (typeof RemoteAccessTailscalePluginLoginDto | typeof RemoteAccessTailscalePluginLoginModel | typeof RemoteAccessTailscalePluginLoginResponseModel | typeof RemoteAccessTailscalePluginInstallModel | typeof RemoteAccessTailscalePluginInstallResponseModel | typeof RemoteAccessTailscalePluginConfigModel | typeof RemoteAccessTailscalePluginControlModel | typeof RemoteAccessTailscalePluginRequirementModel | typeof RemoteAccessTailscalePluginSetupJobModel | typeof RemoteAccessTailscalePluginPrivilegedSetupModel | typeof UpdateRemoteAccessTailscalePluginConfigDto)[];
|
|
@@ -14,6 +14,7 @@ exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_SWAGGER_EXTRA_MODELS = [
|
|
|
14
14
|
login_model_1.RemoteAccessTailscalePluginInstallResponseModel,
|
|
15
15
|
login_model_1.RemoteAccessTailscalePluginLoginResponseModel,
|
|
16
16
|
status_model_1.RemoteAccessTailscalePluginStatusModel,
|
|
17
|
+
status_model_1.RemoteAccessTailscalePluginControlModel,
|
|
17
18
|
status_model_1.RemoteAccessTailscalePluginRequirementModel,
|
|
18
19
|
login_model_1.RemoteAccessTailscalePluginInstallModel,
|
|
19
20
|
login_model_1.RemoteAccessTailscalePluginLoginModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-access-tailscale.openapi.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.openapi.ts"],"names":[],"mappings":";;;AAQA,+CAAsE;AACtE,+DAAqF;AACrF,wDAA+E;AAC/E,sDAK8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"remote-access-tailscale.openapi.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.openapi.ts"],"names":[],"mappings":";;;AAQA,+CAAsE;AACtE,+DAAqF;AACrF,wDAA+E;AAC/E,sDAK8B;AAC9B,wDAO+B;AAElB,QAAA,mDAAmD,GAAG;IAElE,qDAAsC;IACtC,8DAA0C;IAE1C,+CAAmC;IAEnC,6DAA8C;IAC9C,6DAA+C;IAC/C,2DAA6C;IAE7C,qDAAsC;IACtC,sDAAuC;IACvC,0DAA2C;IAC3C,qDAAuC;IACvC,mDAAqC;IACrC,uDAAwC;IACxC,8DAA+C;CAC/C,CAAC"}
|
|
@@ -30,6 +30,7 @@ const remote_access_tailscale_openapi_1 = require("./remote-access-tailscale.ope
|
|
|
30
30
|
const tailscale_cli_service_1 = require("./services/tailscale-cli.service");
|
|
31
31
|
const tailscale_login_service_1 = require("./services/tailscale-login.service");
|
|
32
32
|
const tailscale_node_managed_service_1 = require("./services/tailscale-node-managed.service");
|
|
33
|
+
const tailscale_operation_coordinator_service_1 = require("./services/tailscale-operation-coordinator.service");
|
|
33
34
|
const tailscale_provider_service_1 = require("./services/tailscale-provider.service");
|
|
34
35
|
const tailscale_serve_service_1 = require("./services/tailscale-serve.service");
|
|
35
36
|
const tailscale_setup_service_1 = require("./services/tailscale-setup.service");
|
|
@@ -111,6 +112,7 @@ exports.RemoteAccessTailscalePlugin = RemoteAccessTailscalePlugin = __decorate([
|
|
|
111
112
|
imports: [remote_access_module_1.RemoteAccessModule, platform_module_1.PlatformModule, config_1.ConfigModule],
|
|
112
113
|
controllers: [status_controller_1.StatusController, setup_controller_1.SetupController],
|
|
113
114
|
providers: [
|
|
115
|
+
tailscale_operation_coordinator_service_1.TailscaleOperationCoordinatorService,
|
|
114
116
|
tailscale_cli_service_1.TailscaleCliService,
|
|
115
117
|
tailscale_status_mapper_service_1.TailscaleStatusMapperService,
|
|
116
118
|
tailscale_serve_service_1.TailscaleServeService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-access-tailscale.plugin.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,2CAAkE;AAElE,2GAAqG;AACrG,6FAAyF;AACzF,uHAAiH;AACjH,4EAAwE;AACxE,2FAAsF;AACtF,0IAAmI;AACnI,0FAA4E;AAC5E,oHAA8G;AAC9G,iHAA2G;AAE3G,qEAAiE;AACjE,uEAAmE;AACnE,+DAAqF;AACrF,wDAA+E;AAC/E,2FAI6C;AAC7C,uFAAwG;AACxG,4EAAuE;AACvE,gFAA2E;AAC3E,8FAAwF;AACxF,sFAAiF;AACjF,gFAA2E;AAC3E,gFAA2E;AAC3E,gGAA0F;
|
|
1
|
+
{"version":3,"file":"remote-access-tailscale.plugin.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAsD;AACtD,2CAAkE;AAElE,2GAAqG;AACrG,6FAAyF;AACzF,uHAAiH;AACjH,4EAAwE;AACxE,2FAAsF;AACtF,0IAAmI;AACnI,0FAA4E;AAC5E,oHAA8G;AAC9G,iHAA2G;AAE3G,qEAAiE;AACjE,uEAAmE;AACnE,+DAAqF;AACrF,wDAA+E;AAC/E,2FAI6C;AAC7C,uFAAwG;AACxG,4EAAuE;AACvE,gFAA2E;AAC3E,8FAAwF;AACxF,gHAA0G;AAC1G,sFAAiF;AACjF,gFAA2E;AAC3E,gFAA2E;AAC3E,gGAA0F;AAqBnF,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACvC,YACkB,oBAA8C,EAC9C,eAA6C,EAC7C,iBAAoC,EACpC,qBAAmD,EACnD,gBAAqD,EACrD,oBAAiD,EACjD,kBAA+C,EAC/C,eAAyC;QAPzC,yBAAoB,GAApB,oBAAoB,CAA0B;QAC9C,oBAAe,GAAf,eAAe,CAA8B;QAC7C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,0BAAqB,GAArB,qBAAqB,CAA8B;QACnD,qBAAgB,GAAhB,gBAAgB,CAAqC;QACrD,yBAAoB,GAApB,oBAAoB,CAA6B;QACjD,uBAAkB,GAAlB,kBAAkB,CAA6B;QAC/C,oBAAe,GAAf,eAAe,CAA0B;IACxD,CAAC;IAEJ,YAAY;QACX,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAGvC;YACD,IAAI,EAAE,uEAAmC;YACzC,KAAK,EAAE,qDAAsC;YAC7C,SAAS,EAAE,8DAA0C;SACrD,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,qFAAmD,EAAE,CAAC;YACzE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,uEAAmC;YACzC,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,+EAA+E;YAC5F,MAAM,EAAE,WAAW;YACnB,cAAc,EAAE,KAAK;YACrB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yGA6B8F;YACtG,KAAK,EAAE;gBACN,aAAa,EAAE,wCAAwC;gBACvD,UAAU,EAAE,0CAA0C;aACtD;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE7D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CACjC,uEAAmC,EACnC,GAAmD,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAC5F,EAAE,CACF,CAAC;IACH,CAAC;CACD,CAAA;AA9EY,kEAA2B;sCAA3B,2BAA2B;IAnBvC,IAAA,0BAAM,EAAC;QACP,OAAO,EAAE,uEAAmC;QAC5C,WAAW,EAAE,+EAA2C;QACxD,WAAW,EAAE,sFAAkD;KAC/D,CAAC;IACD,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,yCAAkB,EAAE,gCAAc,EAAE,qBAAgB,CAAC;QAC/D,WAAW,EAAE,CAAC,oCAAgB,EAAE,kCAAe,CAAC;QAChD,SAAS,EAAE;YACV,8EAAoC;YACpC,2CAAmB;YACnB,8DAA4B;YAC5B,+CAAqB;YACrB,4DAA2B;YAC3B,qDAAwB;YACxB,+CAAqB;YACrB,+CAAqB;SACrB;KACD,CAAC;qCAGuC,sDAAwB;QAC7B,8DAA4B;QAC1B,sCAAiB;QACb,8DAA4B;QACjC,6EAAmC;QAC/B,4DAA2B;QAC7B,4DAA2B;QAC9B,qDAAwB;GAT/C,2BAA2B,CA8EvC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ChildProcessWithoutNullStreams } from 'node:child_process';
|
|
2
|
+
import { TailscaleOperationCoordinatorService } from './tailscale-operation-coordinator.service';
|
|
2
3
|
export type TailscaleCliErrorKind = 'not-installed' | 'permission-denied' | 'daemon-down' | 'needs-login' | 'settings-conflict' | 'timeout' | 'unknown';
|
|
3
4
|
export declare class TailscaleCliError extends Error {
|
|
4
5
|
readonly kind: TailscaleCliErrorKind;
|
|
@@ -63,10 +64,12 @@ export interface TailscaleServeStatus {
|
|
|
63
64
|
}
|
|
64
65
|
export declare function redactTailscaleArgs(args: readonly string[]): string[];
|
|
65
66
|
export declare class TailscaleCliService {
|
|
67
|
+
private readonly operations?;
|
|
66
68
|
private readonly logger;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
constructor(operations?: TailscaleOperationCoordinatorService);
|
|
70
|
+
getVersion(signal?: AbortSignal): Promise<TailscaleVersionInfo>;
|
|
71
|
+
getStatus(signal?: AbortSignal): Promise<TailscaleStatus>;
|
|
72
|
+
getPrefs(signal?: AbortSignal): Promise<TailscalePrefs>;
|
|
70
73
|
up(args: readonly string[]): Promise<void>;
|
|
71
74
|
set(args: readonly string[]): Promise<void>;
|
|
72
75
|
down(): Promise<void>;
|
|
@@ -75,10 +78,11 @@ export declare class TailscaleCliService {
|
|
|
75
78
|
serve(backendPort: number): Promise<void>;
|
|
76
79
|
funnelOn(backendPort: number): Promise<void>;
|
|
77
80
|
serveOff(): Promise<void>;
|
|
78
|
-
serveStatus(): Promise<TailscaleServeStatus>;
|
|
81
|
+
serveStatus(signal?: AbortSignal): Promise<TailscaleServeStatus>;
|
|
79
82
|
spawnUp(args: readonly string[]): ChildProcessWithoutNullStreams;
|
|
80
83
|
private runManagementCommand;
|
|
81
84
|
private execServeConfig;
|
|
82
85
|
private classify;
|
|
86
|
+
private execRead;
|
|
83
87
|
private exec;
|
|
84
88
|
}
|
|
@@ -5,13 +5,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
8
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
15
|
exports.TailscaleCliService = exports.TailscaleCliError = void 0;
|
|
10
16
|
exports.redactTailscaleArgs = redactTailscaleArgs;
|
|
11
17
|
const node_child_process_1 = require("node:child_process");
|
|
12
18
|
const common_1 = require("@nestjs/common");
|
|
13
19
|
const logger_1 = require("../../../common/logger");
|
|
20
|
+
const cancellable_exec_utils_1 = require("../../../common/utils/cancellable-exec.utils");
|
|
14
21
|
const remote_access_tailscale_constants_1 = require("../remote-access-tailscale.constants");
|
|
22
|
+
const tailscale_operation_coordinator_service_1 = require("./tailscale-operation-coordinator.service");
|
|
15
23
|
class TailscaleCliError extends Error {
|
|
16
24
|
constructor(kind, message, cause) {
|
|
17
25
|
super(message);
|
|
@@ -51,11 +59,12 @@ const PERMISSION_DENIED_PATTERN = /access denied|permission denied|must be root,
|
|
|
51
59
|
const DAEMON_DOWN_PATTERN = /connection refused|failed to connect to local|couldn't connect|no such file or directory.*sock/i;
|
|
52
60
|
const NEEDS_LOGIN_PATTERN = /not logged in|needs to log in|logged out/i;
|
|
53
61
|
let TailscaleCliService = class TailscaleCliService {
|
|
54
|
-
constructor() {
|
|
62
|
+
constructor(operations) {
|
|
63
|
+
this.operations = operations;
|
|
55
64
|
this.logger = (0, logger_1.createExtensionLogger)(remote_access_tailscale_constants_1.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME, 'TailscaleCliService');
|
|
56
65
|
}
|
|
57
|
-
async getVersion() {
|
|
58
|
-
const { stdout, stderr, exitCode } = await this.
|
|
66
|
+
async getVersion(signal) {
|
|
67
|
+
const { stdout, stderr, exitCode } = await this.execRead(['version', '--json'], signal);
|
|
59
68
|
if (exitCode !== 0) {
|
|
60
69
|
throw this.classify(stdout, stderr, `tailscale version --json exited with code ${exitCode}`);
|
|
61
70
|
}
|
|
@@ -72,8 +81,8 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
72
81
|
}
|
|
73
82
|
return { version, raw: parsed };
|
|
74
83
|
}
|
|
75
|
-
async getStatus() {
|
|
76
|
-
const { stdout, stderr, exitCode } = await this.
|
|
84
|
+
async getStatus(signal) {
|
|
85
|
+
const { stdout, stderr, exitCode } = await this.execRead(['status', '--json'], signal);
|
|
77
86
|
let parsed;
|
|
78
87
|
try {
|
|
79
88
|
parsed = JSON.parse(stdout);
|
|
@@ -86,8 +95,8 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
86
95
|
}
|
|
87
96
|
return parsed;
|
|
88
97
|
}
|
|
89
|
-
async getPrefs() {
|
|
90
|
-
const { stdout, stderr, exitCode } = await this.
|
|
98
|
+
async getPrefs(signal) {
|
|
99
|
+
const { stdout, stderr, exitCode } = await this.execRead(['debug', 'prefs'], signal);
|
|
91
100
|
if (exitCode !== 0) {
|
|
92
101
|
throw this.classify(stdout, stderr, `tailscale debug prefs exited with code ${exitCode}`);
|
|
93
102
|
}
|
|
@@ -134,10 +143,11 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
134
143
|
async serveOff() {
|
|
135
144
|
await this.runManagementCommand(['serve', '--https=443', '--set-path=/', 'off']);
|
|
136
145
|
}
|
|
137
|
-
async serveStatus() {
|
|
138
|
-
return this.execServeConfig(['serve', 'status', '--json']);
|
|
146
|
+
async serveStatus(signal) {
|
|
147
|
+
return this.execServeConfig(['serve', 'status', '--json'], signal);
|
|
139
148
|
}
|
|
140
149
|
spawnUp(args) {
|
|
150
|
+
this.operations?.assertCurrent();
|
|
141
151
|
const argv = ['up', ...args];
|
|
142
152
|
this.logger.debug(`Spawning: ${remote_access_tailscale_constants_1.TAILSCALE_BINARY} ${redactTailscaleArgs(argv).join(' ')}`);
|
|
143
153
|
return (0, node_child_process_1.spawn)(remote_access_tailscale_constants_1.TAILSCALE_BINARY, argv);
|
|
@@ -148,8 +158,8 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
148
158
|
throw this.classify(stdout, stderr, `tailscale ${args[0] ?? ''} exited with code ${exitCode}`);
|
|
149
159
|
}
|
|
150
160
|
}
|
|
151
|
-
async execServeConfig(args) {
|
|
152
|
-
const { stdout, stderr, exitCode } = await this.
|
|
161
|
+
async execServeConfig(args, signal) {
|
|
162
|
+
const { stdout, stderr, exitCode } = await this.execRead(args, signal);
|
|
153
163
|
if (exitCode !== 0) {
|
|
154
164
|
throw this.classify(stdout, stderr, `tailscale ${args.join(' ')} exited with code ${exitCode}`);
|
|
155
165
|
}
|
|
@@ -175,14 +185,38 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
175
185
|
else if (NEEDS_LOGIN_PATTERN.test(text)) {
|
|
176
186
|
kind = 'needs-login';
|
|
177
187
|
}
|
|
178
|
-
const detail = stderr.trim() || stdout.trim()
|
|
188
|
+
const detail = (stderr.trim() || stdout.trim())
|
|
189
|
+
.replace(/https?:\/\/\S+/gi, '[redacted URL]')
|
|
190
|
+
.replace(/tskey-[\w-]+/gi, '[redacted key]');
|
|
179
191
|
return new TailscaleCliError(kind, detail ? `${context}: ${detail}` : context, cause);
|
|
180
192
|
}
|
|
193
|
+
async execRead(args, signal) {
|
|
194
|
+
if (!signal && this.operations?.getToken()) {
|
|
195
|
+
return this.exec(args);
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
return await (0, cancellable_exec_utils_1.cancellableExecFile)(remote_access_tailscale_constants_1.TAILSCALE_BINARY, args, signal, remote_access_tailscale_constants_1.TAILSCALE_CLI_DEFAULT_TIMEOUT_MS, remote_access_tailscale_constants_1.TAILSCALE_CLI_MAX_BUFFER_BYTES);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
signal?.throwIfAborted();
|
|
202
|
+
const nodeError = error;
|
|
203
|
+
if (nodeError.code === 'ENOENT') {
|
|
204
|
+
throw new TailscaleCliError('not-installed', 'The tailscale CLI is not installed or not on PATH.', error);
|
|
205
|
+
}
|
|
206
|
+
if (nodeError.code === 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER') {
|
|
207
|
+
throw new TailscaleCliError('unknown', `tailscale ${args[0] ?? ''} produced more than ${remote_access_tailscale_constants_1.TAILSCALE_CLI_MAX_BUFFER_BYTES} bytes of output.`, error);
|
|
208
|
+
}
|
|
209
|
+
throw new TailscaleCliError(nodeError.killed ? 'timeout' : 'unknown', 'The Tailscale status read failed.', error);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
181
212
|
exec(args, timeoutMs = remote_access_tailscale_constants_1.TAILSCALE_CLI_DEFAULT_TIMEOUT_MS) {
|
|
213
|
+
this.operations?.assertCurrent();
|
|
182
214
|
const argv = [...args];
|
|
183
215
|
this.logger.debug(`Running: ${remote_access_tailscale_constants_1.TAILSCALE_BINARY} ${redactTailscaleArgs(argv).join(' ')}`);
|
|
184
216
|
return new Promise((resolve, reject) => {
|
|
185
|
-
|
|
217
|
+
let hardDeadline;
|
|
218
|
+
const child = (0, node_child_process_1.execFile)(remote_access_tailscale_constants_1.TAILSCALE_BINARY, argv, { timeout: timeoutMs, maxBuffer: remote_access_tailscale_constants_1.TAILSCALE_CLI_MAX_BUFFER_BYTES }, (error, stdout, stderr) => {
|
|
219
|
+
clearTimeout(hardDeadline);
|
|
186
220
|
const out = stdout ?? '';
|
|
187
221
|
const err = stderr ?? '';
|
|
188
222
|
if (error) {
|
|
@@ -208,11 +242,21 @@ let TailscaleCliService = class TailscaleCliService {
|
|
|
208
242
|
}
|
|
209
243
|
resolve({ stdout: out, stderr: err, exitCode: 0 });
|
|
210
244
|
});
|
|
245
|
+
if (this.operations?.getToken()) {
|
|
246
|
+
void this.operations.trackChild(child);
|
|
247
|
+
hardDeadline = setTimeout(() => {
|
|
248
|
+
void this.operations
|
|
249
|
+
.terminateChild(child)
|
|
250
|
+
.then(() => reject(new TailscaleCliError('timeout', `tailscale ${argv[0] ?? ''} did not complete within ${timeoutMs}ms.`)), reject);
|
|
251
|
+
}, timeoutMs);
|
|
252
|
+
}
|
|
211
253
|
});
|
|
212
254
|
}
|
|
213
255
|
};
|
|
214
256
|
exports.TailscaleCliService = TailscaleCliService;
|
|
215
257
|
exports.TailscaleCliService = TailscaleCliService = __decorate([
|
|
216
|
-
(0, common_1.Injectable)()
|
|
258
|
+
(0, common_1.Injectable)(),
|
|
259
|
+
__param(0, (0, common_1.Optional)()),
|
|
260
|
+
__metadata("design:paramtypes", [tailscale_operation_coordinator_service_1.TailscaleOperationCoordinatorService])
|
|
217
261
|
], TailscaleCliService);
|
|
218
262
|
//# sourceMappingURL=tailscale-cli.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailscale-cli.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/services/tailscale-cli.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tailscale-cli.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/services/tailscale-cli.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { OnModuleInit } from '@nestjs/common';
|
|
1
|
+
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { ConfigService as NestConfigService } from '@nestjs/config';
|
|
3
3
|
import { RemoteAccessProviderState } from '../../../modules/remote-access/platforms/remote-access-provider.platform';
|
|
4
|
+
import { TailscaleOperationInProgressException } from '../remote-access-tailscale.exceptions';
|
|
4
5
|
import { TailscaleCliService } from './tailscale-cli.service';
|
|
5
6
|
import { TailscaleNodeManagedService } from './tailscale-node-managed.service';
|
|
6
7
|
export interface TailscaleLoginResult {
|
|
@@ -12,18 +13,21 @@ export declare function extractJsonObjects(buffer: string): {
|
|
|
12
13
|
objects: string[];
|
|
13
14
|
rest: string;
|
|
14
15
|
};
|
|
15
|
-
export declare class TailscaleLoginInProgressException extends
|
|
16
|
+
export declare class TailscaleLoginInProgressException extends TailscaleOperationInProgressException {
|
|
16
17
|
constructor(message: string);
|
|
17
18
|
}
|
|
18
|
-
export declare class TailscaleLoginService implements OnModuleInit {
|
|
19
|
+
export declare class TailscaleLoginService implements OnModuleInit, OnModuleDestroy {
|
|
19
20
|
private readonly cli;
|
|
20
21
|
private readonly nodeManagedService;
|
|
21
22
|
private readonly nestConfigService;
|
|
22
23
|
private readonly logger;
|
|
23
24
|
private pending;
|
|
25
|
+
private interactiveRequest;
|
|
24
26
|
private keyedLoginInFlight;
|
|
25
27
|
constructor(cli: TailscaleCliService, nodeManagedService: TailscaleNodeManagedService, nestConfigService: NestConfigService);
|
|
26
28
|
onModuleInit(): Promise<void>;
|
|
29
|
+
private get operations();
|
|
30
|
+
onModuleDestroy(): Promise<void>;
|
|
27
31
|
login(authKey?: string): Promise<TailscaleLoginResult>;
|
|
28
32
|
logout(): Promise<TailscaleLoginResult>;
|
|
29
33
|
resetPreferences(): Promise<TailscaleLoginResult>;
|
|
@@ -33,6 +37,7 @@ export declare class TailscaleLoginService implements OnModuleInit {
|
|
|
33
37
|
qr?: string;
|
|
34
38
|
} | null;
|
|
35
39
|
stopPendingLogin(): void;
|
|
40
|
+
private prepareLogin;
|
|
36
41
|
private loginWithAuthKey;
|
|
37
42
|
private loginInteractively;
|
|
38
43
|
private currentStatus;
|