@appland/appmap 3.111.1 → 3.112.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 (50) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/LICENSE.txt +25 -0
  3. package/built/cli.js +4 -50
  4. package/built/cli.js.map +1 -1
  5. package/built/cmds/index/index.js +92 -0
  6. package/built/cmds/index/index.js.map +1 -0
  7. package/built/cmds/index/rpcServer.js +64 -0
  8. package/built/cmds/index/rpcServer.js.map +1 -0
  9. package/built/cmds/search/search.js +172 -0
  10. package/built/cmds/search/search.js.map +1 -0
  11. package/built/cmds/search/searchAppMaps.js +13 -0
  12. package/built/cmds/search/searchAppMaps.js.map +1 -0
  13. package/built/cmds/search/searchSingleAppMap.js +19 -0
  14. package/built/cmds/search/searchSingleAppMap.js.map +1 -0
  15. package/built/fingerprint/canonicalize/parameters.js +14 -0
  16. package/built/fingerprint/canonicalize/parameters.js.map +1 -0
  17. package/built/fingerprint/canonicalize.js +1 -0
  18. package/built/fingerprint/canonicalize.js.map +1 -1
  19. package/built/fingerprint/fingerprintWatchCommand.js +4 -1
  20. package/built/fingerprint/fingerprintWatchCommand.js.map +1 -1
  21. package/built/fingerprint/fingerprinter.js +5 -1
  22. package/built/fingerprint/fingerprinter.js.map +1 -1
  23. package/built/fingerprint/globber.js.map +1 -1
  24. package/built/fulltext/FindAppMaps.js +117 -0
  25. package/built/fulltext/FindAppMaps.js.map +1 -0
  26. package/built/fulltext/FindEvents.js +125 -0
  27. package/built/fulltext/FindEvents.js.map +1 -0
  28. package/built/fulltext/collectParameters.js +33 -0
  29. package/built/fulltext/collectParameters.js.map +1 -0
  30. package/built/html/appmap.js +87 -87
  31. package/built/html/appmap.js.map +3 -3
  32. package/built/html/sequenceDiagram.js +88 -88
  33. package/built/html/sequenceDiagram.js.map +3 -3
  34. package/built/rpc/appmap/appmapFile.js +10 -0
  35. package/built/rpc/appmap/appmapFile.js.map +1 -0
  36. package/built/rpc/appmap/filter.js +27 -0
  37. package/built/rpc/appmap/filter.js.map +1 -0
  38. package/built/rpc/appmap/interpretFilter.js +10 -0
  39. package/built/rpc/appmap/interpretFilter.js.map +1 -0
  40. package/built/rpc/appmap/metadata.js +24 -0
  41. package/built/rpc/appmap/metadata.js.map +1 -0
  42. package/built/rpc/appmap/sequenceDiagram.js +37 -0
  43. package/built/rpc/appmap/sequenceDiagram.js.map +1 -0
  44. package/built/rpc/index/numProcessed.js +12 -0
  45. package/built/rpc/index/numProcessed.js.map +1 -0
  46. package/built/rpc/rpc.js +22 -0
  47. package/built/rpc/rpc.js.map +1 -0
  48. package/built/rpc/search/search.js +55 -0
  49. package/built/rpc/search/search.js.map +1 -0
  50. package/package.json +7 -3
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appmapFile = void 0;
4
+ function appmapFile(appmapId) {
5
+ if (appmapId.endsWith('.appmap.json'))
6
+ return appmapId;
7
+ return `${appmapId}.appmap.json`;
8
+ }
9
+ exports.appmapFile = appmapFile;
10
+ //# sourceMappingURL=appmapFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appmapFile.js","sourceRoot":"","sources":["../../../src/rpc/appmap/appmapFile.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,QAAQ,CAAC;IAEvD,OAAO,GAAG,QAAQ,cAAc,CAAC;AACnC,CAAC;AAJD,gCAIC"}
@@ -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 rpc_1 = require("@appland/rpc");
7
+ const models_1 = require("@appland/models");
8
+ const promises_1 = require("fs/promises");
9
+ const rpc_2 = require("../rpc");
10
+ const appmapFile_1 = require("./appmapFile");
11
+ const interpretFilter_1 = __importDefault(require("./interpretFilter"));
12
+ function appmapFilter() {
13
+ async function handler(args) {
14
+ let { appmap: appmapId } = args;
15
+ const { filter: filterArg } = args;
16
+ const filter = (0, interpretFilter_1.default)(filterArg);
17
+ if (!filter) {
18
+ throw new rpc_2.RpcError(422, 'Invalid filter');
19
+ }
20
+ const appmapStr = await (0, promises_1.readFile)((0, appmapFile_1.appmapFile)(appmapId), 'utf8');
21
+ const appmap = (0, models_1.buildAppMap)().source(appmapStr).build();
22
+ return filter.filter(appmap, []);
23
+ }
24
+ return { name: rpc_1.AppMapRpc.FilterFunctionName, handler };
25
+ }
26
+ exports.default = appmapFilter;
27
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/rpc/appmap/filter.ts"],"names":[],"mappings":";;;;;AAAA,sCAAyC;AACzC,4CAA8C;AAC9C,0CAAuC;AACvC,gCAA8C;AAC9C,6CAA0C;AAC1C,wEAAgD;AAEhD,SAAwB,YAAY;IAIlC,KAAK,UAAU,OAAO,CAAC,IAA6B;QAClD,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,cAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;SAC3C;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,uBAAU,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAA,oBAAW,GAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAEvD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,eAAS,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC;AApBD,+BAoBC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const models_1 = require("@appland/models");
4
+ function interpretFilter(filter) {
5
+ if (!filter)
6
+ return;
7
+ return (0, models_1.deserializeFilter)(filter);
8
+ }
9
+ exports.default = interpretFilter;
10
+ //# sourceMappingURL=interpretFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpretFilter.js","sourceRoot":"","sources":["../../../src/rpc/appmap/interpretFilter.ts"],"names":[],"mappings":";;AAAA,4CAAkE;AAElE,SAAwB,eAAe,CACrC,MAAgD;IAEhD,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,OAAO,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAND,kCAMC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rpc_1 = require("@appland/rpc");
4
+ const promises_1 = require("fs/promises");
5
+ const rpc_2 = require("../rpc");
6
+ const path_1 = require("path");
7
+ function metadata() {
8
+ async function handler(args) {
9
+ let { appmap: appmapId } = args;
10
+ if (appmapId.endsWith('.appmap.json'))
11
+ appmapId = appmapId.slice(0, -'.appmap.json'.length);
12
+ let metadataStr;
13
+ try {
14
+ metadataStr = await (0, promises_1.readFile)((0, path_1.join)(appmapId, 'metadata.json'), 'utf8');
15
+ }
16
+ catch (_a) {
17
+ throw new rpc_2.RpcError(404, `${appmapId} metadata not found`);
18
+ }
19
+ return JSON.parse(metadataStr);
20
+ }
21
+ return { name: rpc_1.AppMapRpc.MetadataFunctionName, handler };
22
+ }
23
+ exports.default = metadata;
24
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/rpc/appmap/metadata.ts"],"names":[],"mappings":";;AAAA,sCAAyC;AACzC,0CAAuC;AACvC,gCAA8C;AAC9C,+BAA4B;AAE5B,SAAwB,QAAQ;IAI9B,KAAK,UAAU,OAAO,CAAC,IAA+B;QACpD,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEhC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5F,IAAI,WAA+B,CAAC;QACpC,IAAI;YACF,WAAW,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,WAAI,EAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;SACvE;QAAC,WAAM;YACN,MAAM,IAAI,cAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,qBAAqB,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,eAAS,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC;AAnBD,2BAmBC"}
@@ -0,0 +1,37 @@
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 rpc_1 = require("@appland/rpc");
7
+ const sequence_diagram_1 = require("@appland/sequence-diagram");
8
+ const models_1 = require("@appland/models");
9
+ const promises_1 = require("fs/promises");
10
+ const appmapFile_1 = require("./appmapFile");
11
+ const interpretFilter_1 = __importDefault(require("./interpretFilter"));
12
+ function sequenceDiagram() {
13
+ async function handler(args) {
14
+ let { appmap: appmapId, filter: filterArg, format: formatArg, formatOptions: formatOptionsArg, } = args;
15
+ const diagramFormat = (formatArg || sequence_diagram_1.FormatType.JSON);
16
+ const diagramFormatOptions = formatOptionsArg || {};
17
+ const filter = (0, interpretFilter_1.default)(filterArg);
18
+ const appmapStr = await (0, promises_1.readFile)((0, appmapFile_1.appmapFile)(appmapId), 'utf8');
19
+ let appmap = (0, models_1.buildAppMap)().source(appmapStr).build();
20
+ if (filter) {
21
+ appmap = filter.filter(appmap, []);
22
+ }
23
+ const optionsOpt = args.options;
24
+ const options = optionsOpt
25
+ ? optionsOpt
26
+ : { loops: true };
27
+ const specification = sequence_diagram_1.Specification.build(appmap, options);
28
+ const diagram = (0, sequence_diagram_1.buildDiagram)((0, appmapFile_1.appmapFile)(appmapId), appmap, specification);
29
+ let result = (0, sequence_diagram_1.format)(diagramFormat, diagram, (0, appmapFile_1.appmapFile)(appmapId), diagramFormatOptions).diagram;
30
+ if (diagramFormat === sequence_diagram_1.FormatType.JSON)
31
+ result = JSON.parse(result);
32
+ return result;
33
+ }
34
+ return { name: rpc_1.AppMapRpc.SequenceDiagramFunctionName, handler };
35
+ }
36
+ exports.default = sequenceDiagram;
37
+ //# sourceMappingURL=sequenceDiagram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequenceDiagram.js","sourceRoot":"","sources":["../../../src/rpc/appmap/sequenceDiagram.ts"],"names":[],"mappings":";;;;;AAAA,sCAAyC;AAEzC,gEAMmC;AACnC,4CAA8C;AAC9C,0CAAuC;AACvC,6CAA0C;AAC1C,wEAAgD;AAEhD,SAAwB,eAAe;IAIrC,KAAK,UAAU,OAAO,CACpB,IAAsC;QAEtC,IAAI,EACF,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,gBAAgB,GAChC,GAAG,IAAI,CAAC;QAET,MAAM,aAAa,GAAG,CAAC,SAAS,IAAI,6BAAU,CAAC,IAAI,CAAe,CAAC;QACnE,MAAM,oBAAoB,GAAqC,gBAAgB,IAAI,EAAE,CAAC;QAEtF,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,uBAAU,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,MAAM,GAAG,IAAA,oBAAW,GAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,IAAI,MAAM,EAAE;YACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACpC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,MAAM,OAAO,GAA2B,UAAU;YAChD,CAAC,CAAE,UAAqC;YACxC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEpB,MAAM,aAAa,GAAG,gCAAa,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,IAAA,uBAAU,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,MAAM,GAAG,IAAA,yBAAM,EAAC,aAAa,EAAE,OAAO,EAAE,IAAA,uBAAU,EAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,OAAO,CAAC;QAChG,IAAI,aAAa,KAAK,6BAAU,CAAC,IAAI;YAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,eAAS,CAAC,2BAA2B,EAAE,OAAO,EAAE,CAAC;AAClE,CAAC;AAtCD,kCAsCC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.numProcessed = void 0;
4
+ const rpc_1 = require("@appland/rpc");
5
+ function numProcessed(cmd) {
6
+ function handler(args) {
7
+ return cmd.numProcessed;
8
+ }
9
+ return { name: rpc_1.IndexRpc.NumProcessedFunctionName, handler };
10
+ }
11
+ exports.numProcessed = numProcessed;
12
+ //# sourceMappingURL=numProcessed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"numProcessed.js","sourceRoot":"","sources":["../../../src/rpc/index/numProcessed.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AAIxC,SAAgB,YAAY,CAC1B,GAA4B;IAE5B,SAAS,OAAO,CAAC,IAAkC;QACjD,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,cAAQ,CAAC,wBAAwB,EAAE,OAAO,EAAE,CAAC;AAC9D,CAAC;AARD,oCAQC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RpcError = void 0;
4
+ class RpcError extends Error {
5
+ constructor(code, message) {
6
+ super(message);
7
+ this.code = code;
8
+ }
9
+ static errorMessage(err) {
10
+ if (err instanceof Error) {
11
+ return err.message;
12
+ }
13
+ else if (typeof err === 'string') {
14
+ return err;
15
+ }
16
+ else {
17
+ return `Unknown error: ${err}`;
18
+ }
19
+ }
20
+ }
21
+ exports.RpcError = RpcError;
22
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc/rpc.ts"],"names":[],"mappings":";;;AAKA,MAAa,QAAS,SAAQ,KAAK;IACjC,YAAmB,IAAY,EAAE,OAAgB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAQ;IAE/B,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,GAAQ;QAC1B,IAAI,GAAG,YAAY,KAAK,EAAE;YACxB,OAAO,GAAG,CAAC,OAAO,CAAC;SACpB;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAClC,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,kBAAkB,GAAG,EAAE,CAAC;SAChC;IACH,CAAC;CACF;AAdD,4BAcC"}
@@ -0,0 +1,55 @@
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
+ exports.search = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const rpc_1 = require("@appland/rpc");
9
+ const searchAppMaps_1 = __importDefault(require("../../cmds/search/searchAppMaps"));
10
+ const searchSingleAppMap_1 = __importDefault(require("../../cmds/search/searchSingleAppMap"));
11
+ function search(appmapDir) {
12
+ async function handler(args) {
13
+ const { query, maxResults } = args;
14
+ // Search across all AppMaps, creating a map from AppMap id to AppMapSearchResult
15
+ const options = maxResults ? { maxResults } : {};
16
+ const appmapSearchResponse = await (0, searchAppMaps_1.default)(appmapDir, query, options);
17
+ const appmapSearchResults = appmapSearchResponse.results.reduce((acc, result) => {
18
+ acc.set(result.appmap, result);
19
+ return acc;
20
+ }, new Map());
21
+ // For each AppMap, search for events within the map that match the query.
22
+ // Sort the events by score, then group by AppMap id.
23
+ const events = new Array();
24
+ for (const result of appmapSearchResponse.results) {
25
+ const options = maxResults ? { maxResults } : {};
26
+ const eventsSearchResponse = await (0, searchSingleAppMap_1.default)(result.appmap, query, options);
27
+ events.push(...eventsSearchResponse.results);
28
+ }
29
+ events.sort((a, b) => b.score - a.score);
30
+ const resultsByAppmapId = events.reduce((acc, event) => {
31
+ const { appmap: appmapId } = event;
32
+ if (!acc.has(appmapId)) {
33
+ const appmapResult = appmapSearchResults.get(appmapId);
34
+ (0, assert_1.default)(appmapResult);
35
+ acc.set(appmapId, { appmap: appmapId, events: [], score: appmapResult.score });
36
+ }
37
+ const filteredEvent = Object.assign({}, event);
38
+ delete filteredEvent['appmap'];
39
+ acc.get(appmapId).events.push(filteredEvent);
40
+ return acc;
41
+ }, new Map());
42
+ // The final result is AppMaps sorted by search score, along with the events
43
+ // within each AppMap, also sorted by search score.
44
+ const results = Array.from(resultsByAppmapId.values()).sort((a, b) => b.score - a.score);
45
+ if (maxResults)
46
+ results.splice(maxResults);
47
+ return {
48
+ results,
49
+ numResults: appmapSearchResponse.numResults,
50
+ };
51
+ }
52
+ return { name: rpc_1.SearchRpc.FunctionName, handler };
53
+ }
54
+ exports.search = search;
55
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/rpc/search/search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appland/appmap",
3
- "version": "3.111.1",
3
+ "version": "3.112.0",
4
4
  "description": "",
5
5
  "bin": "built/cli.js",
6
6
  "engines": {
@@ -31,7 +31,7 @@
31
31
  ]
32
32
  },
33
33
  "author": "AppLand, Inc",
34
- "license": "MIT",
34
+ "license": "Commons Clause + MIT",
35
35
  "devDependencies": {
36
36
  "@appland/appmap-agent-js": "^13.9.0",
37
37
  "@craftamap/esbuild-plugin-html": "^0.4.0",
@@ -43,6 +43,8 @@
43
43
  "@types/jest": "^29.5.4",
44
44
  "@types/jest-sinon": "^1.0.2",
45
45
  "@types/jsdom": "^16.2.13",
46
+ "@types/lunr": "^2.3.7",
47
+ "@types/moo": "^0.5.5",
46
48
  "@types/node": "^16",
47
49
  "@types/semver": "^7.3.10",
48
50
  "@types/sinon": "^10.0.2",
@@ -83,10 +85,10 @@
83
85
  "@appland/diagrams": "^1.7.0",
84
86
  "@appland/models": "^2.6.3",
85
87
  "@appland/openapi": "^1.7.0",
88
+ "@appland/rpc": "1.0.0",
86
89
  "@appland/sequence-diagram": "^1.7.0",
87
90
  "@octokit/rest": "^20.0.1",
88
91
  "@sidvind/better-ajv-errors": "^0.9.1",
89
- "@types/moo": "^0.5.5",
90
92
  "JSONStream": "^1.3.5",
91
93
  "ajv": "^8.6.3",
92
94
  "applicationinsights": "^2.1.4",
@@ -107,8 +109,10 @@
107
109
  "graceful-fs": "^4.2.10",
108
110
  "handlebars": "^4.7.7",
109
111
  "inquirer": "^8.1.2",
112
+ "jayson": "^4.1.0",
110
113
  "js-yaml": "^4.0.3",
111
114
  "jsdom": "^16.6.0",
115
+ "lunr": "^2.3.9",
112
116
  "minimatch": "^5.1.2",
113
117
  "moo": "^0.5.1",
114
118
  "open": "^8.2.1",