@appland/appmap 3.20.0 → 3.21.0

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 (70) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/built/appmap.html +1 -1
  3. package/built/main.js.map +1 -1
  4. package/built/package.json +2 -1
  5. package/built/src/cmds/record/action/cancelRecording.js +14 -0
  6. package/built/src/cmds/record/action/cancelRecording.js.map +1 -0
  7. package/built/src/cmds/record/action/configureHostAndPort.js +35 -0
  8. package/built/src/cmds/record/action/configureHostAndPort.js.map +1 -0
  9. package/built/src/cmds/record/action/configureRemainingRequestOptions.js +36 -0
  10. package/built/src/cmds/record/action/configureRemainingRequestOptions.js.map +1 -0
  11. package/built/src/cmds/record/action/detectProcessCharacteristics.js +60 -0
  12. package/built/src/cmds/record/action/detectProcessCharacteristics.js.map +1 -0
  13. package/built/src/cmds/record/{createRecording.js → action/saveRecording.js} +9 -24
  14. package/built/src/cmds/record/action/saveRecording.js.map +1 -0
  15. package/built/src/cmds/record/action/startRecording.js +20 -0
  16. package/built/src/cmds/record/action/startRecording.js.map +1 -0
  17. package/built/src/cmds/record/action/stopRecording.js +11 -0
  18. package/built/src/cmds/record/action/stopRecording.js.map +1 -0
  19. package/built/src/cmds/record/configuration.js +126 -0
  20. package/built/src/cmds/record/configuration.js.map +1 -0
  21. package/built/src/cmds/record/prompt/recordingInProgress.js +29 -0
  22. package/built/src/cmds/record/prompt/recordingInProgress.js.map +1 -0
  23. package/built/src/cmds/record/record.js +16 -11
  24. package/built/src/cmds/record/record.js.map +1 -1
  25. package/built/src/cmds/record/state/abort.js +8 -0
  26. package/built/src/cmds/record/state/abort.js.map +1 -0
  27. package/built/src/cmds/record/state/agentAvailableAndReady.js +14 -0
  28. package/built/src/cmds/record/state/agentAvailableAndReady.js.map +1 -0
  29. package/built/src/cmds/record/state/agentIsRecording.js +45 -0
  30. package/built/src/cmds/record/state/agentIsRecording.js.map +1 -0
  31. package/built/src/cmds/record/state/agentNotAvailable.js +41 -0
  32. package/built/src/cmds/record/state/agentNotAvailable.js.map +1 -0
  33. package/built/src/cmds/record/state/agentProcessNotRunning.js +30 -0
  34. package/built/src/cmds/record/state/agentProcessNotRunning.js.map +1 -0
  35. package/built/src/cmds/record/state/initial.js +27 -0
  36. package/built/src/cmds/record/state/initial.js.map +1 -0
  37. package/built/src/cmds/record/state/recordingInProgress.js +14 -0
  38. package/built/src/cmds/record/state/recordingInProgress.js.map +1 -0
  39. package/built/src/cmds/record/state/recordingStopped.js +12 -0
  40. package/built/src/cmds/record/state/recordingStopped.js.map +1 -0
  41. package/built/src/cmds/record/test/isAgentAvailable.js +23 -0
  42. package/built/src/cmds/record/test/isAgentAvailable.js.map +1 -0
  43. package/built/src/cmds/record/test/isRecordingInProgress.js +13 -0
  44. package/built/src/cmds/record/test/isRecordingInProgress.js.map +1 -0
  45. package/built/src/cmds/record/types/exitCode.js +10 -0
  46. package/built/src/cmds/record/types/exitCode.js.map +1 -0
  47. package/built/src/cmds/record/types/fileName.js +3 -0
  48. package/built/src/cmds/record/types/fileName.js.map +1 -0
  49. package/built/src/cmds/record/types/remoteRecordingStatus.js +3 -0
  50. package/built/src/cmds/record/types/remoteRecordingStatus.js.map +1 -0
  51. package/built/src/cmds/record/types/state.js +3 -0
  52. package/built/src/cmds/record/types/state.js.map +1 -0
  53. package/built/src/cmds/userInteraction.js +11 -6
  54. package/built/src/cmds/userInteraction.js.map +1 -1
  55. package/package.json +4 -3
  56. package/built/src/cmds/record/configureConnection.js +0 -16
  57. package/built/src/cmds/record/configureConnection.js.map +0 -1
  58. package/built/src/cmds/record/configureHostAndPort.js +0 -38
  59. package/built/src/cmds/record/configureHostAndPort.js.map +0 -1
  60. package/built/src/cmds/record/configureRemainingRequestOptions.js +0 -28
  61. package/built/src/cmds/record/configureRemainingRequestOptions.js.map +0 -1
  62. package/built/src/cmds/record/confirmProcessCharacteristics.js +0 -75
  63. package/built/src/cmds/record/confirmProcessCharacteristics.js.map +0 -1
  64. package/built/src/cmds/record/createRecording.js.map +0 -1
  65. package/built/src/cmds/record/intro.js +0 -22
  66. package/built/src/cmds/record/intro.js.map +0 -1
  67. package/built/src/cmds/record/ready.js +0 -19
  68. package/built/src/cmds/record/ready.js.map +0 -1
  69. package/built/src/cmds/record/testConnection.js +0 -35
  70. package/built/src/cmds/record/testConnection.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
+ const configureHostAndPort_1 = __importDefault(require("../action/configureHostAndPort"));
8
+ const initial_1 = __importDefault(require("./initial"));
9
+ // No process could be contact on the configured host and port.
10
+ // Prompt the user to start the agent process, and then start over.
11
+ async function agentProcessNotRunning() {
12
+ userInteraction_1.default.progress(`It looks like you need to start your app (make sure you have the AppMap agent enabled).`);
13
+ userInteraction_1.default.progress(`Or maybe your app is running, but it's on a different host and/or port.`);
14
+ userInteraction_1.default.progress(``);
15
+ userInteraction_1.default.progress(`To create a recording, you need to run your app using
16
+ the instructions in the AppMap documentation. Choose the most suitable link here,
17
+ then configure and launch your app process. Once you've done that, come back to this terminal
18
+ and we will try again.`);
19
+ userInteraction_1.default.progress(`
20
+ Rails: https://appland.com/docs/reference/appmap-ruby.html#remote-recording
21
+ Django: https://appland.com/docs/reference/appmap-python.html#django
22
+ Flask: https://appland.com/docs/reference/appmap-python.html#flask
23
+ Java: https://appland.com/docs/reference/appmap-java.html#remote-recording
24
+ JavaScript: https://appland.com/docs/reference/appmap-agent-js.html#remote-recording
25
+ `);
26
+ await (0, configureHostAndPort_1.default)();
27
+ return initial_1.default;
28
+ }
29
+ exports.default = agentProcessNotRunning;
30
+ //# sourceMappingURL=agentProcessNotRunning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentProcessNotRunning.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/agentProcessNotRunning.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,0FAAkE;AAElE,wDAAgC;AAEhC,+DAA+D;AAC/D,mEAAmE;AACpD,KAAK,UAAU,sBAAsB;IAClD,yBAAE,CAAC,QAAQ,CACT,yFAAyF,CAC1F,CAAC;IACF,yBAAE,CAAC,QAAQ,CACT,yEAAyE,CAC1E,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhB,yBAAE,CAAC,QAAQ,CAAC;;;uBAGS,CAAC,CAAC;IACvB,yBAAE,CAAC,QAAQ,CAAC;;;;;;GAMX,CAAC,CAAC;IAEH,MAAM,IAAA,8BAAoB,GAAE,CAAC;IAE7B,OAAO,iBAAO,CAAC;AACjB,CAAC;AAxBD,yCAwBC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const isAgentAvailable_1 = __importDefault(require("../test/isAgentAvailable"));
7
+ const isRecordingInProgress_1 = __importDefault(require("../test/isRecordingInProgress"));
8
+ const agentAvailableAndReady_1 = __importDefault(require("./agentAvailableAndReady"));
9
+ const agentIsRecording_1 = __importDefault(require("./agentIsRecording"));
10
+ const agentNotAvailable_1 = __importDefault(require("./agentNotAvailable"));
11
+ // This is the initial state of the record command. From here, the connection to the AppMap
12
+ // agent must be configured and verified, and then the recording will be run.
13
+ async function initial() {
14
+ if (await (0, isAgentAvailable_1.default)()) {
15
+ if (!(await (0, isRecordingInProgress_1.default)())) {
16
+ return agentAvailableAndReady_1.default;
17
+ }
18
+ else {
19
+ return agentIsRecording_1.default;
20
+ }
21
+ }
22
+ else {
23
+ return agentNotAvailable_1.default;
24
+ }
25
+ }
26
+ exports.default = initial;
27
+ //# sourceMappingURL=initial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/initial.ts"],"names":[],"mappings":";;;;;AAAA,gFAAwD;AACxD,0FAAkE;AAClE,sFAA8D;AAC9D,0EAAkD;AAClD,4EAAoD;AAGpD,2FAA2F;AAC3F,6EAA6E;AAC9D,KAAK,UAAU,OAAO;IACnC,IAAI,MAAM,IAAA,0BAAgB,GAAE,EAAE;QAC5B,IAAI,CAAC,CAAC,MAAM,IAAA,+BAAqB,GAAE,CAAC,EAAE;YACpC,OAAO,gCAAsB,CAAC;SAC/B;aAAM;YACL,OAAO,0BAAgB,CAAC;SACzB;KACF;SAAM;QACL,OAAO,2BAAiB,CAAC;KAC1B;AACH,CAAC;AAVD,0BAUC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const stopRecording_1 = __importDefault(require("../action/stopRecording"));
7
+ const recordingStopped_1 = __importDefault(require("./recordingStopped"));
8
+ // User has started the recording and is now performing the actions that will be recorded.
9
+ async function recordingInProgress() {
10
+ await (0, stopRecording_1.default)();
11
+ return recordingStopped_1.default;
12
+ }
13
+ exports.default = recordingInProgress;
14
+ //# sourceMappingURL=recordingInProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordingInProgress.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/recordingInProgress.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAEpD,0EAAkD;AAElD,0FAA0F;AAC3E,KAAK,UAAU,mBAAmB;IAC/C,MAAM,IAAA,uBAAa,GAAE,CAAC;IACtB,OAAO,0BAAgB,CAAC;AAC1B,CAAC;AAHD,sCAGC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const saveRecording_1 = __importDefault(require("../action/saveRecording"));
7
+ // Recording has been completed.
8
+ async function recordingStopped() {
9
+ return (0, saveRecording_1.default)();
10
+ }
11
+ exports.default = recordingStopped;
12
+ //# sourceMappingURL=recordingStopped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordingStopped.js","sourceRoot":"","sources":["../../../../../src/cmds/record/state/recordingStopped.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AAGpD,gCAAgC;AACjB,KAAK,UAAU,gBAAgB;IAG5C,OAAO,IAAA,uBAAa,GAAE,CAAC;AACzB,CAAC;AAJD,mCAIC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const userInteraction_1 = __importDefault(require("../../userInteraction"));
7
+ const configuration_1 = require("../configuration");
8
+ const remoteRecording_1 = __importDefault(require("../remoteRecording"));
9
+ async function isAgentAvailable() {
10
+ const ro = await (0, configuration_1.requestOptions)();
11
+ userInteraction_1.default.status = `Checking if the AppMap agent is available at ${ro.protocol}//${ro.hostname}:${ro.port}${ro.path}`;
12
+ try {
13
+ await new remoteRecording_1.default(ro).status();
14
+ userInteraction_1.default.success();
15
+ return true;
16
+ }
17
+ catch (e) {
18
+ userInteraction_1.default.error();
19
+ return false;
20
+ }
21
+ }
22
+ exports.default = isAgentAvailable;
23
+ //# sourceMappingURL=isAgentAvailable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAgentAvailable.js","sourceRoot":"","sources":["../../../../../src/cmds/record/test/isAgentAvailable.ts"],"names":[],"mappings":";;;;;AAAA,4EAAuC;AACvC,oDAAkD;AAClD,yEAAiD;AAElC,KAAK,UAAU,gBAAgB;IAC5C,MAAM,EAAE,GAAG,MAAM,IAAA,8BAAc,GAAE,CAAC;IAClC,yBAAE,CAAC,MAAM,GAAG,gDAAgD,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/G,IAAI;QACF,MAAM,IAAI,yBAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,yBAAE,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,yBAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAXD,mCAWC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const configuration_1 = require("../configuration");
7
+ const remoteRecording_1 = __importDefault(require("../remoteRecording"));
8
+ async function isRecordingInProgress() {
9
+ const status = await new remoteRecording_1.default(await (0, configuration_1.requestOptions)()).status();
10
+ return status.enabled === true;
11
+ }
12
+ exports.default = isRecordingInProgress;
13
+ //# sourceMappingURL=isRecordingInProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecordingInProgress.js","sourceRoot":"","sources":["../../../../../src/cmds/record/test/isRecordingInProgress.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,yEAAiD;AAElC,KAAK,UAAU,qBAAqB;IAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,yBAAe,CAAC,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AACjC,CAAC;AAJD,wCAIC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExitCode = void 0;
4
+ var ExitCode;
5
+ (function (ExitCode) {
6
+ ExitCode[ExitCode["Success"] = 0] = "Success";
7
+ ExitCode[ExitCode["Error"] = 1] = "Error";
8
+ ExitCode[ExitCode["Quit"] = 2] = "Quit";
9
+ })(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
10
+ //# sourceMappingURL=exitCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exitCode.js","sourceRoot":"","sources":["../../../../../src/cmds/record/types/exitCode.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=fileName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileName.js","sourceRoot":"","sources":["../../../../../src/cmds/record/types/fileName.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=remoteRecordingStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteRecordingStatus.js","sourceRoot":"","sources":["../../../../../src/cmds/record/types/remoteRecordingStatus.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/cmds/record/types/state.ts"],"names":[],"mappings":""}
@@ -24,6 +24,9 @@ class UserInteraction {
24
24
  }
25
25
  return result;
26
26
  }
27
+ async confirm(msg) {
28
+ await inquirer_1.default.prompt({ type: 'input', name: 'confirm', message: msg });
29
+ }
27
30
  progress(msg) {
28
31
  console.log(msg);
29
32
  }
@@ -31,12 +34,14 @@ class UserInteraction {
31
34
  if (this.spinner.isSpinning) {
32
35
  this.spinner.succeed();
33
36
  }
34
- console.log((0, boxen_1.default)(msg, {
35
- padding: 1,
36
- margin: 1,
37
- borderStyle: 'round',
38
- align: 'center',
39
- }));
37
+ if (msg) {
38
+ console.log((0, boxen_1.default)(msg, {
39
+ padding: 1,
40
+ margin: 1,
41
+ borderStyle: 'round',
42
+ align: 'center',
43
+ }));
44
+ }
40
45
  }
41
46
  error(msg) {
42
47
  if (this.spinner.isSpinning) {
@@ -1 +1 @@
1
- {"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../../src/cmds/userInteraction.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAwD;AACxD,8CAA+B;AAC/B,kDAA0B;AAC1B,oCAAmC;AAMnC,MAAa,eAAe;IAA5B;QACU,YAAO,GAAQ,IAAA,aAAG,GAAE,CAAC;IAkE/B,CAAC;IAhEC,KAAK,CAAC,MAAM,CAAC,SAA6B,EAAE,IAAqB;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5C,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,WAAW,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,CAAA,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxB;QAED,OAAO,CAAC,GAAG,CACT,IAAA,eAAK,EAAC,GAAG,EAAE;YACT,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,OAAO;YACpB,KAAK,EAAE,QAAQ;SAChB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAS;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;QAED,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAED,IAAI,CAAC,GAAY;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAA,eAAO,GAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;CACF;AAnED,0CAmEC;AAED,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;AACjC,kBAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"userInteraction.js","sourceRoot":"","sources":["../../../src/cmds/userInteraction.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAwD;AACxD,8CAA+B;AAC/B,kDAA0B;AAC1B,oCAAmC;AAMnC,MAAa,eAAe;IAA5B;QACU,YAAO,GAAQ,IAAA,aAAG,GAAE,CAAC;IAwE/B,CAAC;IAtEC,KAAK,CAAC,MAAM,CAAC,SAA6B,EAAE,IAAqB;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5C,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,WAAW,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,CAAA,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,kBAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAY;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxB;QAED,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,GAAG,CACT,IAAA,eAAK,EAAC,GAAG,EAAE;gBACT,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,OAAO;gBACpB,KAAK,EAAE,QAAQ;aAChB,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,GAAS;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;QAED,IAAI,GAAG,EAAE;YACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAED,IAAI,CAAC,GAAY;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAA,eAAO,GAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;CACF;AAzED,0CAyEC;AAED,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;AACjC,kBAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appland/appmap",
3
- "version": "3.20.0",
3
+ "version": "3.21.0",
4
4
  "description": "",
5
5
  "bin": "built/src/cli.js",
6
6
  "publishConfig": {
@@ -32,6 +32,7 @@
32
32
  "@types/jsdom": "^16.2.13",
33
33
  "@types/node": "^16.6.2",
34
34
  "@types/sinon": "^10.0.2",
35
+ "@types/tmp": "^0.2.3",
35
36
  "@types/w3c-xmlserializer": "^2.0.2",
36
37
  "babel-loader": "^8.2.2",
37
38
  "copy-webpack-plugin": "^9.0.1",
@@ -66,8 +67,8 @@
66
67
  "vuex"
67
68
  ],
68
69
  "dependencies": {
69
- "@appland/components": "1.24.1",
70
- "@appland/diagrams": "1.5.1",
70
+ "@appland/components": "2.0.3",
71
+ "@appland/diagrams": "1.5.2",
71
72
  "@appland/models": "^1.14.1",
72
73
  "@sidvind/better-ajv-errors": "^0.9.1",
73
74
  "@types/moo": "^0.5.5",
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const configureHostAndPort_1 = __importDefault(require("./configureHostAndPort"));
7
- const configureRemainingRequestOptions_1 = __importDefault(require("./configureRemainingRequestOptions"));
8
- const confirmProcessCharacteristics_1 = __importDefault(require("./confirmProcessCharacteristics"));
9
- async function configureConnection(requestOptions) {
10
- Object.keys(requestOptions).forEach((k) => (requestOptions[k] = null));
11
- await (0, configureHostAndPort_1.default)(requestOptions);
12
- await (0, confirmProcessCharacteristics_1.default)(requestOptions);
13
- await (0, configureRemainingRequestOptions_1.default)(requestOptions);
14
- }
15
- exports.default = configureConnection;
16
- //# sourceMappingURL=configureConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureConnection.js","sourceRoot":"","sources":["../../../../src/cmds/record/configureConnection.ts"],"names":[],"mappings":";;;;;AACA,kFAA0D;AAC1D,0GAAkF;AAClF,oGAA4E;AAE7D,KAAK,UAAU,mBAAmB,CAC/C,cAA8B;IAE9B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,IAAA,8BAAoB,EAAC,cAAc,CAAC,CAAC;IAC3C,MAAM,IAAA,uCAA6B,EAAC,cAAc,CAAC,CAAC;IACpD,MAAM,IAAA,0CAAgC,EAAC,cAAc,CAAC,CAAC;AACzD,CAAC;AARD,sCAQC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- async function default_1(options) {
8
- options.hostname = null;
9
- options.port = null;
10
- const { useLocalhost } = await userInteraction_1.default.prompt({
11
- type: 'confirm',
12
- name: 'useLocalhost',
13
- message: 'Is your app running on localhost (your machine)?',
14
- default: 'y',
15
- });
16
- if (!useLocalhost) {
17
- options.hostname = await userInteraction_1.default.prompt({
18
- type: 'input',
19
- name: 'hostname',
20
- message: 'Enter the hostname that your server is running on:',
21
- })['hostname'];
22
- }
23
- else {
24
- options.hostname = 'localhost';
25
- }
26
- while (!options.port) {
27
- const { portNumber: answer } = await userInteraction_1.default.prompt({
28
- type: 'number',
29
- name: 'portNumber',
30
- message: 'Enter the port number on which your server is listening:',
31
- });
32
- if (answer) {
33
- options.port = answer;
34
- }
35
- }
36
- }
37
- exports.default = default_1;
38
- //# sourceMappingURL=configureHostAndPort.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureHostAndPort.js","sourceRoot":"","sources":["../../../../src/cmds/record/configureHostAndPort.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AAErB,KAAK,oBAAW,OAAuB;IACpD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAEpB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,kDAAkD;QAC3D,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,CAAC,QAAQ,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YACjC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,oDAAoD;SAC9D,CAAC,CAAC,UAAU,CAAC,CAAC;KAChB;SAAM;QACL,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC;KAChC;IAED,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;QACpB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,0DAA0D;SACpE,CAAC,CAAC;QACH,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;SACvB;KACF;AACH,CAAC;AA9BD,4BA8BC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- const ready_1 = __importDefault(require("./ready"));
8
- async function configureRemainingRequestOptions(requestOptions) {
9
- requestOptions.path = (await userInteraction_1.default.prompt({
10
- type: 'input',
11
- name: 'baseURL',
12
- message: `Enter the base URL of your application. Use this default unless you've mounted your app somewhere other than the root context:`,
13
- default: '/',
14
- }))['baseURL'];
15
- const { useSSL } = await userInteraction_1.default.prompt({
16
- type: 'confirm',
17
- name: 'useSSL',
18
- message: 'Does your application require SSL?',
19
- default: false,
20
- });
21
- requestOptions.protocol = useSSL ? 'https:' : 'http:';
22
- userInteraction_1.default.progress(`Here's the URL I will use to try and connect to the AppMap agent:\n`);
23
- userInteraction_1.default.progress(`${requestOptions.protocol}//${requestOptions.hostname}:${requestOptions.port}${requestOptions.path}_appmap/record`);
24
- userInteraction_1.default.progress('');
25
- await (0, ready_1.default)();
26
- }
27
- exports.default = configureRemainingRequestOptions;
28
- //# sourceMappingURL=configureRemainingRequestOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureRemainingRequestOptions.js","sourceRoot":"","sources":["../../../../src/cmds/record/configureRemainingRequestOptions.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,oDAA4B;AAEb,KAAK,UAAU,gCAAgC,CAC5D,cAA8B;IAE9B,cAAc,CAAC,IAAI,GAAG,CACpB,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gIAAgI;QACzI,OAAO,EAAE,GAAG;KACb,CAAC,CACH,CAAC,SAAS,CAAC,CAAC;IAEb,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAEtD,yBAAE,CAAC,QAAQ,CACT,qEAAqE,CACtE,CAAC;IACF,yBAAE,CAAC,QAAQ,CACT,GAAG,cAAc,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,gBAAgB,CACpH,CAAC;IACF,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,IAAA,eAAK,GAAE,CAAC;AAChB,CAAC;AA7BD,mDA6BC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- const port_pid_1 = __importDefault(require("port-pid"));
8
- const ps_node_1 = __importDefault(require("ps-node"));
9
- const configureHostAndPort_1 = __importDefault(require("./configureHostAndPort"));
10
- const ready_1 = __importDefault(require("./ready"));
11
- async function confirmProcessCharacteristics(requestOptions) {
12
- if (requestOptions.hostname !== 'localhost') {
13
- userInteraction_1.default.progress(`Since your app isn't running on localhost, I can't look up its info by port number. So let's continue with the process.`);
14
- return;
15
- }
16
- userInteraction_1.default.progress(`OK, since your app is running on localhost, I'm going to try and get more info about it
17
- using a reverse-lookup by port number.`);
18
- userInteraction_1.default.status = `Looking up the application process info`;
19
- const printPid = async (pid) => {
20
- return new Promise((resolve) => {
21
- ps_node_1.default.lookup({ pid }, function (err, resultList) {
22
- if (err) {
23
- userInteraction_1.default.error(`Process ${pid} not found: ${err}`);
24
- return;
25
- }
26
- const process = resultList[0];
27
- if (process) {
28
- userInteraction_1.default.success(process.arguments.join(' '));
29
- resolve();
30
- }
31
- else {
32
- userInteraction_1.default.error(`Process ${pid} not found`);
33
- resolve();
34
- }
35
- });
36
- });
37
- };
38
- const pids = await (0, port_pid_1.default)(requestOptions.port).then(async (pids) => {
39
- if (pids && pids.tcp.length > 0) {
40
- await Promise.all(pids.tcp.map(printPid));
41
- return pids;
42
- }
43
- else {
44
- userInteraction_1.default.error(`No process found on port ${requestOptions.port}`);
45
- }
46
- });
47
- async function confirm() {
48
- const { looksGood } = await userInteraction_1.default.prompt({
49
- type: 'confirm',
50
- name: 'looksGood',
51
- message: `Is this your server running at localhost:${requestOptions.port}?`,
52
- default: 'y',
53
- });
54
- return looksGood;
55
- }
56
- userInteraction_1.default.progress('');
57
- const looksGood = pids && (await confirm());
58
- if (!looksGood) {
59
- const { reconfigureOrRetry } = await userInteraction_1.default.prompt({
60
- type: 'list',
61
- choices: ['reconfigure', 'retry'],
62
- name: 'reconfigureOrRetry',
63
- message: 'Do you want to change the hostname and port number? Or do you want to adjust your app process parameters, restart it, and then I will retry?',
64
- });
65
- if (reconfigureOrRetry === 'reconfigure') {
66
- await (0, configureHostAndPort_1.default)(requestOptions);
67
- }
68
- else {
69
- await (0, ready_1.default)();
70
- }
71
- await confirmProcessCharacteristics(requestOptions);
72
- }
73
- }
74
- exports.default = confirmProcessCharacteristics;
75
- //# sourceMappingURL=confirmProcessCharacteristics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"confirmProcessCharacteristics.js","sourceRoot":"","sources":["../../../../src/cmds/record/confirmProcessCharacteristics.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AACpC,wDAA+B;AAC/B,sDAAyB;AAEzB,kFAA0D;AAC1D,oDAA4B;AAEb,KAAK,UAAU,6BAA6B,CACzD,cAA8B;IAE9B,IAAI,cAAc,CAAC,QAAQ,KAAK,WAAW,EAAE;QAC3C,yBAAE,CAAC,QAAQ,CACT,yHAAyH,CAC1H,CAAC;QACF,OAAO;KACR;IAED,yBAAE,CAAC,QAAQ,CAAC;uCACyB,CAAC,CAAC;IACvC,yBAAE,CAAC,MAAM,GAAG,yCAAyC,CAAC;IAEtD,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,iBAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,GAAQ,EAAE,UAAiB;gBACtD,IAAI,GAAG,EAAE;oBACP,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,GAAG,EAAE,CAAC,CAAC;oBAC7C,OAAO;iBACR;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,OAAO,EAAE;oBACX,yBAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC;iBACX;qBAAM;oBACL,yBAAE,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAMF,MAAM,IAAI,GAAG,MAAM,IAAA,kBAAO,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;QACxE,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;SACb;aAAM;YACL,yBAAE,CAAC,KAAK,CAAC,4BAA4B,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7D;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,OAAO;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4CAA4C,cAAc,CAAC,IAAI,GAAG;YAC3E,OAAO,EAAE,GAAG;SACb,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yBAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;YACjC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EACL,8IAA8I;SACjJ,CAAC,CAAC;QAEH,IAAI,kBAAkB,KAAK,aAAa,EAAE;YACxC,MAAM,IAAA,8BAAoB,EAAC,cAAc,CAAC,CAAC;SAC5C;aAAM;YACL,MAAM,IAAA,eAAK,GAAE,CAAC;SACf;QAED,MAAM,6BAA6B,CAAC,cAAc,CAAC,CAAC;KACrD;AACH,CAAC;AA5ED,gDA4EC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createRecording.js","sourceRoot":"","sources":["../../../../src/cmds/record/createRecording.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,wEAAgD;AAChD,2BAAoC;AAErB,KAAK,UAAU,eAAe,CAC3C,cAA8B;IAE9B,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC;IAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,yBAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACtC,yBAAE,CAAC,QAAQ,CACT,+JAA+J,CAChK,CAAC;IAEF,yBAAE,CAAC,MAAM,GAAG,qBAAqB,CAAC;IAElC,MAAM,yBAAE,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE3B,IAAI,IAAI,EAAE;QACR,yBAAE,CAAC,OAAO,CAAC,gCAAgC,IAAI,CAAC,MAAM,iBAAiB,CAAC,CAAC;KAC1E;SAAM;QACL,yBAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC5D,OAAO;KACR;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,gCAAgC;QACzC,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAClD,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,GAAG,UAAU,cAAc,CAAC;IAC7C,yBAAE,CAAC,MAAM,GAAG,uBAAuB,QAAQ,EAAE,CAAC;IAC9C,aAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE7B,yBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAvDD,kCAuDC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- const ready_1 = __importDefault(require("./ready"));
8
- async function default_1() {
9
- userInteraction_1.default.progress(`To create a recording, the first thing you need to do is run your app using
10
- the instructions in the AppMap documentation. Choose the most suitable link here,
11
- then configure and launch your app process. Press enter wen you're ready to continue.`);
12
- userInteraction_1.default.progress(`
13
- Rails: https://appland.com/docs/reference/appmap-ruby.html#remote-recording
14
- Django: https://appland.com/docs/reference/appmap-python.html#django
15
- Flask: https://appland.com/docs/reference/appmap-python.html#flask
16
- Java: https://appland.com/docs/reference/appmap-java.html#remote-recording
17
- JavaScript: https://appland.com/docs/reference/appmap-agent-js.html#remote-recording
18
- `);
19
- return (0, ready_1.default)();
20
- }
21
- exports.default = default_1;
22
- //# sourceMappingURL=intro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intro.js","sourceRoot":"","sources":["../../../../src/cmds/record/intro.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AACpC,oDAA4B;AAEb,KAAK;IAClB,yBAAE,CAAC,QAAQ,CAAC;;wFAE0E,CAAC,CAAC;IACxF,yBAAE,CAAC,QAAQ,CAAC;;;;;;OAMP,CAAC,CAAC;IAEP,OAAO,IAAA,eAAK,GAAE,CAAC;AACjB,CAAC;AAbD,4BAaC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- async function ready() {
8
- const { ready } = await userInteraction_1.default.prompt({
9
- type: 'confirm',
10
- name: 'ready',
11
- message: 'Ready?',
12
- default: 'y',
13
- });
14
- if (!ready) {
15
- return ready();
16
- }
17
- }
18
- exports.default = ready;
19
- //# sourceMappingURL=ready.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ready.js","sourceRoot":"","sources":["../../../../src/cmds/record/ready.ts"],"names":[],"mappings":";;;;;AAAA,yEAAoC;AAErB,KAAK,UAAU,KAAK;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,GAAG;KACb,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,EAAE,CAAC;KAChB;AACH,CAAC;AAVD,wBAUC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const userInteraction_1 = __importDefault(require("../userInteraction"));
7
- const configureConnection_1 = __importDefault(require("./configureConnection"));
8
- const remoteRecording_1 = __importDefault(require("./remoteRecording"));
9
- async function testConnection(requestOptions) {
10
- const retryConnection = async () => {
11
- const { reconfigure } = await userInteraction_1.default.prompt({
12
- type: 'confirm',
13
- name: 'reconfigure',
14
- message: 'Do you want to change any of the server connection parameters?',
15
- });
16
- if (reconfigure) {
17
- await (0, configureConnection_1.default)(requestOptions);
18
- }
19
- await testConnection(requestOptions);
20
- };
21
- userInteraction_1.default.status = `Performing a test connection to the app`;
22
- let status = null;
23
- while (!status) {
24
- try {
25
- status = await new remoteRecording_1.default(requestOptions).status();
26
- userInteraction_1.default.success(`Great! I am able to connect to the AppMap agent.`);
27
- }
28
- catch (e) {
29
- userInteraction_1.default.error(`Uh-oh. I can't connect to the AppMap agent there. The error I got is:\n\n${e}\n`);
30
- await retryConnection();
31
- }
32
- }
33
- }
34
- exports.default = testConnection;
35
- //# sourceMappingURL=testConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testConnection.js","sourceRoot":"","sources":["../../../../src/cmds/record/testConnection.ts"],"names":[],"mappings":";;;;;AACA,yEAAoC;AACpC,gFAAwD;AACxD,wEAAgD;AAGjC,KAAK,UAAU,cAAc,CAAC,cAA8B;IACzE,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,yBAAE,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,gEAAgE;SAC1E,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,MAAM,IAAA,6BAAmB,EAAC,cAAc,CAAC,CAAC;SAC3C;QACD,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,yBAAE,CAAC,MAAM,GAAG,yCAAyC,CAAC;IAEtD,IAAI,MAAM,GAAiC,IAAI,CAAC;IAChD,OAAO,CAAC,MAAM,EAAE;QACd,IAAI;YACF,MAAM,GAAG,MAAM,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5D,yBAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;SAChE;QAAC,OAAO,CAAC,EAAE;YACV,yBAAE,CAAC,KAAK,CACN,4EAA4E,CAAC,IAAI,CAClF,CAAC;YACF,MAAM,eAAe,EAAE,CAAC;SACzB;KACF;AACH,CAAC;AA3BD,iCA2BC"}