@mcpmake/core 0.2.0
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/dist/analyzer/auth-detector.d.ts +13 -0
- package/dist/analyzer/auth-detector.d.ts.map +1 -0
- package/dist/analyzer/auth-detector.js +143 -0
- package/dist/analyzer/auth-detector.js.map +1 -0
- package/dist/analyzer/dom-parser.d.ts +11 -0
- package/dist/analyzer/dom-parser.d.ts.map +1 -0
- package/dist/analyzer/dom-parser.js +260 -0
- package/dist/analyzer/dom-parser.js.map +1 -0
- package/dist/analyzer/goal-crawler.d.ts +26 -0
- package/dist/analyzer/goal-crawler.d.ts.map +1 -0
- package/dist/analyzer/goal-crawler.js +178 -0
- package/dist/analyzer/goal-crawler.js.map +1 -0
- package/dist/analyzer/hybrid-detector.d.ts +29 -0
- package/dist/analyzer/hybrid-detector.d.ts.map +1 -0
- package/dist/analyzer/hybrid-detector.js +97 -0
- package/dist/analyzer/hybrid-detector.js.map +1 -0
- package/dist/analyzer/index.d.ts +13 -0
- package/dist/analyzer/index.d.ts.map +1 -0
- package/dist/analyzer/index.js +9 -0
- package/dist/analyzer/index.js.map +1 -0
- package/dist/analyzer/screenshot-capture.d.ts +30 -0
- package/dist/analyzer/screenshot-capture.d.ts.map +1 -0
- package/dist/analyzer/screenshot-capture.js +43 -0
- package/dist/analyzer/screenshot-capture.js.map +1 -0
- package/dist/analyzer/selector-builder.d.ts +20 -0
- package/dist/analyzer/selector-builder.d.ts.map +1 -0
- package/dist/analyzer/selector-builder.js +200 -0
- package/dist/analyzer/selector-builder.js.map +1 -0
- package/dist/analyzer/semantic-analyzer.d.ts +14 -0
- package/dist/analyzer/semantic-analyzer.d.ts.map +1 -0
- package/dist/analyzer/semantic-analyzer.js +146 -0
- package/dist/analyzer/semantic-analyzer.js.map +1 -0
- package/dist/analyzer/site-crawler.d.ts +39 -0
- package/dist/analyzer/site-crawler.d.ts.map +1 -0
- package/dist/analyzer/site-crawler.js +236 -0
- package/dist/analyzer/site-crawler.js.map +1 -0
- package/dist/config/configurable-command.d.ts +14 -0
- package/dist/config/configurable-command.d.ts.map +1 -0
- package/dist/config/configurable-command.js +71 -0
- package/dist/config/configurable-command.js.map +1 -0
- package/dist/config/mcpmake-config.d.ts +69 -0
- package/dist/config/mcpmake-config.d.ts.map +1 -0
- package/dist/config/mcpmake-config.js +209 -0
- package/dist/config/mcpmake-config.js.map +1 -0
- package/dist/emitter/code-writer.d.ts +9 -0
- package/dist/emitter/code-writer.d.ts.map +1 -0
- package/dist/emitter/code-writer.js +26 -0
- package/dist/emitter/code-writer.js.map +1 -0
- package/dist/emitter/index.d.ts +33 -0
- package/dist/emitter/index.d.ts.map +1 -0
- package/dist/emitter/index.js +297 -0
- package/dist/emitter/index.js.map +1 -0
- package/dist/emitter/mcpb-bundler.d.ts +32 -0
- package/dist/emitter/mcpb-bundler.d.ts.map +1 -0
- package/dist/emitter/mcpb-bundler.js +173 -0
- package/dist/emitter/mcpb-bundler.js.map +1 -0
- package/dist/emitter/project-scaffolder.d.ts +5 -0
- package/dist/emitter/project-scaffolder.d.ts.map +1 -0
- package/dist/emitter/project-scaffolder.js +101 -0
- package/dist/emitter/project-scaffolder.js.map +1 -0
- package/dist/emitter/python-template-loader.d.ts +5 -0
- package/dist/emitter/python-template-loader.d.ts.map +1 -0
- package/dist/emitter/python-template-loader.js +31 -0
- package/dist/emitter/python-template-loader.js.map +1 -0
- package/dist/emitter/python-templates/dockerfile.hbs +14 -0
- package/dist/emitter/python-templates/env.example.hbs +12 -0
- package/dist/emitter/python-templates/requirements.txt.hbs +4 -0
- package/dist/emitter/python-templates/server.py.hbs +93 -0
- package/dist/emitter/site-scaffolder.d.ts +14 -0
- package/dist/emitter/site-scaffolder.d.ts.map +1 -0
- package/dist/emitter/site-scaffolder.js +71 -0
- package/dist/emitter/site-scaffolder.js.map +1 -0
- package/dist/emitter/site-template-loader.d.ts +6 -0
- package/dist/emitter/site-template-loader.d.ts.map +1 -0
- package/dist/emitter/site-template-loader.js +48 -0
- package/dist/emitter/site-template-loader.js.map +1 -0
- package/dist/emitter/site-templates/browser-manager.ts.hbs +233 -0
- package/dist/emitter/site-templates/config.ts.hbs +28 -0
- package/dist/emitter/site-templates/dockerfile.hbs +31 -0
- package/dist/emitter/site-templates/env.example.hbs +19 -0
- package/dist/emitter/site-templates/package.json.hbs +26 -0
- package/dist/emitter/site-templates/server-main-http.ts.hbs +108 -0
- package/dist/emitter/site-templates/server-main.ts.hbs +23 -0
- package/dist/emitter/site-templates/tool-handler-action.ts.hbs +86 -0
- package/dist/emitter/site-templates/tool-handler-form.ts.hbs +116 -0
- package/dist/emitter/site-templates/tool-handler-lifecycle.ts.hbs +146 -0
- package/dist/emitter/site-templates/tool-index.ts.hbs +11 -0
- package/dist/emitter/template-loader.d.ts +2 -0
- package/dist/emitter/template-loader.d.ts.map +1 -0
- package/dist/emitter/template-loader.js +28 -0
- package/dist/emitter/template-loader.js.map +1 -0
- package/dist/emitter/templates/auth-provider.ts.hbs +57 -0
- package/dist/emitter/templates/config.ts.hbs +110 -0
- package/dist/emitter/templates/discovery.ts.hbs +320 -0
- package/dist/emitter/templates/dockerfile.hbs +34 -0
- package/dist/emitter/templates/env.example.hbs +52 -0
- package/dist/emitter/templates/gitignore.hbs +5 -0
- package/dist/emitter/templates/http-executor.ts.hbs +159 -0
- package/dist/emitter/templates/oauth.ts.hbs +188 -0
- package/dist/emitter/templates/package.json.hbs +25 -0
- package/dist/emitter/templates/prompts.ts.hbs +22 -0
- package/dist/emitter/templates/readme.md.hbs +156 -0
- package/dist/emitter/templates/resources.ts.hbs +63 -0
- package/dist/emitter/templates/response-filter.ts.hbs +128 -0
- package/dist/emitter/templates/server-main-http.ts.hbs +442 -0
- package/dist/emitter/templates/server-main.ts.hbs +40 -0
- package/dist/emitter/templates/task-handlers.ts.hbs +189 -0
- package/dist/emitter/templates/task-manager.ts.hbs +139 -0
- package/dist/emitter/templates/task-sse.ts.hbs +105 -0
- package/dist/emitter/templates/tool-handler.ts.hbs +142 -0
- package/dist/emitter/templates/tool-index.ts.hbs +42 -0
- package/dist/emitter/templates/tool-test.ts.hbs +57 -0
- package/dist/emitter/templates/trace.ts.hbs +79 -0
- package/dist/emitter/templates/tsconfig.json.hbs +16 -0
- package/dist/emitter/templates/types.ts.hbs +5 -0
- package/dist/emitter/worker-template-loader.d.ts +6 -0
- package/dist/emitter/worker-template-loader.d.ts.map +1 -0
- package/dist/emitter/worker-template-loader.js +34 -0
- package/dist/emitter/worker-template-loader.js.map +1 -0
- package/dist/emitter/worker-templates/config.ts.hbs +93 -0
- package/dist/emitter/worker-templates/dev-vars.example.hbs +27 -0
- package/dist/emitter/worker-templates/gitignore.hbs +6 -0
- package/dist/emitter/worker-templates/package.json.hbs +24 -0
- package/dist/emitter/worker-templates/readme.md.hbs +73 -0
- package/dist/emitter/worker-templates/server.test.ts.hbs +20 -0
- package/dist/emitter/worker-templates/tool-handler.ts.hbs +103 -0
- package/dist/emitter/worker-templates/tool-index.ts.hbs +28 -0
- package/dist/emitter/worker-templates/tsconfig.json.hbs +17 -0
- package/dist/emitter/worker-templates/worker.ts.hbs +286 -0
- package/dist/emitter/worker-templates/wrangler.toml.hbs +19 -0
- package/dist/generator/spec-generator.d.ts +7 -0
- package/dist/generator/spec-generator.d.ts.map +1 -0
- package/dist/generator/spec-generator.js +51 -0
- package/dist/generator/spec-generator.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/har-filter.d.ts +9 -0
- package/dist/parser/har-filter.d.ts.map +1 -0
- package/dist/parser/har-filter.js +72 -0
- package/dist/parser/har-filter.js.map +1 -0
- package/dist/parser/har-loader.d.ts +3 -0
- package/dist/parser/har-loader.d.ts.map +1 -0
- package/dist/parser/har-loader.js +15 -0
- package/dist/parser/har-loader.js.map +1 -0
- package/dist/parser/har-normalizer.d.ts +21 -0
- package/dist/parser/har-normalizer.d.ts.map +1 -0
- package/dist/parser/har-normalizer.js +79 -0
- package/dist/parser/har-normalizer.js.map +1 -0
- package/dist/parser/index.d.ts +11 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +7 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/openapi-loader.d.ts +7 -0
- package/dist/parser/openapi-loader.d.ts.map +1 -0
- package/dist/parser/openapi-loader.js +309 -0
- package/dist/parser/openapi-loader.js.map +1 -0
- package/dist/parser/operation-extractor.d.ts +14 -0
- package/dist/parser/operation-extractor.d.ts.map +1 -0
- package/dist/parser/operation-extractor.js +156 -0
- package/dist/parser/operation-extractor.js.map +1 -0
- package/dist/parser/overlay-loader.d.ts +11 -0
- package/dist/parser/overlay-loader.d.ts.map +1 -0
- package/dist/parser/overlay-loader.js +185 -0
- package/dist/parser/overlay-loader.js.map +1 -0
- package/dist/parser/postman-loader.d.ts +10 -0
- package/dist/parser/postman-loader.d.ts.map +1 -0
- package/dist/parser/postman-loader.js +107 -0
- package/dist/parser/postman-loader.js.map +1 -0
- package/dist/parser/schema-converter.d.ts +13 -0
- package/dist/parser/schema-converter.d.ts.map +1 -0
- package/dist/parser/schema-converter.js +118 -0
- package/dist/parser/schema-converter.js.map +1 -0
- package/dist/plugins/adapter.d.ts +41 -0
- package/dist/plugins/adapter.d.ts.map +1 -0
- package/dist/plugins/adapter.js +16 -0
- package/dist/plugins/adapter.js.map +1 -0
- package/dist/plugins/loader.d.ts +26 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +59 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/pricing.d.ts +56 -0
- package/dist/pricing.d.ts.map +1 -0
- package/dist/pricing.js +134 -0
- package/dist/pricing.js.map +1 -0
- package/dist/providers/index.d.ts +16 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +57 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/recorder/browser-recorder.d.ts +23 -0
- package/dist/recorder/browser-recorder.d.ts.map +1 -0
- package/dist/recorder/browser-recorder.js +206 -0
- package/dist/recorder/browser-recorder.js.map +1 -0
- package/dist/rescan/diff-engine.d.ts +6 -0
- package/dist/rescan/diff-engine.d.ts.map +1 -0
- package/dist/rescan/diff-engine.js +313 -0
- package/dist/rescan/diff-engine.js.map +1 -0
- package/dist/rescan/index.d.ts +4 -0
- package/dist/rescan/index.d.ts.map +1 -0
- package/dist/rescan/index.js +3 -0
- package/dist/rescan/index.js.map +1 -0
- package/dist/rescan/rescan-runner.d.ts +43 -0
- package/dist/rescan/rescan-runner.d.ts.map +1 -0
- package/dist/rescan/rescan-runner.js +70 -0
- package/dist/rescan/rescan-runner.js.map +1 -0
- package/dist/rescan/rescan-scheduler.d.ts +42 -0
- package/dist/rescan/rescan-scheduler.d.ts.map +1 -0
- package/dist/rescan/rescan-scheduler.js +180 -0
- package/dist/rescan/rescan-scheduler.js.map +1 -0
- package/dist/site-transformer/browser-tools.d.ts +11 -0
- package/dist/site-transformer/browser-tools.d.ts.map +1 -0
- package/dist/site-transformer/browser-tools.js +60 -0
- package/dist/site-transformer/browser-tools.js.map +1 -0
- package/dist/site-transformer/index.d.ts +3 -0
- package/dist/site-transformer/index.d.ts.map +1 -0
- package/dist/site-transformer/index.js +3 -0
- package/dist/site-transformer/index.js.map +1 -0
- package/dist/site-transformer/selector-healer.d.ts +9 -0
- package/dist/site-transformer/selector-healer.d.ts.map +1 -0
- package/dist/site-transformer/selector-healer.js +107 -0
- package/dist/site-transformer/selector-healer.js.map +1 -0
- package/dist/site-transformer/tool-generator.d.ts +14 -0
- package/dist/site-transformer/tool-generator.d.ts.map +1 -0
- package/dist/site-transformer/tool-generator.js +246 -0
- package/dist/site-transformer/tool-generator.js.map +1 -0
- package/dist/transformer/auth-detector.d.ts +29 -0
- package/dist/transformer/auth-detector.d.ts.map +1 -0
- package/dist/transformer/auth-detector.js +104 -0
- package/dist/transformer/auth-detector.js.map +1 -0
- package/dist/transformer/catalog-builder.d.ts +19 -0
- package/dist/transformer/catalog-builder.d.ts.map +1 -0
- package/dist/transformer/catalog-builder.js +57 -0
- package/dist/transformer/catalog-builder.js.map +1 -0
- package/dist/transformer/client-compat.d.ts +7 -0
- package/dist/transformer/client-compat.d.ts.map +1 -0
- package/dist/transformer/client-compat.js +45 -0
- package/dist/transformer/client-compat.js.map +1 -0
- package/dist/transformer/har-clusterer.d.ts +10 -0
- package/dist/transformer/har-clusterer.d.ts.map +1 -0
- package/dist/transformer/har-clusterer.js +28 -0
- package/dist/transformer/har-clusterer.js.map +1 -0
- package/dist/transformer/har-dedup.d.ts +11 -0
- package/dist/transformer/har-dedup.d.ts.map +1 -0
- package/dist/transformer/har-dedup.js +82 -0
- package/dist/transformer/har-dedup.js.map +1 -0
- package/dist/transformer/har-schema-inferrer.d.ts +16 -0
- package/dist/transformer/har-schema-inferrer.d.ts.map +1 -0
- package/dist/transformer/har-schema-inferrer.js +91 -0
- package/dist/transformer/har-schema-inferrer.js.map +1 -0
- package/dist/transformer/har-to-operations.d.ts +14 -0
- package/dist/transformer/har-to-operations.d.ts.map +1 -0
- package/dist/transformer/har-to-operations.js +193 -0
- package/dist/transformer/har-to-operations.js.map +1 -0
- package/dist/transformer/index.d.ts +9 -0
- package/dist/transformer/index.d.ts.map +1 -0
- package/dist/transformer/index.js +7 -0
- package/dist/transformer/index.js.map +1 -0
- package/dist/transformer/llm-namer.d.ts +7 -0
- package/dist/transformer/llm-namer.d.ts.map +1 -0
- package/dist/transformer/llm-namer.js +60 -0
- package/dist/transformer/llm-namer.js.map +1 -0
- package/dist/transformer/naming.d.ts +5 -0
- package/dist/transformer/naming.d.ts.map +1 -0
- package/dist/transformer/naming.js +31 -0
- package/dist/transformer/naming.js.map +1 -0
- package/dist/transformer/operation-filter.d.ts +14 -0
- package/dist/transformer/operation-filter.d.ts.map +1 -0
- package/dist/transformer/operation-filter.js +53 -0
- package/dist/transformer/operation-filter.js.map +1 -0
- package/dist/transformer/resource-builder.d.ts +13 -0
- package/dist/transformer/resource-builder.d.ts.map +1 -0
- package/dist/transformer/resource-builder.js +87 -0
- package/dist/transformer/resource-builder.js.map +1 -0
- package/dist/transformer/schema-merger.d.ts +15 -0
- package/dist/transformer/schema-merger.d.ts.map +1 -0
- package/dist/transformer/schema-merger.js +66 -0
- package/dist/transformer/schema-merger.js.map +1 -0
- package/dist/transformer/stainless-config.d.ts +75 -0
- package/dist/transformer/stainless-config.d.ts.map +1 -0
- package/dist/transformer/stainless-config.js +59 -0
- package/dist/transformer/stainless-config.js.map +1 -0
- package/dist/transformer/stainless-translator.d.ts +61 -0
- package/dist/transformer/stainless-translator.d.ts.map +1 -0
- package/dist/transformer/stainless-translator.js +375 -0
- package/dist/transformer/stainless-translator.js.map +1 -0
- package/dist/transformer/tool-builder.d.ts +4 -0
- package/dist/transformer/tool-builder.d.ts.map +1 -0
- package/dist/transformer/tool-builder.js +119 -0
- package/dist/transformer/tool-builder.js.map +1 -0
- package/dist/types/index.d.ts +140 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/site.d.ts +285 -0
- package/dist/types/site.d.ts.map +1 -0
- package/dist/types/site.js +9 -0
- package/dist/types/site.js.map +1 -0
- package/dist/utils/fail.d.ts +49 -0
- package/dist/utils/fail.d.ts.map +1 -0
- package/dist/utils/fail.js +223 -0
- package/dist/utils/fail.js.map +1 -0
- package/dist/utils/fs.d.ts +6 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +29 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/interactive.d.ts +7 -0
- package/dist/utils/interactive.d.ts.map +1 -0
- package/dist/utils/interactive.js +31 -0
- package/dist/utils/interactive.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +3 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/sanitize.d.ts +29 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +45 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/watcher.d.ts +12 -0
- package/dist/utils/watcher.d.ts.map +1 -0
- package/dist/utils/watcher.js +37 -0
- package/dist/utils/watcher.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export type HttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head' | 'options';
|
|
2
|
+
export interface ParameterDescriptor {
|
|
3
|
+
name: string;
|
|
4
|
+
in: 'path' | 'query' | 'header' | 'cookie';
|
|
5
|
+
required: boolean;
|
|
6
|
+
description?: string;
|
|
7
|
+
schema: JsonSchema;
|
|
8
|
+
}
|
|
9
|
+
export interface RequestBodyDescriptor {
|
|
10
|
+
required: boolean;
|
|
11
|
+
description?: string;
|
|
12
|
+
contentType: string;
|
|
13
|
+
schema: JsonSchema;
|
|
14
|
+
}
|
|
15
|
+
export interface ResponseDescriptor {
|
|
16
|
+
statusCode: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
contentType?: string;
|
|
19
|
+
schema?: JsonSchema;
|
|
20
|
+
}
|
|
21
|
+
export interface SecurityRequirement {
|
|
22
|
+
schemeName: string;
|
|
23
|
+
scopes: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface McpExtensions {
|
|
26
|
+
name?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
emit?: 'tool' | 'resource' | 'prompt' | 'skip';
|
|
29
|
+
scope?: 'read' | 'write' | 'destructive';
|
|
30
|
+
/** Deprecation message surfaced in tool description */
|
|
31
|
+
deprecationMessage?: string;
|
|
32
|
+
/** Replacement tool name for deprecated operations */
|
|
33
|
+
deprecationReplacement?: string;
|
|
34
|
+
/** JQ filter expression to trim API responses before returning to agent */
|
|
35
|
+
jqFilter?: string;
|
|
36
|
+
/** Allow unknown enum values for forward compatibility */
|
|
37
|
+
unknownValues?: 'allow' | 'reject';
|
|
38
|
+
}
|
|
39
|
+
export interface OperationDescriptor {
|
|
40
|
+
operationId: string;
|
|
41
|
+
method: HttpMethod;
|
|
42
|
+
path: string;
|
|
43
|
+
summary?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
tags: string[];
|
|
46
|
+
parameters: ParameterDescriptor[];
|
|
47
|
+
requestBody?: RequestBodyDescriptor;
|
|
48
|
+
responses: ResponseDescriptor[];
|
|
49
|
+
security: SecurityRequirement[];
|
|
50
|
+
deprecated: boolean;
|
|
51
|
+
mcpExtensions?: McpExtensions;
|
|
52
|
+
}
|
|
53
|
+
export interface ToolAnnotations {
|
|
54
|
+
readOnlyHint?: boolean;
|
|
55
|
+
destructiveHint?: boolean;
|
|
56
|
+
idempotentHint?: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface ToolDefinition {
|
|
59
|
+
name: string;
|
|
60
|
+
title: string;
|
|
61
|
+
description: string;
|
|
62
|
+
inputSchemaCode: string;
|
|
63
|
+
outputSchemaCode?: string;
|
|
64
|
+
operationId: string;
|
|
65
|
+
method: HttpMethod;
|
|
66
|
+
pathTemplate: string;
|
|
67
|
+
pathParams: string[];
|
|
68
|
+
queryParams: string[];
|
|
69
|
+
headerParams: string[];
|
|
70
|
+
hasRequestBody: boolean;
|
|
71
|
+
requestBodyContentType: string;
|
|
72
|
+
fileName: string;
|
|
73
|
+
functionName: string;
|
|
74
|
+
buildUrlBody: string;
|
|
75
|
+
annotations?: ToolAnnotations;
|
|
76
|
+
isAsync?: boolean;
|
|
77
|
+
isDestructive?: boolean;
|
|
78
|
+
/** JQ filter to apply to API response before returning to agent */
|
|
79
|
+
jqFilter?: string;
|
|
80
|
+
}
|
|
81
|
+
export type AuthType = 'apiKey' | 'http-bearer' | 'http-basic' | 'oauth2';
|
|
82
|
+
export interface AuthScheme {
|
|
83
|
+
type: AuthType;
|
|
84
|
+
envVarName: string;
|
|
85
|
+
headerName?: string;
|
|
86
|
+
in?: 'header' | 'query' | 'cookie';
|
|
87
|
+
description?: string;
|
|
88
|
+
}
|
|
89
|
+
export interface EnvVarDescriptor {
|
|
90
|
+
name: string;
|
|
91
|
+
description: string;
|
|
92
|
+
required: boolean;
|
|
93
|
+
example?: string;
|
|
94
|
+
}
|
|
95
|
+
export type TransportMode = 'stdio' | 'http';
|
|
96
|
+
/**
|
|
97
|
+
* Deployment target for the generated TypeScript server.
|
|
98
|
+
* `node` (default) emits a Node.js server (stdio or node:http); `cloudflare`
|
|
99
|
+
* emits a stateless Cloudflare Workers Fetch handler.
|
|
100
|
+
*/
|
|
101
|
+
export type EmitTarget = 'node' | 'cloudflare';
|
|
102
|
+
export interface ResourceDefinition {
|
|
103
|
+
name: string;
|
|
104
|
+
uri: string;
|
|
105
|
+
path: string;
|
|
106
|
+
description: string;
|
|
107
|
+
isTemplate?: boolean;
|
|
108
|
+
templateParams?: string[];
|
|
109
|
+
urlBody?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface PromptDefinition {
|
|
112
|
+
name: string;
|
|
113
|
+
description: string;
|
|
114
|
+
template: string;
|
|
115
|
+
}
|
|
116
|
+
export interface ProjectManifest {
|
|
117
|
+
serverName: string;
|
|
118
|
+
serverVersion: string;
|
|
119
|
+
baseUrl: string;
|
|
120
|
+
transport: TransportMode;
|
|
121
|
+
tools: ToolDefinition[];
|
|
122
|
+
resources?: ResourceDefinition[];
|
|
123
|
+
prompts?: PromptDefinition[];
|
|
124
|
+
authSchemes: AuthScheme[];
|
|
125
|
+
envVars: EnvVarDescriptor[];
|
|
126
|
+
dynamicDiscovery?: boolean;
|
|
127
|
+
staticToolCount?: number;
|
|
128
|
+
/** Deployment target (default `node`). `cloudflare` emits a Workers project. */
|
|
129
|
+
target?: EmitTarget;
|
|
130
|
+
/**
|
|
131
|
+
* Named base URLs to pre-seed into the generated `.env.example` as
|
|
132
|
+
* `MCP_ENVIRONMENTS` (a JSON name→URL map). Used by the Stainless importer to
|
|
133
|
+
* carry over a config's `environments`. Optional — omitted from normal output.
|
|
134
|
+
*/
|
|
135
|
+
environments?: Record<string, string>;
|
|
136
|
+
/** The environment selected by default (`API_ENVIRONMENT`). */
|
|
137
|
+
defaultEnvironment?: string;
|
|
138
|
+
}
|
|
139
|
+
export type JsonSchema = Record<string, unknown>;
|
|
140
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Website-to-MCP pipeline.
|
|
3
|
+
*
|
|
4
|
+
* These types represent DOM-based interactions (forms, buttons, links)
|
|
5
|
+
* rather than HTTP API calls. They form a parallel pipeline to the
|
|
6
|
+
* existing OperationDescriptor/ToolDefinition types in index.ts.
|
|
7
|
+
*/
|
|
8
|
+
import type { EnvVarDescriptor, TransportMode } from './index.js';
|
|
9
|
+
export type SelectorStrategy = 'data-testid' | 'id' | 'aria-label' | 'name' | 'role' | 'css-path' | 'xpath';
|
|
10
|
+
export interface SelectorSet {
|
|
11
|
+
/** Best available selector string */
|
|
12
|
+
primary: string;
|
|
13
|
+
/** Ordered fallback selectors */
|
|
14
|
+
fallbacks: string[];
|
|
15
|
+
/** Strategy used for the primary selector */
|
|
16
|
+
strategy: SelectorStrategy;
|
|
17
|
+
/** 0-1 confidence score for selector stability */
|
|
18
|
+
confidence: number;
|
|
19
|
+
/** LLM-inferred human-readable label, e.g. "Login button" */
|
|
20
|
+
humanLabel?: string;
|
|
21
|
+
}
|
|
22
|
+
export type FormFieldType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'select' | 'checkbox' | 'radio' | 'textarea' | 'hidden' | 'file' | 'date' | 'datetime-local' | 'color' | 'range' | 'other';
|
|
23
|
+
export interface FormFieldDescriptor {
|
|
24
|
+
/** Form field name attribute */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Input type */
|
|
27
|
+
fieldType: FormFieldType;
|
|
28
|
+
/** Selector set for this field */
|
|
29
|
+
selector: SelectorSet;
|
|
30
|
+
/** Associated <label> text or aria-label */
|
|
31
|
+
label?: string;
|
|
32
|
+
/** Placeholder text */
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
/** Whether the field is required */
|
|
35
|
+
required: boolean;
|
|
36
|
+
/** Options for <select>, radio groups, and datalists */
|
|
37
|
+
options?: string[];
|
|
38
|
+
/** Default or current value */
|
|
39
|
+
defaultValue?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface FormDescriptor {
|
|
42
|
+
/** Generated stable ID for this form */
|
|
43
|
+
formId: string;
|
|
44
|
+
/** Form action URL (if present) */
|
|
45
|
+
action?: string;
|
|
46
|
+
/** Form method */
|
|
47
|
+
method: 'get' | 'post';
|
|
48
|
+
/** Selector set for the <form> element */
|
|
49
|
+
selector: SelectorSet;
|
|
50
|
+
/** Fields within the form */
|
|
51
|
+
fields: FormFieldDescriptor[];
|
|
52
|
+
/** Submit button selector */
|
|
53
|
+
submitButton?: SelectorSet;
|
|
54
|
+
/** LLM-inferred semantic name, e.g. "login_form", "search_form" */
|
|
55
|
+
semanticName?: string;
|
|
56
|
+
/** LLM-inferred description of what this form does */
|
|
57
|
+
description?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface ButtonDescriptor {
|
|
60
|
+
/** Generated stable ID */
|
|
61
|
+
buttonId: string;
|
|
62
|
+
/** Selector set for the button element */
|
|
63
|
+
selector: SelectorSet;
|
|
64
|
+
/** Visible button text */
|
|
65
|
+
text?: string;
|
|
66
|
+
/** aria-label value */
|
|
67
|
+
ariaLabel?: string;
|
|
68
|
+
/** LLM-inferred action, e.g. "add_to_cart", "submit_order" */
|
|
69
|
+
semanticAction?: string;
|
|
70
|
+
/** LLM-inferred description */
|
|
71
|
+
description?: string;
|
|
72
|
+
/** Button type */
|
|
73
|
+
type: 'submit' | 'button' | 'link' | 'other';
|
|
74
|
+
/** href for link-style buttons */
|
|
75
|
+
href?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface LinkDescriptor {
|
|
78
|
+
/** Generated stable ID */
|
|
79
|
+
linkId: string;
|
|
80
|
+
/** Selector set for the <a> element */
|
|
81
|
+
selector: SelectorSet;
|
|
82
|
+
/** Visible link text */
|
|
83
|
+
text?: string;
|
|
84
|
+
/** Link destination */
|
|
85
|
+
href: string;
|
|
86
|
+
/** Whether this link navigates to a new page (vs anchor/JS action) */
|
|
87
|
+
isNavigation: boolean;
|
|
88
|
+
/** LLM-inferred semantic action */
|
|
89
|
+
semanticAction?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface PageDescriptor {
|
|
92
|
+
/** Generated stable ID */
|
|
93
|
+
pageId: string;
|
|
94
|
+
/** Canonical URL of the page */
|
|
95
|
+
url: string;
|
|
96
|
+
/** URL pattern for parameterized pages (e.g. /products/:id) */
|
|
97
|
+
urlPattern?: string;
|
|
98
|
+
/** Page title from <title> or first <h1> */
|
|
99
|
+
title?: string;
|
|
100
|
+
/** LLM-inferred semantic name, e.g. "login_page", "search_results" */
|
|
101
|
+
semanticName?: string;
|
|
102
|
+
/** LLM-inferred description */
|
|
103
|
+
description?: string;
|
|
104
|
+
/** Forms discovered on this page */
|
|
105
|
+
forms: FormDescriptor[];
|
|
106
|
+
/** Standalone buttons (not inside forms) */
|
|
107
|
+
buttons: ButtonDescriptor[];
|
|
108
|
+
/** Links discovered on this page */
|
|
109
|
+
links: LinkDescriptor[];
|
|
110
|
+
/** SHA-256 hash of the analysis screenshot */
|
|
111
|
+
screenshotHash?: string;
|
|
112
|
+
/** ISO timestamp of when this page was analyzed */
|
|
113
|
+
analyzedAt: string;
|
|
114
|
+
}
|
|
115
|
+
export type AuthFlowType = 'form-login' | 'oauth-redirect' | 'basic-auth' | 'cookie-session' | 'unknown';
|
|
116
|
+
export interface AuthFlowDescriptor {
|
|
117
|
+
/** Detected auth mechanism */
|
|
118
|
+
type: AuthFlowType;
|
|
119
|
+
/** The page containing the login form */
|
|
120
|
+
loginPage?: PageDescriptor;
|
|
121
|
+
/** The login form descriptor */
|
|
122
|
+
loginForm?: FormDescriptor;
|
|
123
|
+
/** Selector for the username/email field */
|
|
124
|
+
usernameField?: SelectorSet;
|
|
125
|
+
/** Selector for the password field */
|
|
126
|
+
passwordField?: SelectorSet;
|
|
127
|
+
/** Selector for the submit/login button */
|
|
128
|
+
submitButton?: SelectorSet;
|
|
129
|
+
/** How to detect if the user is currently logged in */
|
|
130
|
+
sessionIndicator?: {
|
|
131
|
+
/** Element present when logged in (e.g. user avatar, logout button) */
|
|
132
|
+
selector?: SelectorSet;
|
|
133
|
+
/** Cookie name that indicates an active session */
|
|
134
|
+
cookie?: string;
|
|
135
|
+
/** URL pattern after successful login (e.g. /dashboard) */
|
|
136
|
+
urlPattern?: string;
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export interface SiteDescriptor {
|
|
140
|
+
/** Unique identifier for this site analysis */
|
|
141
|
+
siteId: string;
|
|
142
|
+
/** Base URL of the site */
|
|
143
|
+
baseUrl: string;
|
|
144
|
+
/** All discovered pages */
|
|
145
|
+
pages: PageDescriptor[];
|
|
146
|
+
/** Detected authentication flow */
|
|
147
|
+
authFlow?: AuthFlowDescriptor;
|
|
148
|
+
/** ISO timestamp of the analysis */
|
|
149
|
+
analyzedAt: string;
|
|
150
|
+
/** Version number, incremented on rescan */
|
|
151
|
+
version: number;
|
|
152
|
+
/** How deep the crawler went */
|
|
153
|
+
crawlDepth: number;
|
|
154
|
+
/** Site metadata */
|
|
155
|
+
metadata: {
|
|
156
|
+
title?: string;
|
|
157
|
+
description?: string;
|
|
158
|
+
favicon?: string;
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
export type SiteToolType = 'page-action' | 'element-action' | 'navigation' | 'browser-lifecycle';
|
|
162
|
+
export interface SiteToolDefinition {
|
|
163
|
+
/** Tool name (kebab-case, MCP-compatible) */
|
|
164
|
+
name: string;
|
|
165
|
+
/** Human-readable title */
|
|
166
|
+
title: string;
|
|
167
|
+
/** Tool description */
|
|
168
|
+
description: string;
|
|
169
|
+
/** Zod schema code for tool input parameters */
|
|
170
|
+
inputSchemaCode: string;
|
|
171
|
+
/** Output file name */
|
|
172
|
+
fileName: string;
|
|
173
|
+
/** Generated function name (camelCase) */
|
|
174
|
+
functionName: string;
|
|
175
|
+
/** What kind of site tool this is */
|
|
176
|
+
toolType: SiteToolType;
|
|
177
|
+
/** Which page this tool operates on */
|
|
178
|
+
pageId?: string;
|
|
179
|
+
/** Page URL for navigation */
|
|
180
|
+
pageUrl?: string;
|
|
181
|
+
/** Form descriptor (for form-based page-action tools) */
|
|
182
|
+
form?: FormDescriptor;
|
|
183
|
+
/** Button descriptor (for element-action tools) */
|
|
184
|
+
button?: ButtonDescriptor;
|
|
185
|
+
/** Link descriptor (for navigation tools) */
|
|
186
|
+
link?: LinkDescriptor;
|
|
187
|
+
/** All selectors this tool depends on */
|
|
188
|
+
selectors: SelectorSet[];
|
|
189
|
+
/** Whether this tool returns a screenshot alongside text */
|
|
190
|
+
returnsScreenshot: boolean;
|
|
191
|
+
/** MCP tool annotations */
|
|
192
|
+
annotations?: {
|
|
193
|
+
readOnlyHint?: boolean;
|
|
194
|
+
destructiveHint?: boolean;
|
|
195
|
+
idempotentHint?: boolean;
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
export interface BrowserConfig {
|
|
199
|
+
/** Run browser in headless mode */
|
|
200
|
+
headless: boolean;
|
|
201
|
+
/** Idle timeout before auto-closing browser (ms) */
|
|
202
|
+
idleTimeoutMs: number;
|
|
203
|
+
/** Browser viewport dimensions */
|
|
204
|
+
viewport: {
|
|
205
|
+
width: number;
|
|
206
|
+
height: number;
|
|
207
|
+
};
|
|
208
|
+
/** Custom user agent string */
|
|
209
|
+
userAgent?: string;
|
|
210
|
+
/** Maximum concurrent browser sessions (default: 10) */
|
|
211
|
+
maxSessions?: number;
|
|
212
|
+
}
|
|
213
|
+
export interface SiteProjectManifest {
|
|
214
|
+
/** Server name (kebab-case) */
|
|
215
|
+
serverName: string;
|
|
216
|
+
/** Server version */
|
|
217
|
+
serverVersion: string;
|
|
218
|
+
/** Target website base URL */
|
|
219
|
+
baseUrl: string;
|
|
220
|
+
/** MCP transport mode */
|
|
221
|
+
transport: TransportMode;
|
|
222
|
+
/** Full site descriptor (embedded in generated project) */
|
|
223
|
+
siteDescriptor: SiteDescriptor;
|
|
224
|
+
/** Generated tools */
|
|
225
|
+
tools: SiteToolDefinition[];
|
|
226
|
+
/** Environment variables the generated server needs */
|
|
227
|
+
envVars: EnvVarDescriptor[];
|
|
228
|
+
/** Playwright browser configuration */
|
|
229
|
+
browserConfig: BrowserConfig;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Regeneration metadata written to the generated project root as
|
|
233
|
+
* `mcpmake.site.json` so `mcpmake rescan` can rebuild the project from a
|
|
234
|
+
* freshly crawled SiteDescriptor without re-specifying the original CLI flags.
|
|
235
|
+
* The SiteDescriptor itself lives in `src/site-descriptor.json` and the tools
|
|
236
|
+
* are regenerated deterministically, so neither is duplicated here.
|
|
237
|
+
*/
|
|
238
|
+
export interface SiteRegenMetadata {
|
|
239
|
+
serverName: string;
|
|
240
|
+
serverVersion: string;
|
|
241
|
+
transport: TransportMode;
|
|
242
|
+
baseUrl: string;
|
|
243
|
+
envVars: EnvVarDescriptor[];
|
|
244
|
+
browserConfig: BrowserConfig;
|
|
245
|
+
}
|
|
246
|
+
export type ChangeType = 'added' | 'removed' | 'modified' | 'selector-broken';
|
|
247
|
+
export type ElementType = 'page' | 'form' | 'button' | 'link' | 'field';
|
|
248
|
+
export interface SiteChangeEntry {
|
|
249
|
+
/** What kind of change */
|
|
250
|
+
changeType: ChangeType;
|
|
251
|
+
/** What kind of element changed */
|
|
252
|
+
elementType: ElementType;
|
|
253
|
+
/** ID of the element that changed */
|
|
254
|
+
elementId: string;
|
|
255
|
+
/** Page where the change occurred */
|
|
256
|
+
pageId: string;
|
|
257
|
+
/** Human-readable description of the change */
|
|
258
|
+
description: string;
|
|
259
|
+
/** ISO timestamp */
|
|
260
|
+
timestamp: string;
|
|
261
|
+
/** Previous value (for modified/removed) */
|
|
262
|
+
oldValue?: unknown;
|
|
263
|
+
/** New value (for added/modified) */
|
|
264
|
+
newValue?: unknown;
|
|
265
|
+
}
|
|
266
|
+
export interface RescanResult {
|
|
267
|
+
/** Previous site descriptor version */
|
|
268
|
+
previousVersion: number;
|
|
269
|
+
/** New version number */
|
|
270
|
+
newVersion: number;
|
|
271
|
+
/** All changes detected */
|
|
272
|
+
changes: SiteChangeEntry[];
|
|
273
|
+
/** Selectors that no longer resolve */
|
|
274
|
+
brokenSelectors: Array<{
|
|
275
|
+
toolName: string;
|
|
276
|
+
selector: SelectorSet;
|
|
277
|
+
/** New selector if self-healing succeeded */
|
|
278
|
+
healedSelector?: SelectorSet;
|
|
279
|
+
}>;
|
|
280
|
+
/** Updated site descriptor */
|
|
281
|
+
newSiteDescriptor: SiteDescriptor;
|
|
282
|
+
/** ISO timestamp of the rescan */
|
|
283
|
+
timestamp: string;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=site.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../src/types/site.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the Website-to-MCP pipeline.
|
|
3
|
+
*
|
|
4
|
+
* These types represent DOM-based interactions (forms, buttons, links)
|
|
5
|
+
* rather than HTTP API calls. They form a parallel pipeline to the
|
|
6
|
+
* existing OperationDescriptor/ToolDefinition types in index.ts.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/types/site.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized failure exit with opt-in, redacted error reporting.
|
|
3
|
+
*
|
|
4
|
+
* Why a shared helper instead of wrapping citty's `runMain`: the commands don't
|
|
5
|
+
* `throw` on user-facing failures — they call `logger.error(...)` and then
|
|
6
|
+
* `process.exit(1)` directly. `process.exit()` terminates the event loop
|
|
7
|
+
* synchronously and bypasses every `try/catch` (including citty's `runMain`
|
|
8
|
+
* handler), so a wrapper around `runMain` would never observe these exits. The
|
|
9
|
+
* only reliable place to hook reporting is the failure site itself, so each
|
|
10
|
+
* command calls `await fail(...)` where it used to log-and-exit.
|
|
11
|
+
*
|
|
12
|
+
* Telemetry is strictly opt-in (consent modes `prompt` | `auto` | `off`), never
|
|
13
|
+
* blocks or breaks the CLI (timeout + swallowed errors, mirroring
|
|
14
|
+
* `fetchPricing`), and auto-degrades to `off` in non-TTY / CI environments so it
|
|
15
|
+
* can never hang a pipeline waiting for input.
|
|
16
|
+
*/
|
|
17
|
+
type ConsentMode = 'prompt' | 'auto' | 'off';
|
|
18
|
+
/**
|
|
19
|
+
* Apply every redaction pass. Run on both errorMessage and stack before use.
|
|
20
|
+
*
|
|
21
|
+
* Exported (as `redactText`) so the redaction contract can be unit-tested
|
|
22
|
+
* directly without invoking `fail()` (which calls `process.exit`).
|
|
23
|
+
*/
|
|
24
|
+
export declare function redactText(input: string): string;
|
|
25
|
+
/** Inputs that decide telemetry consent, injectable so the logic is testable. */
|
|
26
|
+
export interface TelemetryEnv {
|
|
27
|
+
/** The mode read from config (anything else is treated as the `prompt` default). */
|
|
28
|
+
configured?: unknown;
|
|
29
|
+
/** Whether stdout is an interactive TTY. */
|
|
30
|
+
isTTY?: boolean;
|
|
31
|
+
/** Whether we are running in CI (truthy `$CI`). */
|
|
32
|
+
ci?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pure consent resolver: given the configured mode and the environment, decide
|
|
36
|
+
* the effective {@link ConsentMode}.
|
|
37
|
+
*
|
|
38
|
+
* Auto-degrades to `'off'` whenever there is no interactive TTY or we're in CI —
|
|
39
|
+
* otherwise the CLI could hang waiting for input that will never come. Exported
|
|
40
|
+
* so this branchy decision can be unit-tested without touching real env/config.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveTelemetryMode(env: TelemetryEnv): ConsentMode;
|
|
43
|
+
/**
|
|
44
|
+
* Log a user-facing failure message, optionally report it (consent permitting),
|
|
45
|
+
* then exit with code 1. Never throws; always exits.
|
|
46
|
+
*/
|
|
47
|
+
export declare function fail(message: string, error?: unknown): Promise<never>;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=fail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../src/utils/fail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAgCH,KAAK,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAkD7C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAqCD,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAWnE;AAoED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAuB3E"}
|