@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.
Files changed (180) hide show
  1. package/dist/app.module.js +1 -1
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/utils/cancellable-exec.utils.d.ts +5 -0
  4. package/dist/common/utils/cancellable-exec.utils.js +34 -0
  5. package/dist/common/utils/cancellable-exec.utils.js.map +1 -0
  6. package/dist/common/utils/remote-access-observation.utils.d.ts +11 -0
  7. package/dist/common/utils/remote-access-observation.utils.js +89 -0
  8. package/dist/common/utils/remote-access-observation.utils.js.map +1 -0
  9. package/dist/modules/auth/auth.module.js +4 -0
  10. package/dist/modules/auth/auth.module.js.map +1 -1
  11. package/dist/modules/auth/guards/auth.guard.js +8 -13
  12. package/dist/modules/auth/guards/auth.guard.js.map +1 -1
  13. package/dist/modules/auth/services/token-metadata.service.d.ts +42 -0
  14. package/dist/modules/auth/services/token-metadata.service.js +202 -0
  15. package/dist/modules/auth/services/token-metadata.service.js.map +1 -0
  16. package/dist/modules/auth/services/token-usage.service.d.ts +22 -0
  17. package/dist/modules/auth/services/token-usage.service.js +93 -0
  18. package/dist/modules/auth/services/token-usage.service.js.map +1 -0
  19. package/dist/modules/auth/services/tokens.service.d.ts +8 -2
  20. package/dist/modules/auth/services/tokens.service.js +16 -10
  21. package/dist/modules/auth/services/tokens.service.js.map +1 -1
  22. package/dist/modules/devices/devices.module.js +7 -0
  23. package/dist/modules/devices/devices.module.js.map +1 -1
  24. package/dist/modules/devices/dto/property-command.dto.js +2 -8
  25. package/dist/modules/devices/dto/property-command.dto.js.map +1 -1
  26. package/dist/modules/devices/services/device-command-graph.service.d.ts +18 -0
  27. package/dist/modules/devices/services/device-command-graph.service.js +92 -0
  28. package/dist/modules/devices/services/device-command-graph.service.js.map +1 -0
  29. package/dist/modules/devices/services/devices.service.js +2 -17
  30. package/dist/modules/devices/services/devices.service.js.map +1 -1
  31. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +5 -3
  32. package/dist/modules/devices/services/property-command-dispatch.service.js +15 -12
  33. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
  34. package/dist/modules/devices/services/property-command.service.d.ts +7 -5
  35. package/dist/modules/devices/services/property-command.service.js +41 -20
  36. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  37. package/dist/modules/devices/services/property-metadata.service.d.ts +9 -2
  38. package/dist/modules/devices/services/property-metadata.service.js +67 -17
  39. package/dist/modules/devices/services/property-metadata.service.js.map +1 -1
  40. package/dist/modules/devices/utils/device-graph-query.utils.d.ts +3 -0
  41. package/dist/modules/devices/utils/device-graph-query.utils.js +23 -0
  42. package/dist/modules/devices/utils/device-graph-query.utils.js.map +1 -0
  43. package/dist/modules/devices/validators/property-command-target-constraint.validator.d.ts +9 -0
  44. package/dist/modules/devices/validators/property-command-target-constraint.validator.js +58 -0
  45. package/dist/modules/devices/validators/property-command-target-constraint.validator.js.map +1 -0
  46. package/dist/modules/remote-access/controllers/remote-access.controller.js +9 -5
  47. package/dist/modules/remote-access/controllers/remote-access.controller.js.map +1 -1
  48. package/dist/modules/remote-access/models/provider.model.d.ts +3 -0
  49. package/dist/modules/remote-access/models/provider.model.js +23 -0
  50. package/dist/modules/remote-access/models/provider.model.js.map +1 -1
  51. package/dist/modules/remote-access/models/status.model.d.ts +2 -0
  52. package/dist/modules/remote-access/models/status.model.js +18 -1
  53. package/dist/modules/remote-access/models/status.model.js.map +1 -1
  54. package/dist/modules/remote-access/models/urls.model.d.ts +2 -0
  55. package/dist/modules/remote-access/models/urls.model.js +17 -0
  56. package/dist/modules/remote-access/models/urls.model.js.map +1 -1
  57. package/dist/modules/remote-access/platforms/remote-access-provider.platform.d.ts +18 -1
  58. package/dist/modules/remote-access/remote-access.constants.d.ts +2 -1
  59. package/dist/modules/remote-access/remote-access.constants.js +2 -1
  60. package/dist/modules/remote-access/remote-access.constants.js.map +1 -1
  61. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.d.ts +1 -0
  62. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -1
  63. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
  64. package/dist/modules/remote-access/services/remote-access-status.service.d.ts +40 -8
  65. package/dist/modules/remote-access/services/remote-access-status.service.js +314 -65
  66. package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
  67. package/dist/modules/remote-access/services/remote-access-url.service.d.ts +2 -2
  68. package/dist/modules/remote-access/services/remote-access-url.service.js +4 -2
  69. package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
  70. package/dist/modules/spaces/services/module-reset.service.d.ts +5 -1
  71. package/dist/modules/spaces/services/module-reset.service.js +10 -2
  72. package/dist/modules/spaces/services/module-reset.service.js.map +1 -1
  73. package/dist/modules/spaces/services/space-activity.service.d.ts +14 -0
  74. package/dist/modules/spaces/services/space-activity.service.js +56 -0
  75. package/dist/modules/spaces/services/space-activity.service.js.map +1 -0
  76. package/dist/modules/spaces/spaces.module.js +5 -0
  77. package/dist/modules/spaces/spaces.module.js.map +1 -1
  78. package/dist/modules/spaces/subscribers/space-activity.subscriber.d.ts +17 -0
  79. package/dist/modules/spaces/subscribers/space-activity.subscriber.js +89 -0
  80. package/dist/modules/spaces/subscribers/space-activity.subscriber.js.map +1 -0
  81. package/dist/modules/websocket/gateway/websocket.gateway.js +1 -0
  82. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  83. package/dist/modules/websocket/services/ws-auth.service.js +12 -28
  84. package/dist/modules/websocket/services/ws-auth.service.js.map +1 -1
  85. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.d.ts +3 -8
  86. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js +6 -36
  87. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js.map +1 -1
  88. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +5 -3
  89. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +20 -8
  90. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -1
  91. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +3 -5
  92. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +11 -10
  93. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -1
  94. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +2 -0
  95. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +17 -0
  96. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -1
  97. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +20 -2
  98. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +105 -48
  99. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -1
  100. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +13 -1
  101. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +8 -2
  102. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -1
  103. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +1 -1
  104. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +12 -24
  105. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -1
  106. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +1 -1
  107. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +5 -2
  108. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -1
  109. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +10 -5
  110. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +105 -15
  111. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  112. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +5 -4
  113. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +19 -9
  114. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  115. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +16 -0
  116. package/dist/plugins/remote-access-tailscale/models/status.model.js +100 -1
  117. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  118. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  119. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  120. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  121. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +17 -1
  122. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +33 -1
  123. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -1
  124. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  125. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +1 -0
  126. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  127. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +2 -0
  128. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js.map +1 -1
  129. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +8 -4
  130. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +58 -14
  131. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  132. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +8 -3
  133. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +175 -151
  134. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  135. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +51 -7
  136. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +481 -101
  137. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  138. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.d.ts +33 -0
  139. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js +167 -0
  140. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js.map +1 -0
  141. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.d.ts +13 -1
  142. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js +8 -2
  143. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js.map +1 -1
  144. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +1 -1
  145. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +7 -6
  146. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  147. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +1 -3
  148. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +9 -11
  149. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  150. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.d.ts +5 -0
  151. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js +36 -0
  152. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js.map +1 -0
  153. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.d.ts +6 -7
  154. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js +19 -44
  155. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js.map +1 -1
  156. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.d.ts +4 -4
  157. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js +9 -22
  158. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -1
  159. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.d.ts +4 -4
  160. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js +9 -22
  161. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js.map +1 -1
  162. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.d.ts +4 -4
  163. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js +9 -22
  164. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js.map +1 -1
  165. package/dist/plugins/spaces-home-control/services/space-climate-state.service.d.ts +3 -5
  166. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js +9 -12
  167. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -1
  168. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.d.ts +3 -5
  169. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js +7 -10
  170. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -1
  171. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.d.ts +3 -5
  172. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js +7 -10
  173. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js.map +1 -1
  174. package/dist/plugins/spaces-home-control/services/space-state-read.service.d.ts +47 -0
  175. package/dist/plugins/spaces-home-control/services/space-state-read.service.js +262 -0
  176. package/dist/plugins/spaces-home-control/services/space-state-read.service.js.map +1 -0
  177. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +4 -0
  178. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -1
  179. package/dist/tsconfig.build.tsbuildinfo +1 -1
  180. package/package.json +2 -2
@@ -11,13 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CloudflareTunnelManagedService = void 0;
13
13
  exports.compareCloudflaredVersions = compareCloudflaredVersions;
14
- const node_child_process_1 = require("node:child_process");
15
14
  const path_1 = require("path");
16
15
  const common_1 = require("@nestjs/common");
17
16
  const config_1 = require("@nestjs/config");
18
17
  const event_emitter_1 = require("@nestjs/event-emitter");
19
18
  const logger_1 = require("../../../common/logger");
19
+ const cancellable_exec_utils_1 = require("../../../common/utils/cancellable-exec.utils");
20
20
  const config_utils_1 = require("../../../common/utils/config.utils");
21
+ const remote_access_observation_utils_1 = require("../../../common/utils/remote-access-observation.utils");
21
22
  const config_service_1 = require("../../../modules/config/services/config.service");
22
23
  const base_managed_extension_service_1 = require("../../../modules/extensions/services/base-managed-extension.service");
23
24
  const platform_constants_1 = require("../../../modules/platform/platform.constants");
@@ -62,6 +63,9 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
62
63
  this.owner = { kind: 'plugin', type: remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME };
63
64
  this.serviceId = 'tunnel';
64
65
  this.activationPolicy = 'owner-enabled';
66
+ this.generation = 0;
67
+ this.observations = new remote_access_observation_utils_1.RemoteAccessObservation();
68
+ this.requirementObservations = new remote_access_observation_utils_1.RemoteAccessObservation();
65
69
  this.pollTimer = null;
66
70
  this.lastStatus = null;
67
71
  this.lastError = null;
@@ -74,12 +78,18 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
74
78
  if (this.state === 'started') {
75
79
  return;
76
80
  }
81
+ const generation = ++this.generation;
82
+ this.observations.invalidate();
83
+ this.requirementObservations.invalidate();
77
84
  this.state = 'starting';
78
85
  this.pluginConfig = null;
79
86
  const config = this.getPluginConfig();
80
87
  this.logger.log('Starting Cloudflare Tunnel service');
81
88
  try {
82
89
  const requirements = await this.refreshRequirements();
90
+ if (generation !== this.generation) {
91
+ return;
92
+ }
83
93
  if (this.requirementsSatisfied(requirements)) {
84
94
  this.processService.start({
85
95
  token: config.tunnelToken ?? '',
@@ -99,6 +109,10 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
99
109
  });
100
110
  }
101
111
  async stop() {
112
+ this.generation++;
113
+ this.observations.invalidate();
114
+ this.requirementObservations.invalidate();
115
+ this.clearPoll();
102
116
  await this.withLock(async () => {
103
117
  if (this.state === 'stopped') {
104
118
  return;
@@ -122,11 +136,24 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
122
136
  });
123
137
  }
124
138
  async emitStatus() {
125
- const status = await this.computeStatus();
139
+ const generation = this.generation;
140
+ const snapshot = this.state === 'stopped' || this.state === 'stopping' || this.state === 'error'
141
+ ? {
142
+ status: this.buildStatus(this.state === 'error' ? 'error' : 'disconnected', this.lastError ?? 'The tunnel service is stopped.'),
143
+ metadata: { requirements: this.getRequirements() },
144
+ }
145
+ : await this.getStatusSnapshot();
146
+ if (generation !== this.generation) {
147
+ return;
148
+ }
149
+ const status = snapshot.status;
126
150
  this.lastStatus = status;
127
- this.eventEmitter.emit(remote_access_constants_1.EventType.PROVIDER_STATUS, status);
151
+ this.eventEmitter.emit(remote_access_constants_1.EventType.PROVIDER_OBSERVATION, snapshot);
128
152
  }
129
153
  async onConfigChanged() {
154
+ this.generation++;
155
+ this.observations.invalidate();
156
+ this.requirementObservations.invalidate();
130
157
  const previous = this.pluginConfig;
131
158
  this.pluginConfig = null;
132
159
  const next = this.getPluginConfig();
@@ -144,11 +171,7 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
144
171
  return { restartRequired: false };
145
172
  }
146
173
  async isHealthy() {
147
- if (!this.processService.isRunning()) {
148
- return false;
149
- }
150
- const ready = await this.metricsService.fetchReady(this.getMetricsAddress());
151
- return ready !== null;
174
+ return (await this.computeStatus()).state === 'connected';
152
175
  }
153
176
  async factoryReset() {
154
177
  try {
@@ -162,35 +185,40 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
162
185
  getRequirements() {
163
186
  return this.requirementsCache ?? [];
164
187
  }
165
- async refreshRequirements() {
166
- const requirements = await this.evaluateRequirementsLive();
167
- this.requirementsCache = requirements;
188
+ async refreshRequirements(signal) {
189
+ const generation = this.generation;
190
+ const requirements = await this.requirementObservations.run((readSignal) => this.evaluateRequirementsLive(readSignal), signal);
191
+ signal?.throwIfAborted();
192
+ if (generation === this.generation) {
193
+ this.requirementsCache = requirements;
194
+ }
168
195
  return requirements;
169
196
  }
170
197
  requirementsSatisfied(requirements) {
171
198
  return requirements.length > 0 && requirements.every((requirement) => requirement.satisfied);
172
199
  }
173
- async evaluateRequirementsLive() {
200
+ async evaluateRequirementsLive(signal) {
174
201
  const platform = await this.evaluatePlatformSupported();
202
+ signal?.throwIfAborted();
175
203
  if (!platform.satisfied) {
176
204
  return this.attachRemedies([
177
205
  platform,
178
206
  this.unevaluatedRequirement('binary-installed'),
179
207
  this.unevaluatedRequirement('version-supported'),
180
208
  this.unevaluatedRequirement('token-configured'),
181
- ]);
209
+ ], signal);
182
210
  }
183
- const { binary, version } = await this.evaluateBinaryAndVersion();
211
+ const { binary, version } = await this.evaluateBinaryAndVersion(signal);
184
212
  const token = this.evaluateTokenConfigured();
185
- return this.attachRemedies([platform, binary, version, token]);
213
+ return this.attachRemedies([platform, binary, version, token], signal);
186
214
  }
187
215
  unevaluatedRequirement(code) {
188
216
  return { code, satisfied: false, message: UNEVALUATED_MESSAGE };
189
217
  }
190
- async attachRemedies(requirements) {
218
+ async attachRemedies(requirements, signal) {
191
219
  let installRemedyPromise = null;
192
220
  const getInstallRemedy = () => {
193
- installRemedyPromise ??= this.buildInstallRemedy();
221
+ installRemedyPromise ??= this.buildInstallRemedy(signal);
194
222
  return installRemedyPromise;
195
223
  };
196
224
  return Promise.all(requirements.map((requirement) => this.finalizeRequirement(requirement, getInstallRemedy)));
@@ -213,9 +241,9 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
213
241
  return { commands: [], note: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_DOCUMENTATION_URL };
214
242
  }
215
243
  }
216
- async buildInstallRemedy() {
244
+ async buildInstallRemedy(signal) {
217
245
  try {
218
- const stdout = await this.runSetupScriptPrintPlan();
246
+ const stdout = await this.runSetupScriptPrintPlan(signal);
219
247
  const lines = stdout
220
248
  .split('\n')
221
249
  .map((line) => line.trim())
@@ -235,17 +263,9 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
235
263
  return { commands: [], note: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_VENDOR_DOWNLOAD_URL };
236
264
  }
237
265
  }
238
- runSetupScriptPrintPlan() {
266
+ async runSetupScriptPrintPlan(signal) {
239
267
  const script = (0, path_1.join)(__dirname, '..', 'scripts', 'cloudflared-setup.sh');
240
- return new Promise((resolve, reject) => {
241
- (0, node_child_process_1.execFile)('bash', [script, '--print-plan'], { timeout: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PRINT_PLAN_TIMEOUT_MS }, (error, stdout) => {
242
- if (error) {
243
- reject(error);
244
- return;
245
- }
246
- resolve(stdout ?? '');
247
- });
248
- });
268
+ return (await (0, cancellable_exec_utils_1.cancellableExecFile)('bash', [script, '--print-plan'], signal, remote_access_cloudflare_tunnel_constants_1.CLOUDFLARE_TUNNEL_PRINT_PLAN_TIMEOUT_MS)).stdout;
249
269
  }
250
270
  async evaluatePlatformSupported() {
251
271
  const platformType = await this.platformService.getPlatformTypeAsync();
@@ -258,9 +278,10 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
258
278
  message: `Cloudflare Tunnel is not supported on the '${platformType}' platform.`,
259
279
  };
260
280
  }
261
- async evaluateBinaryAndVersion() {
281
+ async evaluateBinaryAndVersion(signal) {
262
282
  try {
263
- const info = await this.cliService.getVersion();
283
+ const info = await this.cliService.getVersion(signal);
284
+ signal?.throwIfAborted();
264
285
  this.lastKnownVersion = info.version;
265
286
  const supported = compareCloudflaredVersions(info.version, remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_MIN_VERSION) >= 0;
266
287
  return {
@@ -324,14 +345,45 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
324
345
  return 'not-installed';
325
346
  }
326
347
  }
327
- async computeStatus() {
348
+ async computeStatus(options) {
349
+ return (await this.getStatusSnapshot(options)).status;
350
+ }
351
+ async awaitObservationIdle() {
352
+ await Promise.all([this.observations.awaitIdle(), this.requirementObservations.awaitIdle()]);
353
+ }
354
+ async getStatusSnapshot(options) {
355
+ const generation = this.generation;
356
+ try {
357
+ const snapshot = await this.observations.run(async (signal) => {
358
+ const requirements = await this.refreshRequirements(signal);
359
+ const status = await this.collectStatus(requirements, signal);
360
+ signal.throwIfAborted();
361
+ return { status, metadata: { requirements } };
362
+ }, options?.signal);
363
+ if (generation === this.generation) {
364
+ return snapshot;
365
+ }
366
+ }
367
+ catch (error) {
368
+ if (generation === this.generation && this.isPollable()) {
369
+ return {
370
+ status: this.buildStatus('error', error instanceof Error ? error.message : 'The status observation failed.'),
371
+ metadata: { requirements: this.getRequirements() },
372
+ };
373
+ }
374
+ }
375
+ return {
376
+ status: this.buildStatus(this.state === 'error' ? 'error' : 'disconnected', this.lastError ?? 'The observation was superseded by a lifecycle action.'),
377
+ metadata: { requirements: this.getRequirements() },
378
+ };
379
+ }
380
+ async collectStatus(requirements, signal) {
328
381
  if (this.state === 'stopped' || this.state === 'stopping') {
329
382
  return this.buildStatus('disconnected', 'The tunnel service is stopped.');
330
383
  }
331
384
  if (this.state === 'error') {
332
385
  return this.buildStatus('error', this.lastError ?? 'The Cloudflare Tunnel service failed.');
333
386
  }
334
- const requirements = await this.refreshRequirements();
335
387
  const blocking = this.firstBlockingRequirement(requirements);
336
388
  if (blocking) {
337
389
  return this.buildStatus(this.stateForRequirementCode(blocking.code), blocking.message);
@@ -345,7 +397,7 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
345
397
  : 'cloudflared is not running.');
346
398
  return this.buildStatus('error', message);
347
399
  }
348
- const ready = await this.metricsService.fetchReady(this.getMetricsAddress());
400
+ const ready = await this.metricsService.fetchReady(this.getMetricsAddress(), signal);
349
401
  if (ready) {
350
402
  return this.buildStatus('connected', undefined, ready);
351
403
  }
@@ -377,32 +429,37 @@ let CloudflareTunnelManagedService = class CloudflareTunnelManagedService extend
377
429
  }
378
430
  }
379
431
  async pollTick() {
432
+ const generation = this.generation;
380
433
  try {
381
- if (this.state === 'started' && !this.processService.isRunning()) {
382
- const requirements = await this.refreshRequirements();
383
- if (this.requirementsSatisfied(requirements) && this.isPollable()) {
384
- const config = this.getPluginConfig();
385
- this.processService.start({
386
- token: config.tunnelToken ?? '',
387
- protocol: config.protocol,
388
- metricsAddress: this.getMetricsAddress(),
389
- });
390
- }
434
+ let snapshot = await this.getStatusSnapshot();
435
+ if (!this.isPollable() || generation !== this.generation) {
436
+ return;
437
+ }
438
+ if (this.state === 'started' &&
439
+ !this.processService.isRunning() &&
440
+ this.requirementsSatisfied(snapshot.metadata.requirements)) {
441
+ const config = this.getPluginConfig();
442
+ this.processService.start({
443
+ token: config.tunnelToken ?? '',
444
+ protocol: config.protocol,
445
+ metricsAddress: this.getMetricsAddress(),
446
+ });
447
+ snapshot = await this.getStatusSnapshot({ fresh: true });
391
448
  }
392
- const status = await this.computeStatus();
393
- if (!this.isPollable()) {
449
+ if (!this.isPollable() || generation !== this.generation) {
394
450
  return;
395
451
  }
452
+ const status = snapshot.status;
396
453
  if (this.hasStatusChanged(this.lastStatus, status)) {
397
454
  this.lastStatus = status;
398
- this.eventEmitter.emit(remote_access_constants_1.EventType.PROVIDER_STATUS, status);
455
+ this.eventEmitter.emit(remote_access_constants_1.EventType.PROVIDER_OBSERVATION, snapshot);
399
456
  }
400
457
  this.schedulePoll(status.state === 'connecting'
401
458
  ? remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_POLL_INTERVAL_TRANSITIONING_MS
402
459
  : remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_POLL_INTERVAL_STABLE_MS);
403
460
  }
404
461
  catch (error) {
405
- if (!this.isPollable()) {
462
+ if (!this.isPollable() || generation !== this.generation) {
406
463
  return;
407
464
  }
408
465
  this.logger.error('Cloudflare Tunnel status poll failed', {
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-tunnel-managed.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare-tunnel-managed.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,17 @@ export declare class CloudflareTunnelProviderService implements IRemoteAccessPro
6
6
  readonly kind: RemoteAccessProviderKind;
7
7
  readonly capabilities: RemoteAccessProviderCapabilities;
8
8
  constructor(tunnelManagedService: CloudflareTunnelManagedService);
9
- getStatus(): Promise<RemoteAccessProviderStatus>;
9
+ awaitObservationIdle(): Promise<void>;
10
+ getSnapshot(options?: {
11
+ signal?: AbortSignal;
12
+ fresh?: boolean;
13
+ }): Promise<{
14
+ status: RemoteAccessProviderStatus;
15
+ metadata: import("./cloudflare-tunnel-managed.service").CloudflareTunnelObservationMetadata;
16
+ }>;
17
+ getStatus(options?: {
18
+ signal?: AbortSignal;
19
+ fresh?: boolean;
20
+ }): Promise<RemoteAccessProviderStatus>;
10
21
  }
22
+ export type { CloudflareTunnelObservationMetadata } from './cloudflare-tunnel-managed.service';
@@ -25,8 +25,14 @@ let CloudflareTunnelProviderService = class CloudflareTunnelProviderService {
25
25
  ssh: false,
26
26
  };
27
27
  }
28
- getStatus() {
29
- return this.tunnelManagedService.computeStatus();
28
+ awaitObservationIdle() {
29
+ return this.tunnelManagedService.awaitObservationIdle();
30
+ }
31
+ getSnapshot(options) {
32
+ return this.tunnelManagedService.getStatusSnapshot(options);
33
+ }
34
+ getStatus(options) {
35
+ return this.tunnelManagedService.computeStatus(options);
30
36
  }
31
37
  };
32
38
  exports.CloudflareTunnelProviderService = CloudflareTunnelProviderService;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare-tunnel-provider.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAQ5C,4GAA2G;AAE3G,2FAAqF;AAQ9E,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAU3C,YAA6B,oBAAoD;QAApD,yBAAoB,GAApB,oBAAoB,CAAgC;QATxE,SAAI,GAAG,uFAA2C,CAAC;QACnD,SAAI,GAA6B,QAAQ,CAAC;QAC1C,iBAAY,GAAqC;YACzD,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;YACtB,GAAG,EAAE,KAAK;SACV,CAAC;IAEkF,CAAC;IAErF,SAAS;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC;CACD,CAAA;AAfY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;qCAWuC,kEAA8B;GAVrE,+BAA+B,CAe3C"}
1
+ {"version":3,"file":"cloudflare-tunnel-provider.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAQ5C,4GAA2G;AAE3G,2FAAqF;AAQ9E,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAU3C,YAA6B,oBAAoD;QAApD,yBAAoB,GAApB,oBAAoB,CAAgC;QATxE,SAAI,GAAG,uFAA2C,CAAC;QACnD,SAAI,GAA6B,QAAQ,CAAC;QAC1C,iBAAY,GAAqC;YACzD,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,KAAK;YACtB,GAAG,EAAE,KAAK;SACV,CAAC;IAEkF,CAAC;IAErF,oBAAoB;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,OAAmD;QAC9D,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,OAAmD;QAC5D,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACD,CAAA;AAvBY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;qCAWuC,kEAA8B;GAVrE,+BAA+B,CAuB3C"}
@@ -10,6 +10,6 @@ export interface CloudflaredVersionInfo {
10
10
  }
11
11
  export declare class CloudflaredCliService {
12
12
  private readonly logger;
13
- getVersion(): Promise<CloudflaredVersionInfo>;
13
+ getVersion(signal?: AbortSignal): Promise<CloudflaredVersionInfo>;
14
14
  private exec;
15
15
  }
@@ -7,9 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CloudflaredCliService = exports.CloudflaredCliError = void 0;
10
- const node_child_process_1 = require("node:child_process");
11
10
  const common_1 = require("@nestjs/common");
12
11
  const logger_1 = require("../../../common/logger");
12
+ const cancellable_exec_utils_1 = require("../../../common/utils/cancellable-exec.utils");
13
13
  const remote_access_cloudflare_tunnel_constants_1 = require("../remote-access-cloudflare-tunnel.constants");
14
14
  class CloudflaredCliError extends Error {
15
15
  constructor(kind, message, cause) {
@@ -25,8 +25,8 @@ let CloudflaredCliService = class CloudflaredCliService {
25
25
  constructor() {
26
26
  this.logger = (0, logger_1.createExtensionLogger)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME, 'CloudflaredCliService');
27
27
  }
28
- async getVersion() {
29
- const { stdout, stderr, exitCode } = await this.exec(['--version']);
28
+ async getVersion(signal) {
29
+ const { stdout, stderr, exitCode } = await this.exec(['--version'], signal);
30
30
  if (exitCode !== 0) {
31
31
  const detail = stderr.trim() || stdout.trim();
32
32
  throw new CloudflaredCliError('unknown', `cloudflared --version exited with code ${exitCode}${detail ? `: ${detail}` : ''}`);
@@ -37,27 +37,15 @@ let CloudflaredCliService = class CloudflaredCliService {
37
37
  }
38
38
  return { version: match[1], raw: stdout.trim() };
39
39
  }
40
- exec(args) {
41
- const argv = [...args];
42
- this.logger.debug(`Running: ${remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_BINARY} ${argv.join(' ')}`);
43
- return new Promise((resolve, reject) => {
44
- (0, node_child_process_1.execFile)(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_BINARY, argv, { timeout: remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_CLI_DEFAULT_TIMEOUT_MS }, (error, stdout, stderr) => {
45
- const out = stdout ?? '';
46
- const err = stderr ?? '';
47
- if (error) {
48
- const nodeError = error;
49
- if (nodeError.code === 'ENOENT') {
50
- this.logger.warn(`cloudflared binary not found: ${remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_BINARY} ${argv.join(' ')}`);
51
- reject(new CloudflaredCliError('not-installed', 'The cloudflared CLI is not installed or not on PATH.', error));
52
- return;
53
- }
54
- const exitCode = typeof nodeError.code === 'number' ? nodeError.code : -1;
55
- resolve({ stdout: out, stderr: err, exitCode });
56
- return;
57
- }
58
- resolve({ stdout: out, stderr: err, exitCode: 0 });
59
- });
60
- });
40
+ async exec(args, signal) {
41
+ this.logger.debug(`Running: ${remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_BINARY} ${args.join(' ')}`);
42
+ try {
43
+ return await (0, cancellable_exec_utils_1.cancellableExecFile)(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_BINARY, args, signal, remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_CLI_DEFAULT_TIMEOUT_MS);
44
+ }
45
+ catch (error) {
46
+ signal?.throwIfAborted();
47
+ throw new CloudflaredCliError(error.code === 'ENOENT' ? 'not-installed' : 'unknown', 'Failed to read the cloudflared version.', error);
48
+ }
61
49
  }
62
50
  };
63
51
  exports.CloudflaredCliService = CloudflaredCliService;
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflared-cli.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflared-cli.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mDAA+D;AAC/D,yFAAmF;AACnF,4GAIsD;AAKtD,MAAa,mBAAoB,SAAQ,KAAK;IAC7C,YACiB,IAA6B,EAC7C,OAAe,EACC,KAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAyB;QAE7B,UAAK,GAAL,KAAK,CAAU;QAG/B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACnC,CAAC;CACD;AATD,kDASC;AAcD,MAAM,eAAe,GAAG,iBAAiB,CAAC;AASnC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACW,WAAM,GAAG,IAAA,8BAAqB,EAAC,uFAA2C,EAAE,uBAAuB,CAAC,CAAC;IAuCvH,CAAC;IArCA,KAAK,CAAC,UAAU,CAAC,MAAoB;QACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAE5E,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9C,MAAM,IAAI,mBAAmB,CAC5B,SAAS,EACT,0CAA0C,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAClF,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAC5B,SAAS,EACT,wEAAwE,CACxE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,IAAuB,EAAE,MAAoB;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,8DAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC;YACJ,OAAO,MAAM,IAAA,4CAAmB,EAAC,8DAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,8EAAkC,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,mBAAmB,CAC3B,KAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EAChF,yCAAyC,EACzC,KAAK,CACL,CAAC;QACH,CAAC;IACF,CAAC;CACD,CAAA;AAxCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAwCjC"}
@@ -4,5 +4,5 @@ export interface CloudflaredReadyInfo {
4
4
  }
5
5
  export declare class CloudflaredMetricsService {
6
6
  private readonly logger;
7
- fetchReady(address: string): Promise<CloudflaredReadyInfo | null>;
7
+ fetchReady(address: string, signal?: AbortSignal): Promise<CloudflaredReadyInfo | null>;
8
8
  }
@@ -14,10 +14,12 @@ let CloudflaredMetricsService = class CloudflaredMetricsService {
14
14
  constructor() {
15
15
  this.logger = (0, logger_1.createExtensionLogger)(remote_access_cloudflare_tunnel_constants_1.REMOTE_ACCESS_CLOUDFLARE_TUNNEL_PLUGIN_NAME, 'CloudflaredMetricsService');
16
16
  }
17
- async fetchReady(address) {
17
+ async fetchReady(address, signal) {
18
18
  try {
19
19
  const response = await fetch(`http://${address}/ready`, {
20
- signal: AbortSignal.timeout(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_METRICS_TIMEOUT_MS),
20
+ signal: signal
21
+ ? AbortSignal.any([signal, AbortSignal.timeout(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_METRICS_TIMEOUT_MS)])
22
+ : AbortSignal.timeout(remote_access_cloudflare_tunnel_constants_1.CLOUDFLARED_METRICS_TIMEOUT_MS),
21
23
  });
22
24
  if (!response.ok) {
23
25
  return null;
@@ -32,6 +34,7 @@ let CloudflaredMetricsService = class CloudflaredMetricsService {
32
34
  return { readyConnections, connectorId };
33
35
  }
34
36
  catch (error) {
37
+ signal?.throwIfAborted();
35
38
  this.logger.debug('Failed to fetch the cloudflared /ready endpoint', {
36
39
  message: error instanceof Error ? error.message : String(error),
37
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflared-metrics.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mDAA+D;AAC/D,4GAGsD;AAe/C,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACW,WAAM,GAAG,IAAA,8BAAqB,EAC9C,uFAA2C,EAC3C,2BAA2B,CAC3B,CAAC;IA+BH,CAAC;IA7BA,KAAK,CAAC,UAAU,CAAC,OAAe;QAC/B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,OAAO,QAAQ,EAAE;gBACvD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,0EAA8B,CAAC;aAC3D,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAEhE,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,WAAW,GAChB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;oBACrC,CAAC,CAAC,IAAI,CAAC,WAAW;oBAClB,CAAC,CAAC,EAAE,CAAC;YAER,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBACpE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD,CAAA;AAnCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CAmCrC"}
1
+ {"version":3,"file":"cloudflared-metrics.service.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,mDAA+D;AAC/D,4GAGsD;AAe/C,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QACW,WAAM,GAAG,IAAA,8BAAqB,EAC9C,uFAA2C,EAC3C,2BAA2B,CAC3B,CAAC;IAkCH,CAAC;IAhCA,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,MAAoB;QACrD,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,OAAO,QAAQ,EAAE;gBACvD,MAAM,EAAE,MAAM;oBACb,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,0EAA8B,CAAC,CAAC,CAAC;oBAChF,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,0EAA8B,CAAC;aACtD,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAEhE,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,MAAM,WAAW,GAChB,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,IAAI,CAAC,WAAW;gBAClB,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;oBACrC,CAAC,CAAC,IAAI,CAAC,WAAW;oBAClB,CAAC,CAAC,EAAE,CAAC;YAER,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBACpE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD,CAAA;AAtCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CAsCrC"}
@@ -1,22 +1,27 @@
1
1
  import { FastifyReply as Response } from 'fastify';
2
+ import { AuthenticatedRequest } from '../../../modules/auth/guards/auth.guard';
3
+ import { PlatformService } from '../../../modules/platform/services/platform.service';
4
+ import { RemoteAccessStatusService } from '../../../modules/remote-access/services/remote-access-status.service';
2
5
  import { RemoteAccessTailscalePluginLoginDto } from '../dto/login.dto';
3
6
  import { RemoteAccessTailscalePluginInstallResponseModel, RemoteAccessTailscalePluginLoginResponseModel } from '../models/login.model';
4
7
  import { RemoteAccessTailscalePluginStatusResponseModel } from '../models/status.model';
5
8
  import { TailscaleLoginService } from '../services/tailscale-login.service';
6
9
  import { TailscaleNodeManagedService } from '../services/tailscale-node-managed.service';
7
- import { TailscaleProviderService } from '../services/tailscale-provider.service';
8
10
  import { TailscaleSetupService } from '../services/tailscale-setup.service';
9
11
  export declare class SetupController {
10
12
  private readonly setupService;
11
13
  private readonly loginService;
12
- private readonly providerService;
14
+ private readonly statusService;
13
15
  private readonly nodeManagedService;
16
+ private readonly platformService;
14
17
  private readonly logger;
15
- constructor(setupService: TailscaleSetupService, loginService: TailscaleLoginService, providerService: TailscaleProviderService, nodeManagedService: TailscaleNodeManagedService);
18
+ constructor(setupService: TailscaleSetupService, loginService: TailscaleLoginService, statusService: RemoteAccessStatusService, nodeManagedService: TailscaleNodeManagedService, platformService: PlatformService);
19
+ connect(res: Response, request?: AuthenticatedRequest): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
20
+ disconnect(res: Response, request?: AuthenticatedRequest): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
16
21
  install(): Promise<RemoteAccessTailscalePluginInstallResponseModel>;
17
22
  login(body: RemoteAccessTailscalePluginLoginDto, res: Response): Promise<RemoteAccessTailscalePluginLoginResponseModel>;
18
- logout(res: Response): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
19
- resetPreferences(res: Response): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
23
+ logout(res: Response, request?: AuthenticatedRequest): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
24
+ resetPreferences(res: Response, request?: AuthenticatedRequest): Promise<RemoteAccessTailscalePluginStatusResponseModel>;
20
25
  private mapActionError;
21
26
  private buildStatusResponse;
22
27
  }