@fastybird/smart-panel-backend 1.1.0-alpha.41 → 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 (101) 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/remote-access/controllers/remote-access.controller.js +9 -5
  10. package/dist/modules/remote-access/controllers/remote-access.controller.js.map +1 -1
  11. package/dist/modules/remote-access/models/provider.model.d.ts +3 -0
  12. package/dist/modules/remote-access/models/provider.model.js +23 -0
  13. package/dist/modules/remote-access/models/provider.model.js.map +1 -1
  14. package/dist/modules/remote-access/models/status.model.d.ts +2 -0
  15. package/dist/modules/remote-access/models/status.model.js +18 -1
  16. package/dist/modules/remote-access/models/status.model.js.map +1 -1
  17. package/dist/modules/remote-access/models/urls.model.d.ts +2 -0
  18. package/dist/modules/remote-access/models/urls.model.js +17 -0
  19. package/dist/modules/remote-access/models/urls.model.js.map +1 -1
  20. package/dist/modules/remote-access/platforms/remote-access-provider.platform.d.ts +18 -1
  21. package/dist/modules/remote-access/remote-access.constants.d.ts +2 -1
  22. package/dist/modules/remote-access/remote-access.constants.js +2 -1
  23. package/dist/modules/remote-access/remote-access.constants.js.map +1 -1
  24. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.d.ts +1 -0
  25. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -1
  26. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
  27. package/dist/modules/remote-access/services/remote-access-status.service.d.ts +40 -8
  28. package/dist/modules/remote-access/services/remote-access-status.service.js +314 -65
  29. package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
  30. package/dist/modules/remote-access/services/remote-access-url.service.d.ts +2 -2
  31. package/dist/modules/remote-access/services/remote-access-url.service.js +4 -2
  32. package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
  33. package/dist/modules/websocket/gateway/websocket.gateway.js +1 -0
  34. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  35. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +5 -3
  36. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +20 -8
  37. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -1
  38. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +3 -5
  39. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +11 -10
  40. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -1
  41. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +2 -0
  42. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +17 -0
  43. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -1
  44. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +20 -2
  45. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +105 -48
  46. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -1
  47. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +13 -1
  48. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +8 -2
  49. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -1
  50. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +1 -1
  51. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +12 -24
  52. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -1
  53. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +1 -1
  54. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +5 -2
  55. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -1
  56. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +10 -5
  57. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +105 -15
  58. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  59. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +5 -4
  60. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +19 -9
  61. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  62. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +16 -0
  63. package/dist/plugins/remote-access-tailscale/models/status.model.js +100 -1
  64. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  65. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +2 -0
  66. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +3 -1
  67. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  68. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +17 -1
  69. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +33 -1
  70. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -1
  71. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  72. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +1 -0
  73. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  74. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +2 -0
  75. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js.map +1 -1
  76. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +8 -4
  77. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +58 -14
  78. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  79. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +8 -3
  80. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +175 -151
  81. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  82. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +51 -7
  83. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +481 -101
  84. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  85. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.d.ts +33 -0
  86. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js +167 -0
  87. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js.map +1 -0
  88. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.d.ts +13 -1
  89. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js +8 -2
  90. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js.map +1 -1
  91. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +1 -1
  92. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +7 -6
  93. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  94. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +1 -3
  95. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +9 -11
  96. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  97. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.d.ts +5 -0
  98. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js +36 -0
  99. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js.map +1 -0
  100. package/dist/tsconfig.build.tsbuildinfo +1 -1
  101. package/package.json +2 -2
@@ -19,6 +19,7 @@ const logger_1 = require("../../../common/logger");
19
19
  const transform_utils_1 = require("../../../common/utils/transform.utils");
20
20
  const platform_service_1 = require("../../../modules/platform/services/platform.service");
21
21
  const provider_model_1 = require("../../../modules/remote-access/models/provider.model");
22
+ const remote_access_status_service_1 = require("../../../modules/remote-access/services/remote-access-status.service");
22
23
  const api_documentation_decorator_1 = require("../../../modules/swagger/decorators/api-documentation.decorator");
23
24
  const roles_guard_1 = require("../../../modules/users/guards/roles.guard");
24
25
  const users_constants_1 = require("../../../modules/users/users.constants");
@@ -26,25 +27,32 @@ const status_model_1 = require("../models/status.model");
26
27
  const remote_access_tailscale_constants_1 = require("../remote-access-tailscale.constants");
27
28
  const tailscale_login_service_1 = require("../services/tailscale-login.service");
28
29
  const tailscale_node_managed_service_1 = require("../services/tailscale-node-managed.service");
29
- const tailscale_provider_service_1 = require("../services/tailscale-provider.service");
30
30
  const tailscale_setup_service_1 = require("../services/tailscale-setup.service");
31
+ const tailscale_control_utils_1 = require("../utils/tailscale-control.utils");
31
32
  let StatusController = class StatusController {
32
- constructor(providerService, nodeManagedService, loginService, setupService, platformService) {
33
- this.providerService = providerService;
33
+ constructor(statusService, nodeManagedService, loginService, setupService, platformService) {
34
+ this.statusService = statusService;
34
35
  this.nodeManagedService = nodeManagedService;
35
36
  this.loginService = loginService;
36
37
  this.setupService = setupService;
37
38
  this.platformService = platformService;
38
39
  this.logger = (0, logger_1.createExtensionLogger)(remote_access_tailscale_constants_1.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME, 'StatusController');
39
40
  }
40
- async getStatus(res) {
41
+ async getStatus(res, request) {
41
42
  this.logger.debug('Fetching Tailscale node status');
42
- const [status, requirements, privilegedWorkerSupport] = await Promise.all([
43
- this.providerService.getStatus(),
44
- this.nodeManagedService.evaluateRequirements(),
43
+ const [observed, privilegedWorkerSupport] = await Promise.all([
44
+ this.statusService.getProviderSnapshot(remote_access_tailscale_constants_1.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME, {
45
+ fresh: true,
46
+ }),
45
47
  this.platformService.getPrivilegedWorkerSupport(),
46
48
  ]);
49
+ const snapshot = this.statusService.getCachedProviderSnapshot(remote_access_tailscale_constants_1.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME) ??
50
+ observed;
51
+ const { status, metadata } = snapshot;
52
+ const requirements = metadata?.requirements ?? [];
47
53
  const data = new status_model_1.RemoteAccessTailscalePluginStatusModel();
54
+ data.epoch = status.epoch;
55
+ data.revision = status.revision;
48
56
  data.type = status.type;
49
57
  data.state = status.state;
50
58
  data.endpoints = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessEndpointModel, status.endpoints);
@@ -54,6 +62,7 @@ let StatusController = class StatusController {
54
62
  data.advisories = (0, transform_utils_1.toInstance)(provider_model_1.RemoteAccessAdvisoryModel, status.advisories);
55
63
  data.updatedAt = status.updatedAt;
56
64
  data.requirements = (0, transform_utils_1.toInstance)(status_model_1.RemoteAccessTailscalePluginRequirementModel, requirements);
65
+ data.control = (0, tailscale_control_utils_1.buildTailscaleControlModel)(metadata?.control ?? this.nodeManagedService.getControlState(), status.state, requirements, request?.auth?.role);
57
66
  data.setup = this.buildSetupJobModel();
58
67
  const privilegedSetup = new status_model_1.RemoteAccessTailscalePluginPrivilegedSetupModel();
59
68
  privilegedSetup.available = privilegedWorkerSupport.supported;
@@ -96,15 +105,16 @@ __decorate([
96
105
  (0, api_documentation_decorator_1.ApiSuccessResponse)(status_model_1.RemoteAccessTailscalePluginStatusResponseModel, 'Tailscale node status retrieved successfully'),
97
106
  (0, common_1.Get)('status'),
98
107
  __param(0, (0, common_1.Res)({ passthrough: true })),
108
+ __param(1, (0, common_1.Req)()),
99
109
  __metadata("design:type", Function),
100
- __metadata("design:paramtypes", [Object]),
110
+ __metadata("design:paramtypes", [Object, Object]),
101
111
  __metadata("design:returntype", Promise)
102
112
  ], StatusController.prototype, "getStatus", null);
103
113
  exports.StatusController = StatusController = __decorate([
104
114
  (0, swagger_1.ApiTags)(remote_access_tailscale_constants_1.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_NAME),
105
115
  (0, common_1.Controller)(),
106
116
  (0, roles_guard_1.Roles)(users_constants_1.UserRole.ADMIN, users_constants_1.UserRole.OWNER),
107
- __metadata("design:paramtypes", [tailscale_provider_service_1.TailscaleProviderService,
117
+ __metadata("design:paramtypes", [remote_access_status_service_1.RemoteAccessStatusService,
108
118
  tailscale_node_managed_service_1.TailscaleNodeManagedService,
109
119
  tailscale_login_service_1.TailscaleLoginService,
110
120
  tailscale_setup_service_1.TailscaleSetupService,
@@ -1 +1 @@
1
- {"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/controllers/status.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.controller.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/controllers/status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,2CAA2D;AAC3D,6CAAwD;AAExD,mDAA+D;AAC/D,2EAAmE;AAEnE,0FAAsF;AACtF,yFAG8D;AAC9D,uHAAiH;AACjH,iHAAqG;AACrG,2EAAkE;AAClE,4EAAkE;AAClE,yDAMgC;AAChC,4FAG8C;AAC9C,iFAA4E;AAC5E,+FAAuH;AACvH,iFAA4E;AAC5E,8EAA8E;AAKvE,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAG5B,YACkB,aAAwC,EACxC,kBAA+C,EAC/C,YAAmC,EACnC,YAAmC,EACnC,eAAgC;QAJhC,kBAAa,GAAb,aAAa,CAA2B;QACxC,uBAAkB,GAAlB,kBAAkB,CAA6B;QAC/C,iBAAY,GAAZ,YAAY,CAAuB;QACnC,iBAAY,GAAZ,YAAY,CAAuB;QACnC,oBAAe,GAAf,eAAe,CAAiB;QAPjC,WAAM,GAAG,IAAA,8BAAqB,EAAC,uEAAmC,EAAE,kBAAkB,CAAC,CAAC;IAQtG,CAAC;IAWE,AAAN,KAAK,CAAC,SAAS,CACc,GAAa,EAClC,OAA8B;QAErC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAA+B,uEAAmC,EAAE;gBACzG,KAAK,EAAE,IAAI;aACX,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAE;SACjD,CAAC,CAAC;QAEH,MAAM,QAAQ,GACb,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAA+B,uEAAmC,CAAC;YAC/G,QAAQ,CAAC;QACV,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC;QAElD,MAAM,IAAI,GAAG,IAAI,qDAAsC,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAA,4BAAU,EAAC,0CAAyB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAA,4BAAU,EAAC,0CAAyB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAA,4BAAU,EAAC,0DAA2C,EAAE,YAAY,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,IAAA,oDAA0B,EACxC,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,EAC9D,MAAM,CAAC,KAAK,EACZ,YAAY,EACZ,OAAO,EAAE,IAAI,EAAE,IAAI,CACnB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEvC,MAAM,eAAe,GAAG,IAAI,8DAA+C,EAAE,CAAC;QAC9E,eAAe,CAAC,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC;QAC9D,eAAe,CAAC,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YAOnC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,EAAE,CAAC;YAE9D,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YACtB,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,6DAA8C,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAErB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGO,kBAAkB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,uDAAwC,EAAE,CAAC;QAC7D,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QACzC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QAC/C,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAE3C,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AAxGY,4CAAgB;AAoBtB;IATL,IAAA,sBAAY,EAAC;QACb,IAAI,EAAE,CAAC,+EAA2C,CAAC;QACnD,OAAO,EAAE,2BAA2B;QACpC,WAAW,EACV,iJAAiJ;QAClJ,WAAW,EAAE,2CAA2C;KACxD,CAAC;IACD,IAAA,gDAAkB,EAAC,6DAA8C,EAAE,8CAA8C,CAAC;IAClH,IAAA,YAAG,EAAC,QAAQ,CAAC;IAEZ,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1B,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDA+DN;2BArFW,gBAAgB;IAH5B,IAAA,iBAAO,EAAC,+EAA2C,CAAC;IACpD,IAAA,mBAAU,GAAE;IACZ,IAAA,mBAAK,EAAC,0BAAQ,CAAC,KAAK,EAAE,0BAAQ,CAAC,KAAK,CAAC;qCAKJ,wDAAyB;QACpB,4DAA2B;QACjC,+CAAqB;QACrB,+CAAqB;QAClB,kCAAe;GARtC,gBAAgB,CAwG5B"}
@@ -1,8 +1,20 @@
1
1
  import { BaseSuccessResponseModel } from '../../../modules/api/models/api-response.model';
2
+ import { ServiceState } from '../../../modules/extensions/services/managed-extension-service.interface';
2
3
  import { RemoteAccessAdvisoryModel, RemoteAccessEndpointModel } from '../../../modules/remote-access/models/provider.model';
3
4
  import { RemoteAccessProviderState } from '../../../modules/remote-access/platforms/remote-access-provider.platform';
4
5
  import { PrivilegedJobStatus } from '../../../modules/system/services/privileged-worker.service';
5
6
  import { TailscaleRequirementCode } from '../services/tailscale-node-managed.service';
7
+ export declare const TAILSCALE_CONTROL_ACTIONS: readonly ["connect", "disconnect", "login", "logout", "reset-preferences"];
8
+ export type TailscaleControlAction = (typeof TAILSCALE_CONTROL_ACTIONS)[number];
9
+ declare const TAILSCALE_AUTHENTICATION_STATES: readonly ["unknown", "required", "authenticated"];
10
+ declare const TAILSCALE_OPERATIONS: readonly ["connect", "disconnect", "reconnect", "login", "logout", "preferences", "config", "serve", "reset", "shutdown"];
11
+ export declare class RemoteAccessTailscalePluginControlModel {
12
+ enabled: boolean;
13
+ serviceState: ServiceState;
14
+ authentication: (typeof TAILSCALE_AUTHENTICATION_STATES)[number];
15
+ operation: (typeof TAILSCALE_OPERATIONS)[number] | null;
16
+ availableActions: TailscaleControlAction[];
17
+ }
6
18
  export declare class RemoteAccessTailscalePluginRequirementRemedyModel {
7
19
  commands: string[];
8
20
  note: string | null;
@@ -25,6 +37,9 @@ export declare class RemoteAccessTailscalePluginPrivilegedSetupModel {
25
37
  reason: string | null;
26
38
  }
27
39
  export declare class RemoteAccessTailscalePluginStatusModel {
40
+ epoch: string;
41
+ revision: number;
42
+ control: RemoteAccessTailscalePluginControlModel;
28
43
  type: string;
29
44
  state: RemoteAccessProviderState;
30
45
  endpoints: RemoteAccessEndpointModel[];
@@ -42,3 +57,4 @@ export declare class RemoteAccessTailscalePluginStatusModel {
42
57
  export declare class RemoteAccessTailscalePluginStatusResponseModel extends BaseSuccessResponseModel<RemoteAccessTailscalePluginStatusModel> {
43
58
  data: RemoteAccessTailscalePluginStatusModel;
44
59
  }
60
+ export {};
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RemoteAccessTailscalePluginStatusResponseModel = exports.RemoteAccessTailscalePluginStatusModel = exports.RemoteAccessTailscalePluginPrivilegedSetupModel = exports.RemoteAccessTailscalePluginSetupJobModel = exports.RemoteAccessTailscalePluginRequirementModel = exports.RemoteAccessTailscalePluginRequirementRemedyModel = void 0;
12
+ exports.RemoteAccessTailscalePluginStatusResponseModel = exports.RemoteAccessTailscalePluginStatusModel = exports.RemoteAccessTailscalePluginPrivilegedSetupModel = exports.RemoteAccessTailscalePluginSetupJobModel = exports.RemoteAccessTailscalePluginRequirementModel = exports.RemoteAccessTailscalePluginRequirementRemedyModel = exports.RemoteAccessTailscalePluginControlModel = exports.TAILSCALE_CONTROL_ACTIONS = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const swagger_1 = require("@nestjs/swagger");
@@ -35,6 +35,78 @@ const TAILSCALE_REQUIREMENT_CODES = [
35
35
  'version-supported',
36
36
  ];
37
37
  const TAILSCALE_SETUP_JOB_STATES = ['running', 'complete', 'failed', 'timeout'];
38
+ exports.TAILSCALE_CONTROL_ACTIONS = ['connect', 'disconnect', 'login', 'logout', 'reset-preferences'];
39
+ const TAILSCALE_SERVICE_STATES = ['stopped', 'starting', 'started', 'stopping', 'error'];
40
+ const TAILSCALE_AUTHENTICATION_STATES = ['unknown', 'required', 'authenticated'];
41
+ const TAILSCALE_OPERATIONS = [
42
+ 'connect',
43
+ 'disconnect',
44
+ 'reconnect',
45
+ 'login',
46
+ 'logout',
47
+ 'preferences',
48
+ 'config',
49
+ 'serve',
50
+ 'reset',
51
+ 'shutdown',
52
+ ];
53
+ let RemoteAccessTailscalePluginControlModel = class RemoteAccessTailscalePluginControlModel {
54
+ };
55
+ exports.RemoteAccessTailscalePluginControlModel = RemoteAccessTailscalePluginControlModel;
56
+ __decorate([
57
+ (0, swagger_1.ApiProperty)({ description: 'Whether the plugin is persistently enabled', type: 'boolean', example: true }),
58
+ (0, class_transformer_1.Expose)(),
59
+ (0, class_validator_1.IsBoolean)(),
60
+ __metadata("design:type", Boolean)
61
+ ], RemoteAccessTailscalePluginControlModel.prototype, "enabled", void 0);
62
+ __decorate([
63
+ (0, swagger_1.ApiProperty)({
64
+ name: 'service_state',
65
+ description: 'Managed service lifecycle, independent of the observed network connection',
66
+ enum: TAILSCALE_SERVICE_STATES,
67
+ example: 'stopped',
68
+ }),
69
+ (0, class_transformer_1.Expose)({ name: 'service_state' }),
70
+ (0, class_validator_1.IsEnum)(TAILSCALE_SERVICE_STATES),
71
+ __metadata("design:type", String)
72
+ ], RemoteAccessTailscalePluginControlModel.prototype, "serviceState", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiProperty)({
75
+ description: 'Last observed authentication readiness; Disconnect preserves authentication',
76
+ enum: TAILSCALE_AUTHENTICATION_STATES,
77
+ example: 'authenticated',
78
+ }),
79
+ (0, class_transformer_1.Expose)(),
80
+ (0, class_validator_1.IsEnum)(TAILSCALE_AUTHENTICATION_STATES),
81
+ __metadata("design:type", Object)
82
+ ], RemoteAccessTailscalePluginControlModel.prototype, "authentication", void 0);
83
+ __decorate([
84
+ (0, swagger_1.ApiProperty)({
85
+ description: 'Current provider operation, null while idle',
86
+ oneOf: [{ type: 'string', enum: [...TAILSCALE_OPERATIONS] }, { type: 'null' }],
87
+ example: null,
88
+ }),
89
+ (0, class_transformer_1.Expose)(),
90
+ (0, class_validator_1.IsOptional)(),
91
+ (0, class_validator_1.IsEnum)(TAILSCALE_OPERATIONS),
92
+ __metadata("design:type", Object)
93
+ ], RemoteAccessTailscalePluginControlModel.prototype, "operation", void 0);
94
+ __decorate([
95
+ (0, swagger_1.ApiProperty)({
96
+ name: 'available_actions',
97
+ description: 'Actions available to the authenticated caller; permissions and prerequisites are rechecked on execution',
98
+ type: 'array',
99
+ items: { type: 'string', enum: [...exports.TAILSCALE_CONTROL_ACTIONS] },
100
+ example: ['connect', 'logout'],
101
+ }),
102
+ (0, class_transformer_1.Expose)({ name: 'available_actions' }),
103
+ (0, class_validator_1.IsArray)(),
104
+ (0, class_validator_1.IsEnum)(exports.TAILSCALE_CONTROL_ACTIONS, { each: true }),
105
+ __metadata("design:type", Array)
106
+ ], RemoteAccessTailscalePluginControlModel.prototype, "availableActions", void 0);
107
+ exports.RemoteAccessTailscalePluginControlModel = RemoteAccessTailscalePluginControlModel = __decorate([
108
+ (0, swagger_1.ApiSchema)({ name: 'RemoteAccessTailscalePluginDataControl' })
109
+ ], RemoteAccessTailscalePluginControlModel);
38
110
  let RemoteAccessTailscalePluginRequirementRemedyModel = class RemoteAccessTailscalePluginRequirementRemedyModel {
39
111
  };
40
112
  exports.RemoteAccessTailscalePluginRequirementRemedyModel = RemoteAccessTailscalePluginRequirementRemedyModel;
@@ -207,6 +279,33 @@ exports.RemoteAccessTailscalePluginPrivilegedSetupModel = RemoteAccessTailscaleP
207
279
  let RemoteAccessTailscalePluginStatusModel = class RemoteAccessTailscalePluginStatusModel {
208
280
  };
209
281
  exports.RemoteAccessTailscalePluginStatusModel = RemoteAccessTailscalePluginStatusModel;
282
+ __decorate([
283
+ (0, swagger_1.ApiProperty)({ description: 'Process epoch; changes after backend restart', type: 'string' }),
284
+ (0, class_transformer_1.Expose)(),
285
+ (0, class_validator_1.IsString)(),
286
+ __metadata("design:type", String)
287
+ ], RemoteAccessTailscalePluginStatusModel.prototype, "epoch", void 0);
288
+ __decorate([
289
+ (0, swagger_1.ApiProperty)({
290
+ description: 'Monotonic accepted publication revision within this epoch',
291
+ type: 'integer',
292
+ minimum: 0,
293
+ }),
294
+ (0, class_transformer_1.Expose)(),
295
+ (0, class_validator_1.IsInt)(),
296
+ (0, class_validator_1.Min)(0),
297
+ __metadata("design:type", Number)
298
+ ], RemoteAccessTailscalePluginStatusModel.prototype, "revision", void 0);
299
+ __decorate([
300
+ (0, swagger_1.ApiProperty)({
301
+ description: 'Administrative control state; independent of the provider connection state',
302
+ type: () => RemoteAccessTailscalePluginControlModel,
303
+ }),
304
+ (0, class_transformer_1.Expose)(),
305
+ (0, class_validator_1.ValidateNested)(),
306
+ (0, class_transformer_1.Type)(() => RemoteAccessTailscalePluginControlModel),
307
+ __metadata("design:type", RemoteAccessTailscalePluginControlModel)
308
+ ], RemoteAccessTailscalePluginStatusModel.prototype, "control", void 0);
210
309
  __decorate([
211
310
  (0, swagger_1.ApiProperty)({
212
311
  description: 'Provider plugin type identifier',
@@ -1 +1 @@
1
- {"version":3,"file":"status.model.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/models/status.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.model.js","sourceRoot":"","sources":["../../../../src/plugins/remote-access-tailscale/models/status.model.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,5 @@ export declare const TAILSCALE_LOGIN_FIRST_BLOCK_TIMEOUT_MS = 30000;
21
21
  export declare const TAILSCALE_KEY_EXPIRY_ADVISORY_WINDOW_MS: number;
22
22
  export declare const TAILSCALE_RECONNECT_BASE_DELAY_MS = 30000;
23
23
  export declare const TAILSCALE_RECONNECT_MAX_DELAY_MS: number;
24
+ export declare const TAILSCALE_CHILD_TERM_GRACE_MS = 500;
25
+ export declare const TAILSCALE_CHILD_KILL_GRACE_MS = 500;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TAILSCALE_RECONNECT_MAX_DELAY_MS = exports.TAILSCALE_RECONNECT_BASE_DELAY_MS = exports.TAILSCALE_KEY_EXPIRY_ADVISORY_WINDOW_MS = exports.TAILSCALE_LOGIN_FIRST_BLOCK_TIMEOUT_MS = exports.TAILSCALE_LOGIN_INTERACTIVE_TIMEOUT_MS = exports.TAILSCALE_LOGIN_AUTH_KEY_TIMEOUT_MS = exports.TAILSCALE_DATA_SUBDIR = exports.TAILSCALE_SETUP_STATUS_FILENAME = exports.TAILSCALE_SETUP_WORKER_UNIT = exports.REMOTE_ACCESS_TAILSCALE_ALLOW_DEV_ENV = exports.TAILSCALE_POLL_INTERVAL_STABLE_MS = exports.TAILSCALE_POLL_INTERVAL_TRANSITIONING_MS = exports.TAILSCALE_DEFAULT_LOGIN_SERVER = exports.TAILSCALE_STOP_STATUS_TIMEOUT_MS = exports.TAILSCALE_SYSTEMCTL_PROBE_TIMEOUT_MS = exports.TAILSCALE_CLI_MAX_BUFFER_BYTES = exports.TAILSCALE_CLI_DEFAULT_TIMEOUT_MS = exports.TAILSCALE_BINARY = exports.TAILSCALE_MIN_VERSION = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_DESCRIPTION = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_NAME = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_PREFIX = void 0;
3
+ exports.TAILSCALE_CHILD_KILL_GRACE_MS = exports.TAILSCALE_CHILD_TERM_GRACE_MS = exports.TAILSCALE_RECONNECT_MAX_DELAY_MS = exports.TAILSCALE_RECONNECT_BASE_DELAY_MS = exports.TAILSCALE_KEY_EXPIRY_ADVISORY_WINDOW_MS = exports.TAILSCALE_LOGIN_FIRST_BLOCK_TIMEOUT_MS = exports.TAILSCALE_LOGIN_INTERACTIVE_TIMEOUT_MS = exports.TAILSCALE_LOGIN_AUTH_KEY_TIMEOUT_MS = exports.TAILSCALE_DATA_SUBDIR = exports.TAILSCALE_SETUP_STATUS_FILENAME = exports.TAILSCALE_SETUP_WORKER_UNIT = exports.REMOTE_ACCESS_TAILSCALE_ALLOW_DEV_ENV = exports.TAILSCALE_POLL_INTERVAL_STABLE_MS = exports.TAILSCALE_POLL_INTERVAL_TRANSITIONING_MS = exports.TAILSCALE_DEFAULT_LOGIN_SERVER = exports.TAILSCALE_STOP_STATUS_TIMEOUT_MS = exports.TAILSCALE_SYSTEMCTL_PROBE_TIMEOUT_MS = exports.TAILSCALE_CLI_MAX_BUFFER_BYTES = exports.TAILSCALE_CLI_DEFAULT_TIMEOUT_MS = exports.TAILSCALE_BINARY = exports.TAILSCALE_MIN_VERSION = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_DESCRIPTION = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_NAME = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME = exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_PREFIX = void 0;
4
4
  exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_PREFIX = 'remote-access-tailscale';
5
5
  exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_NAME = 'remote-access-tailscale-plugin';
6
6
  exports.REMOTE_ACCESS_TAILSCALE_PLUGIN_API_TAG_NAME = 'Remote access Tailscale plugin';
@@ -24,4 +24,6 @@ exports.TAILSCALE_LOGIN_FIRST_BLOCK_TIMEOUT_MS = 30_000;
24
24
  exports.TAILSCALE_KEY_EXPIRY_ADVISORY_WINDOW_MS = 14 * 24 * 60 * 60 * 1000;
25
25
  exports.TAILSCALE_RECONNECT_BASE_DELAY_MS = 30_000;
26
26
  exports.TAILSCALE_RECONNECT_MAX_DELAY_MS = 5 * 60 * 1000;
27
+ exports.TAILSCALE_CHILD_TERM_GRACE_MS = 500;
28
+ exports.TAILSCALE_CHILD_KILL_GRACE_MS = 500;
27
29
  //# sourceMappingURL=remote-access-tailscale.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-access-tailscale.constants.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qCAAqC,GAAG,yBAAyB,CAAC;AAElE,QAAA,mCAAmC,GAAG,gCAAgC,CAAC;AAEvE,QAAA,2CAA2C,GAAG,gCAAgC,CAAC;AAE/E,QAAA,kDAAkD,GAC9D,mHAAmH,CAAC;AASxG,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAGjC,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAG/B,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAS1C,QAAA,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAGlD,QAAA,oCAAoC,GAAG,KAAK,CAAC;AAQ7C,QAAA,gCAAgC,GAAG,KAAK,CAAC;AAEzC,QAAA,8BAA8B,GAAG,oCAAoC,CAAC;AAGtE,QAAA,wCAAwC,GAAG,KAAK,CAAC;AAGjD,QAAA,iCAAiC,GAAG,MAAM,CAAC;AAQ3C,QAAA,qCAAqC,GAAG,4BAA4B,CAAC;AAGrE,QAAA,2BAA2B,GAAG,2BAA2B,CAAC;AAG1D,QAAA,+BAA+B,GAAG,6BAA6B,CAAC;AAOhE,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAGxC,QAAA,mCAAmC,GAAG,OAAO,CAAC;AAG9C,QAAA,sCAAsC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAYxD,QAAA,sCAAsC,GAAG,MAAM,CAAC;AAGhD,QAAA,uCAAuC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAUnE,QAAA,iCAAiC,GAAG,MAAM,CAAC;AAG3C,QAAA,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"remote-access-tailscale.constants.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qCAAqC,GAAG,yBAAyB,CAAC;AAElE,QAAA,mCAAmC,GAAG,gCAAgC,CAAC;AAEvE,QAAA,2CAA2C,GAAG,gCAAgC,CAAC;AAE/E,QAAA,kDAAkD,GAC9D,mHAAmH,CAAC;AASxG,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAGjC,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAG/B,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAS1C,QAAA,8BAA8B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAGlD,QAAA,oCAAoC,GAAG,KAAK,CAAC;AAQ7C,QAAA,gCAAgC,GAAG,KAAK,CAAC;AAEzC,QAAA,8BAA8B,GAAG,oCAAoC,CAAC;AAGtE,QAAA,wCAAwC,GAAG,KAAK,CAAC;AAGjD,QAAA,iCAAiC,GAAG,MAAM,CAAC;AAQ3C,QAAA,qCAAqC,GAAG,4BAA4B,CAAC;AAGrE,QAAA,2BAA2B,GAAG,2BAA2B,CAAC;AAG1D,QAAA,+BAA+B,GAAG,6BAA6B,CAAC;AAOhE,QAAA,qBAAqB,GAAG,eAAe,CAAC;AAGxC,QAAA,mCAAmC,GAAG,OAAO,CAAC;AAG9C,QAAA,sCAAsC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAYxD,QAAA,sCAAsC,GAAG,MAAM,CAAC;AAGhD,QAAA,uCAAuC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAUnE,QAAA,iCAAiC,GAAG,MAAM,CAAC;AAG3C,QAAA,gCAAgC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjD,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,6BAA6B,GAAG,GAAG,CAAC"}
@@ -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":";;;AAWA,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"}
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,wDAM+B;AAElB,QAAA,mDAAmD,GAAG;IAElE,qDAAsC;IACtC,8DAA0C;IAE1C,+CAAmC;IAEnC,6DAA8C;IAC9C,6DAA+C;IAC/C,2DAA6C;IAE7C,qDAAsC;IACtC,0DAA2C;IAC3C,qDAAuC;IACvC,mDAAqC;IACrC,uDAAwC;IACxC,8DAA+C;CAC/C,CAAC"}
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;AAoBnF,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;IAlBvC,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,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
+ {"version":3,"file":"remote-access-tailscale.plugin.js","sourceRoot":"","sources":["../../../src/plugins/remote-access-tailscale/remote-access-tailscale.plugin.ts"],"names":[],"mappings":"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"}
@@ -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
- getVersion(): Promise<TailscaleVersionInfo>;
68
- getStatus(): Promise<TailscaleStatus>;
69
- getPrefs(): Promise<TailscalePrefs>;
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
  }