milieu-cli 0.1.6 → 0.1.8

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 CHANGED
@@ -74,7 +74,7 @@ Milieu evaluates your product through five progressive bridges. Each one represe
74
74
  | | Bridge | Question | What milieu checks | Score |
75
75
  |---|---|---|---|---|
76
76
  | 1 | **Reachability** | **Can agents reach you?** | HTTPS, HTTP status, robots.txt (RFC 9309), per-bot crawler policies (GPTBot, ClaudeBot, CCBot, Googlebot, Bingbot, PerplexityBot), meta robots, X-Robots-Tag | 0–100 |
77
- | 2 | **Standards** | **Can agents read you?** | OpenAPI spec, llms.txt, llms-full.txt, MCP endpoint, JSON-LD, Schema.org, security.txt, ai-plugin.json | 0–100 |
77
+ | 2 | **Standards** | **Can agents read you?** | OpenAPI spec, GraphQL introspection, XML sitemap, markdown content negotiation, llms.txt, llms-full.txt, MCP endpoint, JSON-LD, Schema.org, security.txt, ai-plugin.json | 0–100 |
78
78
  | 3 | **Separation** | **Can agents integrate with you?** | API endpoints, developer docs, SDK/package references, webhook support | Detection only* |
79
79
  | 4 | **Schema** | **Can agents use you correctly?** | Planned | — |
80
80
  | 5 | **Context** | **Can agents trust you?** | Planned | — |
@@ -85,7 +85,7 @@ The bridges are progressive: there's no point checking your OpenAPI spec (Bridge
85
85
 
86
86
  **Bridge 1 — Reachability** is the front door. Can AI agents get to your content at all? Are you blocking specific crawlers without realizing it? This is the most actionable bridge for most sites — many are unknowingly blocking GPTBot or ClaudeBot in their robots.txt.
87
87
 
88
- **Bridge 2 — Standards** is the shared language. Do you speak the protocols AI agents understand? OpenAPI specs, llms.txt, MCP endpoints, structured data — these are the machine-readable standards that let agents go beyond scraping your HTML.
88
+ **Bridge 2 — Standards** is the shared language. Do you speak the protocols AI agents understand? OpenAPI specs, GraphQL endpoints, XML sitemaps, markdown content negotiation, llms.txt, MCP endpoints, structured data — these are the machine-readable standards that let agents go beyond scraping your HTML. milieu also checks if your server returns markdown via HTTP content negotiation (`Accept: text/markdown`), which cuts agent token usage by ~80% compared to raw HTML.
89
89
 
90
90
  **Bridge 3 — Separation** is the developer surface. Do you have a clear API boundary? Developer docs? SDKs? Webhooks? This is where agents look to determine if your product is something they can build with, not just read from.
91
91
 
@@ -2,9 +2,9 @@ import type { BridgeResult, ScanContext } from "../../core/types.js";
2
2
  /**
3
3
  * Run Bridge 2: Standards.
4
4
  *
5
- * Runs 10 checks in two phases:
5
+ * Runs 11 checks in two phases:
6
6
  *
7
- * Phase 1 (parallel): Sitemap + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
7
+ * Phase 1 (parallel): Sitemap + Markdown negotiation + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
8
8
  * Phase 2 (parallel): OpenAPI (fed sitemap API URLs as candidates) + GraphQL
9
9
  * Synchronous: JSON-LD + Schema.org (from ctx.shared.pageBody)
10
10
  *
@@ -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;AAmC5E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,YAAY,CAAC,CAoEvB"}
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;AAoC5E;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,YAAY,CAAC,CAuEvB"}
@@ -6,6 +6,7 @@ import { checkSchemaOrg } from "./schema-org.js";
6
6
  import { checkSecurityTxt, checkAiPlugin } from "./well-known.js";
7
7
  import { checkGraphql } from "./graphql.js";
8
8
  import { checkSitemap } from "./sitemap.js";
9
+ import { checkMarkdownNegotiation } from "./markdown-negotiation.js";
9
10
  /**
10
11
  * Calculate bridge score from check results.
11
12
  * - Pass = 1 point, Partial = 0.5 points, Fail/Error = 0 points
@@ -29,9 +30,9 @@ function calculateScore(checks) {
29
30
  /**
30
31
  * Run Bridge 2: Standards.
31
32
  *
32
- * Runs 10 checks in two phases:
33
+ * Runs 11 checks in two phases:
33
34
  *
34
- * Phase 1 (parallel): Sitemap + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
35
+ * Phase 1 (parallel): Sitemap + Markdown negotiation + llms.txt + llms-full.txt + MCP + security.txt + ai-plugin.json
35
36
  * Phase 2 (parallel): OpenAPI (fed sitemap API URLs as candidates) + GraphQL
36
37
  * Synchronous: JSON-LD + Schema.org (from ctx.shared.pageBody)
37
38
  *
@@ -46,9 +47,10 @@ export async function runStandardsBridge(ctx) {
46
47
  // Get shared context from Bridge 1
47
48
  const pageBody = ctx.shared.pageBody ?? "";
48
49
  const robotsSitemaps = ctx.shared.robotsSitemaps ?? [];
49
- // Phase 1: Sitemap + independent HTTP probes (parallel)
50
- const [sitemapResult, llmsTxtResult, llmsFullTxtCheck, mcpCheck, securityTxtCheck, aiPluginCheck,] = await Promise.all([
50
+ // Phase 1: Sitemap + Markdown negotiation + independent HTTP probes (parallel)
51
+ const [sitemapResult, markdownResult, llmsTxtResult, llmsFullTxtCheck, mcpCheck, securityTxtCheck, aiPluginCheck,] = await Promise.all([
51
52
  checkSitemap(ctx.baseUrl, robotsSitemaps, ctx.options.timeout),
53
+ checkMarkdownNegotiation(ctx.baseUrl, ctx.options.timeout),
52
54
  checkLlmsTxt(ctx.baseUrl, ctx.options.timeout),
53
55
  checkLlmsFullTxt(ctx.baseUrl, ctx.options.timeout),
54
56
  checkMcpEndpoint(ctx.baseUrl, ctx.options.timeout),
@@ -70,11 +72,12 @@ export async function runStandardsBridge(ctx) {
70
72
  ctx.shared.graphqlDetected = graphqlResult.detected;
71
73
  ctx.shared.sitemapUrls = sitemapResult.urls;
72
74
  ctx.shared.llmsTxtBody = llmsTxtResult.body;
73
- // Collect all 10 checks in order
75
+ // Collect all 11 checks in order
74
76
  const checks = [
75
77
  openApiResult.check,
76
78
  graphqlResult.check,
77
79
  sitemapResult.check,
80
+ markdownResult.check,
78
81
  llmsTxtResult.check,
79
82
  llmsFullTxtCheck,
80
83
  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;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAe;IAIrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,SAAS,IAAI,CAAC,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,MAAM,IAAI,CAAC,CAAC;aACpC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,GAAG,CAAC;QACnD,4BAA4B;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3E,MAAM,UAAU,GACd,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAgB;IAEhB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,mCAAmC;IACnC,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAM,CAAC,QAAmB,IAAI,EAAE,CAAC;IACvD,MAAM,cAAc,GAAI,GAAG,CAAC,MAAM,CAAC,cAA2B,IAAI,EAAE,CAAC;IAErE,wDAAwD;IACxD,MAAM,CACJ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACd,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9C,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAClD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAClD,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QAClD,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;KAChD,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC;QAC7E,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;KAC/C,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE7D,uCAAuC;IACvC,GAAG,CAAC,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC;IACpD,GAAG,CAAC,MAAM,CAAC,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAAC;IAC1D,GAAG,CAAC,MAAM,CAAC,mBAAmB,GAAG,aAAa,CAAC,YAAY,CAAC;IAC5D,GAAG,CAAC,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC;IACpD,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;IAC5C,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC;IAE5C,iCAAiC;IACjC,MAAM,MAAM,GAAY;QACtB,aAAa,CAAC,KAAK;QACnB,aAAa,CAAC,KAAK;QACnB,aAAa,CAAC,KAAK;QACnB,aAAa,CAAC,KAAK;QACnB,gBAAgB;QAChB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,aAAa;KACd,CAAC;IAEF,kBAAkB;IAClB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAErD,OAAO;QACL,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,WAAW;QACnB,KAAK;QACL,UAAU;QACV,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;KAClD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bridges/standards/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { Check } from "../../core/types.js";
2
+ export interface MarkdownNegotiationResult {
3
+ check: Check;
4
+ /** Whether the server supports markdown content negotiation */
5
+ supported: boolean;
6
+ }
7
+ /**
8
+ * Detect whether a site supports markdown content negotiation for AI agents.
9
+ *
10
+ * Three signals checked:
11
+ * 1. **Markdown response** — Send `Accept: text/markdown` to homepage,
12
+ * check if response has `content-type: text/markdown`
13
+ * 2. **x-markdown-tokens header** — Indicates the server is markdown-aware
14
+ * and provides token count estimates
15
+ * 3. **Content-Signal header** — AI permission directives like
16
+ * `ai-train=yes, ai-input=yes, search=yes`
17
+ *
18
+ * Status mapping:
19
+ * - pass: Server returns markdown when requested (content negotiation works)
20
+ * - partial: Content-Signal header present but no markdown negotiation,
21
+ * or x-markdown-tokens header found
22
+ * - fail: No markdown support detected
23
+ */
24
+ export declare function checkMarkdownNegotiation(baseUrl: string, timeout?: number): Promise<MarkdownNegotiationResult>;
25
+ //# sourceMappingURL=markdown-negotiation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-negotiation.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/markdown-negotiation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;CACpB;AA6CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,yBAAyB,CAAC,CAoFpC"}
@@ -0,0 +1,127 @@
1
+ import { httpGet } from "../../utils/http-client.js";
2
+ // ---------------------------------------------------------------------------
3
+ // Constants
4
+ // ---------------------------------------------------------------------------
5
+ /** Content-Signal directive keys relevant to AI agents */
6
+ const AI_SIGNAL_KEYS = ["ai-train", "ai-input", "search"];
7
+ // ---------------------------------------------------------------------------
8
+ // Helpers
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Parse a Content-Signal header value into a map of directives.
12
+ * Format: "ai-train=yes, search=yes, ai-input=no"
13
+ */
14
+ function parseContentSignal(header) {
15
+ const directives = {};
16
+ for (const part of header.split(",")) {
17
+ const trimmed = part.trim();
18
+ const eqIdx = trimmed.indexOf("=");
19
+ if (eqIdx > 0) {
20
+ const key = trimmed.slice(0, eqIdx).trim().toLowerCase();
21
+ const value = trimmed.slice(eqIdx + 1).trim().toLowerCase();
22
+ directives[key] = value;
23
+ }
24
+ }
25
+ return directives;
26
+ }
27
+ /**
28
+ * Check if a Content-Type header indicates markdown.
29
+ */
30
+ function isMarkdownContentType(headers) {
31
+ const ct = (headers["content-type"] ?? "").split(";")[0].trim().toLowerCase();
32
+ return ct === "text/markdown";
33
+ }
34
+ // ---------------------------------------------------------------------------
35
+ // Public API
36
+ // ---------------------------------------------------------------------------
37
+ /**
38
+ * Detect whether a site supports markdown content negotiation for AI agents.
39
+ *
40
+ * Three signals checked:
41
+ * 1. **Markdown response** — Send `Accept: text/markdown` to homepage,
42
+ * check if response has `content-type: text/markdown`
43
+ * 2. **x-markdown-tokens header** — Indicates the server is markdown-aware
44
+ * and provides token count estimates
45
+ * 3. **Content-Signal header** — AI permission directives like
46
+ * `ai-train=yes, ai-input=yes, search=yes`
47
+ *
48
+ * Status mapping:
49
+ * - pass: Server returns markdown when requested (content negotiation works)
50
+ * - partial: Content-Signal header present but no markdown negotiation,
51
+ * or x-markdown-tokens header found
52
+ * - fail: No markdown support detected
53
+ */
54
+ export async function checkMarkdownNegotiation(baseUrl, timeout) {
55
+ const id = "markdown_negotiation";
56
+ const label = "Markdown Content Negotiation";
57
+ // Request the homepage with Accept: text/markdown preference
58
+ const response = await httpGet(baseUrl, {
59
+ timeout,
60
+ headers: {
61
+ Accept: "text/markdown, text/html;q=0.9, */*;q=0.8",
62
+ },
63
+ });
64
+ if (!response.ok) {
65
+ return {
66
+ check: {
67
+ id,
68
+ label,
69
+ status: "fail",
70
+ detail: "Could not reach site to test markdown negotiation",
71
+ },
72
+ supported: false,
73
+ };
74
+ }
75
+ const signals = [];
76
+ // Signal 1: Does the response come back as markdown?
77
+ const markdownResponse = isMarkdownContentType(response.headers);
78
+ if (markdownResponse) {
79
+ signals.push("text/markdown response");
80
+ }
81
+ // Signal 2: x-markdown-tokens header
82
+ const tokenHeader = response.headers["x-markdown-tokens"];
83
+ if (tokenHeader !== undefined) {
84
+ signals.push("x-markdown-tokens header");
85
+ }
86
+ // Signal 3: Content-Signal header with AI directives
87
+ const contentSignal = response.headers["content-signal"];
88
+ if (contentSignal) {
89
+ const directives = parseContentSignal(contentSignal);
90
+ const activeDirectives = AI_SIGNAL_KEYS.filter((key) => directives[key] !== undefined);
91
+ if (activeDirectives.length > 0) {
92
+ signals.push(`Content-Signal (${activeDirectives.join(", ")})`);
93
+ }
94
+ }
95
+ if (signals.length === 0) {
96
+ return {
97
+ check: {
98
+ id,
99
+ label,
100
+ status: "fail",
101
+ detail: "No markdown content negotiation support detected",
102
+ },
103
+ supported: false,
104
+ };
105
+ }
106
+ // Markdown response = full support (pass), other signals alone = partial
107
+ const status = markdownResponse ? "pass" : "partial";
108
+ const detail = status === "pass"
109
+ ? `Server returns markdown via content negotiation: ${signals.join(", ")}`
110
+ : `AI content signals detected: ${signals.join(", ")}`;
111
+ return {
112
+ check: {
113
+ id,
114
+ label,
115
+ status,
116
+ detail,
117
+ data: {
118
+ signals,
119
+ markdownResponse,
120
+ hasTokenHeader: tokenHeader !== undefined,
121
+ contentSignal: contentSignal ?? null,
122
+ },
123
+ },
124
+ supported: markdownResponse,
125
+ };
126
+ }
127
+ //# sourceMappingURL=markdown-negotiation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-negotiation.js","sourceRoot":"","sources":["../../../src/bridges/standards/markdown-negotiation.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
1
+ {"version":3,"file":"sitemap.d.ts","sourceRoot":"","sources":["../../../src/bridges/standards/sitemap.ts"],"names":[],"mappings":"AACA,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;AAsID;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CAyHxB"}
@@ -1,9 +1,14 @@
1
+ import { gunzipSync } from "node:zlib";
1
2
  import { httpGet } from "../../utils/http-client.js";
2
3
  // ---------------------------------------------------------------------------
3
4
  // Constants
4
5
  // ---------------------------------------------------------------------------
5
- /** Standard sitemap paths to probe */
6
- const SITEMAP_PATHS = ["/sitemap.xml", "/sitemap_index.xml"];
6
+ /** Standard sitemap paths to probe (includes .gz variants) */
7
+ const SITEMAP_PATHS = [
8
+ "/sitemap.xml",
9
+ "/sitemap_index.xml",
10
+ "/sitemap.xml.gz",
11
+ ];
7
12
  /** Max body size for sitemap responses (1MB) */
8
13
  const MAX_BODY_BYTES = 1_048_576;
9
14
  /** Max URLs to extract from a single sitemap */
@@ -60,6 +65,55 @@ function filterSameOrigin(urls, baseUrl) {
60
65
  }
61
66
  });
62
67
  }
68
+ /** Check if a URL points to a gzipped sitemap */
69
+ function isGzUrl(url) {
70
+ try {
71
+ return new URL(url).pathname.endsWith(".gz");
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ /**
78
+ * Fetch a sitemap body, handling .gz decompression transparently.
79
+ *
80
+ * For .gz URLs: fetches raw bytes and decompresses with zlib.
81
+ * For normal URLs: delegates to httpGet as before.
82
+ */
83
+ async function fetchSitemapBody(url, timeout) {
84
+ if (!isGzUrl(url)) {
85
+ const response = await httpGet(url, {
86
+ timeout,
87
+ maxBodyBytes: MAX_BODY_BYTES,
88
+ headers: { Accept: "application/xml, text/xml, */*" },
89
+ });
90
+ if (!response.ok)
91
+ return { ok: false };
92
+ return { ok: true, body: response.body };
93
+ }
94
+ // For .gz URLs, httpGet's response.text() mangles binary data.
95
+ // Fetch raw bytes and decompress with zlib instead.
96
+ try {
97
+ const response = await fetch(url, {
98
+ signal: AbortSignal.timeout(timeout ?? 10_000),
99
+ redirect: "follow",
100
+ headers: {
101
+ "User-Agent": "milieu-cli/0.1.0",
102
+ Accept: "application/xml, application/gzip, */*",
103
+ },
104
+ });
105
+ if (!response.ok)
106
+ return { ok: false };
107
+ const buffer = Buffer.from(await response.arrayBuffer());
108
+ if (buffer.length > MAX_BODY_BYTES)
109
+ return { ok: false };
110
+ const decompressed = gunzipSync(buffer);
111
+ return { ok: true, body: decompressed.toString("utf-8") };
112
+ }
113
+ catch {
114
+ return { ok: false };
115
+ }
116
+ }
63
117
  // ---------------------------------------------------------------------------
64
118
  // Public API
65
119
  // ---------------------------------------------------------------------------
@@ -94,14 +148,13 @@ export async function checkSitemap(baseUrl, robotsSitemapUrls, timeout) {
94
148
  }
95
149
  }
96
150
  // Probe all sitemap URLs in parallel
97
- const responses = await Promise.all([...probeUrls].map((url) => httpGet(url, {
98
- timeout,
99
- maxBodyBytes: MAX_BODY_BYTES,
100
- headers: { Accept: "application/xml, text/xml, */*" },
101
- })));
102
151
  const probeUrlArray = [...probeUrls];
152
+ const responses = await Promise.all(probeUrlArray.map((url) => fetchSitemapBody(url, timeout)));
103
153
  let allUrls = [];
104
154
  const sitemapPaths = [];
155
+ let isIndex = false;
156
+ let childTotal = 0;
157
+ let childFailed = 0;
105
158
  for (let i = 0; i < responses.length; i++) {
106
159
  const response = responses[i];
107
160
  if (!response.ok)
@@ -112,17 +165,17 @@ export async function checkSitemap(baseUrl, robotsSitemapUrls, timeout) {
112
165
  const probePath = new URL(probeUrlArray[i]).pathname;
113
166
  sitemapPaths.push(probePath);
114
167
  if (isSitemapIndex(response.body)) {
168
+ isIndex = true;
115
169
  // Sitemap index — follow child sitemaps
116
170
  const childUrls = filterSameOrigin(extractLocs(response.body, MAX_CHILD_SITEMAPS), baseUrl);
171
+ childTotal += childUrls.length;
117
172
  if (childUrls.length > 0) {
118
- const childResponses = await Promise.all(childUrls.map((url) => httpGet(url, {
119
- timeout,
120
- maxBodyBytes: MAX_BODY_BYTES,
121
- headers: { Accept: "application/xml, text/xml, */*" },
122
- })));
173
+ const childResponses = await Promise.all(childUrls.map((url) => fetchSitemapBody(url, timeout)));
123
174
  for (const childResponse of childResponses) {
124
- if (!childResponse.ok)
175
+ if (!childResponse.ok) {
176
+ childFailed++;
125
177
  continue;
178
+ }
126
179
  const childLocs = extractLocs(childResponse.body, MAX_URLS_PER_SITEMAP);
127
180
  allUrls.push(...childLocs);
128
181
  }
@@ -145,13 +198,18 @@ export async function checkSitemap(baseUrl, robotsSitemapUrls, timeout) {
145
198
  };
146
199
  }
147
200
  if (allUrls.length === 0) {
201
+ let detail;
202
+ if (isIndex && childTotal > 0 && childFailed > 0) {
203
+ detail = `Sitemap index found at ${sitemapPaths.join(", ")} with ${childTotal} child sitemap(s), but ${childFailed === childTotal ? "all" : `${childFailed}/${childTotal}`} failed to fetch`;
204
+ }
205
+ else if (isIndex && childTotal === 0) {
206
+ detail = `Sitemap index found at ${sitemapPaths.join(", ")} but references no child sitemaps`;
207
+ }
208
+ else {
209
+ detail = `Sitemap found at ${sitemapPaths.join(", ")} but contains no URLs`;
210
+ }
148
211
  return {
149
- check: {
150
- id,
151
- label,
152
- status: "partial",
153
- detail: `Sitemap found at ${sitemapPaths.join(", ")} but contains no URLs`,
154
- },
212
+ check: { id, label, status: "partial", detail },
155
213
  urls: [],
156
214
  apiRelevantUrls: [],
157
215
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../../src/bridges/standards/sitemap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../../src/bridges/standards/sitemap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explanations.d.ts","sourceRoot":"","sources":["../../src/core/explanations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAErD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAmI/D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,SAAS,CAKpB"}
1
+ {"version":3,"file":"explanations.d.ts","sourceRoot":"","sources":["../../src/core/explanations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAErD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAyI/D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,MAAM,GAAG,SAAS,CAKpB"}
@@ -53,6 +53,12 @@ export const CHECK_EXPLANATIONS = {
53
53
  meta_robots: "Meta robots tags can override robots.txt — preventing AI agents from indexing or following links even when crawling is allowed.",
54
54
  x_robots_tag: "X-Robots-Tag headers apply indexing restrictions at the server level, affecting all AI agents regardless of page content.",
55
55
  // Bridge 2: Standards
56
+ markdown_negotiation: {
57
+ pass: "Your server returns markdown via content negotiation — AI agents get clean, token-efficient content instead of parsing HTML.",
58
+ fail: "Your server doesn't support markdown content negotiation — AI agents must parse raw HTML, using ~5x more tokens.",
59
+ partial: "Your server signals AI content permissions but doesn't return markdown — agents know they're welcome but still get HTML.",
60
+ default: "Markdown content negotiation (Accept: text/markdown) lets AI agents request clean, token-efficient content instead of HTML.",
61
+ },
56
62
  sitemap: {
57
63
  pass: "Your XML sitemap helps AI agents discover all your pages and API resources efficiently without crawling.",
58
64
  fail: "Without a sitemap, AI agents must crawl your site blindly — they may miss important pages and API resources.",
@@ -1 +1 @@
1
- {"version":3,"file":"explanations.js","sourceRoot":"","sources":["../../src/core/explanations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explanations.js","sourceRoot":"","sources":["../../src/core/explanations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGvD,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAgRD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAoCvB"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGvD,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmUD;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAoCvB"}
@@ -34,6 +34,57 @@ function classifyFetchError(error, url) {
34
34
  return { ok: false, error: { kind: "unknown", message: String(error), url } };
35
35
  }
36
36
  // ---------------------------------------------------------------------------
37
+ // Streaming body reader
38
+ // ---------------------------------------------------------------------------
39
+ /**
40
+ * Read response body as a string, stopping early when maxBytes is reached.
41
+ *
42
+ * Uses the response body ReadableStream for chunk-by-chunk reading,
43
+ * cancelling the stream once the byte limit is exceeded. This prevents
44
+ * downloading multi-megabyte responses when only the first portion is needed.
45
+ *
46
+ * Falls back to response.text() if no body stream is available.
47
+ */
48
+ async function readBodyStream(response, maxBytes) {
49
+ const stream = response.body;
50
+ if (!stream) {
51
+ // Fallback for environments where body stream isn't available
52
+ const text = await response.text();
53
+ return text.length > maxBytes ? text.slice(0, maxBytes) : text;
54
+ }
55
+ const reader = stream.getReader();
56
+ const chunks = [];
57
+ let totalBytes = 0;
58
+ try {
59
+ while (true) {
60
+ const { done, value } = await reader.read();
61
+ if (done)
62
+ break;
63
+ totalBytes += value.length;
64
+ if (totalBytes > maxBytes) {
65
+ // Keep only what fits within the limit
66
+ const excess = totalBytes - maxBytes;
67
+ chunks.push(value.subarray(0, value.length - excess));
68
+ break;
69
+ }
70
+ chunks.push(value);
71
+ }
72
+ }
73
+ finally {
74
+ try {
75
+ await reader.cancel();
76
+ }
77
+ catch { /* stream may already be closed */ }
78
+ }
79
+ const decoder = new TextDecoder();
80
+ let body = "";
81
+ for (const chunk of chunks) {
82
+ body += decoder.decode(chunk, { stream: true });
83
+ }
84
+ body += decoder.decode(); // flush remaining multi-byte chars
85
+ return body;
86
+ }
87
+ // ---------------------------------------------------------------------------
37
88
  // Bot protection detection
38
89
  // ---------------------------------------------------------------------------
39
90
  function isBotProtected(status, headers) {
@@ -161,11 +212,8 @@ async function fetchOnce(url, options) {
161
212
  error: { kind: "body_too_large", message: `Response body exceeds ${options.maxBodyBytes} bytes`, url: currentUrl },
162
213
  };
163
214
  }
164
- body = await response.text();
165
- // Truncate if body exceeds limit (no Content-Length header case)
166
- if (body.length > options.maxBodyBytes) {
167
- body = body.slice(0, options.maxBodyBytes);
168
- }
215
+ // Stream body with early cancellation at maxBodyBytes
216
+ body = await readBodyStream(response, options.maxBodyBytes);
169
217
  }
170
218
  const success = {
171
219
  ok: true,
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAiB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAoB9C,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,KAAc;IACtB,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,CAAC;IACf,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;CAC9B,CAAC;AAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,SAAS,kBAAkB,CAAC,KAAc,EAAE,GAAW;IACrD,qEAAqE;IACrE,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,KAA0B,CAAC;QAE/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,6BAA6B,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;YACjG,KAAK,cAAc;gBACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,CAAC;YAClG,KAAK,kBAAkB,CAAC;YACxB,KAAK,6BAA6B,CAAC;YACnC,KAAK,iCAAiC,CAAC;YACvC,KAAK,8BAA8B;gBACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;YAC/F;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AAChF,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,KAAK,UAAU,cAAc,CAC3B,QAAkB,EAClB,QAAgB;IAEhB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8DAA8D;QAC9D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;YAC3B,IAAI,UAAU,GAAG,QAAQ,EAAE,CAAC;gBAC1B,uCAAuC;gBACvC,MAAM,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAmC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,SAAS,cAAc,CAAC,MAAc,EAAE,OAA+B;IACrE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,8CAA8C;IAC9C,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEhC,2BAA2B;IAC3B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CACtB,GAAW,EACX,OAQC;IAED,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,uBAAuB;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;IAChF,CAAC;IAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC;QACrD,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrB,0CAA0C;YAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC;gBAC/D,CAAC,CAAC,KAAc;gBAChB,CAAC,CAAC,cAAuB,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC;QACpF,CAAC;QAED,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBACjC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,4FAA4F;gBAC5F,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,2DAA2D;gBAC3D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;oBACxD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;oBACxB,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,0DAA0D;QAC1D,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9B,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvD,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;iBACvI,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,gDAAgD;gBAChD,MAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,QAAQ,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;iBAC5H,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE3B,wCAAwC;YACxC,IAAI,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC7C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,2BAA2B,OAAO,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE;iBAC5G,CAAC;YACJ,CAAC;YAED,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;YAClD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;aACnH,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;aACvI,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,sCAAsC;YACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC7D,IAAI,aAAa,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBACxE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,yBAAyB,OAAO,CAAC,YAAY,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE;iBACnH,CAAC;YACJ,CAAC;YAED,sDAAsD;YACtD,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAgB;YAC3B,EAAE,EAAE,IAAI;YACR,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,YAAY;YACrB,IAAI;YACJ,SAAS;YACT,UAAU,EAAE,CAAC,EAAE,uBAAuB;SACvC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,2BAA2B,OAAO,CAAC,YAAY,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE;KAC5G,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,MAAoB;IACvC,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9B,yCAAyC;IACzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAErE,6BAA6B;IAC7B,IAAI,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,OAQC;IAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,8BAA8B;QAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,OAAiC;IAEjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC;IACzD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC;IAC5D,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,eAAe,CAAC,YAAY,CAAC;IAC3E,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,eAAe,CAAC,YAAY,CAAC;IAC3E,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;IAChD,MAAM,OAAO,GAA2B;QACtC,YAAY,EAAE,UAAU;QACxB,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;KAC5B,CAAC;IAEF,wDAAwD;IACxD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9E,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE;QACvC,MAAM;QACN,OAAO;QACP,YAAY;QACZ,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,IAAI,EAAE,OAAO,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAEzD,uCAAuC;IACvC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "milieu-cli",
3
- "version": "0.1.6",
4
- "description": "Check if AI agents can discover, understand, and use your API",
3
+ "version": "0.1.8",
4
+ "description": "Check if AI agents can discover, understand, and use your product",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",