UNPKG

wrekenfile-converter

Version:

Convert OpenAPI and Postman specs into Wrekenfiles, with chunking for vector database storage

209 lines 9.09 kB
"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