wrekenfile-converter
Version:
Convert OpenAPI and Postman specs into Wrekenfiles, with chunking for vector database storage
209 lines • 9.09 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HEADER_X_CLIENT_VERSION = exports.HEADER_X_REQUEST_ID = exports.HEADER_USER_AGENT = exports.HEADER_ACCEPT_ENCODING = exports.HEADER_ACCEPT_LANGUAGE = exports.HEADER_ACCEPT = exports.HEADER_AUTHORIZATION = exports.HEADER_CONTENT_TYPE = exports.CONTENT_TYPE_TEXT_JAVASCRIPT = exports.CONTENT_TYPE_APPLICATION_JAVASCRIPT = exports.CONTENT_TYPE_APPLICATION_ZIP = exports.CONTENT_TYPE_IMAGE_GIF = exports.CONTENT_TYPE_IMAGE_PNG = exports.CONTENT_TYPE_IMAGE_JPEG = exports.CONTENT_TYPE_APPLICATION_OCTET_STREAM = exports.CONTENT_TYPE_APPLICATION_PDF = exports.CONTENT_TYPE_TEXT_CSV = exports.CONTENT_TYPE_TEXT_HTML = exports.CONTENT_TYPE_TEXT_PLAIN = exports.CONTENT_TYPE_TEXT_XML = exports.CONTENT_TYPE_XML = exports.CONTENT_TYPE_URLENCODED = exports.CONTENT_TYPE_FORM_DATA = exports.CONTENT_TYPE_JSON = exports.FILENAME_TRAILING_SLASHES = exports.FILENAME_LEADING_SLASHES = exports.FILENAME_LEADING_TRAILING_HYPHENS = exports.FILENAME_MULTIPLE_HYPHENS = exports.FILENAME_INVALID_CHARS = exports.DEFAULT_MINI_OUTPUT_DIR = exports.YAML_EXTENSION = exports.MINI_FILENAME_PREFIX = exports.GROUP_PREFIX_OTHER = exports.GROUP_PREFIX_SDK = exports.GROUP_PREFIX_HTTP = exports.YAML_SEPARATOR_LINES = exports.YAML_DOCUMENT_SEPARATOR_END = exports.YAML_DOCUMENT_SEPARATOR_START = exports.DEFAULT_HTTP_SCHEME = exports.BODYTYPE_RAW = exports.TYPE_ANY = exports.TYPE_VOID = exports.ASYNC_RETURNS_RESULT = exports.EXECUTION_MODE_ASYNC = exports.EXECUTION_MODE_SYNC = exports.YAML_DUMP_OPTIONS = exports.SENSITIVE_KEYS = exports.BASE_URL_VARIABLE_NAMES = exports.DEFAULT_BASE_URL = exports.WREKENFILE_VERSION = void 0;
exports.SUMMARY_VERBS = exports.HTTP_METHODS_WITH_BODY = exports.HTTP_METHOD_PATCH = exports.HTTP_METHOD_DELETE = exports.HTTP_METHOD_PUT = exports.HTTP_METHOD_POST = exports.HTTP_METHOD_GET = exports.AUTH_TEMPLATE_SIGNATURE = exports.AUTH_TEMPLATE_API_KEY = exports.AUTH_TEMPLATE_JWT = exports.AUTH_TEMPLATE_OAUTH2 = exports.AUTH_TEMPLATE_OAUTH1 = exports.AUTH_TEMPLATE_ID_TOKEN = exports.AUTH_TEMPLATE_DIGEST = exports.AUTH_TEMPLATE_BASIC = exports.AUTH_TEMPLATE_BEARER_ACCESS = exports.AUTH_TEMPLATE_BEARER = exports.AUTH_HEADER_X_SIGNATURE = exports.AUTH_HEADER_AUTHORIZATION = exports.AUTH_HEADER_X_API_KEY = exports.AUTH_AWS4_HMAC_SHA256 = exports.AUTH_MUTUAL = exports.AUTH_HOBA = exports.AUTH_JWT = exports.AUTH_OAUTH2 = exports.AUTH_OAUTH1 = exports.AUTH_ID_TOKEN = exports.AUTH_SIGNATURE = exports.AUTH_API_KEY = exports.AUTH_DIGEST_AUTH = exports.AUTH_BASIC_AUTH = exports.AUTH_BEARER_TOKEN = exports.HEADER_IF_MATCH = exports.HEADER_IF_NONE_MATCH = exports.HEADER_ETAG = exports.HEADER_SET_COOKIE = exports.HEADER_COOKIE = exports.HEADER_LOCATION = exports.HEADER_CONTENT_ENCODING = exports.HEADER_CONTENT_DISPOSITION = exports.HEADER_CONTENT_LENGTH = exports.HEADER_CACHE_CONTROL = exports.HEADER_X_SIGNATURE = exports.HEADER_X_API_KEY = void 0;
/**
* Shared constants for v2 converters
*/
const versions_1 = require("../../versions");
/**
* Wrekenfile version to use for v2 converters
*/
exports.WREKENFILE_VERSION = versions_1.WREKENFILE_V2_VERSION;
/**
* Default base URL when none can be extracted
*/
exports.DEFAULT_BASE_URL = 'https://api.default.com';
/**
* Common base URL variable names in Postman collections
*/
exports.BASE_URL_VARIABLE_NAMES = [
'url',
'baseUrl',
'base_url',
'baseURL',
'api_url',
'apiUrl',
];
/**
* Sensitive keys that should be masked in DEFAULTS
*/
exports.SENSITIVE_KEYS = [
'api_key',
'api-key',
'x-api-key',
'signature',
'x-signature',
'authorization',
'token',
'password',
'secret',
];
/**
* YAML dump options
*/
exports.YAML_DUMP_OPTIONS = {
indent: 2,
lineWidth: -1,
noRefs: true,
sortKeys: false,
quotingType: '"',
forceQuotes: false,
};
/**
* Execution mode constants
*/
exports.EXECUTION_MODE_SYNC = 'sync';
exports.EXECUTION_MODE_ASYNC = 'async';
/**
* ASYNC section constants
*/
exports.ASYNC_RETURNS_RESULT = 'result';
/**
* Type constants
*/
exports.TYPE_VOID = 'VOID';
exports.TYPE_ANY = 'ANY';
/**
* Body type constants
*/
exports.BODYTYPE_RAW = 'raw';
/**
* Default HTTP scheme
*/
exports.DEFAULT_HTTP_SCHEME = 'https';
/**
* YAML document separators to remove
*/
exports.YAML_DOCUMENT_SEPARATOR_START = '---';
exports.YAML_DOCUMENT_SEPARATOR_END = '...';
exports.YAML_SEPARATOR_LINES = ['===', '___'];
/**
* Method group type prefixes
*/
exports.GROUP_PREFIX_HTTP = 'http:';
exports.GROUP_PREFIX_SDK = 'sdk:';
exports.GROUP_PREFIX_OTHER = 'other:';
/**
* Mini-wrekenfile filename prefix
*/
exports.MINI_FILENAME_PREFIX = 'mini-';
/**
* YAML file extension
*/
exports.YAML_EXTENSION = '.yaml';
/**
* Default mini-wrekenfiles output directory
*/
exports.DEFAULT_MINI_OUTPUT_DIR = './mini-wrekenfiles';
/**
* Filename sanitization regex patterns
*/
exports.FILENAME_INVALID_CHARS = /[^a-zA-Z0-9-_]/g;
exports.FILENAME_MULTIPLE_HYPHENS = /-+/g;
exports.FILENAME_LEADING_TRAILING_HYPHENS = /^-|-$/g;
exports.FILENAME_LEADING_SLASHES = /^\/+/;
exports.FILENAME_TRAILING_SLASHES = /\/+$/;
/**
* Content type constants (MIME types)
*/
exports.CONTENT_TYPE_JSON = 'application/json';
exports.CONTENT_TYPE_FORM_DATA = 'multipart/form-data';
exports.CONTENT_TYPE_URLENCODED = 'application/x-www-form-urlencoded';
exports.CONTENT_TYPE_XML = 'application/xml';
exports.CONTENT_TYPE_TEXT_XML = 'text/xml';
exports.CONTENT_TYPE_TEXT_PLAIN = 'text/plain';
exports.CONTENT_TYPE_TEXT_HTML = 'text/html';
exports.CONTENT_TYPE_TEXT_CSV = 'text/csv';
exports.CONTENT_TYPE_APPLICATION_PDF = 'application/pdf';
exports.CONTENT_TYPE_APPLICATION_OCTET_STREAM = 'application/octet-stream';
exports.CONTENT_TYPE_IMAGE_JPEG = 'image/jpeg';
exports.CONTENT_TYPE_IMAGE_PNG = 'image/png';
exports.CONTENT_TYPE_IMAGE_GIF = 'image/gif';
exports.CONTENT_TYPE_APPLICATION_ZIP = 'application/zip';
exports.CONTENT_TYPE_APPLICATION_JAVASCRIPT = 'application/javascript';
exports.CONTENT_TYPE_TEXT_JAVASCRIPT = 'text/javascript';
/**
* Header name constants (common HTTP headers)
*/
exports.HEADER_CONTENT_TYPE = 'Content-Type';
exports.HEADER_AUTHORIZATION = 'Authorization';
exports.HEADER_ACCEPT = 'Accept';
exports.HEADER_ACCEPT_LANGUAGE = 'Accept-Language';
exports.HEADER_ACCEPT_ENCODING = 'Accept-Encoding';
exports.HEADER_USER_AGENT = 'User-Agent';
exports.HEADER_X_REQUEST_ID = 'X-Request-Id';
exports.HEADER_X_CLIENT_VERSION = 'X-Client-Version';
exports.HEADER_X_API_KEY = 'X-API-Key';
exports.HEADER_X_SIGNATURE = 'X-Signature';
exports.HEADER_CACHE_CONTROL = 'Cache-Control';
exports.HEADER_CONTENT_LENGTH = 'Content-Length';
exports.HEADER_CONTENT_DISPOSITION = 'Content-Disposition';
exports.HEADER_CONTENT_ENCODING = 'Content-Encoding';
exports.HEADER_LOCATION = 'Location';
exports.HEADER_COOKIE = 'Cookie';
exports.HEADER_SET_COOKIE = 'Set-Cookie';
exports.HEADER_ETAG = 'ETag';
exports.HEADER_IF_NONE_MATCH = 'If-None-Match';
exports.HEADER_IF_MATCH = 'If-Match';
/**
* Authentication header value constants (for HEADERS section)
* These are the values used in the generated Wrekenfile HEADERS section
*/
exports.AUTH_BEARER_TOKEN = 'bearer_token';
exports.AUTH_BASIC_AUTH = 'basic_auth';
exports.AUTH_DIGEST_AUTH = 'digest_auth';
exports.AUTH_API_KEY = 'api_key';
exports.AUTH_SIGNATURE = 'signature';
exports.AUTH_ID_TOKEN = 'id_token';
exports.AUTH_OAUTH1 = 'oauth1_token';
exports.AUTH_OAUTH2 = 'oauth2_token';
exports.AUTH_JWT = 'jwt_token';
exports.AUTH_HOBA = 'hoba_auth';
exports.AUTH_MUTUAL = 'mutual_auth';
exports.AUTH_AWS4_HMAC_SHA256 = 'aws4_hmac_sha256';
/**
* Authentication header key constants (for checking)
*/
exports.AUTH_HEADER_X_API_KEY = 'x-api-key';
exports.AUTH_HEADER_AUTHORIZATION = 'authorization';
exports.AUTH_HEADER_X_SIGNATURE = 'x-signature';
/**
* Authentication template constants (for DEFAULTS section)
* These are the placeholder values used in the generated Wrekenfile DEFAULTS section
*/
exports.AUTH_TEMPLATE_BEARER = 'BEARER <TOKEN>';
exports.AUTH_TEMPLATE_BEARER_ACCESS = 'BEARER <ACCESS_TOKEN>';
exports.AUTH_TEMPLATE_BASIC = 'Basic <BASE64>';
exports.AUTH_TEMPLATE_DIGEST = 'Digest <CREDENTIALS>';
exports.AUTH_TEMPLATE_ID_TOKEN = 'ID_TOKEN <JWT>';
exports.AUTH_TEMPLATE_OAUTH1 = 'OAuth1 <TOKEN>';
exports.AUTH_TEMPLATE_OAUTH2 = 'OAuth2 <ACCESS_TOKEN>';
exports.AUTH_TEMPLATE_JWT = 'JWT <TOKEN>';
exports.AUTH_TEMPLATE_API_KEY = '<API_KEY>';
exports.AUTH_TEMPLATE_SIGNATURE = '<SIGNATURE>';
/**
* HTTP method constants
*/
exports.HTTP_METHOD_GET = 'GET';
exports.HTTP_METHOD_POST = 'POST';
exports.HTTP_METHOD_PUT = 'PUT';
exports.HTTP_METHOD_DELETE = 'DELETE';
exports.HTTP_METHOD_PATCH = 'PATCH';
/**
* HTTP methods that require Content-Type header
*/
exports.HTTP_METHODS_WITH_BODY = ['post', 'put', 'patch'];
/**
* Summary verb mappings for generating summaries
*/
exports.SUMMARY_VERBS = {
get: 'Fetch',
post: 'Create',
put: 'Update',
delete: 'Delete',
patch: 'Modify',
head: 'Head',
options: 'Options',
};
//# sourceMappingURL=constants.js.map