@dxos/cli 0.1.41 → 0.1.45-next.45667d4

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 (173) hide show
  1. package/README.md +219 -30
  2. package/config/config-default.yml +1 -1
  3. package/dist/src/base-command.d.ts +5 -1
  4. package/dist/src/base-command.d.ts.map +1 -1
  5. package/dist/src/base-command.js +62 -31
  6. package/dist/src/base-command.js.map +1 -1
  7. package/dist/src/commands/app/app.test.d.ts +2 -0
  8. package/dist/src/commands/app/app.test.d.ts.map +1 -0
  9. package/dist/src/commands/app/app.test.js +25 -0
  10. package/dist/src/commands/app/app.test.js.map +1 -0
  11. package/dist/src/commands/app/create.d.ts +2 -1
  12. package/dist/src/commands/app/create.d.ts.map +1 -1
  13. package/dist/src/commands/app/create.js +10 -10
  14. package/dist/src/commands/app/create.js.map +1 -1
  15. package/dist/src/commands/app/list.js +1 -1
  16. package/dist/src/commands/app/list.js.map +1 -1
  17. package/dist/src/commands/app/open.d.ts +17 -0
  18. package/dist/src/commands/app/open.d.ts.map +1 -0
  19. package/dist/src/commands/app/open.js +84 -0
  20. package/dist/src/commands/app/open.js.map +1 -0
  21. package/dist/src/commands/app/publish.d.ts +2 -1
  22. package/dist/src/commands/app/publish.d.ts.map +1 -1
  23. package/dist/src/commands/app/publish.js +9 -9
  24. package/dist/src/commands/app/publish.js.map +1 -1
  25. package/dist/src/commands/config/index.js +1 -1
  26. package/dist/src/commands/config/index.js.map +1 -1
  27. package/dist/src/commands/daemon/list.d.ts +7 -0
  28. package/dist/src/commands/daemon/list.d.ts.map +1 -0
  29. package/dist/src/commands/daemon/list.js +19 -0
  30. package/dist/src/commands/daemon/list.js.map +1 -0
  31. package/dist/src/commands/daemon/restart.d.ts +7 -0
  32. package/dist/src/commands/daemon/restart.d.ts.map +1 -0
  33. package/dist/src/commands/daemon/restart.js +19 -0
  34. package/dist/src/commands/daemon/restart.js.map +1 -0
  35. package/dist/src/commands/daemon/run.d.ts +13 -0
  36. package/dist/src/commands/daemon/run.d.ts.map +1 -0
  37. package/dist/src/commands/daemon/run.js +33 -0
  38. package/dist/src/commands/daemon/run.js.map +1 -0
  39. package/dist/src/commands/daemon/start.d.ts +7 -0
  40. package/dist/src/commands/daemon/start.d.ts.map +1 -0
  41. package/dist/src/commands/daemon/start.js +19 -0
  42. package/dist/src/commands/daemon/start.js.map +1 -0
  43. package/dist/src/commands/daemon/stop.d.ts +7 -0
  44. package/dist/src/commands/daemon/stop.d.ts.map +1 -0
  45. package/dist/src/commands/daemon/stop.js +19 -0
  46. package/dist/src/commands/daemon/stop.js.map +1 -0
  47. package/dist/src/commands/halo/create.js +2 -2
  48. package/dist/src/commands/halo/create.js.map +1 -1
  49. package/dist/src/commands/halo/credential/add.js +2 -2
  50. package/dist/src/commands/halo/credential/add.js.map +1 -1
  51. package/dist/src/commands/halo/credential/list.d.ts +2 -1
  52. package/dist/src/commands/halo/credential/list.d.ts.map +1 -1
  53. package/dist/src/commands/halo/credential/list.js +3 -3
  54. package/dist/src/commands/halo/credential/list.js.map +1 -1
  55. package/dist/src/commands/halo/index.js +2 -2
  56. package/dist/src/commands/halo/index.js.map +1 -1
  57. package/dist/src/commands/halo/join.d.ts +2 -1
  58. package/dist/src/commands/halo/join.d.ts.map +1 -1
  59. package/dist/src/commands/halo/join.js +27 -45
  60. package/dist/src/commands/halo/join.js.map +1 -1
  61. package/dist/src/commands/halo/share.d.ts +6 -0
  62. package/dist/src/commands/halo/share.d.ts.map +1 -1
  63. package/dist/src/commands/halo/share.js +30 -33
  64. package/dist/src/commands/halo/share.js.map +1 -1
  65. package/dist/src/commands/kube/auth.js +3 -3
  66. package/dist/src/commands/kube/auth.js.map +1 -1
  67. package/dist/src/commands/kube/deploy.d.ts +2 -1
  68. package/dist/src/commands/kube/deploy.d.ts.map +1 -1
  69. package/dist/src/commands/kube/deploy.js +7 -7
  70. package/dist/src/commands/kube/deploy.js.map +1 -1
  71. package/dist/src/commands/reset/index.d.ts.map +1 -1
  72. package/dist/src/commands/reset/index.js +5 -2
  73. package/dist/src/commands/reset/index.js.map +1 -1
  74. package/dist/src/commands/shell/index.js +1 -1
  75. package/dist/src/commands/shell/index.js.map +1 -1
  76. package/dist/src/commands/space/create.js +2 -2
  77. package/dist/src/commands/space/create.js.map +1 -1
  78. package/dist/src/commands/space/index.js +1 -1
  79. package/dist/src/commands/space/index.js.map +1 -1
  80. package/dist/src/commands/space/invite.d.ts.map +1 -1
  81. package/dist/src/commands/space/invite.js +21 -26
  82. package/dist/src/commands/space/invite.js.map +1 -1
  83. package/dist/src/commands/space/join.d.ts +2 -1
  84. package/dist/src/commands/space/join.d.ts.map +1 -1
  85. package/dist/src/commands/space/join.js +31 -17
  86. package/dist/src/commands/space/join.js.map +1 -1
  87. package/dist/src/commands/space/list.d.ts +6 -5
  88. package/dist/src/commands/space/list.d.ts.map +1 -1
  89. package/dist/src/commands/space/list.js +2 -2
  90. package/dist/src/commands/space/list.js.map +1 -1
  91. package/dist/src/commands/space/members.d.ts +7 -6
  92. package/dist/src/commands/space/members.d.ts.map +1 -1
  93. package/dist/src/commands/space/members.js +9 -4
  94. package/dist/src/commands/space/members.js.map +1 -1
  95. package/dist/src/commands/tunnel/list.js +1 -1
  96. package/dist/src/commands/tunnel/list.js.map +1 -1
  97. package/dist/src/commands/tunnel/set.d.ts +2 -1
  98. package/dist/src/commands/tunnel/set.d.ts.map +1 -1
  99. package/dist/src/commands/tunnel/set.js +5 -5
  100. package/dist/src/commands/tunnel/set.js.map +1 -1
  101. package/dist/src/daemon/daemon.d.ts +15 -0
  102. package/dist/src/daemon/daemon.d.ts.map +1 -0
  103. package/dist/src/daemon/daemon.js +6 -0
  104. package/dist/src/daemon/daemon.js.map +1 -0
  105. package/dist/src/daemon/forever/forever-daemon.d.ts +15 -0
  106. package/dist/src/daemon/forever/forever-daemon.d.ts.map +1 -0
  107. package/dist/src/daemon/forever/forever-daemon.js +83 -0
  108. package/dist/src/daemon/forever/forever-daemon.js.map +1 -0
  109. package/dist/src/daemon/forever/index.d.ts +2 -0
  110. package/dist/src/daemon/forever/index.d.ts.map +1 -0
  111. package/dist/src/daemon/forever/index.js +21 -0
  112. package/dist/src/daemon/forever/index.js.map +1 -0
  113. package/dist/src/daemon/index.d.ts +5 -0
  114. package/dist/src/daemon/index.d.ts.map +1 -0
  115. package/dist/src/daemon/index.js +24 -0
  116. package/dist/src/daemon/index.js.map +1 -0
  117. package/dist/src/daemon/pm2/index.d.ts +2 -0
  118. package/dist/src/daemon/pm2/index.d.ts.map +1 -0
  119. package/dist/src/daemon/pm2/index.js +21 -0
  120. package/dist/src/daemon/pm2/index.js.map +1 -0
  121. package/dist/src/daemon/pm2/pm2-daemon.d.ts +21 -0
  122. package/dist/src/daemon/pm2/pm2-daemon.d.ts.map +1 -0
  123. package/dist/src/daemon/pm2/pm2-daemon.js +107 -0
  124. package/dist/src/daemon/pm2/pm2-daemon.js.map +1 -0
  125. package/dist/src/daemon/run-services.d.ts +7 -0
  126. package/dist/src/daemon/run-services.d.ts.map +1 -0
  127. package/dist/src/daemon/run-services.js +99 -0
  128. package/dist/src/daemon/run-services.js.map +1 -0
  129. package/dist/src/daemon/util.d.ts +8 -0
  130. package/dist/src/daemon/util.d.ts.map +1 -0
  131. package/dist/src/daemon/util.js +38 -0
  132. package/dist/src/daemon/util.js.map +1 -0
  133. package/dist/src/util/credential.js +1 -1
  134. package/dist/src/util/exec.d.ts +1 -1
  135. package/dist/src/util/exec.d.ts.map +1 -1
  136. package/dist/src/util/exec.js +1 -1
  137. package/dist/src/util/index.d.ts +2 -0
  138. package/dist/src/util/index.d.ts.map +1 -1
  139. package/dist/src/util/index.js +2 -0
  140. package/dist/src/util/index.js.map +1 -1
  141. package/dist/src/util/invitation.d.ts +18 -0
  142. package/dist/src/util/invitation.d.ts.map +1 -0
  143. package/dist/src/util/invitation.js +69 -0
  144. package/dist/src/util/invitation.js.map +1 -0
  145. package/dist/src/util/print.js +17 -17
  146. package/dist/src/util/provider/digital-ocean.js +2 -2
  147. package/dist/src/util/provider/provider.d.ts +1 -1
  148. package/dist/src/util/provider/provider.d.ts.map +1 -1
  149. package/dist/src/util/provider/provider.js +5 -5
  150. package/dist/src/util/publish/build.js +2 -2
  151. package/dist/src/util/publish/common.d.ts +3 -3
  152. package/dist/src/util/publish/common.d.ts.map +1 -1
  153. package/dist/src/util/publish/common.js +11 -11
  154. package/dist/src/util/publish/config.js +3 -3
  155. package/dist/src/util/publish/ipfs-upload.js +3 -3
  156. package/dist/src/util/publish/publish.js +1 -1
  157. package/dist/src/util/publish/publisher-rpc-peer.js +3 -3
  158. package/dist/src/util/supervisor/supervisor-rpc-peer.js +3 -3
  159. package/dist/src/util/telemetry.d.ts +1 -1
  160. package/dist/src/util/telemetry.d.ts.map +1 -1
  161. package/dist/src/util/telemetry.js +2 -2
  162. package/dist/src/util/telemetryrc.json +2 -2
  163. package/dist/src/util/test-util.d.ts +2 -0
  164. package/dist/src/util/test-util.d.ts.map +1 -0
  165. package/dist/src/util/test-util.js +21 -0
  166. package/dist/src/util/test-util.js.map +1 -0
  167. package/dist/src/util/util.js +3 -3
  168. package/oclif.manifest.json +458 -2
  169. package/package.json +23 -18
  170. package/dist/src/commands/app/publish-workflow.test.d.ts +0 -2
  171. package/dist/src/commands/app/publish-workflow.test.d.ts.map +0 -1
  172. package/dist/src/commands/app/publish-workflow.test.js +0 -56
  173. package/dist/src/commands/app/publish-workflow.test.js.map +0 -1
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ForeverDaemon = void 0;
10
+ const forever_1 = __importDefault(require("forever"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ const util_1 = require("../util");
13
+ const FOREVER_ROOT = `${process.env.HOME}/.dx/store/forever`;
14
+ /**
15
+ * Manager of daemon processes started with Forever.
16
+ */
17
+ class ForeverDaemon {
18
+ async connect() {
19
+ initForever();
20
+ }
21
+ async disconnect() {
22
+ // no-op.
23
+ }
24
+ async isRunning(profile) {
25
+ return (await this.list()).some((process) => process.profile === profile && process.isRunning);
26
+ }
27
+ async start(profile) {
28
+ if (!(await this.isRunning(profile))) {
29
+ const socket = (0, util_1.getUnixSocket)(profile);
30
+ forever_1.default.startDaemon(process.argv[1], {
31
+ args: ['daemon', 'run', `--listen=${socket}`, '--profile=' + profile],
32
+ uid: profile,
33
+ logFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-log.log`),
34
+ outFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-out.log`),
35
+ errFile: node_path_1.default.join(FOREVER_ROOT, `${profile}-err.log`), // Path to log output from child stderr
36
+ });
37
+ }
38
+ await (0, util_1.waitForDaemon)(profile);
39
+ return this._getProcess(profile);
40
+ }
41
+ async stop(profile) {
42
+ if (await this.isRunning(profile)) {
43
+ forever_1.default.stop(profile);
44
+ }
45
+ (0, util_1.removeSocketFile)(profile);
46
+ return this._getProcess(profile);
47
+ }
48
+ async restart(profile) {
49
+ if ((await this._getProcess(profile)).profile === profile) {
50
+ (0, util_1.removeSocketFile)(profile);
51
+ forever_1.default.restart(profile);
52
+ }
53
+ else {
54
+ await this.start(profile);
55
+ }
56
+ return await this._getProcess(profile);
57
+ }
58
+ async list() {
59
+ const result = await new Promise((resolve, reject) => {
60
+ forever_1.default.list(false, (err, processes) => {
61
+ if (err) {
62
+ reject(err);
63
+ }
64
+ resolve(processes !== null && processes !== void 0 ? processes : []);
65
+ });
66
+ });
67
+ return result.map((details) => foreverToProcessDescription(details));
68
+ }
69
+ async _getProcess(profile) {
70
+ var _a;
71
+ return (_a = (await this.list()).find((process) => process.profile === profile)) !== null && _a !== void 0 ? _a : {};
72
+ }
73
+ }
74
+ exports.ForeverDaemon = ForeverDaemon;
75
+ const foreverToProcessDescription = (details) => ({
76
+ profile: details === null || details === void 0 ? void 0 : details.uid,
77
+ isRunning: details === null || details === void 0 ? void 0 : details.running,
78
+ pid: details === null || details === void 0 ? void 0 : details.foreverPid,
79
+ });
80
+ const initForever = () => {
81
+ forever_1.default.load({ root: FOREVER_ROOT });
82
+ };
83
+ //# sourceMappingURL=forever-daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forever-daemon.js","sourceRoot":"","sources":["../../../../src/daemon/forever/forever-daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './forever-daemon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/daemon/forever/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./forever-daemon"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/daemon/forever/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,mDAAiC"}
@@ -0,0 +1,5 @@
1
+ export * from './daemon';
2
+ export * from './pm2';
3
+ export * from './run-services';
4
+ export * from './util';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/daemon/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./daemon"), exports);
21
+ __exportStar(require("./pm2"), exports);
22
+ __exportStar(require("./run-services"), exports);
23
+ __exportStar(require("./util"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/daemon/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,2CAAyB;AACzB,wCAAsB;AACtB,iDAA+B;AAC/B,yCAAuB"}
@@ -0,0 +1,2 @@
1
+ export * from './pm2-daemon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/daemon/pm2/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ __exportStar(require("./pm2-daemon"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/daemon/pm2/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B"}
@@ -0,0 +1,21 @@
1
+ import { Daemon, ProcessDescription } from '../daemon';
2
+ /**
3
+ * Manager of daemon processes started with PM2.
4
+ *
5
+ * @deprecated because stalls process after command finishes.
6
+ */
7
+ export declare class Pm2Daemon implements Daemon {
8
+ private _pm2?;
9
+ connect(): Promise<void>;
10
+ disconnect(): Promise<void>;
11
+ isRunning(profile: string): Promise<boolean>;
12
+ start(profile: string): Promise<ProcessDescription>;
13
+ stop(profile: string): Promise<ProcessDescription>;
14
+ restart(profile: string): Promise<ProcessDescription>;
15
+ list(): Promise<{
16
+ profile: string | undefined;
17
+ pid: number | undefined;
18
+ isRunning: boolean;
19
+ }[]>;
20
+ }
21
+ //# sourceMappingURL=pm2-daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pm2-daemon.d.ts","sourceRoot":"","sources":["../../../../src/daemon/pm2/pm2-daemon.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGvD;;;;GAIG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,OAAO,CAAC,IAAI,CAAC,CAAM;IAEb,OAAO;IAIP,UAAU;IAKV,SAAS,CAAC,OAAO,EAAE,MAAM;IAczB,KAAK,CAAC,OAAO,EAAE,MAAM;IA2BrB,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,OAAO,CAAC,OAAO,EAAE,MAAM;IASvB,IAAI;;;;;CASX"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.Pm2Daemon = void 0;
10
+ const node_assert_1 = __importDefault(require("node:assert"));
11
+ const node_util_1 = require("node:util");
12
+ const pm2_1 = __importDefault(require("pm2"));
13
+ const async_1 = require("@dxos/async");
14
+ const util_1 = require("../util");
15
+ /**
16
+ * Manager of daemon processes started with PM2.
17
+ *
18
+ * @deprecated because stalls process after command finishes.
19
+ */
20
+ class Pm2Daemon {
21
+ async connect() {
22
+ this._pm2 = await getPm2();
23
+ }
24
+ async disconnect() {
25
+ (0, node_assert_1.default)(this._pm2);
26
+ this._pm2.disconnect();
27
+ }
28
+ async isRunning(profile) {
29
+ (0, node_assert_1.default)(this._pm2);
30
+ const description = await (0, node_util_1.promisify)(this._pm2.describe.bind(this._pm2))(profile);
31
+ if (description.length === 0 ||
32
+ !description[0].monit ||
33
+ (!description[0].monit.cpu && !description[0].monit.memory)) {
34
+ return false;
35
+ }
36
+ return true;
37
+ }
38
+ async start(profile) {
39
+ const result = await new Promise((resolve, reject) => {
40
+ (0, node_assert_1.default)(this._pm2);
41
+ this._pm2.start({
42
+ script: process.argv[1],
43
+ args: ['daemon', 'run', `--listen=${(0, util_1.getUnixSocket)(profile)}`, '--profile=' + profile],
44
+ name: profile,
45
+ }, (err, proc) => {
46
+ if (err) {
47
+ reject(err);
48
+ }
49
+ else {
50
+ // Return type does not equal to runtime return type im PM2.
51
+ resolve(proc);
52
+ }
53
+ });
54
+ });
55
+ if (result.length === 0) {
56
+ return {};
57
+ }
58
+ return procToProcessDescription(result[0]);
59
+ }
60
+ async stop(profile) {
61
+ (0, node_assert_1.default)(this._pm2);
62
+ const result = await (0, node_util_1.promisify)(this._pm2.stop.bind(this._pm2))(profile);
63
+ return procToProcessDescription(result);
64
+ }
65
+ async restart(profile) {
66
+ (0, node_assert_1.default)(this._pm2);
67
+ if (await this.isRunning(profile)) {
68
+ return procToProcessDescription(await (0, node_util_1.promisify)(this._pm2.restart.bind(this._pm2))(profile));
69
+ }
70
+ return this.start(profile);
71
+ }
72
+ async list() {
73
+ (0, node_assert_1.default)(this._pm2);
74
+ const list = await (0, node_util_1.promisify)(this._pm2.list.bind(this._pm2))();
75
+ return list.map((proc) => {
76
+ var _a, _b;
77
+ return ({
78
+ profile: proc.name,
79
+ pid: proc.pid,
80
+ isRunning: !!((_a = proc.monit) === null || _a === void 0 ? void 0 : _a.cpu) || !!((_b = proc.monit) === null || _b === void 0 ? void 0 : _b.memory),
81
+ });
82
+ });
83
+ }
84
+ }
85
+ exports.Pm2Daemon = Pm2Daemon;
86
+ const procToProcessDescription = (proc) => ({
87
+ profile: proc.name,
88
+ pid: proc.pm_id,
89
+ });
90
+ const Pm2Api = pm2_1.default.custom;
91
+ const getPm2 = async () => {
92
+ const instance = new Pm2Api({
93
+ pm2_home: `${process.env.HOME}/.dx/store/pm2`,
94
+ });
95
+ const connected = new async_1.Trigger();
96
+ instance.connect((err) => {
97
+ if (err) {
98
+ connected.throw(err);
99
+ }
100
+ else {
101
+ connected.wake();
102
+ }
103
+ });
104
+ await connected;
105
+ return instance;
106
+ };
107
+ //# sourceMappingURL=pm2-daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pm2-daemon.js","sourceRoot":"","sources":["../../../../src/daemon/pm2/pm2-daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Config } from '@dxos/client';
2
+ export type RunServicesParams = {
3
+ listen: string[];
4
+ config: Config;
5
+ };
6
+ export declare const runServices: (params: RunServicesParams) => Promise<void>;
7
+ //# sourceMappingURL=run-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-services.d.ts","sourceRoot":"","sources":["../../../src/daemon/run-services.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,MAAM,EAAuB,MAAM,cAAc,CAAC;AAM3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,WAAW,WAAkB,iBAAiB,kBAmE1D,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.runServices = void 0;
30
+ const node_fs_1 = require("node:fs");
31
+ const http = __importStar(require("node:http"));
32
+ const node_path_1 = require("node:path");
33
+ const client_1 = require("@dxos/client");
34
+ const log_1 = require("@dxos/log");
35
+ const websocket_rpc_1 = require("@dxos/websocket-rpc");
36
+ const util_1 = require("./util");
37
+ const runServices = async (params) => {
38
+ var _a;
39
+ var _b;
40
+ const services = (0, client_1.fromHost)(params.config);
41
+ // Global hook for debuggers;
42
+ ((_a = (_b = globalThis).__DXOS__) !== null && _a !== void 0 ? _a : (_b.__DXOS__ = {})).host = services._host;
43
+ await services.open();
44
+ log_1.log.info('open', {}, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 27, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
45
+ const httpServer = http.createServer();
46
+ for (const listenAddr of params.listen) {
47
+ if (listenAddr.startsWith('unix://')) {
48
+ const socketAddr = (0, util_1.addrFromSocket)(listenAddr);
49
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(socketAddr), { recursive: true });
50
+ (0, node_fs_1.rmSync)(socketAddr, { force: true });
51
+ httpServer.listen(socketAddr);
52
+ const server = new websocket_rpc_1.WebsocketRpcServer({
53
+ server: httpServer,
54
+ onConnection: async () => {
55
+ const id = client_1.PublicKey.random().toHex();
56
+ log_1.log.info('connection', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 42, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
57
+ return {
58
+ exposed: services.descriptors,
59
+ handlers: services.services,
60
+ onOpen: async () => {
61
+ log_1.log.info('open', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 48, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
62
+ },
63
+ onClose: async () => {
64
+ log_1.log.info('close', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 51, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
65
+ },
66
+ };
67
+ },
68
+ });
69
+ await server.open();
70
+ }
71
+ else if (listenAddr.startsWith('ws://')) {
72
+ const { port } = new URL(listenAddr);
73
+ const server = new websocket_rpc_1.WebsocketRpcServer({
74
+ port: parseInt(port),
75
+ onConnection: async () => {
76
+ const id = client_1.PublicKey.random().toHex();
77
+ log_1.log.info('connection', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 65, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
78
+ return {
79
+ exposed: services.descriptors,
80
+ handlers: services.services,
81
+ onOpen: async () => {
82
+ log_1.log.info('open', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 71, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
83
+ },
84
+ onClose: async () => {
85
+ log_1.log.info('close', { id }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 74, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
86
+ },
87
+ };
88
+ },
89
+ });
90
+ await server.open();
91
+ }
92
+ else {
93
+ throw new Error(`Unsupported listen address: ${listenAddr}`);
94
+ }
95
+ }
96
+ log_1.log.info('listening', { socket: params.listen }, { file: "packages/devtools/cli/src/daemon/run-services.ts", line: 86, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation.", callSite: (fn, args) => fn(...args) });
97
+ };
98
+ exports.runServices = runServices;
99
+ //# sourceMappingURL=run-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-services.js","sourceRoot":"","sources":["../../../src/daemon/run-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const getUnixSocket: (profile: string) => string;
2
+ export declare const addrFromSocket: (sock: string) => string;
3
+ /**
4
+ * Waits till unix socket file is created.
5
+ */
6
+ export declare const waitForDaemon: (profile: string) => Promise<void>;
7
+ export declare const removeSocketFile: (profile: string) => void;
8
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/daemon/util.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,YAAa,MAAM,WAAyD,CAAC;AAEvG,eAAO,MAAM,cAAc,SAAU,MAAM,WAAiC,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,aAAa,YAAmB,MAAM,kBAalD,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,MAAM,SAG/C,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.removeSocketFile = exports.waitForDaemon = exports.addrFromSocket = exports.getUnixSocket = void 0;
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ const async_1 = require("@dxos/async");
12
+ const START_TIMEOUT = 5000;
13
+ const getUnixSocket = (profile) => `unix://${process.env.HOME}/.dx/run/${profile}.sock`;
14
+ exports.getUnixSocket = getUnixSocket;
15
+ const addrFromSocket = (sock) => sock.slice('unix://'.length);
16
+ exports.addrFromSocket = addrFromSocket;
17
+ /**
18
+ * Waits till unix socket file is created.
19
+ */
20
+ const waitForDaemon = async (profile) => {
21
+ let slept = 0;
22
+ const inc = 100;
23
+ const sockAddr = (0, exports.addrFromSocket)((0, exports.getUnixSocket)(profile));
24
+ while (!node_fs_1.default.existsSync(sockAddr)) {
25
+ await (0, async_1.sleep)(inc);
26
+ slept += inc;
27
+ if (slept >= START_TIMEOUT) {
28
+ throw new Error(`Daemon start timeout exceeded ${START_TIMEOUT}[ms]`);
29
+ }
30
+ }
31
+ };
32
+ exports.waitForDaemon = waitForDaemon;
33
+ const removeSocketFile = (profile) => {
34
+ const socketAddr = (0, exports.addrFromSocket)((0, exports.getUnixSocket)(profile));
35
+ node_fs_1.default.rmSync(socketAddr, { force: true });
36
+ };
37
+ exports.removeSocketFile = removeSocketFile;
38
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/daemon/util.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,sDAAyB;AAEzB,uCAAoC;AAEpC,MAAM,aAAa,GAAG,IAAK,CAAC;AAErB,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,OAAO,OAAO,CAAC;AAA1F,QAAA,aAAa,iBAA6E;AAEhG,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAAhE,QAAA,cAAc,kBAAkD;AAE7E;;GAEG;AACI,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAG,GAAG,CAAC;IAChB,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;IAExD,OAAO,CAAC,iBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,IAAA,aAAK,EAAC,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,GAAG,CAAC;QAEb,IAAI,KAAK,IAAI,aAAa,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,aAAa,MAAM,CAAC,CAAC;SACvE;KACF;AACH,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB;AAEK,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE;IAClD,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,iBAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B"}
@@ -21,7 +21,7 @@ const queryCredentials = async (client, type, predicate) => {
21
21
  },
22
22
  onError: (err) => {
23
23
  throw err;
24
- }
24
+ },
25
25
  });
26
26
  setTimeout(() => {
27
27
  trigger.wake(result);
@@ -1,4 +1,4 @@
1
- export declare type ExecOptions = {
1
+ export type ExecOptions = {
2
2
  verbose: boolean;
3
3
  cwd: string;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/util/exec.ts"],"names":[],"mappings":"AAMA,oBAAY,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAGF,eAAO,MAAM,IAAI,YAAa,MAAM,YAAY,QAAQ,WAAW,CAAC,KAAG,QAAQ,MAAM,CA8BpF,CAAC"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../../src/util/exec.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAGF,eAAO,MAAM,IAAI,YAAa,MAAM,YAAY,QAAQ,WAAW,CAAC,KAAG,QAAQ,MAAM,CA8BpF,CAAC"}
@@ -15,7 +15,7 @@ const exec = (command, options) => {
15
15
  return new Promise((resolve, reject) => {
16
16
  const subprocess = (0, node_child_process_1.spawn)(first, rest, {
17
17
  shell: true,
18
- cwd
18
+ cwd,
19
19
  });
20
20
  const stdout = [];
21
21
  const stderr = [];
@@ -1,7 +1,9 @@
1
1
  export * from './credential';
2
+ export * from './invitation';
2
3
  export * from './print';
3
4
  export * from './publish';
4
5
  export * from './supervisor';
5
6
  export * from './telemetry';
6
7
  export * from './util';
8
+ export * from './test-util';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
@@ -18,9 +18,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  __exportStar(require("./credential"), exports);
21
+ __exportStar(require("./invitation"), exports);
21
22
  __exportStar(require("./print"), exports);
22
23
  __exportStar(require("./publish"), exports);
23
24
  __exportStar(require("./supervisor"), exports);
24
25
  __exportStar(require("./telemetry"), exports);
25
26
  __exportStar(require("./util"), exports);
27
+ __exportStar(require("./test-util"), exports);
26
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B;AAC7B,8CAA4B;AAC5B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,+CAA6B;AAC7B,+CAA6B;AAC7B,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B;AAC7B,8CAA4B;AAC5B,yCAAuB;AACvB,8CAA4B"}
@@ -0,0 +1,18 @@
1
+ import { AuthenticatingInvitationObservable, CancellableInvitationObservable, Invitation } from '@dxos/client';
2
+ export declare const hostInvitation: ({ observable, callbacks, peersNumber, }: {
3
+ observable: CancellableInvitationObservable;
4
+ callbacks?: {
5
+ onConnecting?: ((invitation: Invitation) => Promise<void>) | undefined;
6
+ onSuccess?: ((invitation: Invitation) => Promise<void>) | undefined;
7
+ } | undefined;
8
+ peersNumber?: number | undefined;
9
+ }) => Promise<Invitation>;
10
+ export declare const acceptInvitation: ({ observable, callbacks, }: {
11
+ observable: AuthenticatingInvitationObservable;
12
+ callbacks?: {
13
+ onConnecting?: ((invitation: Invitation) => Promise<void>) | undefined;
14
+ onReadyForAuth?: ((invitation: Invitation) => Promise<string | void>) | undefined;
15
+ onSuccess?: ((invitation: Invitation) => Promise<void>) | undefined;
16
+ } | undefined;
17
+ }) => Promise<Invitation>;
18
+ //# sourceMappingURL=invitation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invitation.d.ts","sourceRoot":"","sources":["../../../src/util/invitation.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/G,eAAO,MAAM,cAAc;gBAKb,+BAA+B;;qCAEb,UAAU,KAAK,QAAQ,IAAI,CAAC;kCAC/B,UAAU,KAAK,QAAQ,IAAI,CAAC;;;MAGrD,QAAQ,UAAU,CA6BrB,CAAC;AAEF,eAAO,MAAM,gBAAgB;gBAIf,kCAAkC;;qCAEhB,UAAU,KAAK,QAAQ,IAAI,CAAC;uCAC1B,UAAU,KAAK,QAAQ,MAAM,GAAG,IAAI,CAAC;kCAC1C,UAAU,KAAK,QAAQ,IAAI,CAAC;;MAErD,QAAQ,UAAU,CAqCrB,CAAC"}