@vscode/component-explorer-cli 0.2.1-1 → 0.2.1-10
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 +8 -0
- package/dist/_virtual/_build-info.js +1 -1
- package/dist/browserPage.d.ts +5 -5
- package/dist/browserPage.d.ts.map +1 -1
- package/dist/browserPage.js +35 -2
- package/dist/browserPage.js.map +1 -1
- package/dist/commands/acceptCommand.d.ts +1 -0
- package/dist/commands/acceptCommand.d.ts.map +1 -1
- package/dist/commands/acceptCommand.js +17 -8
- package/dist/commands/acceptCommand.js.map +1 -1
- package/dist/commands/artifactCommand.d.ts +14 -0
- package/dist/commands/artifactCommand.d.ts.map +1 -0
- package/dist/commands/checkStabilityCommand.d.ts +1 -0
- package/dist/commands/checkStabilityCommand.d.ts.map +1 -1
- package/dist/commands/checkStabilityCommand.js +22 -18
- package/dist/commands/checkStabilityCommand.js.map +1 -1
- package/dist/commands/compareCommand.d.ts +1 -0
- package/dist/commands/compareCommand.d.ts.map +1 -1
- package/dist/commands/compareCommand.js +30 -11
- package/dist/commands/compareCommand.js.map +1 -1
- package/dist/commands/mcpCommand.d.ts +5 -0
- package/dist/commands/mcpCommand.d.ts.map +1 -1
- package/dist/commands/mcpCommand.js +86 -16
- package/dist/commands/mcpCommand.js.map +1 -1
- package/dist/commands/{screenshotCommand.d.ts → renderCommand.d.ts} +4 -2
- package/dist/commands/renderCommand.d.ts.map +1 -0
- package/dist/commands/renderCommand.js +210 -0
- package/dist/commands/renderCommand.js.map +1 -0
- package/dist/commands/serveCommand.d.ts +2 -0
- package/dist/commands/serveCommand.d.ts.map +1 -1
- package/dist/commands/serveCommand.js +79 -41
- package/dist/commands/serveCommand.js.map +1 -1
- package/dist/commands/serviceDiffCommitsCommand.d.ts +16 -0
- package/dist/commands/serviceDiffCommitsCommand.d.ts.map +1 -0
- package/dist/commands/serviceDiffCommitsCommand.js +229 -0
- package/dist/commands/serviceDiffCommitsCommand.js.map +1 -0
- package/dist/commands/watchCommand.d.ts +1 -0
- package/dist/commands/watchCommand.d.ts.map +1 -1
- package/dist/commands/watchCommand.js +22 -27
- package/dist/commands/watchCommand.js.map +1 -1
- package/dist/componentExplorer.d.ts +18 -11
- package/dist/componentExplorer.d.ts.map +1 -1
- package/dist/componentExplorer.js +95 -66
- package/dist/componentExplorer.js.map +1 -1
- package/dist/{watchConfig.d.ts → config.d.ts} +28 -24
- package/dist/config.d.ts.map +1 -0
- package/dist/{watchConfig.js → config.js} +63 -23
- package/dist/config.js.map +1 -0
- package/dist/daemon/DaemonService.d.ts +3 -3
- package/dist/daemon/DaemonService.d.ts.map +1 -1
- package/dist/daemon/DaemonService.js +19 -36
- package/dist/daemon/DaemonService.js.map +1 -1
- package/dist/daemon/client.d.ts +5 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +7 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/inProcessClient.d.ts +11 -0
- package/dist/daemon/inProcessClient.d.ts.map +1 -0
- package/dist/daemon/inProcessClient.js +35 -0
- package/dist/daemon/inProcessClient.js.map +1 -0
- package/dist/daemon/lifecycle.d.ts +4 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +12 -2
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/pipeClient.js +5 -3
- package/dist/daemon/pipeClient.js.map +1 -1
- package/dist/daemon/pipeName.d.ts +6 -0
- package/dist/daemon/pipeName.d.ts.map +1 -1
- package/dist/daemon/pipeName.js +8 -3
- package/dist/daemon/pipeName.js.map +1 -1
- package/dist/daemon/pipeServer.d.ts.map +1 -1
- package/dist/daemon/pipeServer.js +9 -3
- package/dist/daemon/pipeServer.js.map +1 -1
- package/dist/daemon/version.d.ts +1 -1
- package/dist/daemon/version.d.ts.map +1 -1
- package/dist/daemon/version.js +1 -1
- package/dist/dependencyInstaller.d.ts +1 -1
- package/dist/dependencyInstaller.d.ts.map +1 -1
- package/dist/evaluateFn.d.ts +21 -0
- package/dist/evaluateFn.d.ts.map +1 -0
- package/dist/evaluateFn.js +17 -0
- package/dist/evaluateFn.js.map +1 -0
- package/dist/explorerSession.d.ts +2 -3
- package/dist/explorerSession.d.ts.map +1 -1
- package/dist/explorerSession.js +3 -20
- package/dist/explorerSession.js.map +1 -1
- package/dist/git/gitUtils.d.ts +1 -0
- package/dist/git/gitUtils.d.ts.map +1 -1
- package/dist/git/gitUtils.js +5 -1
- package/dist/git/gitUtils.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +12 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +35 -2
- package/dist/logger.js.map +1 -1
- package/dist/manifest.schema.json +187 -0
- package/dist/mcp/McpServer.d.ts +1 -0
- package/dist/mcp/McpServer.d.ts.map +1 -1
- package/dist/mcp/McpServer.js +113 -20
- package/dist/mcp/McpServer.js.map +1 -1
- package/dist/packages/common/dist/renderManifest.js +46 -0
- package/dist/packages/common/dist/renderManifest.js.map +1 -0
- package/dist/packages/semver/dist/index.js +186 -0
- package/dist/packages/semver/dist/index.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-3R7GHWBM.js → chunk-FJ7AVNQE.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-FJ7AVNQE.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-SGBCNXYH.js → chunk-TTRCY65Z.js} +4 -1
- package/dist/packages/simple-api/dist/chunk-TTRCY65Z.js.map +1 -0
- package/dist/packages/simple-api/dist/{chunk-TAEFVNPN.js → chunk-WNXMRXWV.js} +2 -1
- package/dist/packages/simple-api/dist/chunk-WNXMRXWV.js.map +1 -0
- package/dist/packages/simple-api/dist/express.js +1 -1
- package/dist/packages/simple-api/dist/express.js.map +1 -1
- package/dist/processTree.d.ts +9 -0
- package/dist/processTree.d.ts.map +1 -0
- package/dist/processTree.js +41 -0
- package/dist/processTree.js.map +1 -0
- package/dist/renderManifest.d.ts +5 -0
- package/dist/renderManifest.d.ts.map +1 -0
- package/dist/renderManifest.js +11 -0
- package/dist/renderManifest.js.map +1 -0
- package/dist/screenshotServiceClient.d.ts +31 -0
- package/dist/screenshotServiceClient.d.ts.map +1 -0
- package/dist/screenshotServiceClient.js +38 -0
- package/dist/screenshotServiceClient.js.map +1 -0
- package/dist/server/httpServer.d.ts +14 -0
- package/dist/server/httpServer.d.ts.map +1 -0
- package/dist/server/httpServer.js +114 -0
- package/dist/server/httpServer.js.map +1 -0
- package/dist/server/httpServer.test.d.ts.map +1 -0
- package/dist/server/serverConfig.d.ts +42 -0
- package/dist/server/serverConfig.d.ts.map +1 -0
- package/dist/server/serverConfig.js +60 -0
- package/dist/server/serverConfig.js.map +1 -0
- package/dist/server/types.d.ts +6 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/viteServer.d.ts +16 -0
- package/dist/server/viteServer.d.ts.map +1 -0
- package/dist/{httpServer.js → server/viteServer.js} +10 -110
- package/dist/server/viteServer.js.map +1 -0
- package/dist/utils.d.ts +11 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -6
- package/dist/utils.js.map +1 -1
- package/package.json +30 -19
- package/dist/commands/screenshotCommand.d.ts.map +0 -1
- package/dist/commands/screenshotCommand.js +0 -127
- package/dist/commands/screenshotCommand.js.map +0 -1
- package/dist/httpServer.d.ts +0 -36
- package/dist/httpServer.d.ts.map +0 -1
- package/dist/httpServer.js.map +0 -1
- package/dist/httpServer.test.d.ts.map +0 -1
- package/dist/packages/simple-api/dist/chunk-3R7GHWBM.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-SGBCNXYH.js.map +0 -1
- package/dist/packages/simple-api/dist/chunk-TAEFVNPN.js.map +0 -1
- package/dist/resolveProject.d.ts +0 -21
- package/dist/resolveProject.d.ts.map +0 -1
- package/dist/resolveProject.js +0 -39
- package/dist/resolveProject.js.map +0 -1
- package/dist/watchConfig.d.ts.map +0 -1
- package/dist/watchConfig.js.map +0 -1
- /package/dist/{httpServer.test.d.ts → server/httpServer.test.d.ts} +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
const renderEventSchema = z.object({
|
|
4
|
+
type: z.enum(['console.error', 'console.warn', 'console.log', 'window.error', 'window.unhandledrejection']),
|
|
5
|
+
message: z.string(),
|
|
6
|
+
});
|
|
7
|
+
const exceptionErrorSchema = z.object({
|
|
8
|
+
message: z.string(),
|
|
9
|
+
stack: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
z.object({
|
|
12
|
+
version: z.literal(1),
|
|
13
|
+
repository: z.object({
|
|
14
|
+
owner: z.string(),
|
|
15
|
+
name: z.string(),
|
|
16
|
+
}),
|
|
17
|
+
commit: z.object({
|
|
18
|
+
hash: z.string(),
|
|
19
|
+
parentHashes: z.array(z.string()),
|
|
20
|
+
author: z.object({
|
|
21
|
+
name: z.string(),
|
|
22
|
+
email: z.string(),
|
|
23
|
+
}),
|
|
24
|
+
timestamp: z.string(),
|
|
25
|
+
message: z.string(),
|
|
26
|
+
}),
|
|
27
|
+
fixtures: z.array(z.object({
|
|
28
|
+
fixtureId: z.string(),
|
|
29
|
+
imageHash: z.string().optional(),
|
|
30
|
+
imagePath: z.string().optional(),
|
|
31
|
+
background: z.enum(["light", "dark"]),
|
|
32
|
+
labels: z.array(z.string()),
|
|
33
|
+
expectedVisualDescriptions: z.array(z.string()),
|
|
34
|
+
hasError: z.boolean(),
|
|
35
|
+
error: exceptionErrorSchema.optional(),
|
|
36
|
+
events: z.array(renderEventSchema),
|
|
37
|
+
renderTimeMs: z.object({
|
|
38
|
+
sync: z.number(),
|
|
39
|
+
total: z.number(),
|
|
40
|
+
}),
|
|
41
|
+
})),
|
|
42
|
+
});
|
|
43
|
+
const MANIFEST_FILENAME = "manifest.json";
|
|
44
|
+
|
|
45
|
+
export { MANIFEST_FILENAME };
|
|
46
|
+
//# sourceMappingURL=renderManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderManifest.js","sources":["../../../../../common/dist/renderManifest.js"],"sourcesContent":["import { z } from 'zod';\n\nconst renderEventSchema = z.object({\n type: z.enum(['console.error', 'console.warn', 'console.log', 'window.error', 'window.unhandledrejection']),\n message: z.string(),\n});\nconst exceptionErrorSchema = z.object({\n message: z.string(),\n stack: z.string().optional(),\n});\nconst RenderManifestSchema = z.object({\n version: z.literal(1),\n repository: z.object({\n owner: z.string(),\n name: z.string(),\n }),\n commit: z.object({\n hash: z.string(),\n parentHashes: z.array(z.string()),\n author: z.object({\n name: z.string(),\n email: z.string(),\n }),\n timestamp: z.string(),\n message: z.string(),\n }),\n fixtures: z.array(z.object({\n fixtureId: z.string(),\n imageHash: z.string().optional(),\n imagePath: z.string().optional(),\n background: z.enum([\"light\", \"dark\"]),\n labels: z.array(z.string()),\n expectedVisualDescriptions: z.array(z.string()),\n hasError: z.boolean(),\n error: exceptionErrorSchema.optional(),\n events: z.array(renderEventSchema),\n renderTimeMs: z.object({\n sync: z.number(),\n total: z.number(),\n }),\n })),\n});\nconst MANIFEST_FILENAME = \"manifest.json\";\nfunction generateRenderManifestJsonSchema() {\n return z.toJSONSchema(RenderManifestSchema, { target: 'draft-2020-12' });\n}\n\nexport { MANIFEST_FILENAME, RenderManifestSchema, generateRenderManifestJsonSchema };\n//# sourceMappingURL=renderManifest.js.map\n"],"names":[],"mappings":";;AAEA,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;AACnC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;AAC/G,IAAI,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB,CAAC,CAAC;AACF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;AACtC,IAAI,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACvB,IAAI,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAChC,CAAC,CAAC;AAC2B,CAAC,CAAC,MAAM,CAAC;AACtC,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACzB,IAAI,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;AACzB,QAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AACzB,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AACxB,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;AACrB,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AACxB,QAAQ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACzC,QAAQ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;AACzB,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AAC5B,YAAY,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAC7B,SAAS,CAAC;AACV,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AAC7B,QAAQ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AAC3B,KAAK,CAAC;AACN,IAAI,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/B,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;AAC7B,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACxC,QAAQ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACxC,QAAQ,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7C,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnC,QAAQ,0BAA0B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACvD,QAAQ,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;AAC7B,QAAQ,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE;AAC9C,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAC1C,QAAQ,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;AAC/B,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;AAC5B,YAAY,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AAC7B,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP,CAAC;AACI,MAAC,iBAAiB,GAAG;;;;"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Taken from https://semver.org/spec/v2.0.0.html.
|
|
3
|
+
*/
|
|
4
|
+
const semanticVersionRegexEmbeddable = /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?/;
|
|
5
|
+
/**
|
|
6
|
+
* Taken from https://semver.org/spec/v2.0.0.html.
|
|
7
|
+
*/
|
|
8
|
+
const semanticVersionRegex = new RegExp(`^${semanticVersionRegexEmbeddable.source}$`);
|
|
9
|
+
const numberRegex = /0|[1-9][0-9]*/;
|
|
10
|
+
function semanticVersionRegexGroupsToVersion(groups) {
|
|
11
|
+
const prereleaseMatch = groups[4];
|
|
12
|
+
const buildMatch = groups[5];
|
|
13
|
+
let prereleaseInfo = null;
|
|
14
|
+
if (prereleaseMatch) {
|
|
15
|
+
prereleaseInfo = new PreReleaseInfo(prereleaseMatch
|
|
16
|
+
.split(".")
|
|
17
|
+
.map((r) => (r.match(numberRegex) ? parseInt(r) : r)));
|
|
18
|
+
}
|
|
19
|
+
const buildInfo = buildMatch !== undefined ? new BuildInfo(buildMatch.split(".")) : null;
|
|
20
|
+
return new SemanticVersion(parseInt(groups[1]), parseInt(groups[2]), parseInt(groups[3]), prereleaseInfo, buildInfo);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Represents a valid semantic version.
|
|
24
|
+
* See https://semver.org/spec/v2.0.0.html.
|
|
25
|
+
*/
|
|
26
|
+
class SemanticVersion {
|
|
27
|
+
major;
|
|
28
|
+
minor;
|
|
29
|
+
patch;
|
|
30
|
+
prerelease;
|
|
31
|
+
build;
|
|
32
|
+
static parse(text) {
|
|
33
|
+
const exec = semanticVersionRegex.exec(text);
|
|
34
|
+
if (!exec) {
|
|
35
|
+
throw new Error(`Could not parse semantic version. "${text}" is not valid.`);
|
|
36
|
+
}
|
|
37
|
+
return semanticVersionRegexGroupsToVersion(exec);
|
|
38
|
+
}
|
|
39
|
+
constructor(major, minor, patch, prerelease, build) {
|
|
40
|
+
this.major = major;
|
|
41
|
+
this.minor = minor;
|
|
42
|
+
this.patch = patch;
|
|
43
|
+
this.prerelease = prerelease;
|
|
44
|
+
this.build = build;
|
|
45
|
+
function testValidNumber(n, arg) {
|
|
46
|
+
if (!Number.isInteger(n) || n < 0) {
|
|
47
|
+
throw new Error(`Invalid input. "${n}" is not valid for ${arg}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
testValidNumber(major, "major");
|
|
51
|
+
testValidNumber(minor, "minor");
|
|
52
|
+
testValidNumber(patch, "patch");
|
|
53
|
+
}
|
|
54
|
+
get isStable() {
|
|
55
|
+
return this.major > 0;
|
|
56
|
+
}
|
|
57
|
+
toString() {
|
|
58
|
+
let result = `${this.major}.${this.minor}.${this.patch}`;
|
|
59
|
+
if (this.prerelease) {
|
|
60
|
+
result += `-${this.prerelease.toString()}`;
|
|
61
|
+
}
|
|
62
|
+
if (this.build) {
|
|
63
|
+
result += `+${this.build.toString()}`;
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
equals(other) {
|
|
68
|
+
return this.toString() === other.toString();
|
|
69
|
+
}
|
|
70
|
+
with(update) {
|
|
71
|
+
function defaultIfUndefined(val, defaultVal) {
|
|
72
|
+
return val !== undefined ? val : defaultVal;
|
|
73
|
+
}
|
|
74
|
+
function defaultIfUndefinedNumber(val, defaultVal) {
|
|
75
|
+
if (val === "increment") {
|
|
76
|
+
return defaultVal + 1;
|
|
77
|
+
}
|
|
78
|
+
return val !== undefined ? val : defaultVal;
|
|
79
|
+
}
|
|
80
|
+
return new SemanticVersion(defaultIfUndefinedNumber(update.major, this.major), defaultIfUndefinedNumber(update.minor, this.minor), defaultIfUndefinedNumber(update.patch, this.patch), defaultIfUndefined(update.prerelease, this.prerelease), defaultIfUndefined(update.build, this.build));
|
|
81
|
+
}
|
|
82
|
+
toJSON() {
|
|
83
|
+
return {
|
|
84
|
+
major: this.major,
|
|
85
|
+
minor: this.minor,
|
|
86
|
+
patch: this.patch,
|
|
87
|
+
...(this.prerelease ? { prerelease: this.prerelease.parts } : {}),
|
|
88
|
+
...(this.build ? { build: this.build.parts } : {}),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns -1 if this version is older than the other version, 0 if they are equal, or 1 if this version is newer.
|
|
93
|
+
*/
|
|
94
|
+
compareTo(other) {
|
|
95
|
+
if (this.major != other.major) {
|
|
96
|
+
return comparePrimitives(this.major, other.major);
|
|
97
|
+
}
|
|
98
|
+
if (this.minor != other.minor) {
|
|
99
|
+
return comparePrimitives(this.minor, other.minor);
|
|
100
|
+
}
|
|
101
|
+
if (this.patch != other.patch) {
|
|
102
|
+
return comparePrimitives(this.patch, other.patch);
|
|
103
|
+
}
|
|
104
|
+
return PreReleaseInfo.compare(this.prerelease, other.prerelease);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function comparePrimitives(a, b) {
|
|
108
|
+
if (a < b) {
|
|
109
|
+
return -1;
|
|
110
|
+
}
|
|
111
|
+
if (a > b) {
|
|
112
|
+
return 1;
|
|
113
|
+
}
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
|
116
|
+
class PreReleaseInfo {
|
|
117
|
+
parts;
|
|
118
|
+
static compare(a, b) {
|
|
119
|
+
if (!a && !b) {
|
|
120
|
+
return 0;
|
|
121
|
+
}
|
|
122
|
+
if (!a) {
|
|
123
|
+
// prefer non-prerelease version.
|
|
124
|
+
return 1;
|
|
125
|
+
}
|
|
126
|
+
if (!b) {
|
|
127
|
+
return -1;
|
|
128
|
+
}
|
|
129
|
+
return a.compareTo(b);
|
|
130
|
+
}
|
|
131
|
+
constructor(parts) {
|
|
132
|
+
this.parts = parts;
|
|
133
|
+
if (parts.length === 0) {
|
|
134
|
+
throw new Error("Must have at least one part!");
|
|
135
|
+
}
|
|
136
|
+
for (const p of parts) {
|
|
137
|
+
if (typeof p === "string") {
|
|
138
|
+
if (!/^[0-9a-zA-Z-]*[a-zA-Z-][0-9a-zA-Z-]*$/.exec(p)) {
|
|
139
|
+
throw new Error("Invalid input! Non-number parts must have at least one non-digit!");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
toString() {
|
|
145
|
+
return this.parts.map((p) => p.toString()).join(".");
|
|
146
|
+
}
|
|
147
|
+
isNewer(other) {
|
|
148
|
+
return this.compareTo(other) === 1;
|
|
149
|
+
}
|
|
150
|
+
isOlder(other) {
|
|
151
|
+
return this.compareTo(other) === -1;
|
|
152
|
+
}
|
|
153
|
+
compareTo(other) {
|
|
154
|
+
for (let i = 0; i < Math.max(this.parts.length, other.parts.length); i++) {
|
|
155
|
+
const a = this.parts[i];
|
|
156
|
+
const b = other.parts[i];
|
|
157
|
+
if (a === undefined) {
|
|
158
|
+
// Other has longer prerelease
|
|
159
|
+
return -1;
|
|
160
|
+
}
|
|
161
|
+
if (b === undefined) {
|
|
162
|
+
// This has longer prerelease
|
|
163
|
+
return 1;
|
|
164
|
+
}
|
|
165
|
+
if (a !== b) {
|
|
166
|
+
return comparePrimitives(a, b);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return 0;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
class BuildInfo {
|
|
173
|
+
parts;
|
|
174
|
+
constructor(parts) {
|
|
175
|
+
this.parts = parts;
|
|
176
|
+
if (parts.length === 0) {
|
|
177
|
+
throw new Error("Must have at least one part!");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
toString() {
|
|
181
|
+
return this.parts.join(".");
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export { BuildInfo, PreReleaseInfo, SemanticVersion, semanticVersionRegex, semanticVersionRegexEmbeddable, semanticVersionRegexGroupsToVersion };
|
|
186
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../semver/dist/index.js"],"sourcesContent":["/**\n * Taken from https://semver.org/spec/v2.0.0.html.\n */\nexport const semanticVersionRegexEmbeddable = /(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?/;\n/**\n * Taken from https://semver.org/spec/v2.0.0.html.\n */\nexport const semanticVersionRegex = new RegExp(`^${semanticVersionRegexEmbeddable.source}$`);\nconst numberRegex = /0|[1-9][0-9]*/;\nexport function semanticVersionRegexGroupsToVersion(groups) {\n const prereleaseMatch = groups[4];\n const buildMatch = groups[5];\n let prereleaseInfo = null;\n if (prereleaseMatch) {\n prereleaseInfo = new PreReleaseInfo(prereleaseMatch\n .split(\".\")\n .map((r) => (r.match(numberRegex) ? parseInt(r) : r)));\n }\n const buildInfo = buildMatch !== undefined ? new BuildInfo(buildMatch.split(\".\")) : null;\n return new SemanticVersion(parseInt(groups[1]), parseInt(groups[2]), parseInt(groups[3]), prereleaseInfo, buildInfo);\n}\n/**\n * Represents a valid semantic version.\n * See https://semver.org/spec/v2.0.0.html.\n */\nexport class SemanticVersion {\n major;\n minor;\n patch;\n prerelease;\n build;\n static parse(text) {\n const exec = semanticVersionRegex.exec(text);\n if (!exec) {\n throw new Error(`Could not parse semantic version. \"${text}\" is not valid.`);\n }\n return semanticVersionRegexGroupsToVersion(exec);\n }\n constructor(major, minor, patch, prerelease, build) {\n this.major = major;\n this.minor = minor;\n this.patch = patch;\n this.prerelease = prerelease;\n this.build = build;\n function testValidNumber(n, arg) {\n if (!Number.isInteger(n) || n < 0) {\n throw new Error(`Invalid input. \"${n}\" is not valid for ${arg}`);\n }\n }\n testValidNumber(major, \"major\");\n testValidNumber(minor, \"minor\");\n testValidNumber(patch, \"patch\");\n }\n get isStable() {\n return this.major > 0;\n }\n toString() {\n let result = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease) {\n result += `-${this.prerelease.toString()}`;\n }\n if (this.build) {\n result += `+${this.build.toString()}`;\n }\n return result;\n }\n equals(other) {\n return this.toString() === other.toString();\n }\n with(update) {\n function defaultIfUndefined(val, defaultVal) {\n return val !== undefined ? val : defaultVal;\n }\n function defaultIfUndefinedNumber(val, defaultVal) {\n if (val === \"increment\") {\n return defaultVal + 1;\n }\n return val !== undefined ? val : defaultVal;\n }\n return new SemanticVersion(defaultIfUndefinedNumber(update.major, this.major), defaultIfUndefinedNumber(update.minor, this.minor), defaultIfUndefinedNumber(update.patch, this.patch), defaultIfUndefined(update.prerelease, this.prerelease), defaultIfUndefined(update.build, this.build));\n }\n toJSON() {\n return {\n major: this.major,\n minor: this.minor,\n patch: this.patch,\n ...(this.prerelease ? { prerelease: this.prerelease.parts } : {}),\n ...(this.build ? { build: this.build.parts } : {}),\n };\n }\n /**\n * Returns -1 if this version is older than the other version, 0 if they are equal, or 1 if this version is newer.\n */\n compareTo(other) {\n if (this.major != other.major) {\n return comparePrimitives(this.major, other.major);\n }\n if (this.minor != other.minor) {\n return comparePrimitives(this.minor, other.minor);\n }\n if (this.patch != other.patch) {\n return comparePrimitives(this.patch, other.patch);\n }\n return PreReleaseInfo.compare(this.prerelease, other.prerelease);\n }\n}\nfunction comparePrimitives(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nexport class PreReleaseInfo {\n parts;\n static compare(a, b) {\n if (!a && !b) {\n return 0;\n }\n if (!a) {\n // prefer non-prerelease version.\n return 1;\n }\n if (!b) {\n return -1;\n }\n return a.compareTo(b);\n }\n constructor(parts) {\n this.parts = parts;\n if (parts.length === 0) {\n throw new Error(\"Must have at least one part!\");\n }\n for (const p of parts) {\n if (typeof p === \"string\") {\n if (!/^[0-9a-zA-Z-]*[a-zA-Z-][0-9a-zA-Z-]*$/.exec(p)) {\n throw new Error(\"Invalid input! Non-number parts must have at least one non-digit!\");\n }\n }\n }\n }\n toString() {\n return this.parts.map((p) => p.toString()).join(\".\");\n }\n isNewer(other) {\n return this.compareTo(other) === 1;\n }\n isOlder(other) {\n return this.compareTo(other) === -1;\n }\n compareTo(other) {\n for (let i = 0; i < Math.max(this.parts.length, other.parts.length); i++) {\n const a = this.parts[i];\n const b = other.parts[i];\n if (a === undefined) {\n // Other has longer prerelease\n return -1;\n }\n if (b === undefined) {\n // This has longer prerelease\n return 1;\n }\n if (a !== b) {\n return comparePrimitives(a, b);\n }\n }\n return 0;\n }\n}\nexport class BuildInfo {\n parts;\n constructor(parts) {\n this.parts = parts;\n if (parts.length === 0) {\n throw new Error(\"Must have at least one part!\");\n }\n }\n toString() {\n return this.parts.join(\".\");\n }\n}\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,7 @@ var ApiImplementation = class _ApiImplementation {
|
|
|
86
86
|
this._methods = _methods;
|
|
87
87
|
this._factoryToken = factoryToken;
|
|
88
88
|
}
|
|
89
|
+
_methods;
|
|
89
90
|
_factoryToken;
|
|
90
91
|
get TMethods() {
|
|
91
92
|
throw new Error("Type-only property");
|
|
@@ -134,4 +135,4 @@ var ApiImplementation = class _ApiImplementation {
|
|
|
134
135
|
};
|
|
135
136
|
|
|
136
137
|
export { ApiImplementation, createApiFactory };
|
|
137
|
-
//# sourceMappingURL=chunk-
|
|
138
|
+
//# sourceMappingURL=chunk-FJ7AVNQE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-FJ7AVNQE.js","sources":["../../../../../simple-api/dist/chunk-FJ7AVNQE.mjs"],"sourcesContent":["// src/server.ts\nimport { z } from \"zod\";\nfunction createApiFactory() {\n const factoryToken = /* @__PURE__ */ Symbol(\"apiFactory\");\n return createFactoryImpl(factoryToken, void 0);\n}\nfunction createFactoryImpl(factoryToken, middleware) {\n const factory = {\n _factoryToken: factoryToken,\n _middleware: middleware,\n withMiddleware(mwOrFn) {\n const mw = typeof mwOrFn === \"function\" ? { _dependencies: void 0, _provides: void 0, run: mwOrFn } : mwOrFn;\n const composed = middleware ? {\n _dependencies: void 0,\n _provides: void 0,\n run: async (ctx) => {\n const intermediate = await middleware.run(ctx);\n return await mw.run(intermediate);\n }\n } : mw;\n return createFactoryImpl(factoryToken, composed);\n },\n createMiddleware(fn) {\n return {\n _dependencies: void 0,\n _provides: void 0,\n run: fn\n };\n },\n createMethod(options, run) {\n const obj = z.object(options.args);\n const resultValidator = options.result;\n return {\n _factoryToken: factoryToken,\n _contextRequirement: void 0,\n get TArg() {\n throw new Error(\"Type-only property\");\n },\n get TResult() {\n throw new Error(\"Type-only property\");\n },\n argType: obj,\n resultType: resultValidator ?? z.unknown(),\n run: async (args, rawContext) => {\n const parsedArgs = obj.parse(args ?? {});\n let ctx;\n const baseCtx = middleware ? await middleware.run(rawContext) : rawContext;\n if (options.middleware) {\n ctx = await options.middleware.run(baseCtx);\n } else {\n ctx = baseCtx;\n }\n const result = await run(parsedArgs, ctx);\n if (resultValidator) {\n return resultValidator.parse(result);\n }\n return result;\n }\n };\n },\n createApi(methods) {\n for (const [name, method] of Object.entries(methods)) {\n if (method instanceof ApiImplementation) {\n if (method._factoryToken !== factoryToken) {\n throw new Error(\n `Method \"${name}\" is from a different factory. All methods in an API must come from the same factory or its .withMiddleware() derivatives.`\n );\n }\n } else {\n const m = method;\n if (m._factoryToken !== factoryToken) {\n throw new Error(\n `Method \"${name}\" is from a different factory. All methods in an API must come from the same factory or its .withMiddleware() derivatives.`\n );\n }\n }\n }\n return new ApiImplementation(factoryToken, methods);\n }\n };\n return factory;\n}\nvar ApiImplementation = class _ApiImplementation {\n constructor(factoryToken, _methods) {\n this._methods = _methods;\n this._factoryToken = factoryToken;\n }\n _methods;\n _factoryToken;\n get TMethods() {\n throw new Error(\"Type-only property\");\n }\n getMethods() {\n const methods = [];\n for (const [name, method] of Object.entries(this._methods)) {\n if (method instanceof _ApiImplementation) {\n const subMethods = method.getMethods();\n for (const subMethod of subMethods) {\n methods.push({\n ...subMethod,\n path: `${name}/${subMethod.path}`\n });\n }\n } else {\n methods.push({\n path: name,\n argType: method.argType,\n resultType: method.resultType\n });\n }\n }\n return methods;\n }\n async run(method, arg, context) {\n const parts = method.split(\"/\", 2);\n const firstPart = parts[0];\n if (!(firstPart in this._methods)) {\n return Promise.reject(new Error(`Method not found: ${method}`));\n }\n const impl = this._methods[firstPart];\n if (parts.length > 1) {\n if (!(impl instanceof _ApiImplementation)) {\n throw new Error(`Method not found: ${method}`);\n }\n return impl.run(parts[1], arg, context);\n } else {\n if (impl instanceof _ApiImplementation) {\n throw new Error(`Method not found: ${method}`);\n }\n const result = await impl.run(arg, context);\n return result ?? null;\n }\n }\n};\n\nexport {\n createApiFactory,\n ApiImplementation\n};\n//# sourceMappingURL=chunk-FJ7AVNQE.mjs.map"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ var AsyncStream = class _AsyncStream {
|
|
|
3
3
|
constructor(iterator) {
|
|
4
4
|
this.iterator = iterator;
|
|
5
5
|
}
|
|
6
|
+
iterator;
|
|
6
7
|
static fromIterable(fn) {
|
|
7
8
|
return new _AsyncStream(fn[Symbol.asyncIterator]());
|
|
8
9
|
}
|
|
@@ -18,7 +19,9 @@ var MediaResponse = class {
|
|
|
18
19
|
this.mimeType = mimeType;
|
|
19
20
|
this.data = data;
|
|
20
21
|
}
|
|
22
|
+
mimeType;
|
|
23
|
+
data;
|
|
21
24
|
};
|
|
22
25
|
|
|
23
26
|
export { AsyncStream, MediaResponse };
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
27
|
+
//# sourceMappingURL=chunk-TTRCY65Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-TTRCY65Z.js","sources":["../../../../../simple-api/dist/chunk-TTRCY65Z.mjs"],"sourcesContent":["// src/AsyncStream.ts\nvar AsyncStream = class _AsyncStream {\n constructor(iterator) {\n this.iterator = iterator;\n }\n iterator;\n static fromIterable(fn) {\n return new _AsyncStream(fn[Symbol.asyncIterator]());\n }\n static fromFn(fn) {\n return new _AsyncStream(fn());\n }\n [Symbol.asyncIterator]() {\n return this.iterator;\n }\n};\nvar MediaResponse = class {\n constructor(mimeType, data) {\n this.mimeType = mimeType;\n this.data = data;\n }\n mimeType;\n data;\n};\n\nexport {\n AsyncStream,\n MediaResponse\n};\n//# sourceMappingURL=chunk-TTRCY65Z.mjs.map"],"names":[],"mappings":"AAAA;AACG,IAAC,WAAW,GAAG,MAAM,YAAY,CAAC;AACrC,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC5B,EAAE;AACF,EAAE,QAAQ;AACV,EAAE,OAAO,YAAY,CAAC,EAAE,EAAE;AAC1B,IAAI,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACvD,EAAE;AACF,EAAE,OAAO,MAAM,CAAC,EAAE,EAAE;AACpB,IAAI,OAAO,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;AACjC,EAAE;AACF,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG;AAC3B,IAAI,OAAO,IAAI,CAAC,QAAQ;AACxB,EAAE;AACF;AACG,IAAC,aAAa,GAAG,MAAM;AAC1B,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAC9B,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC5B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,EAAE;AACF,EAAE,QAAQ;AACV,EAAE,IAAI;AACN;;;;"}
|
|
@@ -2,6 +2,7 @@ var ProxyApiClient = class {
|
|
|
2
2
|
constructor(_request) {
|
|
3
3
|
this._request = _request;
|
|
4
4
|
}
|
|
5
|
+
_request;
|
|
5
6
|
_createProxy(prefix) {
|
|
6
7
|
return new Proxy(() => {
|
|
7
8
|
}, {
|
|
@@ -24,4 +25,4 @@ var ProxyApiClient = class {
|
|
|
24
25
|
};
|
|
25
26
|
|
|
26
27
|
export { ProxyApiClient };
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
28
|
+
//# sourceMappingURL=chunk-WNXMRXWV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-WNXMRXWV.js","sources":["../../../../../simple-api/dist/chunk-WNXMRXWV.mjs"],"sourcesContent":["import {\n AsyncStream\n} from \"./chunk-TTRCY65Z.mjs\";\n\n// src/client.ts\nvar ApiError = class extends Error {\n constructor(statusCode, method, message) {\n super(message);\n this.statusCode = statusCode;\n this.method = method;\n this.name = \"ApiError\";\n }\n statusCode;\n method;\n};\nvar ProxyApiClient = class {\n constructor(_request) {\n this._request = _request;\n }\n _request;\n _createProxy(prefix) {\n return new Proxy(() => {\n }, {\n apply: async (_target, _self, args) => {\n const result = await this._request(prefix, args[0]);\n return result;\n },\n get: (_target, prop) => {\n if (typeof prop === \"symbol\") {\n return void 0;\n }\n if (prop === \"then\" || prop === \"catch\" || prop === \"finally\" || prop === \"toString\" || prop === \"valueOf\" || prop === \"toJSON\" || prop === \"name\" || prop === \"length\" || prop === \"prototype\" || prop === \"constructor\" || prop === \"caller\" || prop === \"arguments\") {\n return void 0;\n }\n return this._createProxy(`${prefix}${prefix ? \"/\" : \"\"}${prop}`);\n }\n });\n }\n methods = this._createProxy(\"\");\n};\nfunction createFetchClient(baseUrl, options) {\n return new ProxyApiClient(async (method, arg) => {\n const result = await fetch(`${baseUrl}/${method}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...options?.getHeaders?.()\n },\n body: JSON.stringify(arg)\n });\n if (result.status !== 200) {\n const data2 = await result.json().catch(() => null);\n let message;\n if (data2 && typeof data2 === \"object\" && (\"errorMessage\" in data2 || \"error\" in data2)) {\n const msg = data2.errorMessage ?? data2.error;\n const stack = data2.stack;\n message = `${msg}${stack ? `\n${stack}` : \"\"}`;\n } else {\n message = `Error calling API method \"${method}\" (${result.status}): ${JSON.stringify(data2)}`;\n }\n const error = new ApiError(result.status, method, message);\n options?.onError?.(error);\n throw error;\n }\n const contentType = result.headers.get(\"Content-Type\");\n if (contentType?.startsWith(\"application/jsonl\")) {\n return AsyncStream.fromFn(async function* () {\n const reader = result.body?.getReader();\n if (!reader) {\n return;\n }\n let buffer = \"\";\n const decoder = new TextDecoder(\"utf-8\");\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n buffer += decoder.decode(value, { stream: true });\n let eolIndex;\n while ((eolIndex = buffer.indexOf(\"\\n\")) >= 0) {\n const line = buffer.slice(0, eolIndex).trim();\n buffer = buffer.slice(eolIndex + 1);\n if (line.length > 0) {\n yield JSON.parse(line);\n }\n }\n }\n const finalLine = buffer.trim();\n if (finalLine.length > 0) {\n yield JSON.parse(finalLine);\n }\n });\n }\n const data = await result.json();\n return data;\n });\n}\nfunction createLocalClient(api, context) {\n return new ProxyApiClient(async (method, args) => {\n return await api.run(method, args, context);\n });\n}\n\nexport {\n ApiError,\n ProxyApiClient,\n createFetchClient,\n createLocalClient\n};\n//# sourceMappingURL=chunk-WNXMRXWV.mjs.map"],"names":[],"mappings":"AAeG,IAAC,cAAc,GAAG,MAAM;AAC3B,EAAE,WAAW,CAAC,QAAQ,EAAE;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC5B,EAAE;AACF,EAAE,QAAQ;AACV,EAAE,YAAY,CAAC,MAAM,EAAE;AACvB,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM;AAC3B,IAAI,CAAC,EAAE;AACP,MAAM,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK;AAC7C,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,OAAO,MAAM;AACrB,MAAM,CAAC;AACP,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK;AAC9B,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACtC,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,EAAE;AAChR,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;AACjC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express.js","sources":["../../../../../simple-api/dist/express.mjs"],"sourcesContent":["import {\n ApiImplementation\n} from \"./chunk-
|
|
1
|
+
{"version":3,"file":"express.js","sources":["../../../../../simple-api/dist/express.mjs"],"sourcesContent":["import {\n ApiImplementation\n} from \"./chunk-FJ7AVNQE.mjs\";\nimport {\n AsyncStream,\n MediaResponse\n} from \"./chunk-TTRCY65Z.mjs\";\n\n// src/express.ts\nimport { json, Router } from \"express\";\nfunction createApiRouter(api, options) {\n const router = Router();\n router.use((req, res, next) => {\n res.header(\"Access-Control-Allow-Origin\", \"*\");\n res.header(\"Access-Control-Allow-Headers\", \"Origin, X-Requested-With, Content-Type, Accept, Authorization\");\n res.header(\"Access-Control-Allow-Methods\", \"POST, OPTIONS\");\n if (req.method === \"OPTIONS\") {\n res.sendStatus(200);\n } else {\n next();\n }\n });\n router.use(json());\n async function invokeApi(api2, method, args, req, res) {\n const context = options?.contextFactory ? options.contextFactory(req) : { request: req };\n try {\n const result = await api2.run(method, args, context);\n if (result instanceof MediaResponse) {\n if (result.mimeType.startsWith(\"audio/\") || result.mimeType.startsWith(\"video/\")) {\n const range = req.headers.range;\n const fileSize = result.data.byteLength;\n if (range) {\n const parts = range.replace(/bytes=/, \"\").split(\"-\");\n const start = parseInt(parts[0], 10);\n const end = parts[1] ? parseInt(parts[1], 10) : fileSize - 1;\n if (start >= fileSize || end >= fileSize || start > end) {\n res.status(416).send(\"Requested range not satisfiable\");\n return;\n }\n const chunkSize = end - start + 1;\n const chunk = result.data.slice(start, end + 1);\n res.writeHead(206, {\n \"Content-Range\": `bytes ${start}-${end}/${fileSize}`,\n \"Accept-Ranges\": \"bytes\",\n \"Content-Length\": chunkSize,\n \"Content-Type\": result.mimeType\n });\n res.end(chunk);\n } else {\n res.writeHead(200, {\n \"Content-Type\": result.mimeType,\n \"Content-Length\": fileSize,\n \"Accept-Ranges\": \"bytes\"\n });\n res.end(result.data);\n }\n } else {\n res.writeHead(200, {\n \"Content-Type\": result.mimeType,\n \"Content-Length\": result.data.byteLength\n });\n res.end(result.data);\n }\n } else if (result instanceof AsyncStream) {\n res.writeHead(200, {\n \"Content-Type\": \"application/jsonl; charset=utf-8\",\n \"Transfer-Encoding\": \"chunked\",\n Connection: \"keep-alive\"\n });\n const iterator = result[Symbol.asyncIterator]();\n res.on(\"close\", () => {\n iterator.return?.();\n });\n try {\n while (true) {\n const { value, done } = await iterator.next();\n if (done) {\n break;\n }\n res.write(JSON.stringify(value) + \"\\n\");\n }\n } catch (e) {\n console.error(\"Error while streaming response:\", e);\n res.write(JSON.stringify({ error: e.message }) + \"\\n\");\n }\n res.end();\n } else {\n res.json(result);\n }\n } catch (e) {\n res.status(500).json({ error: e.message, stack: e.stack, method });\n }\n }\n router.post(\"/{*method}\", async (req, res) => {\n const method = req.params.method.join(\"/\");\n const arg = req.body;\n await invokeApi(api, method, arg, req, res);\n });\n router.get(\"/{*method}\", async (req, res) => {\n const m = req.params.method;\n m[m.length - 1] = \"get\" + m[m.length - 1];\n const method = m.join(\"/\");\n const arg = req.query ?? {};\n await invokeApi(api, method, arg, req, res);\n });\n return router;\n}\nexport {\n ApiImplementation,\n AsyncStream,\n MediaResponse,\n createApiRouter\n};\n//# sourceMappingURL=express.mjs.map"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ChildProcess } from 'node:child_process';
|
|
2
|
+
export interface ProcessTree {
|
|
3
|
+
readonly process: ChildProcess;
|
|
4
|
+
kill(): void;
|
|
5
|
+
}
|
|
6
|
+
export declare function spawnShellWithTree(cmd: string, options?: {
|
|
7
|
+
cwd?: string;
|
|
8
|
+
}): ProcessTree;
|
|
9
|
+
//# sourceMappingURL=processTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTree.d.ts","sourceRoot":"","sources":["../src/processTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,IAAI,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAMvF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
|
|
3
|
+
function spawnShellWithTree(cmd, options) {
|
|
4
|
+
if (process.platform === 'win32') {
|
|
5
|
+
return _spawnWin32(cmd, options);
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
return _spawnUnix(cmd, options);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function _spawnWin32(cmd, options) {
|
|
12
|
+
const proc = spawn(cmd, { shell: true, stdio: 'pipe', cwd: options?.cwd, windowsHide: true });
|
|
13
|
+
return {
|
|
14
|
+
process: proc,
|
|
15
|
+
kill() {
|
|
16
|
+
if (proc.killed || proc.pid === undefined) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
spawn('taskkill', ['/T', '/F', '/PID', String(proc.pid)], { windowsHide: true, stdio: 'ignore' });
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function _spawnUnix(cmd, options) {
|
|
24
|
+
// detached creates a new process group so we can kill the entire tree.
|
|
25
|
+
const proc = spawn(cmd, { shell: true, stdio: 'pipe', cwd: options?.cwd, windowsHide: true, detached: true });
|
|
26
|
+
return {
|
|
27
|
+
process: proc,
|
|
28
|
+
kill() {
|
|
29
|
+
if (proc.killed || proc.pid === undefined) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
process.kill(-proc.pid, 'SIGTERM');
|
|
34
|
+
}
|
|
35
|
+
catch { /* already exited */ }
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { spawnShellWithTree };
|
|
41
|
+
//# sourceMappingURL=processTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processTree.js","sources":["../src/processTree.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOM,SAAU,kBAAkB,CAAC,GAAW,EAAE,OAA0B,EAAA;AACzE,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,QAAA,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;IACjC;SAAO;AACN,QAAA,OAAO,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;IAChC;AACD;AAEA,SAAS,WAAW,CAAC,GAAW,EAAE,OAA0B,EAAA;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC7F,OAAO;AACN,QAAA,OAAO,EAAE,IAAI;QACb,IAAI,GAAA;YACH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;gBAAE;YAAQ;AACrD,YAAA,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClG,CAAC;KACD;AACF;AAEA,SAAS,UAAU,CAAC,GAAW,EAAE,OAA0B,EAAA;;AAE1D,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7G,OAAO;AACN,QAAA,OAAO,EAAE,IAAI;QACb,IAAI,GAAA;YACH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;gBAAE;YAAQ;AACrD,YAAA,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC;YAAE;AAAE,YAAA,MAAM,uBAAuB;QAC1E,CAAC;KACD;AACF;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { RenderManifestSchema, type RenderManifest, MANIFEST_FILENAME, generateRenderManifestJsonSchema } from "@vscode/component-explorer-common";
|
|
2
|
+
export declare const MANIFEST_SCHEMA_URL: string;
|
|
3
|
+
import type { RenderManifest } from "@vscode/component-explorer-common";
|
|
4
|
+
export declare function serializeManifest(manifest: RenderManifest): string;
|
|
5
|
+
//# sourceMappingURL=renderManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderManifest.d.ts","sourceRoot":"","sources":["../src/renderManifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAGnJ,eAAO,MAAM,mBAAmB,QAA0G,CAAC;AAE3I,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAElE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { MANIFEST_FILENAME } from './packages/common/dist/renderManifest.js';
|
|
2
|
+
import __buildInfo from './_virtual/_build-info.js';
|
|
3
|
+
|
|
4
|
+
/// <reference path="../../../scripts/build-info.d.ts" />
|
|
5
|
+
const MANIFEST_SCHEMA_URL = `https://cdn.jsdelivr.net/npm/@vscode/component-explorer-cli@${__buildInfo.version}/manifest.schema.json`;
|
|
6
|
+
function serializeManifest(manifest) {
|
|
7
|
+
return JSON.stringify({ $schema: MANIFEST_SCHEMA_URL, ...manifest }, null, '\t');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { MANIFEST_SCHEMA_URL, serializeManifest };
|
|
11
|
+
//# sourceMappingURL=renderManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderManifest.js","sources":["../src/renderManifest.ts"],"sourcesContent":[null],"names":["buildInfo"],"mappings":";;;AAAA;MAIa,mBAAmB,GAAG,+DAA+DA,WAAS,CAAC,OAAO,CAAA,qBAAA;AAI7G,SAAU,iBAAiB,CAAC,QAAwB,EAAA;AACzD,IAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC;AACjF;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ScreenshotServiceClientOptions {
|
|
2
|
+
readonly baseUrl: string;
|
|
3
|
+
readonly apiKey?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface CompareEntry {
|
|
6
|
+
readonly fixtureId: string;
|
|
7
|
+
readonly imageUrl: string;
|
|
8
|
+
readonly changeCount?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CompareChangedEntry {
|
|
11
|
+
readonly fixtureId: string;
|
|
12
|
+
readonly beforeImageUrl: string;
|
|
13
|
+
readonly afterImageUrl: string;
|
|
14
|
+
readonly changeCount?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface CompareResult {
|
|
17
|
+
readonly baseCommitSha: string;
|
|
18
|
+
readonly added: readonly CompareEntry[];
|
|
19
|
+
readonly removed: readonly CompareEntry[];
|
|
20
|
+
readonly changed: readonly CompareChangedEntry[];
|
|
21
|
+
readonly unchanged: readonly CompareEntry[];
|
|
22
|
+
}
|
|
23
|
+
export declare class ScreenshotServiceClient {
|
|
24
|
+
private readonly _baseUrl;
|
|
25
|
+
private readonly _apiKey?;
|
|
26
|
+
constructor(options: ScreenshotServiceClientOptions);
|
|
27
|
+
compare(owner: string, repo: string, baseCommitSha: string, currentCommitSha: string, options?: {
|
|
28
|
+
changeCountSinceDays?: number;
|
|
29
|
+
}): Promise<CompareResult>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=screenshotServiceClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshotServiceClient.d.ts","sourceRoot":"","sources":["../src/screenshotServiceClient.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED,qBAAa,uBAAuB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;gBAEtB,OAAO,EAAE,8BAA8B;IAK7C,OAAO,CACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,aAAa,CAAC;CA+BzB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
class ScreenshotServiceClient {
|
|
2
|
+
_baseUrl;
|
|
3
|
+
_apiKey;
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this._baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
6
|
+
this._apiKey = options.apiKey;
|
|
7
|
+
}
|
|
8
|
+
async compare(owner, repo, baseCommitSha, currentCommitSha, options) {
|
|
9
|
+
const headers = {
|
|
10
|
+
'Content-Type': 'application/json',
|
|
11
|
+
};
|
|
12
|
+
if (this._apiKey) {
|
|
13
|
+
headers['x-api-key'] = this._apiKey;
|
|
14
|
+
}
|
|
15
|
+
const response = await fetch(`${this._baseUrl}/compare`, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
headers,
|
|
18
|
+
body: JSON.stringify({
|
|
19
|
+
owner,
|
|
20
|
+
repo,
|
|
21
|
+
baseCommitSha,
|
|
22
|
+
currentCommitSha,
|
|
23
|
+
changeCountSinceDays: options?.changeCountSinceDays,
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
if (response.ok) {
|
|
27
|
+
return response.json();
|
|
28
|
+
}
|
|
29
|
+
const body = await response.json().catch(() => ({}));
|
|
30
|
+
if (response.status === 404 && body.error) {
|
|
31
|
+
throw new Error(`Screenshot service error: ${body.error}`);
|
|
32
|
+
}
|
|
33
|
+
throw new Error(`Screenshot service returned status ${response.status}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { ScreenshotServiceClient };
|
|
38
|
+
//# sourceMappingURL=screenshotServiceClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshotServiceClient.js","sources":["../src/screenshotServiceClient.ts"],"sourcesContent":[null],"names":[],"mappings":"MA0Ba,uBAAuB,CAAA;AAClB,IAAA,QAAQ;AACR,IAAA,OAAO;AAExB,IAAA,WAAA,CAAY,OAAuC,EAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM;IAC9B;IAEA,MAAM,OAAO,CACZ,KAAa,EACb,IAAY,EACZ,aAAqB,EACrB,gBAAwB,EACxB,OAA2C,EAAA;AAE3C,QAAA,MAAM,OAAO,GAA2B;AACvC,YAAA,cAAc,EAAE,kBAAkB;SAClC;AACD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO;QACpC;QAEA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAA,QAAA,CAAU,EAAE;AACxD,YAAA,MAAM,EAAE,MAAM;YACd,OAAO;AACP,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK;gBACL,IAAI;gBACJ,aAAa;gBACb,gBAAgB;gBAChB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;aACnD,CAAC;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;AAChB,YAAA,OAAO,QAAQ,CAAC,IAAI,EAA4B;QACjD;AAEA,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAuB;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,CAAA,0BAAA,EAA6B,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC;QAC3D;QAEA,MAAM,IAAI,KAAK,CAAC,CAAA,mCAAA,EAAsC,QAAQ,CAAC,MAAM,CAAA,CAAE,CAAC;IACzE;AACA;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ILogger } from '../logger.js';
|
|
2
|
+
import type { ComponentExplorerHttpServer } from './types.js';
|
|
3
|
+
export type { ComponentExplorerHttpServer } from './types.js';
|
|
4
|
+
export interface HttpServerOptions {
|
|
5
|
+
readonly cmd?: string;
|
|
6
|
+
readonly cwd?: string;
|
|
7
|
+
readonly logger?: ILogger;
|
|
8
|
+
readonly wait?: {
|
|
9
|
+
readonly stdout?: RegExp;
|
|
10
|
+
readonly stderr?: RegExp;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare function createHttpServer(url: string, options?: HttpServerOptions): Promise<ComponentExplorerHttpServer>;
|
|
14
|
+
//# sourceMappingURL=httpServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpServer.d.ts","sourceRoot":"","sources":["../../src/server/httpServer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE;QACf,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAE/G"}
|