@dpml/core
Version:
DPML Core: Implementations of base compiler, and provide a simple framework for domain developers.
1 lines • 441 kB
Source Map (JSON)
{"version":3,"sources":["../src/core/cli/commandUtils.ts","../src/core/cli/CLIAdapter.ts","../src/core/cli/cliService.ts","../src/api/cli.ts","../src/types/ParseError.ts","../src/types/TransformContext.ts","../src/types/FrameworkError.ts","../src/types/log.ts","../src/types/CLIErrors.ts","../src/core/parsing/errors.ts","../src/core/parsing/DPMLAdapter.ts","../src/core/parsing/XMLAdapter.ts","../src/core/parsing/XMLParser.ts","../src/core/parsing/parserFactory.ts","../src/core/parsing/parsingService.ts","../src/core/processing/DocumentValidator.ts","../src/core/processing/ValidatorFactory.ts","../src/core/processing/processingService.ts","../src/api/processing.ts","../src/core/schema/Schema.ts","../src/core/schema/schemaService.ts","../src/core/framework/transformer/AggregatorTransformer.ts","../src/core/framework/transformer/RelationProcessorTransformer.ts","../src/core/framework/transformer/ResultCollectorTransformer.ts","../src/core/framework/transformer/SemanticExtractorTransformer.ts","../src/core/logging/formatters/DefaultFormatter.ts","../src/core/logging/DefaultLogger.ts","../src/core/logging/LoggerRegistry.ts","../src/core/logging/transports/BaseTransport.ts","../src/core/logging/transports/ConsoleTransport.ts","../src/core/logging/loggingService.ts","../src/core/framework/transformer/StructuralMapperTransformer.ts","../src/core/framework/transformer/TemplateTransformer.ts","../src/core/framework/transformer/transformerFactory.ts","../src/core/transformer/Pipeline.ts","../src/core/transformer/TransformerRegistry.ts","../src/core/transformer/transformerService.ts","../src/api/transformer.ts","../src/core/framework/cli/commandAdapter.ts","../src/core/framework/cli/standardActions.ts","../src/core/framework/domainService.ts","../src/api/framework.ts"],"names":["mergeDefaultOptions","options","defaultDomain","getCommandPath","command","parentPath","path","name","category","validateCommands","commands","pathSet","Set","crossDomainMap","Map","validateCommandTree","has","Error","add","domain","registeredDomains","get","length","includes","conflictDomains","join","console","warn","set","subcommands","subcommand","CLIAdapter","constructor","version","description","program","commandPaths","Command","exitOverride","process","env","NODE_ENV","VITEST","setupCommand","parentCommand","findParentCommand","cmd","arguments","arg","required","argument","defaultValue","opt","undefined","option","flags","value","Number","action","args","err","handleError","setupDomainCommands","showHelp","log","domainCommands","standaloneCommands","forEach","isDomainCommand","some","otherCmd","subCmd","push","size","entries","padEnd","helpCommand","find","showVersion","platform","arch","parse","argv","parseAsync","code","parts","split","currentCommand","part","found","error","message","filter","exit","createCLI","mergedOptions","adapter","setupGlobalOptions","setupUserCommands","execute","registerCommands","externalCommands","registerExternalCommands","cmds","domainCommand","cmdWithoutCategory","coreCreateCLI","ParseErrorCode","ParseError","position","source","cause","Object","setPrototypeOf","prototype","formatMessage","formattedMessage","startLine","startColumn","fileName","location","toString","XMLParseError","contextFragment","fromError","content","String","extractPositionFromMessage","extractSourceSnippet","substring","Math","min","lineColMatch","match","parseInt","endLine","endColumn","line","column","lines","errorLine","start","max","end","DPMLParseError","createMissingRequiredTagError","tagName","createMissingRequiredAttributeError","attributeName","createInvalidTagError","createInvalidAttributeError","TransformContext","processingResult","initialData","data","key","getDocument","document","getReferences","references","getValidation","validation","isDocumentValid","isValid","getAllResults","results","ConfigurationError","CompilationError","LogLevel","DuplicateCommandError","commandPath","InvalidCommandError","commandName","CommandExecutionError","createSuccessResult","warnings","success","createErrorResult","DPMLAdapter","xmlAdapter","prevalidateXML","isLargeContent","xmlResult","validateXMLResult","rootNode","convertToDPMLOptimized","convertToDPML","createDPMLDocument","enhanceError","convertToDPMLAsyncOptimized","Promise","resolve","setTimeout","trim","DPML_INVALID_STRUCTURE","openTagPattern","closeTagPattern","selfClosingPattern","openTags","closeTags","selfClosingTags","exec","unclosedTags","tag","index","indexOf","splice","threshold","memoryOptimization","largeFileThreshold","enabled","metadata","sourceFileName","createdAt","Date","calculateDocumentSize","nodesById","buildNodeMap","validateReferences","defineProperties","writable","enumerable","configurable","countNodes","node","children","xmlNode","rootDPMLNode","createDPMLNode","queue","childXml","childDPML","defineProperty","dpmlNode","currentXmlNode","currentDPMLNode","shift","attributes","text","parent","sourceLocation","createSourceLocation","batchSize","batch","nodeMap","traverseNode","nodeId","xmlParserOptions","checkReferences","nodeRef","DPML_INVALID_ATTRIBUTE","DPML_MISSING_REQUIRED_TAG","validateStructure","locationInfo","pos","UNKNOWN_ERROR","XMLAdapter","xmlParser","configureParser","shouldApplyLargeContentOptimization","applyLargeContentOptimization","processResult","contentSizeThreshold","optimizationOptions","explicitArray","normalizeTags","explicitRoot","explicitChildren","preserveChildrenOrder","mergeAttrs","charsAsChildren","includeWhiteChars","useStreaming","configure","global","gc","xmlOptions","preserveWhitespace","parseComments","enableNamespaces","maxDepth","xmlns","validateNode","processedNode","postProcessNode","type","clone","cloneNode","normalizeAttributes","normalizeTextContent","map","child","keys","enhancedError","errorPosition","posMatch","offset","i","snippet","XMLParser","parser","parserOptions","attrkey","charkey","normalize","emptyTag","Parser","result","xml2js","parseString","parsed","transformToXMLNode","parseStringPromise","xml2jsOptions","trimValues","ignoreAttributes","ignoreAttrs","parseTagValue","processEntities","parseResult","originalContent","rootTagName","rootContent","processNode","nodeContent","Array","isArray","calculatePosition","attrs","$","_","firstItem","childItems","childItem","childNode","nodeName","startPos","closePos","endPos","contentBeforeStart","lastIndexOf","contentBeforeEnd","extractErrorContext","errorPos","lineMatch","errorContext","stack","parserFactory","_xmlParser","createDPMLAdapter","createXMLAdapter","createXMLParser","DEFAULT_OPTIONS","throwOnError","parseCDATA","isTestEnvironment","JEST_WORKER_ID","effectiveOptions","mergeOptions","applyMemoryOptimization","processParseResult","errorResult","handleParsingErrors","postProcessorOptions","memoryOpt","shouldEnableOptimization","optimizedOptions","parseError","convertToParseError","isXmlError","test","returnResultObject","DocumentValidator","validateDocument","schema","errors","severity","rootResult","elementDef","findSchemaForNode","buildNodePath","element","attributesResult","validateAttributes","childrenResult","validateChildren","contentResult","validateContent","childResult","docSchema","root","ref","resolveTypeReference","types","elements","definedAttrs","attr","attrDef","enum","pattern","regex","RegExp","isLenientMode","childrenDef","childCount","contentDef","current","siblings","findIndex","n","unshift","t","$ref","ValidatorFactory","createValidator","validator","errorHandler","buildIdMap","idMap","collectNodesWithIdIterative","pop","id","processDocument","validatorFactory","validationResult","startsWith","referenceMap","schemaObj","isSimpleSchema","ignorableErrorCodes","every","processDocumentService","Schema","validate","isDocumentSchema","documentMeta","convertToDocumentMeta","validateDocumentSchema","isElementSchema","elementMeta","convertToElementMeta","validateElementSchema","metaType","convertRootToMeta","globalAttributes","convertToAttributeMeta","namespaces","convertToContentMeta","convertToChildrenMeta","childrenMeta","el","orderImportant","validateAttribute","attribute","item","collectErrors","collectDocumentSchemaErrors","collectElementSchemaErrors","attrPath","collectAttributeErrors","contentPath","collectContentErrors","childrenPath","collectChildrenErrors","rootPath","typesPath","globalAttrPath","enumPath","itemPath","processSchema","schemaInstance","createSchema","querySelectorAll","selector","docWithSelector","collectNodes","AggregatorTransformer","collectorConfig","transform","input","context","warningsArray","transformer","groupBy","elementsArray","from","sortBy","sort","a","b","valueA","valueB","numA","numB","isNaN","localeCompare","groupedResult","groupValue","groupKey","RelationProcessorTransformer","nodeSelector","relationConfig","addWarning","nodes","findNodes","relations","processRelations","extractNodeInfo","config","sourceValue","getNodeValue","targetNode","targetValue","target","validateRelation","getNodeId","convertMapToObject","random","obj","deepMerge","hasOwnProperty","call","ResultCollectorTransformer","transformerNames","shouldMerge","allResults","mergedResult","filteredResults","transformerName","merged","w","SemanticExtractorTransformer","extractors","extractionResults","extractor","findElements","processor","extractorError","DefaultFormatter","format","entry","timestamp","toISOString","level","JSON","stringify","contextStr","e","caller","lineNumber","className","functionName","DefaultLogger","minLevel","formatter","transports","callSiteCapture","debug","DEBUG","info","INFO","WARN","ERROR","fatal","FATAL","shouldCaptureCallSite","getCaller","transport","write","forLevels","captureStackTrace","stackLines","callerLine","nodeRegex","browserRegex","chromeRegex","columnNumber","LoggerRegistry","defaultConfig","loggers","defaultLogger","getInstance","instance","getLogger","registerLogger","logger","createLogger","BaseTransport","formatted","getLevelName","writeEntry","levels","ConsoleTransport","getDefaultLogger","completeConfig","loadLoggerConfig","setDefaultLogLevel","envLogLevel","LOG_LEVEL","enableCallSiteCapture","LOG_CAPTURE_CALLSITE","querySelector","attributeMatch","querySelectorAllHelper","attributeValueMatch","attributeValue","parentSelector","childSelector","s","parentNode","childMatch","parentNodes","setByPath","valueType","assign","valueKeys","lastPart","isArrayPath","endsWith","actualLastPart","slice","currentType","currentIsArray","valueIsArray","count","targetPath","resultLength","resultType","resultIsArray","hasProperty","prop","extractDocument","doc","StructuralMapperTransformer","mappingRules","rule","processedPath","elementsFound","elementsType","elementsCount","transformedValue","resultArrayLength","TemplateTransformer","template","dataPreprocessor","processedData","logDebugInfo","templateData","createTemplateData","renderStringTemplate","inputData","hasStructuredData","logTemplateDataKeys","replace","getValueFromPath","logPlaceholderReplacement","reduce","currentObj","segment","createStructuralMapper","rules","createAggregator","createTemplateTransformer","preprocessor","createRelationProcessor","createSemanticExtractor","createResultCollector","Pipeline","transformers","TransformerRegistry","register","transformersCount","getTransformers","globalRegistry","transformerRegistryFactory","resultMode","startTime","now","pipeline","getPipeline","filteredTransformers","applyTransformerFilters","include","exclude","rawResult","executionTime","transformerResults","mergeResults","raw","transformerResult","isObject","hasVariables","hasSteps","hasTransitions","sourceObj","registerTransformer","transformerService","createDomainActionContext","getCompiler","compiler","getDomain","getDescription","getOptions","adaptDomainAction","actionContext","adaptDomainActions","actions","extractDPMLDocument","standardActions","filePath","fs","readFile","domainOptions","getSchema","processedSchema","dpmlDocument","rootTag","strictMode","strict","outputContent","fromEntries","output","writeFile","VERSION","commandRegistry","domainRegistry","DEFAULT_DOMAIN","coreInitialized","commandLogger","defaultOptions","errorHandling","transformOptions","custom","validateConfig","compileDPML","transformResult","extendDomain","getDomainSchema","state","getDomainTransformers","createDomainCompiler","initializeDomainCompiler","compile","extend","extensionConfig","registration","createTransformerDefiner","defineStructuralMapper","defineAggregator","defineTemplateTransformer","defineRelationProcessor","defineSemanticExtractor","defineResultCollector","processDomainCommands","includeStandard","standardCommandDefinitions","customCommandDefinitions","existingCommand","errorMessage","getAllRegisteredCommands","ensureCoreInitialized","coreConfig","initializeDomainCLI","getDefaultDomainName","createDPMLCLIService","cliOptions","cli","allCommands","subCommands","defaultDomainName","defaultDomainCommands","unprefixedCmd","createDomainDPML","createTransformerDefinerImpl"],"mappings":"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