mcp-stitch 0.1.3 → 0.1.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.
package/README.md CHANGED
@@ -51,6 +51,8 @@ npx -y mcp-stitch
51
51
 
52
52
  You normally do not run that command directly in a terminal. Add it to your MCP client configuration as shown below.
53
53
 
54
+ After the server starts, ask your agent to call `stitch_info` to confirm the installed package version, or `stitch_status` to check required environment variables.
55
+
54
56
  ## Environment
55
57
 
56
58
  Required:
@@ -377,6 +379,7 @@ Keep this in your local Codex config if it contains a real API key.
377
379
  ## Tools
378
380
 
379
381
  - `stitch_status`
382
+ - `stitch_info`
380
383
  - `stitch_list_projects`
381
384
  - `stitch_get_project`
382
385
  - `stitch_create_project`
@@ -395,11 +398,16 @@ Keep this in your local Codex config if it contains a real API key.
395
398
 
396
399
  Mutating tools require `confirm: true`.
397
400
 
401
+ `stitch_export_screen_artifact` can also download build handoff assets into the artifact bundle. By default it saves `screen.html` and `screenshot.*` when Stitch provides those URLs. Set `includeLinkedAssets: true` to download safe HTTPS assets referenced by the HTML into `assets/`, and `rewriteHtmlAssetUrls: true` to point the saved HTML at those local files.
402
+
403
+ Set `versioned: true` to keep repeated exports or variations in nested folders such as `.artifacts/stitch/comment-section/v001`, then `v002`, while keeping each screen's assets together.
404
+
398
405
  ## Safety
399
406
 
400
407
  - Secrets are read from environment variables and are not printed by `stitch_status`.
401
408
  - `STITCH_API_BASE_URL` defaults to Google's Stitch MCP endpoint.
402
409
  - Artifact export paths are constrained to `PROJECT_ROOT` or `STITCH_OUTPUT_DIR`.
410
+ - Linked asset export skips non-HTTPS and private/local hosts, and enforces count/size limits.
403
411
  - Mutating Stitch tools require `confirm: true`.
404
412
 
405
413
  Do not commit `.env`, generated artifact bundles, or Stitch output directories. This repo's `.gitignore` excludes the common local output paths.
package/dist/index.js CHANGED
@@ -7,9 +7,11 @@ import { registerStitchProjectTools } from "./tools/stitchProjects.js";
7
7
  import { registerStitchScreenTools } from "./tools/stitchScreens.js";
8
8
  import { registerStitchDesignSystemTools } from "./tools/stitchDesignSystems.js";
9
9
  import { registerStitchExportTool } from "./tools/stitchExport.js";
10
+ import { getPackageInfo } from "./packageInfo.js";
11
+ const packageInfo = getPackageInfo();
10
12
  const server = new McpServer({
11
- name: "mcp-stitch",
12
- version: "0.5.0",
13
+ name: packageInfo.name,
14
+ version: packageInfo.version,
13
15
  });
14
16
  registerStitchStatusTool(server);
15
17
  registerStitchProjectTools(server);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAClC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAIjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AAErC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,CAAC,CAAC;AAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAClC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAIjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type PackageInfo = {
2
+ name: string;
3
+ version: string;
4
+ };
5
+ export declare function getPackageInfo(): PackageInfo;
6
+ //# sourceMappingURL=packageInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,cAAc,IAAI,WAAW,CAiB5C"}
@@ -0,0 +1,18 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ export function getPackageInfo() {
4
+ try {
5
+ const pkg = require("../package.json");
6
+ return {
7
+ name: typeof pkg.name === "string" ? pkg.name : "mcp-stitch",
8
+ version: typeof pkg.version === "string" ? pkg.version : "unknown",
9
+ };
10
+ }
11
+ catch {
12
+ return {
13
+ name: "mcp-stitch",
14
+ version: "unknown",
15
+ };
16
+ }
17
+ }
18
+ //# sourceMappingURL=packageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAO/C,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAGpC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;YAC5D,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA2CzD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA4EzD"}
@@ -1,6 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { z } from "zod";
3
3
  import { DEFAULT_STITCH_API_BASE_URL, getStitchConfig } from "../config/stitch.js";
4
+ import { getPackageInfo } from "../packageInfo.js";
4
5
  function isConfigured(name) {
5
6
  return Boolean(process.env[name]?.trim());
6
7
  }
@@ -11,15 +12,41 @@ function optionalText(name, fallback) {
11
12
  return isConfigured(name) ? "configured" : fallback;
12
13
  }
13
14
  export function registerStitchStatusTool(server) {
15
+ server.registerTool("stitch_info", {
16
+ description: "Reports the running mcp-stitch package name and version without checking Stitch API configuration.",
17
+ inputSchema: z.object({}),
18
+ }, async () => {
19
+ const packageInfo = getPackageInfo();
20
+ return {
21
+ content: [
22
+ {
23
+ type: "text",
24
+ text: [
25
+ "Stitch MCP info",
26
+ "",
27
+ `- name: ${packageInfo.name}`,
28
+ `- version: ${packageInfo.version}`,
29
+ "- transport: stdio",
30
+ "- package command: npx -y mcp-stitch",
31
+ ].join("\n"),
32
+ },
33
+ ],
34
+ };
35
+ });
14
36
  server.registerTool("stitch_status", {
15
37
  description: "Checks Stitch MCP setup and reports missing required, recommended, and optional environment variables without exposing secret values.",
16
38
  inputSchema: z.object({}),
17
39
  }, async () => {
18
40
  const config = getStitchConfig();
19
41
  const hasProjectRoot = isConfigured("PROJECT_ROOT");
42
+ const packageInfo = getPackageInfo();
20
43
  const lines = [
21
44
  "Stitch setup status",
22
45
  "",
46
+ "Package:",
47
+ `- name: ${packageInfo.name}`,
48
+ `- version: ${packageInfo.version}`,
49
+ "",
23
50
  "Required configuration:",
24
51
  `- GOOGLE_API_KEY: ${configuredText("GOOGLE_API_KEY")}`,
25
52
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,QAAgB;IAClD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,uIAAuI;QACzI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG;YACZ,qBAAqB;YACrB,EAAE;YACF,yBAAyB;YACzB,qBAAqB,cAAc,CAAC,gBAAgB,CAAC,EAAE;YACvD,EAAE;YACF,4BAA4B;YAC5B,mBAAmB,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE;YAC9D,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,kGAAkG;iBACnG,CAAC;YACN,EAAE;YACF,yBAAyB;YACzB,0BAA0B,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,2BAA2B,EAAE,EAAE;YAC/H,wBAAwB,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE;YACzG,wBAAwB,YAAY,CAAC,mBAAmB,EAAE,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE;YAChG,yBAAyB,YAAY,CAAC,oBAAoB,EAAE,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;SACpG,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACvB;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stitchExport.d.ts","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2wBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAkRzD"}
1
+ {"version":3,"file":"stitchExport.d.ts","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0iCpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAuezD"}
@@ -1,5 +1,5 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { lstat, writeFile } from "node:fs/promises";
2
+ import { lstat, mkdir, readdir, writeFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { z } from "zod";
5
5
  import { getStitchConfig } from "../config/stitch.js";
@@ -23,6 +23,9 @@ const ARTIFACT_FILES = [
23
23
  "manifest.json",
24
24
  ];
25
25
  const DEFAULT_ARTIFACT_ROOT = ".artifacts/stitch";
26
+ const DEFAULT_MAX_LINKED_ASSETS = 50;
27
+ const DEFAULT_MAX_DOWNLOAD_BYTES = 25 * 1024 * 1024;
28
+ const VERSION_DIR_PATTERN = /^v(\d{3})$/;
26
29
  function isSafeRelativePathInput(value) {
27
30
  const trimmed = value.trim();
28
31
  if (!trimmed)
@@ -46,6 +49,206 @@ function nowStamp() {
46
49
  function toPrettyJson(value) {
47
50
  return JSON.stringify(value, null, 2);
48
51
  }
52
+ function safeUrl(url) {
53
+ try {
54
+ const parsed = new URL(url);
55
+ if (parsed.protocol !== "https:")
56
+ return null;
57
+ const hostname = parsed.hostname.toLowerCase();
58
+ if (hostname === "localhost" ||
59
+ hostname.endsWith(".localhost") ||
60
+ hostname.endsWith(".local") ||
61
+ hostname === "0.0.0.0" ||
62
+ hostname === "127.0.0.1" ||
63
+ hostname === "::1" ||
64
+ hostname.startsWith("10.") ||
65
+ hostname.startsWith("192.168.") ||
66
+ /^172\.(1[6-9]|2\d|3[0-1])\./.test(hostname)) {
67
+ return null;
68
+ }
69
+ return parsed;
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ function extensionFromContentType(contentType) {
76
+ const normalized = contentType?.split(";")[0]?.trim().toLowerCase();
77
+ switch (normalized) {
78
+ case "text/html":
79
+ return ".html";
80
+ case "image/jpeg":
81
+ return ".jpg";
82
+ case "image/png":
83
+ return ".png";
84
+ case "image/webp":
85
+ return ".webp";
86
+ case "image/gif":
87
+ return ".gif";
88
+ case "image/svg+xml":
89
+ return ".svg";
90
+ case "image/avif":
91
+ return ".avif";
92
+ case "font/woff":
93
+ return ".woff";
94
+ case "font/woff2":
95
+ return ".woff2";
96
+ case "text/css":
97
+ return ".css";
98
+ case "application/javascript":
99
+ case "text/javascript":
100
+ return ".js";
101
+ default:
102
+ return ".bin";
103
+ }
104
+ }
105
+ function extensionFromUrl(url) {
106
+ const extension = path.extname(url.pathname).toLowerCase();
107
+ return /^[a-z0-9.]{2,12}$/.test(extension) ? extension : "";
108
+ }
109
+ function fileNameWithExtension(stem, url, contentType) {
110
+ const extension = extensionFromUrl(url) || extensionFromContentType(contentType);
111
+ return `${stem}${extension}`;
112
+ }
113
+ function assetFileNameStem(prefix, index) {
114
+ return `${prefix}-${String(index).padStart(3, "0")}`;
115
+ }
116
+ function dedupeUrls(urls) {
117
+ const seen = new Set();
118
+ const result = [];
119
+ for (const url of urls) {
120
+ if (seen.has(url))
121
+ continue;
122
+ seen.add(url);
123
+ result.push(url);
124
+ }
125
+ return result;
126
+ }
127
+ function extractLinkedAssetUrls(html, baseUrl) {
128
+ const candidates = [];
129
+ const attrPattern = /\b(?:src|href)=["']([^"']+)["']/gi;
130
+ const cssUrlPattern = /url\(["']?([^"')]+)["']?\)/gi;
131
+ for (const match of html.matchAll(attrPattern)) {
132
+ if (match[1])
133
+ candidates.push(match[1]);
134
+ }
135
+ for (const match of html.matchAll(cssUrlPattern)) {
136
+ if (match[1])
137
+ candidates.push(match[1]);
138
+ }
139
+ const urls = candidates
140
+ .map((candidate) => {
141
+ try {
142
+ return new URL(candidate, baseUrl).toString();
143
+ }
144
+ catch {
145
+ return null;
146
+ }
147
+ })
148
+ .filter((url) => Boolean(url))
149
+ .filter((url) => safeUrl(url) !== null);
150
+ return dedupeUrls(urls);
151
+ }
152
+ function isLikelyLinkedAsset(contentType) {
153
+ const normalized = contentType?.split(";")[0]?.trim().toLowerCase();
154
+ return Boolean(normalized &&
155
+ (normalized.startsWith("image/") ||
156
+ normalized.startsWith("font/") ||
157
+ normalized === "text/css" ||
158
+ normalized === "application/javascript" ||
159
+ normalized === "text/javascript"));
160
+ }
161
+ async function downloadUrl(options) {
162
+ const parsed = safeUrl(options.url);
163
+ if (!parsed) {
164
+ return {
165
+ asset: {
166
+ kind: options.kind,
167
+ sourceUrl: options.url,
168
+ status: "skipped",
169
+ reason: "Only safe https URLs are downloaded.",
170
+ },
171
+ };
172
+ }
173
+ try {
174
+ const response = await fetch(parsed);
175
+ const contentType = response.headers.get("content-type") ?? undefined;
176
+ const contentLength = response.headers.get("content-length");
177
+ if (!response.ok) {
178
+ return {
179
+ asset: {
180
+ kind: options.kind,
181
+ sourceUrl: options.url,
182
+ contentType,
183
+ status: "failed",
184
+ reason: `HTTP ${response.status}`,
185
+ },
186
+ };
187
+ }
188
+ if (options.requireLinkedAssetType && !isLikelyLinkedAsset(contentType)) {
189
+ return {
190
+ asset: {
191
+ kind: options.kind,
192
+ sourceUrl: options.url,
193
+ contentType,
194
+ status: "skipped",
195
+ reason: "Response content type is not a linked asset type.",
196
+ },
197
+ };
198
+ }
199
+ if (contentLength && Number(contentLength) > options.maxBytes) {
200
+ return {
201
+ asset: {
202
+ kind: options.kind,
203
+ sourceUrl: options.url,
204
+ contentType,
205
+ status: "skipped",
206
+ reason: `Content length exceeds ${options.maxBytes} bytes.`,
207
+ },
208
+ };
209
+ }
210
+ const arrayBuffer = await response.arrayBuffer();
211
+ if (arrayBuffer.byteLength > options.maxBytes) {
212
+ return {
213
+ asset: {
214
+ kind: options.kind,
215
+ sourceUrl: options.url,
216
+ contentType,
217
+ bytes: arrayBuffer.byteLength,
218
+ status: "skipped",
219
+ reason: `Downloaded content exceeds ${options.maxBytes} bytes.`,
220
+ },
221
+ };
222
+ }
223
+ const buffer = Buffer.from(arrayBuffer);
224
+ const fileName = options.forcedFileName ?? fileNameWithExtension(options.fileNameStem, parsed, contentType);
225
+ const relativePath = path.join(options.relativeDir, fileName);
226
+ const outputPath = await prepareSafeOutputPath(options.baseRoot, relativePath);
227
+ await writeFile(outputPath, buffer);
228
+ return {
229
+ asset: {
230
+ kind: options.kind,
231
+ sourceUrl: options.url,
232
+ path: outputPath,
233
+ relativePath,
234
+ contentType,
235
+ bytes: buffer.byteLength,
236
+ status: "saved",
237
+ },
238
+ text: contentType?.startsWith("text/") ? buffer.toString("utf8") : undefined,
239
+ };
240
+ }
241
+ catch (error) {
242
+ return {
243
+ asset: {
244
+ kind: options.kind,
245
+ sourceUrl: options.url,
246
+ status: "failed",
247
+ reason: error instanceof Error ? error.message : String(error),
248
+ },
249
+ };
250
+ }
251
+ }
49
252
  function defaultArtifactName(screenId) {
50
253
  const suffix = screenId ? sanitizeFileName(screenId) : "screen";
51
254
  return `stitch-${suffix}-${nowStamp()}`;
@@ -82,6 +285,26 @@ async function getBaseRoot(configOutputDir) {
82
285
  }
83
286
  return { ok: true, baseRoot: path.resolve(configOutputDir), source: "STITCH_OUTPUT_DIR" };
84
287
  }
288
+ async function nextVersionedArtifactPath(options) {
289
+ const basePath = await prepareSafeOutputPath(options.baseRoot, path.join(options.artifactPath, ".version-probe"));
290
+ const versionBaseDir = path.dirname(basePath);
291
+ await mkdir(versionBaseDir, { recursive: true });
292
+ let maxVersion = 0;
293
+ const entries = await readdir(versionBaseDir, { withFileTypes: true });
294
+ for (const entry of entries) {
295
+ if (!entry.isDirectory())
296
+ continue;
297
+ const match = entry.name.match(VERSION_DIR_PATTERN);
298
+ if (!match?.[1])
299
+ continue;
300
+ maxVersion = Math.max(maxVersion, Number(match[1]));
301
+ }
302
+ const version = `v${String(maxVersion + 1).padStart(3, "0")}`;
303
+ return {
304
+ artifactPath: path.join(options.artifactPath, version),
305
+ version,
306
+ };
307
+ }
85
308
  function defaultArtifactPath(payload, screenId) {
86
309
  const screen = getScreen(payload);
87
310
  const title = getString(screen, "title");
@@ -672,6 +895,14 @@ function createManifest(options) {
672
895
  mode: options.outputMode,
673
896
  },
674
897
  paths: options.paths,
898
+ downloadedAssets: options.downloadedAssets,
899
+ version: options.versionInfo.enabled
900
+ ? {
901
+ enabled: true,
902
+ baseArtifactPath: options.versionInfo.baseArtifactPath,
903
+ version: options.versionInfo.version,
904
+ }
905
+ : { enabled: false },
675
906
  };
676
907
  }
677
908
  export function registerStitchExportTool(server) {
@@ -708,8 +939,47 @@ export function registerStitchExportTool(server) {
708
939
  .describe("Legacy workspace-relative artifact bundle directory, for example exports/my-screen."),
709
940
  rawGetScreenInput: z.record(z.string(), z.unknown()).optional(),
710
941
  screenData: z.unknown().optional(),
942
+ versioned: z
943
+ .boolean()
944
+ .optional()
945
+ .default(false)
946
+ .describe("When true, writes into the next nested version folder such as artifactPath/v001, then v002."),
947
+ includeHtml: z
948
+ .boolean()
949
+ .optional()
950
+ .default(true)
951
+ .describe("Download the screen htmlCode.downloadUrl into screen.html when present."),
952
+ includeScreenshot: z
953
+ .boolean()
954
+ .optional()
955
+ .default(true)
956
+ .describe("Download the screen screenshot.downloadUrl into screenshot.* when present."),
957
+ includeLinkedAssets: z
958
+ .boolean()
959
+ .optional()
960
+ .default(false)
961
+ .describe("Download safe HTTPS assets referenced by the exported HTML into assets/."),
962
+ rewriteHtmlAssetUrls: z
963
+ .boolean()
964
+ .optional()
965
+ .default(false)
966
+ .describe("Rewrite saved screen.html to point at downloaded local asset files."),
967
+ maxLinkedAssets: z
968
+ .number()
969
+ .int()
970
+ .min(1)
971
+ .max(200)
972
+ .optional()
973
+ .default(DEFAULT_MAX_LINKED_ASSETS),
974
+ maxDownloadBytes: z
975
+ .number()
976
+ .int()
977
+ .min(1024)
978
+ .max(100 * 1024 * 1024)
979
+ .optional()
980
+ .default(DEFAULT_MAX_DOWNLOAD_BYTES),
711
981
  },
712
- }, async ({ screenId, projectId, artifactPath, artifactName, relativePath, rawGetScreenInput, screenData }) => {
982
+ }, async ({ screenId, projectId, artifactPath, artifactName, relativePath, rawGetScreenInput, screenData, versioned = false, includeHtml = true, includeScreenshot = true, includeLinkedAssets = false, rewriteHtmlAssetUrls = false, maxLinkedAssets = DEFAULT_MAX_LINKED_ASSETS, maxDownloadBytes = DEFAULT_MAX_DOWNLOAD_BYTES, }) => {
713
983
  if (!screenData && !screenId && !rawGetScreenInput) {
714
984
  return {
715
985
  content: [
@@ -807,11 +1077,38 @@ export function registerStitchExportTool(server) {
807
1077
  };
808
1078
  }
809
1079
  const outputMode = artifactPath || relativePath ? "artifactPath" : artifactName ? "artifactName" : "default";
810
- const relativeDir = artifactPath ??
1080
+ const baseRelativeDir = artifactPath ??
811
1081
  relativePath ??
812
1082
  (artifactName
813
1083
  ? path.join("exports", sanitizeFileName(artifactName))
814
1084
  : defaultArtifactPath(payload, screenId));
1085
+ let relativeDir = baseRelativeDir;
1086
+ let versionInfo = { enabled: false };
1087
+ if (versioned) {
1088
+ try {
1089
+ const versionedPath = await nextVersionedArtifactPath({
1090
+ baseRoot: baseRootInfo.baseRoot,
1091
+ artifactPath: baseRelativeDir,
1092
+ });
1093
+ relativeDir = versionedPath.artifactPath;
1094
+ versionInfo = {
1095
+ enabled: true,
1096
+ baseArtifactPath: baseRelativeDir,
1097
+ version: versionedPath.version,
1098
+ };
1099
+ }
1100
+ catch (error) {
1101
+ const message = error instanceof Error ? error.message : String(error);
1102
+ return {
1103
+ content: [
1104
+ {
1105
+ type: "text",
1106
+ text: `Invalid versioned output path.\n\n${message}`,
1107
+ },
1108
+ ],
1109
+ };
1110
+ }
1111
+ }
815
1112
  const outputPaths = {
816
1113
  "raw.json": "",
817
1114
  "screen-summary.md": "",
@@ -855,6 +1152,107 @@ export function registerStitchExportTool(server) {
855
1152
  const acceptanceCriteria = buildAcceptanceCriteria(payload);
856
1153
  const testPlan = buildTestPlan(payload);
857
1154
  const questions = buildQuestions(payload);
1155
+ const allOutputPaths = { ...outputPaths };
1156
+ const downloadedAssets = [];
1157
+ const screen = getScreen(payload);
1158
+ const htmlCode = getNestedRecord(screen, "htmlCode");
1159
+ const screenshot = getNestedRecord(screen, "screenshot");
1160
+ const htmlUrl = getString(htmlCode, "downloadUrl");
1161
+ const screenshotUrl = getString(screenshot, "downloadUrl");
1162
+ let savedHtmlPath;
1163
+ let savedHtmlText;
1164
+ if (includeHtml && htmlUrl) {
1165
+ const htmlDownload = await downloadUrl({
1166
+ url: htmlUrl,
1167
+ baseRoot: baseRootInfo.baseRoot,
1168
+ relativeDir,
1169
+ fileNameStem: "screen",
1170
+ forcedFileName: "screen.html",
1171
+ kind: "html",
1172
+ maxBytes: maxDownloadBytes,
1173
+ });
1174
+ downloadedAssets.push(htmlDownload.asset);
1175
+ if (htmlDownload.asset.status === "saved") {
1176
+ savedHtmlPath = htmlDownload.asset.path;
1177
+ savedHtmlText = htmlDownload.text;
1178
+ if (htmlDownload.asset.relativePath) {
1179
+ allOutputPaths["screen.html"] = htmlDownload.asset.path ?? "";
1180
+ }
1181
+ }
1182
+ }
1183
+ if (includeScreenshot && screenshotUrl) {
1184
+ const screenshotDownload = await downloadUrl({
1185
+ url: screenshotUrl,
1186
+ baseRoot: baseRootInfo.baseRoot,
1187
+ relativeDir,
1188
+ fileNameStem: "screenshot",
1189
+ kind: "screenshot",
1190
+ maxBytes: maxDownloadBytes,
1191
+ });
1192
+ downloadedAssets.push(screenshotDownload.asset);
1193
+ if (screenshotDownload.asset.status === "saved" && screenshotDownload.asset.path) {
1194
+ allOutputPaths[path.basename(screenshotDownload.asset.path)] = screenshotDownload.asset.path;
1195
+ }
1196
+ }
1197
+ if (includeLinkedAssets && htmlUrl) {
1198
+ if (!savedHtmlText) {
1199
+ const htmlDownload = await downloadUrl({
1200
+ url: htmlUrl,
1201
+ baseRoot: baseRootInfo.baseRoot,
1202
+ relativeDir,
1203
+ fileNameStem: "screen",
1204
+ forcedFileName: "screen.html",
1205
+ kind: "html",
1206
+ maxBytes: maxDownloadBytes,
1207
+ });
1208
+ downloadedAssets.push(htmlDownload.asset);
1209
+ if (htmlDownload.asset.status === "saved") {
1210
+ savedHtmlPath = htmlDownload.asset.path;
1211
+ savedHtmlText = htmlDownload.text;
1212
+ if (htmlDownload.asset.path) {
1213
+ allOutputPaths["screen.html"] = htmlDownload.asset.path;
1214
+ }
1215
+ }
1216
+ }
1217
+ const linkedUrls = savedHtmlText
1218
+ ? extractLinkedAssetUrls(savedHtmlText, htmlUrl).slice(0, maxLinkedAssets)
1219
+ : [];
1220
+ const rewriteMap = new Map();
1221
+ for (const [index, linkedUrl] of linkedUrls.entries()) {
1222
+ const linkedAsset = await downloadUrl({
1223
+ url: linkedUrl,
1224
+ baseRoot: baseRootInfo.baseRoot,
1225
+ relativeDir: path.join(relativeDir, "assets"),
1226
+ fileNameStem: assetFileNameStem("asset", index + 1),
1227
+ kind: "linked-asset",
1228
+ maxBytes: maxDownloadBytes,
1229
+ requireLinkedAssetType: true,
1230
+ });
1231
+ downloadedAssets.push(linkedAsset.asset);
1232
+ if (linkedAsset.asset.status === "saved" && linkedAsset.asset.path) {
1233
+ allOutputPaths[`assets/${path.basename(linkedAsset.asset.path)}`] = linkedAsset.asset.path;
1234
+ if (savedHtmlPath) {
1235
+ const localReference = path
1236
+ .relative(path.dirname(savedHtmlPath), linkedAsset.asset.path)
1237
+ .split(path.sep)
1238
+ .join("/");
1239
+ rewriteMap.set(linkedUrl, localReference.startsWith(".") ? localReference : `./${localReference}`);
1240
+ }
1241
+ }
1242
+ }
1243
+ if (rewriteHtmlAssetUrls && savedHtmlPath && savedHtmlText && rewriteMap.size > 0) {
1244
+ let rewrittenHtml = savedHtmlText;
1245
+ for (const [remoteUrl, localReference] of rewriteMap) {
1246
+ rewrittenHtml = rewrittenHtml.split(remoteUrl).join(localReference);
1247
+ }
1248
+ await writeFile(savedHtmlPath, rewrittenHtml, "utf8");
1249
+ }
1250
+ }
1251
+ if (downloadedAssets.length > 0) {
1252
+ const assetManifestPath = await prepareSafeOutputPath(baseRootInfo.baseRoot, path.join(relativeDir, "asset-manifest.json"));
1253
+ allOutputPaths["asset-manifest.json"] = assetManifestPath;
1254
+ await writeFile(assetManifestPath, `${toPrettyJson({ generatedAt, assets: downloadedAssets })}\n`, "utf8");
1255
+ }
858
1256
  const manifest = createManifest({
859
1257
  payload,
860
1258
  input: {
@@ -866,10 +1264,19 @@ export function registerStitchExportTool(server) {
866
1264
  ...(rawGetScreenInput ? { rawGetScreenInput } : {}),
867
1265
  ...(screenData ? { screenDataProvided: true } : {}),
868
1266
  ...(fetchInput ? { fetchInput } : {}),
1267
+ versioned,
1268
+ includeHtml,
1269
+ includeScreenshot,
1270
+ includeLinkedAssets,
1271
+ rewriteHtmlAssetUrls,
1272
+ maxLinkedAssets,
1273
+ maxDownloadBytes,
869
1274
  },
870
1275
  resolver: resolverInfo,
871
1276
  generatedAt,
872
- paths: outputPaths,
1277
+ paths: allOutputPaths,
1278
+ downloadedAssets,
1279
+ versionInfo,
873
1280
  artifactPath: relativeDir,
874
1281
  resolvedOutputDir: path.dirname(outputPaths["manifest.json"]),
875
1282
  baseRoot: baseRootInfo.baseRoot,
@@ -888,9 +1295,11 @@ export function registerStitchExportTool(server) {
888
1295
  await writeFile(outputPaths["test-plan.md"], `${testPlan}\n`, "utf8");
889
1296
  await writeFile(outputPaths["questions.md"], `${questions}\n`, "utf8");
890
1297
  await writeFile(outputPaths["manifest.json"], `${toPrettyJson(manifest)}\n`, "utf8");
891
- const screen = getScreen(payload);
892
1298
  const title = getString(screen, "title") ?? "(untitled)";
893
1299
  const screenName = getString(screen, "name") ?? "(unknown)";
1300
+ const savedCount = downloadedAssets.filter((asset) => asset.status === "saved").length;
1301
+ const skippedCount = downloadedAssets.filter((asset) => asset.status === "skipped").length;
1302
+ const failedCount = downloadedAssets.filter((asset) => asset.status === "failed").length;
894
1303
  return {
895
1304
  content: [
896
1305
  {
@@ -899,10 +1308,14 @@ export function registerStitchExportTool(server) {
899
1308
  `Title: ${title}\n` +
900
1309
  `Screen: ${screenName}\n` +
901
1310
  `Artifact path: ${relativeDir}\n` +
1311
+ (versionInfo.enabled
1312
+ ? `Version: ${versionInfo.version} (${versionInfo.baseArtifactPath})\n`
1313
+ : "") +
902
1314
  `Base root: ${baseRootInfo.baseRoot} (${baseRootInfo.source})\n` +
903
1315
  `Output directory: ${path.dirname(outputPaths["manifest.json"])}\n\n` +
1316
+ `Downloaded assets: ${savedCount} saved, ${skippedCount} skipped, ${failedCount} failed\n\n` +
904
1317
  "Files:\n" +
905
- ARTIFACT_FILES.map((fileName) => `- ${fileName}: ${outputPaths[fileName]}`).join("\n"),
1318
+ Object.entries(allOutputPaths).map(([fileName, filePath]) => `- ${fileName}: ${filePath}`).join("\n"),
906
1319
  },
907
1320
  ],
908
1321
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stitchExport.js","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAA4B,MAAM,kCAAkC,CAAC;AAEhG,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,cAAc,GAAG;IACrB,UAAU;IACV,mBAAmB;IACnB,2BAA2B;IAC3B,wBAAwB;IACxB,oBAAoB;IACpB,SAAS;IACT,gBAAgB;IAChB,iBAAiB;IACjB,wBAAwB;IACxB,cAAc;IACd,cAAc;IACd,eAAe;CACP,CAAC;AACX,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAoBlD,SAAS,uBAAuB,CAAC,KAAa;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAClE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAiB;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChE,OAAO,UAAU,MAAM,IAAI,QAAQ,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,IAAI,GAAG,KAAK;SACf,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEzB,OAAO,IAAI,IAAI,QAAQ,CAAC;AAC1B,CAAC;AAMD,KAAK,UAAU,WAAW,CAAC,eAAuB;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kDAAkD,QAAQ,EAAE;iBACpE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,mEAAmE,QAAQ,EAAE;aACrF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,QAAiB;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC;IACjG,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,GAAmC,EAAE,GAAW;IACjE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,iBAAiB,GAAG,GAAG,EAAE,iBAAiB,CAAC;IACjD,IAAI,iBAAiB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,GAAmC,EAAE,GAAW;IACvE,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,MAAM,GAAG,WAAW,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,QAAQ,GAAG,EAAE;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC1F,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;IACxC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAAe,EAAE,QAAgB;IACnD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAC5C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsC;IAChE,MAAM,MAAM,GAAG;QACb,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3B,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC;QAC/D,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,eAAe,CAAC;KACtE,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsC;IAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5D,OAAO;QACL,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,sBAAsB,EAAE,aAAa,CAAC;YACpC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,WAAW;SACf,CAAC;QACF,qBAAqB,EAAE,aAAa,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsC,EAAE,QAAQ,GAAG,EAAE;IAChF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;SAC3G,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,MAAsC;IACtD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACvE,OAAO,eAAe,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC;IAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,WAAW,CAAC;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,WAAW,CAAC;IAClE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,WAAW,CAAC;IACpE,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5D,OAAO;QACL,KAAK,KAAK,EAAE;QACZ,EAAE;QACF,QAAQ;QACR,kBAAkB,IAAI,IAAI,WAAW,EAAE;QACvC,iBAAiB,oBAAoB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE;QAC5D,gBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE;QACrF,EAAE;QACF,YAAY;QACZ,MAAM,IAAI,OAAO,IAAI,2DAA2D;QAChF,EAAE;QACF,oBAAoB;QACpB,aAAa,MAAM,EAAE;QACrB,kBAAkB,UAAU,EAAE;QAC9B,kBAAkB,UAAU,EAAE;QAC9B,mBAAmB,WAAW,EAAE;QAChC,YAAY,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE;QACvD,aAAa,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE;QACzD,EAAE;QACF,wBAAwB;QACxB,UAAU,CAAC,WAAW,EAAE,kKAAkK,CAAC;KAC5L,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEnD,OAAO;QACL,6BAA6B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE;QAC5E,EAAE;QACF,WAAW;QACX,kBAAkB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE;QAC5D,oBAAoB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE;QAC7D,wBAAwB,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,QAAQ,EAAE;QACxE,0BAA0B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE;QACrE,8BAA8B,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,QAAQ,EAAE;QAChF,qBAAqB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE;QACjE,EAAE;QACF,WAAW;QACX,kBAAkB,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,WAAW,EAAE;QAClE,kBAAkB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE;QACzG,mBAAmB,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,WAAW,EAAE;QACtE,EAAE;QACF,2BAA2B;QAC3B,UAAU,CAAC,WAAW,EAAE,iEAAiE,CAAC;QAC1F,EAAE;QACF,iBAAiB;QACjB,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,qHAAqH,CAAC;QAC1K,EAAE;QACF,kBAAkB;QAClB,oBAAoB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,gBAAgB,EAAE,aAAa,CAAC,IAAI,WAAW,EAAE;QAClH,EAAE;QACF,WAAW;QACX,UAAU,CAAC,WAAW,EAAE,gCAAgC,CAAC;QACzD,EAAE;QACF,kBAAkB;QAClB,UAAU,CAAC,WAAW,EAAE,sCAAsC,CAAC;QAC/D,EAAE;QACF,aAAa;QACb,sEAAsE;QACtE,qGAAqG;KACtG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO;QACL,MAAM;QACN,QAAQ;QACR,KAAK;QACL,WAAW;QACX,QAAQ;QACR,UAAU;QACV,WAAW;QACX,KAAK;QACL,MAAM;QACN,OAAO;QACP,aAAa;QACb,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAE5D,OAAO;QACL,0BAA0B,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE;QAC1D,EAAE;QACF,iBAAiB;QACjB,4BAA4B,UAAU,IAAI,WAAW,EAAE;QACvD,8BAA8B,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,MAAM,MAAM,IAAI,SAAS,EAAE;QACtG,sCAAsC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC9D,4CAA4C,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1E,sCAAsC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAChE,EAAE;QACF,sCAAsC;QACtC,iGAAiG;QACjG,gFAAgF;QAChF,qHAAqH;QACrH,0HAA0H;QAC1H,EAAE;QACF,0BAA0B;QAC1B,+DAA+D;QAC/D,yFAAyF;QACzF,mEAAmE;QACnE,4EAA4E;QAC5E,yGAAyG;QACzG,4HAA4H;QAC5H,8EAA8E;QAC9E,EAAE;QACF,2BAA2B;QAC3B,UAAU,CACR;YACE,CAAC,OAAO,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE;YACtE,CAAC,aAAa,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,EAAE;YAClF,CAAC,SAAS,CAAC,CAAC,CAAC,0GAA0G,CAAC,CAAC,CAAC,EAAE;YAC5H,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,6EAA6E,CAAC,CAAC,CAAC,EAAE;YAC7H,kHAAkH;SACnH,CAAC,MAAM,CAAC,OAAO,CAAC,EACjB,iEAAiE,CAClE;QACD,EAAE;QACF,wBAAwB;QACxB,0FAA0F;QAC1F,oEAAoE;QACpE,uFAAuF;QACvF,8EAA8E;QAC9E,iEAAiE;QACjE,EAAE;QACF,8BAA8B;QAC9B,4BAA4B,UAAU,IAAI,WAAW,GAAG;QACxD,uBAAuB,KAAK,IAAI,SAAS,MAAM,MAAM,IAAI,SAAS,GAAG;QACrE,oHAAoH;QACpH,6FAA6F;KAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG;QACb,UAAU;QACV,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC;QACjD,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;QACvC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;QACzC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC/C,kBAAkB,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;KACxD,CAAC;IACF,MAAM,QAAQ,GAA0B;QACtC;YACE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC,CAAC,kBAAkB;YAC1E,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,gFAAgF;YAC3F,gBAAgB,EAAE;gBAChB;oBACE,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,UAAU;oBACtB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW;oBACnC,YAAY,EAAE,EAAE;iBACjB;aACF;SACF;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,uFAAuF;YAClG,gBAAgB,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,YAAY,EAAE,CAAC,iCAAiC,CAAC;aAClD,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,IAAI;YACJ,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAC;QACH,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,sCAAsC;SACnD,CAAC,CAAC;QACH,KAAK,EAAE;YACL,4FAA4F;YAC5F,0FAA0F;SAC3F;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO;QACL,WAAW,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE;QAC3C,EAAE;QACF,sBAAsB;QACtB,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,6EAA6E,CAAC;QACtH,EAAE;QACF,4CAA4C;QAC5C,UAAU,CACR,KAAK,CAAC,SAAS,CAAC,sBAAsB,EACtC,oDAAoD,CACrD;QACD,EAAE;QACF,kIAAkI;QAClI,EAAE;QACF,4CAA4C;QAC5C,UAAU,CACR,KAAK,CAAC,SAAS,CAAC,qBAAqB,EACrC,yCAAyC,CAC1C;QACD,EAAE;QACF,eAAe;QACf,wHAAwH;QACxH,0KAA0K;QAC1K,2KAA2K;QAC3K,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE/D,OAAO;QACL,kBAAkB,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE;QAClD,EAAE;QACF,4BAA4B;QAC5B,kBAAkB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,eAAe,EAAE;QAC5E,YAAY,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE;QACjE,aAAa,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,eAAe,EAAE;QACnE,EAAE;QACF,2BAA2B;QAC3B,UAAU,CAAC,WAAW,EAAE,qEAAqE,CAAC;QAC9F,EAAE;QACF,2BAA2B;QAC3B,UAAU,CAAC,WAAW,EAAE,2EAA2E,CAAC;QACpG,EAAE;QACF,yBAAyB;QACzB,UAAU,CACR;YACE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC/E,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,iBAAiB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACvG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC3F,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC9F,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,iBAAiB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACvG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/F,CAAC,MAAM,CAAC,OAAO,CAAC,EACjB,4FAA4F,CAC7F;QACD,EAAE;QACF,4BAA4B;QAC5B,mIAAmI;QACnI,kIAAkI;KACnI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAEjE,OAAO;QACL,mBAAmB,KAAK,EAAE;QAC1B,EAAE;QACF,iTAAiT;QACjT,EAAE;QACF,+BAA+B;QAC/B,wBAAwB;QACxB,gCAAgC;QAChC,6BAA6B;QAC7B,yBAAyB;QACzB,cAAc;QACd,qBAAqB;QACrB,yFAAyF;QACzF,EAAE;QACF,wBAAwB;QACxB,sBAAsB,KAAK,EAAE;QAC7B,4BAA4B,UAAU,EAAE;QACxC,8BAA8B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE;QACvL,yBAAyB,OAAO,IAAI,eAAe,EAAE;QACrD,+BAA+B,aAAa,IAAI,eAAe,EAAE;QACjE,sCAAsC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAChE,EAAE;QACF,gCAAgC;QAChC,oFAAoF;QACpF,sDAAsD;QACtD,iGAAiG;QACjG,wJAAwJ;QACxJ,6JAA6J;QAC7J,6KAA6K;QAC7K,6CAA6C;QAC7C,EAAE;QACF,0BAA0B;QAC1B,gDAAgD;QAChD,+DAA+D;QAC/D,kIAAkI;KACnI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAE5D,OAAO;QACL,0BAA0B,KAAK,EAAE;QACjC,EAAE;QACF,iGAAiG;QACjG,8EAA8E;QAC9E,6IAA6I;QAC7I,kHAAkH;QAClH,0IAA0I;QAC1I,SAAS;YACP,CAAC,CAAC,iGAAiG;YACnG,CAAC,CAAC,iIAAiI;QACrI,qIAAqI;QACrI,kGAAkG;QAClG,yFAAyF;QACzF,0FAA0F;KAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;IAEhD,OAAO;QACL,gBAAgB,KAAK,EAAE;QACvB,EAAE;QACF,yBAAyB;QACzB,2FAA2F;QAC3F,6GAA6G;QAC7G,EAAE;QACF,oBAAoB;QACpB,GAAG,CACD,WAAW,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7F,CAAC,CAAC,CAAC,6HAA6H,CAAC,CACpI;QACD,+DAA+D;QAC/D,2FAA2F;QAC3F,4HAA4H;QAC5H,EAAE;QACF,+BAA+B;QAC/B,mDAAmD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,SAAS,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,GAAG;QACvJ,mEAAmE;QACnE,6DAA6D;QAC7D,EAAE;QACF,qBAAqB;QACrB,qFAAqF;QACrF,oGAAoG;QACpG,kFAAkF;KACnF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC;IAC7C,MAAM,SAAS,GAAG;QAChB,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YACtC,CAAC,CAAC,gIAAgI;YAClI,CAAC,CAAC,EAAE;QACN,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,qHAAqH;YACvH,CAAC,CAAC,EAAE;QACN,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,8GAA8G;YAChH,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC;YACjC,CAAC,CAAC,wHAAwH;YAC1H,CAAC,CAAC,EAAE;QACN,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC;YACvC,CAAC,CAAC,6GAA6G;YAC/G,CAAC,CAAC,EAAE;QACN,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC;YACzC,CAAC,CAAC,iGAAiG;YACnG,CAAC,CAAC,EAAE;QACN,wFAAwF;QACxF,oFAAoF;QACpF,mGAAmG;KACpG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO;QACL,gBAAgB,KAAK,EAAE;QACvB,EAAE;QACF,mHAAmH;QACnH,EAAE;QACF,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,OAWvB;IACC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE;YACN,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC;YACrC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC;YAC9D,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;SAClC;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE;YACN,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,IAAI,EAAE,OAAO,CAAC,UAAU;SACzB;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,+BAA+B,EAC/B;QACE,WAAW,EACT,gbAAgb;QAClb,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,EACL,kGAAkG;aACrG,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,gGAAgG,CAAC;YAC7G,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,KAAK,CAAC,qBAAqB,EAAE,6DAA6D,CAAC;iBAC3F,QAAQ,EAAE;YACb,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,EACL,kGAAkG;aACrG,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,qFAAqF,CAAC;YAClG,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/D,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACnC;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;QACzG,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,yGAAyG;qBAC5G;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,IAAI,OAAO,GAAY,UAAU,CAAC;QAClC,IAAI,UAAkC,CAAC;QACvC,IAAI,YAAqB,CAAC;QAE1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,MAAM,QAAQ,GAAG,gBAAgB;gBAC/B,CAAC,CAAC;oBACE,EAAE,EAAE,IAAa;oBACjB,KAAK,EAAE,gBAAgB;oBACvB,QAAQ,EAAE;wBACR,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,gBAAgB,CAAC,SAAS;wBACrC,QAAQ,EAAE,oBAAoB;wBAC9B,WAAW,EAAE,gBAAgB,CAAC,IAAI;wBAClC,eAAe,EAAE,gBAAgB,CAAC,QAAQ;qBAC3C;iBACF;gBACH,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,MAAM,kBAAkB,CAAC;wBACvB,MAAM;wBACN,cAAc,EAAE,QAAQ;wBACxB,eAAe,EAAE,SAAS;qBAC3B,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,oIAAoI;yBACvI;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,QAAQ,CAAC,KAAK;yBACrB;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,iBAAiB,IAAI,QAAQ,EAAE,KAAK,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,oIAAoI;yBACvI;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,UAAU,GAAG,cAAc,CAAC;YAC5B,YAAY,GAAG,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAE5D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACxC,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,kEAAkE,WAAW,CAAC,KAAK,EAAE;yBAC5F;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,CAAC,KAAK;qBACzB;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GACd,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,MAAM,WAAW,GACf,YAAY;YACZ,YAAY;YACZ,CAAC,YAAY;gBACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBACtD,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAoD;YACnE,UAAU,EAAE,EAAE;YACd,mBAAmB,EAAE,EAAE;YACvB,2BAA2B,EAAE,EAAE;YAC/B,wBAAwB,EAAE,EAAE;YAC5B,oBAAoB,EAAE,EAAE;YACxB,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,EAAE;YACrB,wBAAwB,EAAE,EAAE;YAC5B,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,IAAI,CAAC;YACH,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACtC,WAAW,CAAC,QAAQ,CAAC,GAAG,MAAM,qBAAqB,CACjD,YAAY,CAAC,QAAQ,EACrB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CACjC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2BAA2B,OAAO,EAAE;qBAC3C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,QAAQ,GAAG,cAAc,CAAC;gBAC9B,OAAO;gBACP,KAAK,EAAE;oBACL,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC;gBACD,QAAQ,EAAE,YAAY;gBACtB,WAAW;gBACX,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,WAAW;gBACzB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC7D,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,cAAc,EAAE,YAAY,CAAC,MAAM;gBACnC,UAAU;aACX,CAAC,CAAC;YAEH,MAAM,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,SAAS,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,GAAG,aAAa,IAAI,EAAE,MAAM,CAAC,CAAC;YAChF,MAAM,SAAS,CAAC,WAAW,CAAC,2BAA2B,CAAC,EAAE,GAAG,qBAAqB,IAAI,EAAE,MAAM,CAAC,CAAC;YAChG,MAAM,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,GAAG,kBAAkB,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1F,MAAM,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9F,MAAM,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,GAAG,UAAU,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,GAAG,WAAW,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,GAAG,kBAAkB,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1F,MAAM,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,GAAG,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,YAAY,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC;YAE5D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,0DAA0D;4BAC1D,UAAU,KAAK,IAAI;4BACnB,WAAW,UAAU,IAAI;4BACzB,kBAAkB,WAAW,IAAI;4BACjC,cAAc,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,KAAK;4BAChE,qBAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM;4BACrE,UAAU;4BACV,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gCAAgC,OAAO,EAAE;qBAChD;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stitchExport.js","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"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"}
@@ -25,26 +25,30 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
25
25
  - Checks Stitch MCP setup and reports missing required, recommended, and optional environment variables without exposing secret values.
26
26
  - Input: none
27
27
 
28
- 2. stitch_list_projects
28
+ 2. stitch_info
29
+ - Reports the running mcp-stitch package name, package version, transport, and npx command.
30
+ - Input: none
31
+
32
+ 3. stitch_list_projects
29
33
  - Lists Stitch projects.
30
34
  - Input:
31
35
  - filter (optional)
32
36
  - rawInput (optional override for exact Stitch request shape)
33
37
 
34
- 3. stitch_get_project
38
+ 4. stitch_get_project
35
39
  - Gets one project.
36
40
  - Input:
37
41
  - projectId (optional if rawInput used; bare id or projects/{id}, normalized to full resource name)
38
42
  - rawInput (optional)
39
43
 
40
- 4. stitch_list_screens
44
+ 5. stitch_list_screens
41
45
  - Lists screens in a project.
42
46
  - Response is formatted as a handoff inventory with title, bare `screenId`, full `screenName`, dimensions, and whether screenshot/HTML URLs are present.
43
47
  - Input:
44
48
  - projectId (optional if rawInput used; bare id or projects/{id}, normalized to bare id)
45
49
  - rawInput (optional)
46
50
 
47
- 5. stitch_get_screen
51
+ 6. stitch_get_screen
48
52
  - Gets one screen.
49
53
  - Response highlights the bare `screenId`, full `screenName`, next `stitch_get_screen` call shape, `screenshot.downloadUrl`, and `htmlCode.downloadUrl` when present.
50
54
  - Input:
@@ -52,7 +56,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
52
56
  - projectId (optional; bare id or projects/{id}, used with bare screenId or partial title/name lookup)
53
57
  - rawInput (optional)
54
58
 
55
- 6. stitch_generate_screen_from_text
59
+ 7. stitch_generate_screen_from_text
56
60
  - Generates a screen from text.
57
61
  - Response uses the same asset handoff format as `stitch_get_screen`, so agents can pass the returned bare `screenId` directly into later screen tools.
58
62
  - Input:
@@ -60,7 +64,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
60
64
  - projectId (required unless rawInput used; bare id preferred; projects/{id} is normalized by the adapter)
61
65
  - rawInput (optional)
62
66
 
63
- 7. stitch_export_screen_artifact
67
+ 8. stitch_export_screen_artifact
64
68
  - Exports a screen artifact bundle under PROJECT_ROOT, with STITCH_OUTPUT_DIR as fallback when PROJECT_ROOT is unset.
65
69
  - Input:
66
70
  - screenData (optional direct payload to export)
@@ -70,15 +74,22 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
70
74
  - artifactPath (optional workspace-relative bundle directory, for example `.artifacts/features/settings/design`)
71
75
  - artifactName (optional backward-compatible fallback)
72
76
  - relativePath (optional legacy bundle directory, treated like artifactPath)
73
-
74
- 8. stitch_create_project
77
+ - versioned (optional, default false; writes into the next nested version folder such as `artifactPath/v001`, then `v002`)
78
+ - includeHtml (optional, default true; downloads `htmlCode.downloadUrl` to `screen.html` when present)
79
+ - includeScreenshot (optional, default true; downloads `screenshot.downloadUrl` to `screenshot.*` when present)
80
+ - includeLinkedAssets (optional, default false; downloads safe HTTPS assets referenced by saved HTML into `assets/`)
81
+ - rewriteHtmlAssetUrls (optional, default false; rewrites saved HTML to point at downloaded local assets)
82
+ - maxLinkedAssets (optional, default 50, max 200)
83
+ - maxDownloadBytes (optional, default 26214400, max 104857600)
84
+
85
+ 9. stitch_create_project
75
86
  - MUTATING: creates a new Stitch project.
76
87
  - Input:
77
88
  - title (optional)
78
89
  - confirm (required true to execute)
79
90
  - rawInput (optional)
80
91
 
81
- 9. stitch_edit_screens
92
+ 10. stitch_edit_screens
82
93
  - MUTATING: edits existing screens with a text prompt.
83
94
  - Input:
84
95
  - projectId (required unless rawInput used; bare id or projects/{id}, normalized to bare id)
@@ -89,7 +100,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
89
100
  - confirm (required true to execute)
90
101
  - rawInput (optional)
91
102
 
92
- 10. stitch_generate_variants
103
+ 11. stitch_generate_variants
93
104
  - MUTATING: generates variants of existing screens.
94
105
  - Input:
95
106
  - projectId (required unless rawInput used; normalized to bare id)
@@ -104,7 +115,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
104
115
  - confirm (required true to execute)
105
116
  - rawInput (optional)
106
117
 
107
- 11. stitch_upload_design_md
118
+ 12. stitch_upload_design_md
108
119
  - MUTATING: uploads base64-encoded DESIGN.md content to a project.
109
120
  - Input:
110
121
  - projectId (required unless rawInput used; normalized to bare id)
@@ -112,7 +123,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
112
123
  - confirm (required true to execute)
113
124
  - rawInput (optional)
114
125
 
115
- 12. stitch_create_design_system
126
+ 13. stitch_create_design_system
116
127
  - MUTATING: creates a design system, optionally scoped to a project.
117
128
  - Input:
118
129
  - projectId (optional; normalized to bare id)
@@ -128,7 +139,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
128
139
  - confirm (required true to execute)
129
140
  - rawInput (optional)
130
141
 
131
- 13. stitch_create_design_system_from_design_md
142
+ 14. stitch_create_design_system_from_design_md
132
143
  - MUTATING: creates a design system from an uploaded DESIGN.md screen instance.
133
144
  - Input:
134
145
  - projectId (required unless rawInput used; normalized to bare id)
@@ -139,7 +150,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
139
150
  - confirm (required true to execute)
140
151
  - rawInput (optional)
141
152
 
142
- 14. stitch_update_design_system
153
+ 15. stitch_update_design_system
143
154
  - MUTATING: updates an existing design system.
144
155
  - Input:
145
156
  - name (required unless rawInput used; assets/{asset_id} or bare asset id, normalized to full asset resource name)
@@ -148,13 +159,13 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
148
159
  - confirm (required true to execute)
149
160
  - rawInput (optional)
150
161
 
151
- 15. stitch_list_design_systems
162
+ 16. stitch_list_design_systems
152
163
  - Lists design systems. If projectId is omitted, Stitch lists global design systems.
153
164
  - Input:
154
165
  - projectId (optional; normalized to bare id)
155
166
  - rawInput (optional)
156
167
 
157
- 16. stitch_apply_design_system
168
+ 17. stitch_apply_design_system
158
169
  - MUTATING: applies a design system to selected screen instances.
159
170
  - Input:
160
171
  - projectId (required unless rawInput used; normalized to bare id)
@@ -355,9 +366,14 @@ Partial lookup calls `list_screens` for the project, normalizes case and whitesp
355
366
  - `test-plan.md`: suggested unit, component, responsive, accessibility, and e2e test coverage.
356
367
  - `questions.md`: open questions and missing design/product details to resolve.
357
368
  - `manifest.json`: source ids, generated timestamp, artifact paths, caller input, fetch input, and resolver metadata.
369
+ - `screen.html`: downloaded HTML artifact when `includeHtml` is true and `htmlCode.downloadUrl` is present.
370
+ - `screenshot.*`: downloaded screenshot/thumbnail artifact when `includeScreenshot` is true and `screenshot.downloadUrl` is present.
371
+ - `assets/`: downloaded linked HTML assets when `includeLinkedAssets` is true.
372
+ - `asset-manifest.json`: download results for HTML, screenshot, and linked assets, including source URL, local path, content type, byte size, and skipped/failed reasons.
358
373
 
359
374
  The MCP response intentionally does not include raw JSON. It returns the bundle directory, artifact paths, and a short screen summary.
360
375
  Handoff files mark inferred items as inferred and avoid inventing precise design values when the Stitch payload does not include them.
376
+ Linked asset download is intentionally conservative: only safe HTTPS URLs are downloaded, private/local hosts are skipped, and asset count/size limits are enforced.
361
377
 
362
378
  Output location rules:
363
379
 
@@ -365,6 +381,7 @@ Output location rules:
365
381
  - `relativePath` remains as a legacy alias for a caller-provided bundle directory, for example `exports/manual-screen`.
366
382
  - If no path is provided but `artifactName` is provided, the legacy fallback is `exports/{artifactName}`.
367
383
  - If neither `artifactPath` nor `artifactName` is provided, the default is `.artifacts/stitch/{normalized-screen-title-or-screen-id}`.
384
+ - If `versioned` is true, the chosen path becomes the version base and the bundle is written into the next nested `v###` folder, for example `.artifacts/stitch/comment-section/v001`, then `v002`.
368
385
  - The base root is `PROJECT_ROOT` when set. If `PROJECT_ROOT` is not set, `STITCH_OUTPUT_DIR` remains the fallback/testing base.
369
386
  - Empty `PROJECT_ROOT` is treated as missing. A non-empty `PROJECT_ROOT` must already exist and be a directory; invalid roots are rejected instead of being created.
370
387
  - Absolute paths, `..`, suspicious path segments, symlink escapes, and paths outside the base root are rejected.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-stitch",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "MCP server for Google Stitch.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {