milieu-cli 0.1.0 → 0.1.6
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.
- package/README.md +52 -6
- package/dist/bridges/reachability/index.d.ts.map +1 -1
- package/dist/bridges/reachability/index.js +2 -0
- package/dist/bridges/reachability/index.js.map +1 -1
- package/dist/bridges/separation/api-presence.d.ts +6 -5
- package/dist/bridges/separation/api-presence.d.ts.map +1 -1
- package/dist/bridges/separation/api-presence.js +9 -5
- package/dist/bridges/separation/api-presence.js.map +1 -1
- package/dist/bridges/separation/index.d.ts.map +1 -1
- package/dist/bridges/separation/index.js +9 -2
- package/dist/bridges/separation/index.js.map +1 -1
- package/dist/bridges/separation/webhook-support.d.ts +25 -12
- package/dist/bridges/separation/webhook-support.d.ts.map +1 -1
- package/dist/bridges/separation/webhook-support.js +100 -12
- package/dist/bridges/separation/webhook-support.js.map +1 -1
- package/dist/bridges/standards/graphql.d.ts +20 -0
- package/dist/bridges/standards/graphql.d.ts.map +1 -0
- package/dist/bridges/standards/graphql.js +174 -0
- package/dist/bridges/standards/graphql.js.map +1 -0
- package/dist/bridges/standards/index.d.ts +10 -5
- package/dist/bridges/standards/index.d.ts.map +1 -1
- package/dist/bridges/standards/index.js +32 -13
- package/dist/bridges/standards/index.js.map +1 -1
- package/dist/bridges/standards/openapi.d.ts +8 -1
- package/dist/bridges/standards/openapi.d.ts.map +1 -1
- package/dist/bridges/standards/openapi.js +49 -2
- package/dist/bridges/standards/openapi.js.map +1 -1
- package/dist/bridges/standards/sitemap.d.ts +21 -0
- package/dist/bridges/standards/sitemap.d.ts.map +1 -0
- package/dist/bridges/standards/sitemap.js +174 -0
- package/dist/bridges/standards/sitemap.js.map +1 -0
- package/dist/cli/index.js +0 -0
- package/dist/core/explanations.d.ts.map +1 -1
- package/dist/core/explanations.js +14 -2
- package/dist/core/explanations.js.map +1 -1
- package/dist/utils/http-client.d.ts +9 -4
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +23 -3
- package/dist/utils/http-client.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { httpGet } from "../../utils/http-client.js";
|
|
2
|
+
// ---------------------------------------------------------------------------
|
|
3
|
+
// Constants
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
/** Common GraphQL endpoint paths */
|
|
6
|
+
const GRAPHQL_PATHS = [
|
|
7
|
+
"/graphql",
|
|
8
|
+
"/api/graphql",
|
|
9
|
+
"/graphql/v1",
|
|
10
|
+
"/api/v1/graphql",
|
|
11
|
+
"/gql",
|
|
12
|
+
];
|
|
13
|
+
/** Minimal introspection query to confirm a GraphQL endpoint */
|
|
14
|
+
const INTROSPECTION_QUERY = JSON.stringify({
|
|
15
|
+
query: "{ __schema { queryType { name } mutationType { name } subscriptionType { name } } }",
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Parse a successful introspection response body.
|
|
19
|
+
* Returns metadata if the response contains valid `data.__schema`,
|
|
20
|
+
* or null if the JSON doesn't match the expected shape.
|
|
21
|
+
*/
|
|
22
|
+
function parseIntrospectionResponse(body) {
|
|
23
|
+
try {
|
|
24
|
+
const parsed = JSON.parse(body);
|
|
25
|
+
const schema = parsed?.data?.__schema;
|
|
26
|
+
if (!schema || typeof schema !== "object")
|
|
27
|
+
return null;
|
|
28
|
+
return {
|
|
29
|
+
queryType: schema.queryType?.name != null,
|
|
30
|
+
mutationType: schema.mutationType?.name != null,
|
|
31
|
+
subscriptionType: schema.subscriptionType?.name != null,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a JSON response body indicates a GraphQL endpoint
|
|
40
|
+
* with introspection disabled (common security practice).
|
|
41
|
+
*/
|
|
42
|
+
function isIntrospectionDisabled(body) {
|
|
43
|
+
try {
|
|
44
|
+
const parsed = JSON.parse(body);
|
|
45
|
+
if (!parsed?.errors || !Array.isArray(parsed.errors))
|
|
46
|
+
return false;
|
|
47
|
+
return parsed.errors.some((err) => typeof err.message === "string" &&
|
|
48
|
+
err.message.toLowerCase().includes("introspection"));
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Returns true if response is a 401/403 HTTP error */
|
|
55
|
+
function isAuthRequired(statusCode) {
|
|
56
|
+
return statusCode === 401 || statusCode === 403;
|
|
57
|
+
}
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
// Public API
|
|
60
|
+
// ---------------------------------------------------------------------------
|
|
61
|
+
/**
|
|
62
|
+
* Probe common GraphQL endpoint paths via POST introspection query.
|
|
63
|
+
*
|
|
64
|
+
* Detection strategy per path:
|
|
65
|
+
* 1. POST introspection query with Content-Type: application/json
|
|
66
|
+
* 2. Parse response:
|
|
67
|
+
* - pass: 200 + valid __schema in response
|
|
68
|
+
* - partial: 200 + errors mentioning "introspection" (disabled)
|
|
69
|
+
* - partial: 401/403 (auth required)
|
|
70
|
+
* - skip: 404, non-JSON, connection error
|
|
71
|
+
*
|
|
72
|
+
* Returns early on first successful detection (highest confidence first).
|
|
73
|
+
*/
|
|
74
|
+
export async function checkGraphql(baseUrl, timeout) {
|
|
75
|
+
const id = "graphql_endpoint";
|
|
76
|
+
const label = "GraphQL Endpoint";
|
|
77
|
+
// Fire all probes in parallel
|
|
78
|
+
const responses = await Promise.all(GRAPHQL_PATHS.map((path) => httpGet(new URL(path, baseUrl).href, {
|
|
79
|
+
method: "POST",
|
|
80
|
+
timeout,
|
|
81
|
+
body: INTROSPECTION_QUERY,
|
|
82
|
+
headers: {
|
|
83
|
+
"Content-Type": "application/json",
|
|
84
|
+
Accept: "application/json",
|
|
85
|
+
},
|
|
86
|
+
})));
|
|
87
|
+
// Phase 1: Check for successful introspection (pass)
|
|
88
|
+
for (let i = 0; i < responses.length; i++) {
|
|
89
|
+
const response = responses[i];
|
|
90
|
+
if (!response.ok)
|
|
91
|
+
continue;
|
|
92
|
+
const introspection = parseIntrospectionResponse(response.body);
|
|
93
|
+
if (introspection) {
|
|
94
|
+
const capabilities = [];
|
|
95
|
+
if (introspection.queryType)
|
|
96
|
+
capabilities.push("query");
|
|
97
|
+
if (introspection.mutationType)
|
|
98
|
+
capabilities.push("mutation");
|
|
99
|
+
if (introspection.subscriptionType)
|
|
100
|
+
capabilities.push("subscription");
|
|
101
|
+
return {
|
|
102
|
+
check: {
|
|
103
|
+
id,
|
|
104
|
+
label,
|
|
105
|
+
status: "pass",
|
|
106
|
+
detail: `GraphQL endpoint at ${GRAPHQL_PATHS[i]} with ${capabilities.join(", ")} support`,
|
|
107
|
+
data: {
|
|
108
|
+
path: GRAPHQL_PATHS[i],
|
|
109
|
+
introspectionEnabled: true,
|
|
110
|
+
hasQueries: introspection.queryType,
|
|
111
|
+
hasMutations: introspection.mutationType,
|
|
112
|
+
hasSubscriptions: introspection.subscriptionType,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
detected: true,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Phase 2: Check for introspection-disabled endpoints (partial)
|
|
120
|
+
for (let i = 0; i < responses.length; i++) {
|
|
121
|
+
const response = responses[i];
|
|
122
|
+
if (!response.ok)
|
|
123
|
+
continue;
|
|
124
|
+
if (isIntrospectionDisabled(response.body)) {
|
|
125
|
+
return {
|
|
126
|
+
check: {
|
|
127
|
+
id,
|
|
128
|
+
label,
|
|
129
|
+
status: "partial",
|
|
130
|
+
detail: `GraphQL endpoint detected at ${GRAPHQL_PATHS[i]} (introspection disabled)`,
|
|
131
|
+
data: {
|
|
132
|
+
path: GRAPHQL_PATHS[i],
|
|
133
|
+
introspectionEnabled: false,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
detected: true,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Phase 3: Check for auth-protected endpoints (partial)
|
|
141
|
+
for (let i = 0; i < responses.length; i++) {
|
|
142
|
+
const response = responses[i];
|
|
143
|
+
if (response.ok)
|
|
144
|
+
continue;
|
|
145
|
+
if (response.error.kind === "http_error" &&
|
|
146
|
+
isAuthRequired(response.error.statusCode)) {
|
|
147
|
+
return {
|
|
148
|
+
check: {
|
|
149
|
+
id,
|
|
150
|
+
label,
|
|
151
|
+
status: "partial",
|
|
152
|
+
detail: `GraphQL endpoint detected at ${GRAPHQL_PATHS[i]} (authentication required)`,
|
|
153
|
+
data: {
|
|
154
|
+
path: GRAPHQL_PATHS[i],
|
|
155
|
+
introspectionEnabled: false,
|
|
156
|
+
protected: true,
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
detected: true,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Phase 4: Nothing found
|
|
164
|
+
return {
|
|
165
|
+
check: {
|
|
166
|
+
id,
|
|
167
|
+
label,
|
|
168
|
+
status: "fail",
|
|
169
|
+
detail: "No GraphQL endpoint found",
|
|
170
|
+
},
|
|
171
|
+
detected: false,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=graphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../src/bridges/standards/graphql.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,17 @@ import type { BridgeResult, ScanContext } from "../../core/types.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Run Bridge 2: Standards.
|
|
4
4
|
*
|
|
5
|
-
* Runs
|
|
6
|
-
* - 6 independent HTTP probes in parallel (OpenAPI, llms.txt, llms-full.txt, MCP, security.txt, ai-plugin.json)
|
|
7
|
-
* - 2 synchronous HTML-based checks (JSON-LD, Schema.org) using ctx.shared.pageBody from Bridge 1
|
|
5
|
+
* Runs 10 checks in two phases:
|
|
8
6
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* Phase 1 (parallel): Sitemap + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
|
|
8
|
+
* Phase 2 (parallel): OpenAPI (fed sitemap API URLs as candidates) + GraphQL
|
|
9
|
+
* Synchronous: JSON-LD + Schema.org (from ctx.shared.pageBody)
|
|
10
|
+
*
|
|
11
|
+
* Two-phase execution is required because sitemap results feed into
|
|
12
|
+
* OpenAPI detection as candidate spec URLs.
|
|
13
|
+
*
|
|
14
|
+
* Stores ctx.shared.openApiDetected, ctx.shared.graphqlDetected,
|
|
15
|
+
* ctx.shared.sitemapUrls, and ctx.shared.llmsTxtBody for Bridge 3 consumption.
|
|
11
16
|
*/
|
|
12
17
|
export declare function runStandardsBridge(ctx: ScanContext): Promise<BridgeResult>;
|
|
13
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAS,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAS,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmC5E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,YAAY,CAAC,CAoEvB"}
|
|
@@ -4,10 +4,12 @@ import { checkMcpEndpoint } from "./mcp.js";
|
|
|
4
4
|
import { checkJsonLd } from "./json-ld.js";
|
|
5
5
|
import { checkSchemaOrg } from "./schema-org.js";
|
|
6
6
|
import { checkSecurityTxt, checkAiPlugin } from "./well-known.js";
|
|
7
|
+
import { checkGraphql } from "./graphql.js";
|
|
8
|
+
import { checkSitemap } from "./sitemap.js";
|
|
7
9
|
/**
|
|
8
10
|
* Calculate bridge score from check results.
|
|
9
11
|
* - Pass = 1 point, Partial = 0.5 points, Fail/Error = 0 points
|
|
10
|
-
* - All
|
|
12
|
+
* - All checks always count (no skip concept in Bridge 2)
|
|
11
13
|
*/
|
|
12
14
|
function calculateScore(checks) {
|
|
13
15
|
let points = 0;
|
|
@@ -27,35 +29,52 @@ function calculateScore(checks) {
|
|
|
27
29
|
/**
|
|
28
30
|
* Run Bridge 2: Standards.
|
|
29
31
|
*
|
|
30
|
-
* Runs
|
|
31
|
-
* - 6 independent HTTP probes in parallel (OpenAPI, llms.txt, llms-full.txt, MCP, security.txt, ai-plugin.json)
|
|
32
|
-
* - 2 synchronous HTML-based checks (JSON-LD, Schema.org) using ctx.shared.pageBody from Bridge 1
|
|
32
|
+
* Runs 10 checks in two phases:
|
|
33
33
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
34
|
+
* Phase 1 (parallel): Sitemap + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
|
|
35
|
+
* Phase 2 (parallel): OpenAPI (fed sitemap API URLs as candidates) + GraphQL
|
|
36
|
+
* Synchronous: JSON-LD + Schema.org (from ctx.shared.pageBody)
|
|
37
|
+
*
|
|
38
|
+
* Two-phase execution is required because sitemap results feed into
|
|
39
|
+
* OpenAPI detection as candidate spec URLs.
|
|
40
|
+
*
|
|
41
|
+
* Stores ctx.shared.openApiDetected, ctx.shared.graphqlDetected,
|
|
42
|
+
* ctx.shared.sitemapUrls, and ctx.shared.llmsTxtBody for Bridge 3 consumption.
|
|
36
43
|
*/
|
|
37
44
|
export async function runStandardsBridge(ctx) {
|
|
38
45
|
const start = performance.now();
|
|
39
|
-
// Get
|
|
46
|
+
// Get shared context from Bridge 1
|
|
40
47
|
const pageBody = ctx.shared.pageBody ?? "";
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
const robotsSitemaps = ctx.shared.robotsSitemaps ?? [];
|
|
49
|
+
// Phase 1: Sitemap + independent HTTP probes (parallel)
|
|
50
|
+
const [sitemapResult, llmsTxtResult, llmsFullTxtCheck, mcpCheck, securityTxtCheck, aiPluginCheck,] = await Promise.all([
|
|
51
|
+
checkSitemap(ctx.baseUrl, robotsSitemaps, ctx.options.timeout),
|
|
44
52
|
checkLlmsTxt(ctx.baseUrl, ctx.options.timeout),
|
|
45
53
|
checkLlmsFullTxt(ctx.baseUrl, ctx.options.timeout),
|
|
46
54
|
checkMcpEndpoint(ctx.baseUrl, ctx.options.timeout),
|
|
47
55
|
checkSecurityTxt(ctx.baseUrl, ctx.options.timeout),
|
|
48
56
|
checkAiPlugin(ctx.baseUrl, ctx.options.timeout),
|
|
49
57
|
]);
|
|
50
|
-
//
|
|
58
|
+
// Phase 2: OpenAPI (with sitemap API URLs) + GraphQL (parallel)
|
|
59
|
+
const [openApiResult, graphqlResult] = await Promise.all([
|
|
60
|
+
checkOpenApi(ctx.baseUrl, ctx.options.timeout, sitemapResult.apiRelevantUrls),
|
|
61
|
+
checkGraphql(ctx.baseUrl, ctx.options.timeout),
|
|
62
|
+
]);
|
|
63
|
+
// Synchronous HTML-based checks (no HTTP)
|
|
51
64
|
const jsonLdCheck = checkJsonLd(pageBody);
|
|
52
65
|
const schemaOrgCheck = checkSchemaOrg(pageBody, jsonLdCheck);
|
|
53
|
-
// Store
|
|
66
|
+
// Store detection results for Bridge 3
|
|
54
67
|
ctx.shared.openApiDetected = openApiResult.detected;
|
|
68
|
+
ctx.shared.openApiHasWebhooks = openApiResult.hasWebhooks;
|
|
69
|
+
ctx.shared.openApiHasCallbacks = openApiResult.hasCallbacks;
|
|
70
|
+
ctx.shared.graphqlDetected = graphqlResult.detected;
|
|
71
|
+
ctx.shared.sitemapUrls = sitemapResult.urls;
|
|
55
72
|
ctx.shared.llmsTxtBody = llmsTxtResult.body;
|
|
56
|
-
// Collect all
|
|
73
|
+
// Collect all 10 checks in order
|
|
57
74
|
const checks = [
|
|
58
75
|
openApiResult.check,
|
|
76
|
+
graphqlResult.check,
|
|
77
|
+
sitemapResult.check,
|
|
59
78
|
llmsTxtResult.check,
|
|
60
79
|
llmsFullTxtCheck,
|
|
61
80
|
mcpCheck,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridges/standards/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridges/standards/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,20 @@ import type { Check } from "../../core/types.js";
|
|
|
2
2
|
export interface OpenApiResult {
|
|
3
3
|
check: Check;
|
|
4
4
|
detected: boolean;
|
|
5
|
+
/** OpenAPI 3.1+ top-level `webhooks` key found */
|
|
6
|
+
hasWebhooks: boolean;
|
|
7
|
+
/** OpenAPI 3.0+ `callbacks` found in any operation */
|
|
8
|
+
hasCallbacks: boolean;
|
|
5
9
|
}
|
|
6
10
|
/**
|
|
7
11
|
* Probe 19 common OpenAPI / Swagger spec paths in parallel, then try
|
|
8
12
|
* extracting spec URLs from HTML doc pages, and finally detect protected specs.
|
|
9
13
|
*
|
|
14
|
+
* Optionally accepts sitemap-discovered API URLs as additional candidates
|
|
15
|
+
* to probe in Phase 3b (secondary validation).
|
|
16
|
+
*
|
|
10
17
|
* Returns a Check with id "openapi_spec" and a boolean indicating whether
|
|
11
18
|
* any valid spec was detected (for ctx.shared.openApiDetected).
|
|
12
19
|
*/
|
|
13
|
-
export declare function checkOpenApi(baseUrl: string, timeout?: number): Promise<OpenApiResult>;
|
|
20
|
+
export declare function checkOpenApi(baseUrl: string, timeout?: number, sitemapCandidateUrls?: string[]): Promise<OpenApiResult>;
|
|
14
21
|
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,qBAAqB,CAAC;AAO5E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAA6B,MAAM,qBAAqB,CAAC;AAO5E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAC;IACrB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;CACvB;AAkSD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,oBAAoB,GAAE,MAAM,EAAO,GAClC,OAAO,CAAC,aAAa,CAAC,CA4OxB"}
|
|
@@ -110,7 +110,27 @@ function extractJsonInfo(body) {
|
|
|
110
110
|
const endpointCount = parsed.paths
|
|
111
111
|
? Object.keys(parsed.paths).length
|
|
112
112
|
: 0;
|
|
113
|
-
|
|
113
|
+
// OpenAPI 3.1+ top-level webhooks
|
|
114
|
+
const hasWebhooks = parsed.webhooks != null &&
|
|
115
|
+
typeof parsed.webhooks === "object" &&
|
|
116
|
+
Object.keys(parsed.webhooks).length > 0;
|
|
117
|
+
// OpenAPI 3.0+ callbacks in any operation
|
|
118
|
+
let hasCallbacks = false;
|
|
119
|
+
if (parsed.paths && typeof parsed.paths === "object") {
|
|
120
|
+
for (const pathItem of Object.values(parsed.paths)) {
|
|
121
|
+
if (!pathItem || typeof pathItem !== "object")
|
|
122
|
+
continue;
|
|
123
|
+
for (const op of Object.values(pathItem)) {
|
|
124
|
+
if (op && typeof op === "object" && "callbacks" in op) {
|
|
125
|
+
hasCallbacks = true;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (hasCallbacks)
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return { version, specType, endpointCount, hasWebhooks, hasCallbacks };
|
|
114
134
|
}
|
|
115
135
|
catch {
|
|
116
136
|
return null;
|
|
@@ -123,10 +143,16 @@ function extractYamlInfo(body) {
|
|
|
123
143
|
return null;
|
|
124
144
|
// Count paths in YAML (lines that start with / at indent level 2)
|
|
125
145
|
const pathMatches = body.match(/^ {2}\/\S+:/gm);
|
|
146
|
+
// Top-level webhooks key (OpenAPI 3.1+)
|
|
147
|
+
const hasWebhooks = /^webhooks:/m.test(body);
|
|
148
|
+
// Callbacks nested under operations (indented 6+ spaces)
|
|
149
|
+
const hasCallbacks = /^ {6,}callbacks:/m.test(body);
|
|
126
150
|
return {
|
|
127
151
|
version: versionMatch[2],
|
|
128
152
|
specType: versionMatch[1],
|
|
129
153
|
endpointCount: pathMatches?.length ?? 0,
|
|
154
|
+
hasWebhooks,
|
|
155
|
+
hasCallbacks,
|
|
130
156
|
};
|
|
131
157
|
}
|
|
132
158
|
/** Patterns that extract spec URLs from HTML or JS content */
|
|
@@ -227,10 +253,13 @@ function isProtectedResponse(response) {
|
|
|
227
253
|
* Probe 19 common OpenAPI / Swagger spec paths in parallel, then try
|
|
228
254
|
* extracting spec URLs from HTML doc pages, and finally detect protected specs.
|
|
229
255
|
*
|
|
256
|
+
* Optionally accepts sitemap-discovered API URLs as additional candidates
|
|
257
|
+
* to probe in Phase 3b (secondary validation).
|
|
258
|
+
*
|
|
230
259
|
* Returns a Check with id "openapi_spec" and a boolean indicating whether
|
|
231
260
|
* any valid spec was detected (for ctx.shared.openApiDetected).
|
|
232
261
|
*/
|
|
233
|
-
export async function checkOpenApi(baseUrl, timeout) {
|
|
262
|
+
export async function checkOpenApi(baseUrl, timeout, sitemapCandidateUrls = []) {
|
|
234
263
|
const id = "openapi_spec";
|
|
235
264
|
const label = "OpenAPI Spec";
|
|
236
265
|
// Phase 1: Fire all 19 probes in parallel
|
|
@@ -271,6 +300,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
271
300
|
},
|
|
272
301
|
},
|
|
273
302
|
detected: true,
|
|
303
|
+
hasWebhooks: info.hasWebhooks,
|
|
304
|
+
hasCallbacks: info.hasCallbacks,
|
|
274
305
|
};
|
|
275
306
|
}
|
|
276
307
|
}
|
|
@@ -290,6 +321,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
290
321
|
},
|
|
291
322
|
},
|
|
292
323
|
detected: true,
|
|
324
|
+
hasWebhooks: yamlInfo.hasWebhooks,
|
|
325
|
+
hasCallbacks: yamlInfo.hasCallbacks,
|
|
293
326
|
};
|
|
294
327
|
}
|
|
295
328
|
}
|
|
@@ -341,6 +374,12 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
341
374
|
}
|
|
342
375
|
}
|
|
343
376
|
}
|
|
377
|
+
// Merge sitemap-discovered API URLs into candidates (deduplicated)
|
|
378
|
+
for (const url of sitemapCandidateUrls) {
|
|
379
|
+
if (!allProbedUrls.has(url) && !specCandidateUrls.includes(url)) {
|
|
380
|
+
specCandidateUrls.push(url);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
344
383
|
// Phase 3b: Fetch candidate spec URLs and validate
|
|
345
384
|
if (specCandidateUrls.length > 0) {
|
|
346
385
|
const secondaryResponses = await Promise.all(specCandidateUrls.slice(0, 3).map((url) => httpGet(url, {
|
|
@@ -371,6 +410,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
371
410
|
},
|
|
372
411
|
},
|
|
373
412
|
detected: true,
|
|
413
|
+
hasWebhooks: info.hasWebhooks,
|
|
414
|
+
hasCallbacks: info.hasCallbacks,
|
|
374
415
|
};
|
|
375
416
|
}
|
|
376
417
|
}
|
|
@@ -390,6 +431,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
390
431
|
},
|
|
391
432
|
},
|
|
392
433
|
detected: true,
|
|
434
|
+
hasWebhooks: yamlInfo.hasWebhooks,
|
|
435
|
+
hasCallbacks: yamlInfo.hasCallbacks,
|
|
393
436
|
};
|
|
394
437
|
}
|
|
395
438
|
}
|
|
@@ -407,6 +450,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
407
450
|
data: { protected: true, path: SPEC_PATHS[i] },
|
|
408
451
|
},
|
|
409
452
|
detected: true,
|
|
453
|
+
hasWebhooks: false,
|
|
454
|
+
hasCallbacks: false,
|
|
410
455
|
};
|
|
411
456
|
}
|
|
412
457
|
}
|
|
@@ -419,6 +464,8 @@ export async function checkOpenApi(baseUrl, timeout) {
|
|
|
419
464
|
detail: "No OpenAPI spec found",
|
|
420
465
|
},
|
|
421
466
|
detected: false,
|
|
467
|
+
hasWebhooks: false,
|
|
468
|
+
hasCallbacks: false,
|
|
422
469
|
};
|
|
423
470
|
}
|
|
424
471
|
//# sourceMappingURL=openapi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/bridges/standards/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/bridges/standards/openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Check } from "../../core/types.js";
|
|
2
|
+
export interface SitemapResult {
|
|
3
|
+
check: Check;
|
|
4
|
+
/** All discovered <loc> URLs from the sitemap */
|
|
5
|
+
urls: string[];
|
|
6
|
+
/** URLs matching API-relevant patterns (for OpenAPI candidate feeding) */
|
|
7
|
+
apiRelevantUrls: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Probe for XML sitemaps at standard paths and from robots.txt Sitemap directives.
|
|
11
|
+
*
|
|
12
|
+
* Detection strategy:
|
|
13
|
+
* 1. Probe /sitemap.xml and /sitemap_index.xml
|
|
14
|
+
* 2. Probe any sitemap URLs found in robots.txt (passed via robotsSitemapUrls)
|
|
15
|
+
* 3. If a sitemap index is found, follow up to 3 child sitemaps
|
|
16
|
+
* 4. Extract all URLs and filter API-relevant ones
|
|
17
|
+
*
|
|
18
|
+
* Returns discovered URLs for downstream use (OpenAPI candidate feeding).
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkSitemap(baseUrl: string, robotsSitemapUrls: string[], timeout?: number): Promise<SitemapResult>;
|
|
21
|
+
//# sourceMappingURL=sitemap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0EAA0E;IAC1E,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAyHxB"}
|