@shriyanss/js-recon 1.3.1-alpha.2 → 1.3.1-alpha.4

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 (162) hide show
  1. package/.github/workflows/build-and-prettify.yaml +15 -1
  2. package/.github/workflows/pr_checker.yml +9 -8
  3. package/.github/workflows/publish-js-recon.yml +13 -1
  4. package/CHANGELOG.md +96 -0
  5. package/CLAUDE.md +225 -0
  6. package/README.md +2 -0
  7. package/build/analyze/engine/astEngine.js +57 -29
  8. package/build/analyze/engine/astEngine.js.map +1 -1
  9. package/build/analyze/engine/index.js +2 -2
  10. package/build/analyze/engine/index.js.map +1 -1
  11. package/build/analyze/helpers/engineHelpers/taintFlow.js +32 -0
  12. package/build/analyze/helpers/engineHelpers/taintFlow.js.map +1 -1
  13. package/build/analyze/helpers/initRules.js +9 -0
  14. package/build/analyze/helpers/initRules.js.map +1 -1
  15. package/build/analyze/helpers/schemas.js +6 -1
  16. package/build/analyze/helpers/schemas.js.map +1 -1
  17. package/build/analyze/helpers/validate.js +49 -9
  18. package/build/analyze/helpers/validate.js.map +1 -1
  19. package/build/analyze/index.js +10 -4
  20. package/build/analyze/index.js.map +1 -1
  21. package/build/endpoints/next_js/client_mappedJsonFile.js +12 -5
  22. package/build/endpoints/next_js/client_mappedJsonFile.js.map +1 -1
  23. package/build/fingerprint/index.js +123 -0
  24. package/build/fingerprint/index.js.map +1 -0
  25. package/build/globalConfig.js +1 -1
  26. package/build/index.js +72 -5
  27. package/build/index.js.map +1 -1
  28. package/build/lazyLoad/downloadFilesUtil.js +3 -3
  29. package/build/lazyLoad/downloadFilesUtil.js.map +1 -1
  30. package/build/lazyLoad/downloadQueue.js +16 -11
  31. package/build/lazyLoad/downloadQueue.js.map +1 -1
  32. package/build/lazyLoad/index.js +260 -163
  33. package/build/lazyLoad/index.js.map +1 -1
  34. package/build/lazyLoad/next_js/NextJsCrawler.js +58 -16
  35. package/build/lazyLoad/next_js/NextJsCrawler.js.map +1 -1
  36. package/build/lazyLoad/next_js/next_GetJSScript.js +8 -4
  37. package/build/lazyLoad/next_js/next_GetJSScript.js.map +1 -1
  38. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js +149 -139
  39. package/build/lazyLoad/next_js/next_GetLazyResourcesWebpackJs.js.map +1 -1
  40. package/build/lazyLoad/next_js/next_SubsequentRequests.js +25 -4
  41. package/build/lazyLoad/next_js/next_SubsequentRequests.js.map +1 -1
  42. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js +13 -5
  43. package/build/lazyLoad/next_js/next_scriptTagsSubsequentRequests.js.map +1 -1
  44. package/build/lazyLoad/react/react_followImports.js +105 -0
  45. package/build/lazyLoad/react/react_followImports.js.map +1 -0
  46. package/build/lazyLoad/react/react_getScriptTags.js +28 -5
  47. package/build/lazyLoad/react/react_getScriptTags.js.map +1 -1
  48. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js +162 -0
  49. package/build/lazyLoad/svelte/svelte_discoverPagesFromJs.js.map +1 -0
  50. package/build/lazyLoad/svelte/svelte_getFromPageSource.js +15 -0
  51. package/build/lazyLoad/svelte/svelte_getFromPageSource.js.map +1 -1
  52. package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js +180 -0
  53. package/build/lazyLoad/svelte/svelte_recursivePageCrawl.js.map +1 -0
  54. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js +15 -1
  55. package/build/lazyLoad/svelte/svelte_stringAnalysisJSFiles.js.map +1 -1
  56. package/build/lazyLoad/techDetect/checkReact.js +67 -36
  57. package/build/lazyLoad/techDetect/checkReact.js.map +1 -1
  58. package/build/lazyLoad/techDetect/checkSvelte.js +35 -35
  59. package/build/lazyLoad/techDetect/checkSvelte.js.map +1 -1
  60. package/build/lazyLoad/techDetect/index.js +31 -25
  61. package/build/lazyLoad/techDetect/index.js.map +1 -1
  62. package/build/lazyLoad/vue/vue_getClientSidePaths.js +6 -0
  63. package/build/lazyLoad/vue/vue_getClientSidePaths.js.map +1 -1
  64. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js +6 -0
  65. package/build/lazyLoad/vue/vue_recursiveClientSidePathDownload.js.map +1 -1
  66. package/build/lazyLoad/vue/vue_stringJsFiles.js +6 -0
  67. package/build/lazyLoad/vue/vue_stringJsFiles.js.map +1 -1
  68. package/build/load/index.js +316 -0
  69. package/build/load/index.js.map +1 -0
  70. package/build/map/graphql/resolveGraphql.js +296 -0
  71. package/build/map/graphql/resolveGraphql.js.map +1 -0
  72. package/build/map/index.js +104 -6
  73. package/build/map/index.js.map +1 -1
  74. package/build/map/next_js/interactive.js +30 -0
  75. package/build/map/next_js/interactive.js.map +1 -1
  76. package/build/map/next_js/interactive_helpers/commandHandler.js +26 -0
  77. package/build/map/next_js/interactive_helpers/commandHandler.js.map +1 -1
  78. package/build/map/next_js/interactive_helpers/commandHelpers.js +28 -0
  79. package/build/map/next_js/interactive_helpers/commandHelpers.js.map +1 -1
  80. package/build/map/next_js/interactive_helpers/esqueryGen.js +370 -0
  81. package/build/map/next_js/interactive_helpers/esqueryGen.js.map +1 -0
  82. package/build/map/next_js/interactive_helpers/helpMenu.js +2 -1
  83. package/build/map/next_js/interactive_helpers/helpMenu.js.map +1 -1
  84. package/build/map/next_js/interactive_helpers/inputPatch.js +207 -0
  85. package/build/map/next_js/interactive_helpers/inputPatch.js.map +1 -0
  86. package/build/map/next_js/interactive_helpers/ui.js +0 -1
  87. package/build/map/next_js/interactive_helpers/ui.js.map +1 -1
  88. package/build/map/next_js/resolveServerActions.js +449 -0
  89. package/build/map/next_js/resolveServerActions.js.map +1 -0
  90. package/build/map/next_js/utils.js +89 -2
  91. package/build/map/next_js/utils.js.map +1 -1
  92. package/build/map/react_js/getReactConnections.js +298 -0
  93. package/build/map/react_js/getReactConnections.js.map +1 -0
  94. package/build/map/react_js/interactive.js +4 -0
  95. package/build/map/react_js/interactive.js.map +1 -0
  96. package/build/map/react_js/react_resolveFetch.js +6 -0
  97. package/build/map/react_js/react_resolveFetch.js.map +1 -0
  98. package/build/map/svelte_js/interactive.js +58 -0
  99. package/build/map/svelte_js/interactive.js.map +1 -0
  100. package/build/map/svelte_js/interactive_helpers/commandHandler.js +4 -0
  101. package/build/map/svelte_js/interactive_helpers/commandHandler.js.map +1 -0
  102. package/build/map/vue_js/bodyResolver.js +477 -0
  103. package/build/map/vue_js/bodyResolver.js.map +1 -0
  104. package/build/map/vue_js/crossFileResolver.js +438 -0
  105. package/build/map/vue_js/crossFileResolver.js.map +1 -0
  106. package/build/map/vue_js/getViteConnections.js +151 -106
  107. package/build/map/vue_js/getViteConnections.js.map +1 -1
  108. package/build/map/vue_js/interactive.js +28 -0
  109. package/build/map/vue_js/interactive.js.map +1 -1
  110. package/build/map/vue_js/interactive_helpers/commandHandler.js +22 -0
  111. package/build/map/vue_js/interactive_helpers/commandHandler.js.map +1 -1
  112. package/build/map/vue_js/interactive_helpers/helpMenu.js +1 -0
  113. package/build/map/vue_js/interactive_helpers/helpMenu.js.map +1 -1
  114. package/build/map/vue_js/taint_utils.js +621 -0
  115. package/build/map/vue_js/taint_utils.js.map +1 -0
  116. package/build/map/vue_js/vue_resolveFetch.js +279 -25
  117. package/build/map/vue_js/vue_resolveFetch.js.map +1 -1
  118. package/build/map/vue_js/vue_resolveHttpClient.js +733 -0
  119. package/build/map/vue_js/vue_resolveHttpClient.js.map +1 -0
  120. package/build/map/vue_js/vue_resolveXhr.js +279 -0
  121. package/build/map/vue_js/vue_resolveXhr.js.map +1 -0
  122. package/build/mcp/chatOneShot.js +101 -0
  123. package/build/mcp/chatOneShot.js.map +1 -0
  124. package/build/mcp/claudeCodeCreds.js +150 -0
  125. package/build/mcp/claudeCodeCreds.js.map +1 -0
  126. package/build/mcp/cli.js +140 -149
  127. package/build/mcp/cli.js.map +1 -1
  128. package/build/mcp/commands.js +80 -0
  129. package/build/mcp/commands.js.map +1 -1
  130. package/build/mcp/index.js +30 -9
  131. package/build/mcp/index.js.map +1 -1
  132. package/build/mcp/intent.js +204 -0
  133. package/build/mcp/intent.js.map +1 -0
  134. package/build/mcp/jobs.js +199 -0
  135. package/build/mcp/jobs.js.map +1 -0
  136. package/build/mcp/mcpServer.js +241 -0
  137. package/build/mcp/mcpServer.js.map +1 -0
  138. package/build/mcp/providers.js +18 -1
  139. package/build/mcp/providers.js.map +1 -1
  140. package/build/mcp/skills.js +115 -0
  141. package/build/mcp/skills.js.map +1 -0
  142. package/build/refactor/index.js +6 -0
  143. package/build/refactor/index.js.map +1 -1
  144. package/build/refactor/react/index.js +636 -0
  145. package/build/refactor/react/index.js.map +1 -0
  146. package/build/report/utility/populateDb/populateAnalysisFindings.js +1 -1
  147. package/build/report/utility/populateDb/populateAnalysisFindings.js.map +1 -1
  148. package/build/run/index.js +277 -60
  149. package/build/run/index.js.map +1 -1
  150. package/build/run/interruptHandler.js +93 -0
  151. package/build/run/interruptHandler.js.map +1 -0
  152. package/build/utility/globals.js +38 -0
  153. package/build/utility/globals.js.map +1 -1
  154. package/build/utility/makeReq.js +39 -5
  155. package/build/utility/makeReq.js.map +1 -1
  156. package/build/utility/openapiGenerator.js +61 -17
  157. package/build/utility/openapiGenerator.js.map +1 -1
  158. package/build/utility/postmanGenerator.js +69 -16
  159. package/build/utility/postmanGenerator.js.map +1 -1
  160. package/build/utility/progressLog.js +50 -0
  161. package/build/utility/progressLog.js.map +1 -0
  162. package/package.json +7 -4
@@ -37,7 +37,7 @@ const splitPath = (rawPath) => {
37
37
  * request's full URL carry the variable.
38
38
  */
39
39
  export const generatePostmanCollection = (items) => {
40
- var _a, _b;
40
+ var _a, _b, _c, _d;
41
41
  const collection = {
42
42
  info: {
43
43
  name: "API Collection",
@@ -45,7 +45,10 @@ export const generatePostmanCollection = (items) => {
45
45
  schema: "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
46
46
  },
47
47
  item: [],
48
- variable: [{ key: "baseUrl", value: "https://example.com" }],
48
+ variable: [
49
+ { key: "baseUrl", value: "https://example.com" },
50
+ { key: "graphqlEndpoint", value: "graphql" },
51
+ ],
49
52
  };
50
53
  // Tracks (folder-path) → existing PMItem so the second endpoint under the same folder and reuses it
51
54
  const folderIndex = new Map();
@@ -65,9 +68,11 @@ export const generatePostmanCollection = (items) => {
65
68
  }
66
69
  return parent;
67
70
  };
68
- // Deduplicate (path, method) the OpenAPI generator already does this; we
69
- // mirror the behaviour here so reimporting doesn't produce duplicates.
70
- const seen = new Set();
71
+ // Track repeat (path, method) occurrences so duplicate callsites get a
72
+ // disambiguating suffix on their request name. We intentionally do NOT
73
+ // skip duplicates here — each distinct callsite is preserved so a reviewer
74
+ // can compare the headers/body shapes for the same endpoint.
75
+ const callsiteCounts = new Map();
71
76
  for (const item of items) {
72
77
  let rawPath = typeof item.path === "string" ? item.path : "";
73
78
  // If path is an absolute URL, extract just the pathname so we don't
@@ -78,16 +83,55 @@ export const generatePostmanCollection = (items) => {
78
83
  rawPath = u.pathname + (u.search || "");
79
84
  }
80
85
  }
81
- catch (_c) {
86
+ catch (_e) {
82
87
  // leave rawPath as-is if URL parsing fails
83
88
  }
84
89
  const normalized = replacePlaceholders(rawPath.startsWith("/") ? rawPath : `/${rawPath}`);
85
90
  const method = typeof item.method === "string" ? item.method.toUpperCase() : "GET";
86
91
  const dedupeKey = `${method} ${normalized}`;
87
- if (seen.has(dedupeKey))
88
- continue;
89
- seen.add(dedupeKey);
92
+ const occurrenceIndex = (_a = callsiteCounts.get(dedupeKey)) !== null && _a !== void 0 ? _a : 0;
93
+ callsiteCounts.set(dedupeKey, occurrenceIndex + 1);
90
94
  const { segments, query } = splitPath(normalized);
95
+ // Items with an explicit `collectionFolder` skip path-segment-derived
96
+ // folder hierarchy and are placed flat under a single named folder.
97
+ if (item.collectionFolder) {
98
+ const folder = ensureFolder([item.collectionFolder]);
99
+ const headers = Object.entries(item.headers || {}).map(([key, value]) => ({
100
+ key,
101
+ value: String(value),
102
+ type: "text",
103
+ }));
104
+ // Convert OpenAPI-style `{name}` path params to Postman `:name`,
105
+ // but leave `{{var}}` collection-variable placeholders untouched
106
+ // (Postman substitutes those at request time).
107
+ const pmUrlPath = segments.map((s) => s.startsWith("{{") && s.endsWith("}}")
108
+ ? s
109
+ : s.startsWith("{") && s.endsWith("}")
110
+ ? `:${s.slice(1, -1)}`
111
+ : s);
112
+ const request = {
113
+ method,
114
+ header: headers,
115
+ url: Object.assign({ raw: `{{baseUrl}}/${pmUrlPath.join("/")}${query.length > 0 ? "?" + query.map((q) => `${q.key}=${q.value}`).join("&") : ""}`, host: ["{{baseUrl}}"], path: pmUrlPath }, (query.length > 0 ? { query } : {})),
116
+ };
117
+ if (item.body) {
118
+ const bodyRaw = (_b = buildBodyExample(item.body)) !== null && _b !== void 0 ? _b : item.body;
119
+ request.body = {
120
+ mode: "raw",
121
+ raw: bodyRaw,
122
+ options: { raw: { language: "json" } },
123
+ };
124
+ }
125
+ else {
126
+ request.body = { mode: "none" };
127
+ }
128
+ const descParts = [];
129
+ if (item.functionFile) {
130
+ descParts.push(`Found in ${item.functionFile}:${item.functionFileLine}`);
131
+ }
132
+ folder.item.push(Object.assign(Object.assign({ name: item.summary || `${method} request` }, (descParts.length > 0 ? { description: descParts.join("\n") } : {})), { request }));
133
+ continue;
134
+ }
91
135
  // Folder segments = all path segments except path-parameter segments.
92
136
  // A trailing `{id}` segment doesn't earn its own folder; we mount the
93
137
  // request on the parent.
@@ -104,7 +148,7 @@ export const generatePostmanCollection = (items) => {
104
148
  }
105
149
  // The leaf segment is the endpoint's own name; remove it from the
106
150
  // folder hierarchy so the request lands directly in its parent folder.
107
- const leaf = (_a = folderSegments.pop()) !== null && _a !== void 0 ? _a : "";
151
+ const leaf = (_c = folderSegments.pop()) !== null && _c !== void 0 ? _c : "";
108
152
  const folder = ensureFolder(folderSegments);
109
153
  const headers = Object.entries(item.headers || {}).map(([key, value]) => ({
110
154
  key,
@@ -119,7 +163,7 @@ export const generatePostmanCollection = (items) => {
119
163
  url: Object.assign(Object.assign({ raw: `{{baseUrl}}/${pmUrlPath.join("/")}${query.length > 0 ? "?" + query.map((q) => `${q.key}=${q.value}`).join("&") : ""}`, host: ["{{baseUrl}}"], path: pmUrlPath }, (query.length > 0 ? { query } : {})), (pathVars.length > 0 ? { variable: pathVars } : {})),
120
164
  };
121
165
  if (item.body && ["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
122
- const bodyRaw = (_b = buildBodyExample(item.body)) !== null && _b !== void 0 ? _b : item.body;
166
+ const bodyRaw = (_d = buildBodyExample(item.body)) !== null && _d !== void 0 ? _d : item.body;
123
167
  // Skip bodies that are empty objects — they only contain unresolvable spread artifacts.
124
168
  let isEmptyObject = false;
125
169
  try {
@@ -130,7 +174,7 @@ export const generatePostmanCollection = (items) => {
130
174
  !Array.isArray(parsed) &&
131
175
  Object.keys(parsed).length === 0;
132
176
  }
133
- catch (_d) { }
177
+ catch (_f) { }
134
178
  if (!isEmptyObject) {
135
179
  request.body = {
136
180
  mode: "raw",
@@ -147,11 +191,20 @@ export const generatePostmanCollection = (items) => {
147
191
  }
148
192
  // Friendly request label — keep the leaf in the name to disambiguate
149
193
  // siblings under the same parent (e.g. invoices vs invoices/latest).
194
+ // When an action name is available (e.g. Next.js Server Actions) it is
195
+ // appended in parentheses and used as the primary disambiguator so
196
+ // each entry is immediately identifiable without a bare counter.
197
+ // For plain endpoints that share a path/method, a #N counter is kept.
150
198
  const leafName = leaf || segments[segments.length - 1] || "/";
151
- const itemEntry = {
152
- name: `${method} ${leafName}`,
153
- request,
154
- };
199
+ const disambig = item.summary ? ` (${item.summary})` : occurrenceIndex > 0 ? ` #${occurrenceIndex + 1}` : "";
200
+ const descParts = [];
201
+ if (item.functionFile) {
202
+ descParts.push(`Defined in chunk ${item.chunkId} at ${item.functionFile}:${item.functionFileLine}`);
203
+ }
204
+ if (item.serverActionCallFile) {
205
+ descParts.push(`Arguments from chunk ${item.serverActionCallChunkId} at ${item.serverActionCallFile}:${item.serverActionCallLine}`);
206
+ }
207
+ const itemEntry = Object.assign(Object.assign({ name: `${method} ${leafName}${disambig}` }, (descParts.length > 0 ? { description: descParts.join("\n") } : {})), { request });
155
208
  // If this URL has no folder segments at all (e.g. `/version`), put it
156
209
  // at the top level so it isn't lost.
157
210
  folder.item.push(itemEntry);
@@ -1 +1 @@
1
- {"version":3,"file":"postmanGenerator.js","sourceRoot":"","sources":["../../src/utility/postmanGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postmanGenerator.js","sourceRoot":"","sources":["../../src/utility/postmanGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Computes a progress bar width that fits within the current terminal.
3
+ * @param formatOverhead Total visible characters in the format string excluding the bar itself
4
+ * (label before `[{bar}]` + stats after `[{bar}]` + surrounding brackets).
5
+ */
6
+ export const computeBarSize = (formatOverhead) => {
7
+ const cols = process.stdout.columns || 80;
8
+ return Math.max(10, cols - formatOverhead);
9
+ };
10
+ /**
11
+ * Registers a SIGWINCH listener that keeps `bar.options.barsize` in sync with
12
+ * the terminal width for the lifetime of the bar. Call the returned cleanup
13
+ * function when the bar stops.
14
+ */
15
+ export const watchBarResize = (bar, overhead) => {
16
+ const handler = () => {
17
+ bar.options.barsize = computeBarSize(overhead);
18
+ };
19
+ process.on("SIGWINCH", handler);
20
+ return () => process.off("SIGWINCH", handler);
21
+ };
22
+ let activeBarLogger = null;
23
+ export const setActiveBarLogger = (logger) => {
24
+ activeBarLogger = logger;
25
+ };
26
+ export const progressLog = (message) => {
27
+ if (activeBarLogger) {
28
+ activeBarLogger.log(message + "\n");
29
+ }
30
+ else {
31
+ console.log(message);
32
+ }
33
+ };
34
+ export const progressError = (message) => {
35
+ if (activeBarLogger) {
36
+ activeBarLogger.log(message + "\n");
37
+ }
38
+ else {
39
+ console.error(message);
40
+ }
41
+ };
42
+ export const progressWarn = (message) => {
43
+ if (activeBarLogger) {
44
+ activeBarLogger.log(message + "\n");
45
+ }
46
+ else {
47
+ console.warn(message);
48
+ }
49
+ };
50
+ //# sourceMappingURL=progressLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progressLog.js","sourceRoot":"","sources":["../../src/utility/progressLog.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAU,EAAE;IAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,QAAgB,EAAgB,EAAE;IACvE,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,IAAI,eAAe,GAAqB,IAAI,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAQ,EAAE;IACjE,eAAe,GAAG,MAAM,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAQ,EAAE;IACjD,IAAI,eAAe,EAAE,CAAC;QAClB,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAQ,EAAE;IACnD,IAAI,eAAe,EAAE,CAAC;QAClB,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAQ,EAAE;IAClD,IAAI,eAAe,EAAE,CAAC;QAClB,eAAe,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shriyanss/js-recon",
3
- "version": "1.3.1-alpha.2",
3
+ "version": "1.3.1-alpha.4",
4
4
  "description": "JS Recon Tool",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
@@ -10,19 +10,20 @@
10
10
  "types": "build/index.d.ts",
11
11
  "scripts": {
12
12
  "build": "rm -rf build/ && tsc",
13
- "start": "node build/index.js",
13
+ "start": "node --max-old-space-size=8192 build/index.js",
14
14
  "test": "node build/index.js -h",
15
- "cleanup": "rm -rf build output .resp_cache.json endpoints.json extracted_urls{.txt,.json,-openapi.json} strings.json mapped{-openapi.json,.json,-openapi.postman_collection.json} analyze.json test{.yaml,.js} shriyanss-js-recon-*.tgz js-recon.db report.{html,md} js_recon_run_output *_test.js extracted/ research.json && tsc"
15
+ "cleanup": "rm -rf build output .resp_cache.json endpoints.json extracted_urls{.txt,.json,-openapi.json} strings.json mapped{-openapi.json,.json,-openapi.postman_collection.json} analyze.json test{.yaml,.js} shriyanss-js-recon-*.tgz js-recon.db report.{html,md} js_recon_run_output *_test.js extracted/ research.json results* out.* && tsc"
16
16
  },
17
17
  "keywords": [],
18
18
  "author": "Shriyans Sudhi",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@anthropic-ai/sdk": "^0.82.0",
21
+ "@anthropic-ai/sdk": "^0.102.0",
22
22
  "@aws-sdk/client-api-gateway": "^3.958.0",
23
23
  "@babel/parser": "^7.27.4",
24
24
  "@babel/traverse": "^7.27.4",
25
25
  "@babel/types": "^7.27.6",
26
+ "@modelcontextprotocol/sdk": "^1.29.0",
26
27
  "@types/chalk": "^0.4.31",
27
28
  "@types/cli-progress": "^3.11.6",
28
29
  "better-sqlite3": "^12.5.0",
@@ -36,6 +37,7 @@
36
37
  "datatables.net-dt": "^2.3.2",
37
38
  "esquery": "^1.6.0",
38
39
  "fs": "^0.0.2",
40
+ "graphql": "^16.14.1",
39
41
  "highlight.js": "^11.11.1",
40
42
  "inquirer": "^12.6.3",
41
43
  "marked": "^16.1.2",
@@ -64,6 +66,7 @@
64
66
  "@types/babel__traverse": "^7.28.0",
65
67
  "@types/better-sqlite3": "^7.6.13",
66
68
  "@types/blessed": "^0.1.25",
69
+ "@types/graphql": "^14.2.3",
67
70
  "@types/node": "^24.12.4",
68
71
  "ts-node": "^10.9.2",
69
72
  "tsconfig-paths": "^4.2.0",