@grafema/core 0.1.0-alpha.5 → 0.2.0-beta
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 +0 -1
- package/dist/Orchestrator.d.ts +31 -2
- package/dist/Orchestrator.d.ts.map +1 -1
- package/dist/Orchestrator.js +222 -27
- package/dist/config/ConfigLoader.d.ts +90 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +249 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/core/ASTWorker.d.ts +11 -36
- package/dist/core/ASTWorker.d.ts.map +1 -1
- package/dist/core/ASTWorker.js +93 -99
- package/dist/core/CoverageAnalyzer.d.ts +65 -0
- package/dist/core/CoverageAnalyzer.d.ts.map +1 -0
- package/dist/core/CoverageAnalyzer.js +198 -0
- package/dist/core/FileExplainer.d.ts +101 -0
- package/dist/core/FileExplainer.d.ts.map +1 -0
- package/dist/core/FileExplainer.js +139 -0
- package/dist/core/FileNodeManager.d.ts +40 -0
- package/dist/core/FileNodeManager.d.ts.map +1 -0
- package/dist/core/FileNodeManager.js +84 -0
- package/dist/core/GraphFreshnessChecker.d.ts +33 -0
- package/dist/core/GraphFreshnessChecker.d.ts.map +1 -0
- package/dist/core/GraphFreshnessChecker.js +101 -0
- package/dist/core/HashUtils.d.ts +24 -0
- package/dist/core/HashUtils.d.ts.map +1 -0
- package/dist/core/HashUtils.js +45 -0
- package/dist/core/IncrementalReanalyzer.d.ts +36 -0
- package/dist/core/IncrementalReanalyzer.d.ts.map +1 -0
- package/dist/core/IncrementalReanalyzer.js +132 -0
- package/dist/core/NodeFactory.d.ts +266 -19
- package/dist/core/NodeFactory.d.ts.map +1 -1
- package/dist/core/NodeFactory.js +256 -21
- package/dist/core/ScopeTracker.d.ts +84 -0
- package/dist/core/ScopeTracker.d.ts.map +1 -0
- package/dist/core/ScopeTracker.js +116 -0
- package/dist/core/SemanticId.d.ts +90 -0
- package/dist/core/SemanticId.d.ts.map +1 -0
- package/dist/core/SemanticId.js +115 -0
- package/dist/core/VersionManager.d.ts.map +1 -1
- package/dist/core/VersionManager.js +3 -2
- package/dist/core/nodes/ArgumentExpressionNode.d.ts +43 -0
- package/dist/core/nodes/ArgumentExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ArgumentExpressionNode.js +60 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ArrayLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ArrayLiteralNode.js +43 -0
- package/dist/core/nodes/BranchNode.d.ts +41 -0
- package/dist/core/nodes/BranchNode.d.ts.map +1 -0
- package/dist/core/nodes/BranchNode.js +82 -0
- package/dist/core/nodes/CallSiteNode.d.ts +30 -2
- package/dist/core/nodes/CallSiteNode.d.ts.map +1 -1
- package/dist/core/nodes/CallSiteNode.js +54 -4
- package/dist/core/nodes/CaseNode.d.ts +43 -0
- package/dist/core/nodes/CaseNode.d.ts.map +1 -0
- package/dist/core/nodes/CaseNode.js +81 -0
- package/dist/core/nodes/ClassNode.d.ts +34 -2
- package/dist/core/nodes/ClassNode.d.ts.map +1 -1
- package/dist/core/nodes/ClassNode.js +52 -4
- package/dist/core/nodes/ConstantNode.d.ts +2 -2
- package/dist/core/nodes/ConstantNode.d.ts.map +1 -1
- package/dist/core/nodes/ConstantNode.js +6 -4
- package/dist/core/nodes/ConstructorCallNode.d.ts +51 -0
- package/dist/core/nodes/ConstructorCallNode.d.ts.map +1 -0
- package/dist/core/nodes/ConstructorCallNode.js +171 -0
- package/dist/core/nodes/DatabaseQueryNode.d.ts +3 -2
- package/dist/core/nodes/DatabaseQueryNode.d.ts.map +1 -1
- package/dist/core/nodes/DatabaseQueryNode.js +5 -2
- package/dist/core/nodes/DecoratorNode.d.ts +42 -0
- package/dist/core/nodes/DecoratorNode.d.ts.map +1 -0
- package/dist/core/nodes/DecoratorNode.js +64 -0
- package/dist/core/nodes/EnumNode.d.ts +42 -0
- package/dist/core/nodes/EnumNode.d.ts.map +1 -0
- package/dist/core/nodes/EnumNode.js +56 -0
- package/dist/core/nodes/EventListenerNode.d.ts +4 -4
- package/dist/core/nodes/EventListenerNode.d.ts.map +1 -1
- package/dist/core/nodes/EventListenerNode.js +7 -4
- package/dist/core/nodes/ExportNode.d.ts +38 -2
- package/dist/core/nodes/ExportNode.d.ts.map +1 -1
- package/dist/core/nodes/ExportNode.js +54 -4
- package/dist/core/nodes/ExpressionNode.d.ts +97 -0
- package/dist/core/nodes/ExpressionNode.d.ts.map +1 -0
- package/dist/core/nodes/ExpressionNode.js +180 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts +32 -0
- package/dist/core/nodes/ExternalModuleNode.d.ts.map +1 -0
- package/dist/core/nodes/ExternalModuleNode.js +49 -0
- package/dist/core/nodes/ExternalStdioNode.d.ts +13 -6
- package/dist/core/nodes/ExternalStdioNode.d.ts.map +1 -1
- package/dist/core/nodes/ExternalStdioNode.js +15 -8
- package/dist/core/nodes/FunctionNode.d.ts +36 -0
- package/dist/core/nodes/FunctionNode.d.ts.map +1 -1
- package/dist/core/nodes/FunctionNode.js +80 -1
- package/dist/core/nodes/HttpRequestNode.d.ts +4 -4
- package/dist/core/nodes/HttpRequestNode.d.ts.map +1 -1
- package/dist/core/nodes/HttpRequestNode.js +7 -4
- package/dist/core/nodes/ImportNode.d.ts +28 -6
- package/dist/core/nodes/ImportNode.d.ts.map +1 -1
- package/dist/core/nodes/ImportNode.js +43 -8
- package/dist/core/nodes/InterfaceNode.d.ts +46 -0
- package/dist/core/nodes/InterfaceNode.d.ts.map +1 -0
- package/dist/core/nodes/InterfaceNode.js +57 -0
- package/dist/core/nodes/IssueNode.d.ts +73 -0
- package/dist/core/nodes/IssueNode.d.ts.map +1 -0
- package/dist/core/nodes/IssueNode.js +129 -0
- package/dist/core/nodes/LiteralNode.d.ts +2 -2
- package/dist/core/nodes/LiteralNode.d.ts.map +1 -1
- package/dist/core/nodes/LiteralNode.js +6 -4
- package/dist/core/nodes/MethodCallNode.d.ts +32 -2
- package/dist/core/nodes/MethodCallNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodCallNode.js +57 -4
- package/dist/core/nodes/MethodNode.d.ts +34 -2
- package/dist/core/nodes/MethodNode.d.ts.map +1 -1
- package/dist/core/nodes/MethodNode.js +55 -3
- package/dist/core/nodes/ModuleNode.d.ts +31 -0
- package/dist/core/nodes/ModuleNode.d.ts.map +1 -1
- package/dist/core/nodes/ModuleNode.js +37 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts +54 -0
- package/dist/core/nodes/NetworkRequestNode.d.ts.map +1 -0
- package/dist/core/nodes/NetworkRequestNode.js +65 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts +27 -0
- package/dist/core/nodes/ObjectLiteralNode.d.ts.map +1 -0
- package/dist/core/nodes/ObjectLiteralNode.js +43 -0
- package/dist/core/nodes/ParameterNode.d.ts +2 -2
- package/dist/core/nodes/ParameterNode.d.ts.map +1 -1
- package/dist/core/nodes/ParameterNode.js +5 -3
- package/dist/core/nodes/ScopeNode.d.ts +31 -0
- package/dist/core/nodes/ScopeNode.d.ts.map +1 -1
- package/dist/core/nodes/ScopeNode.js +49 -0
- package/dist/core/nodes/TypeNode.d.ts +36 -0
- package/dist/core/nodes/TypeNode.d.ts.map +1 -0
- package/dist/core/nodes/TypeNode.js +55 -0
- package/dist/core/nodes/VariableDeclarationNode.d.ts +29 -2
- package/dist/core/nodes/VariableDeclarationNode.d.ts.map +1 -1
- package/dist/core/nodes/VariableDeclarationNode.js +48 -4
- package/dist/core/nodes/index.d.ts +15 -1
- package/dist/core/nodes/index.d.ts.map +1 -1
- package/dist/core/nodes/index.js +17 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts +78 -0
- package/dist/data/builtins/BuiltinRegistry.d.ts.map +1 -0
- package/dist/data/builtins/BuiltinRegistry.js +110 -0
- package/dist/data/builtins/definitions.d.ts +28 -0
- package/dist/data/builtins/definitions.d.ts.map +1 -0
- package/dist/data/builtins/definitions.js +250 -0
- package/dist/data/builtins/index.d.ts +10 -0
- package/dist/data/builtins/index.d.ts.map +1 -0
- package/dist/data/builtins/index.js +8 -0
- package/dist/data/builtins/jsGlobals.d.ts +18 -0
- package/dist/data/builtins/jsGlobals.d.ts.map +1 -0
- package/dist/data/builtins/jsGlobals.js +26 -0
- package/dist/data/builtins/types.d.ts +34 -0
- package/dist/data/builtins/types.d.ts.map +1 -0
- package/dist/data/builtins/types.js +7 -0
- package/dist/data/globals/definitions.d.ts +27 -0
- package/dist/data/globals/definitions.d.ts.map +1 -0
- package/dist/data/globals/definitions.js +117 -0
- package/dist/data/globals/index.d.ts +36 -0
- package/dist/data/globals/index.d.ts.map +1 -0
- package/dist/data/globals/index.js +52 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts +98 -0
- package/dist/diagnostics/DiagnosticCollector.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticCollector.js +129 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts +100 -0
- package/dist/diagnostics/DiagnosticReporter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticReporter.js +247 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts +31 -0
- package/dist/diagnostics/DiagnosticWriter.d.ts.map +1 -0
- package/dist/diagnostics/DiagnosticWriter.js +43 -0
- package/dist/diagnostics/index.d.ts +14 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +11 -0
- package/dist/errors/GrafemaError.d.ts +161 -0
- package/dist/errors/GrafemaError.d.ts.map +1 -0
- package/dist/errors/GrafemaError.js +181 -0
- package/dist/index.d.ts +73 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -1
- package/dist/logging/Logger.d.ts +48 -0
- package/dist/logging/Logger.d.ts.map +1 -0
- package/dist/logging/Logger.js +134 -0
- package/dist/plugins/Plugin.d.ts +5 -1
- package/dist/plugins/Plugin.d.ts.map +1 -1
- package/dist/plugins/Plugin.js +33 -0
- package/dist/plugins/analysis/DatabaseAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/DatabaseAnalyzer.js +14 -6
- package/dist/plugins/analysis/ExpressAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressAnalyzer.js +29 -19
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts +148 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.d.ts.map +1 -0
- package/dist/plugins/analysis/ExpressResponseAnalyzer.js +495 -0
- package/dist/plugins/analysis/ExpressRouteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ExpressRouteAnalyzer.js +71 -29
- package/dist/plugins/analysis/FetchAnalyzer.d.ts +41 -0
- package/dist/plugins/analysis/FetchAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/FetchAnalyzer.js +187 -19
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts +6 -3
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.d.ts.map +1 -1
- package/dist/plugins/analysis/IncrementalAnalysisPlugin.js +76 -80
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts +313 -19
- package/dist/plugins/analysis/JSASTAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/JSASTAnalyzer.js +3430 -503
- package/dist/plugins/analysis/ReactAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ReactAnalyzer.js +56 -57
- package/dist/plugins/analysis/RustAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/RustAnalyzer.js +16 -11
- package/dist/plugins/analysis/SQLiteAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SQLiteAnalyzer.js +11 -7
- package/dist/plugins/analysis/ServiceLayerAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/ServiceLayerAnalyzer.js +21 -9
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts +9 -0
- package/dist/plugins/analysis/SocketIOAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SocketIOAnalyzer.js +117 -21
- package/dist/plugins/analysis/SystemDbAnalyzer.d.ts.map +1 -1
- package/dist/plugins/analysis/SystemDbAnalyzer.js +15 -5
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts +207 -4
- package/dist/plugins/analysis/ast/GraphBuilder.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/GraphBuilder.js +1527 -316
- package/dist/plugins/analysis/ast/IdGenerator.d.ts +105 -0
- package/dist/plugins/analysis/ast/IdGenerator.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/IdGenerator.js +116 -0
- package/dist/plugins/analysis/ast/types.d.ts +470 -5
- package/dist/plugins/analysis/ast/types.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts +33 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/createParameterNodes.js +89 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts +6 -0
- package/dist/plugins/analysis/ast/utils/index.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/index.js +5 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts +87 -0
- package/dist/plugins/analysis/ast/utils/location.d.ts.map +1 -0
- package/dist/plugins/analysis/ast/utils/location.js +78 -0
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts +14 -5
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ASTVisitor.js +6 -5
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts +100 -9
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/CallExpressionVisitor.js +674 -125
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts +4 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ClassVisitor.js +72 -32
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts +14 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/FunctionVisitor.js +190 -63
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts +4 -0
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/ImportExportVisitor.js +112 -8
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts +12 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/TypeScriptVisitor.js +36 -14
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts +20 -2
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.d.ts.map +1 -1
- package/dist/plugins/analysis/ast/visitors/VariableVisitor.js +243 -45
- package/dist/plugins/discovery/MonorepoServiceDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/MonorepoServiceDiscovery.js +3 -2
- package/dist/plugins/discovery/SimpleProjectDiscovery.d.ts.map +1 -1
- package/dist/plugins/discovery/SimpleProjectDiscovery.js +5 -1
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts +22 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.d.ts.map +1 -0
- package/dist/plugins/discovery/WorkspaceDiscovery.js +141 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts +46 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.d.ts.map +1 -0
- package/dist/plugins/discovery/resolveSourceEntrypoint.js +86 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts +21 -0
- package/dist/plugins/discovery/workspaces/detector.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/detector.js +49 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts +35 -0
- package/dist/plugins/discovery/workspaces/globResolver.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/globResolver.js +184 -0
- package/dist/plugins/discovery/workspaces/index.d.ts +9 -0
- package/dist/plugins/discovery/workspaces/index.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/index.js +8 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts +38 -0
- package/dist/plugins/discovery/workspaces/parsers.d.ts.map +1 -0
- package/dist/plugins/discovery/workspaces/parsers.js +80 -0
- package/dist/plugins/enrichment/AliasTracker.d.ts.map +1 -1
- package/dist/plugins/enrichment/AliasTracker.js +29 -8
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts +32 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.d.ts.map +1 -0
- package/dist/plugins/enrichment/ArgumentParameterLinker.js +175 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts +51 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.d.ts.map +1 -0
- package/dist/plugins/enrichment/ClosureCaptureEnricher.js +205 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts +42 -0
- package/dist/plugins/enrichment/ExternalCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/ExternalCallResolver.js +213 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts +58 -0
- package/dist/plugins/enrichment/FunctionCallResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/FunctionCallResolver.js +340 -0
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts +16 -3
- package/dist/plugins/enrichment/HTTPConnectionEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/HTTPConnectionEnricher.js +78 -27
- package/dist/plugins/enrichment/ImportExportLinker.d.ts.map +1 -1
- package/dist/plugins/enrichment/ImportExportLinker.js +23 -6
- package/dist/plugins/enrichment/MethodCallResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MethodCallResolver.js +33 -13
- package/dist/plugins/enrichment/MountPointResolver.d.ts +14 -12
- package/dist/plugins/enrichment/MountPointResolver.d.ts.map +1 -1
- package/dist/plugins/enrichment/MountPointResolver.js +173 -147
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts +44 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.d.ts.map +1 -0
- package/dist/plugins/enrichment/NodejsBuiltinsResolver.js +271 -0
- package/dist/plugins/enrichment/PrefixEvaluator.d.ts.map +1 -1
- package/dist/plugins/enrichment/PrefixEvaluator.js +16 -7
- package/dist/plugins/enrichment/RustFFIEnricher.d.ts.map +1 -1
- package/dist/plugins/enrichment/RustFFIEnricher.js +6 -5
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts +22 -27
- package/dist/plugins/enrichment/ValueDomainAnalyzer.d.ts.map +1 -1
- package/dist/plugins/enrichment/ValueDomainAnalyzer.js +185 -143
- package/dist/plugins/indexing/IncrementalModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/IncrementalModuleIndexer.js +23 -14
- package/dist/plugins/indexing/JSModuleIndexer.d.ts +15 -0
- package/dist/plugins/indexing/JSModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/JSModuleIndexer.js +121 -31
- package/dist/plugins/indexing/RustModuleIndexer.d.ts +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.d.ts.map +1 -1
- package/dist/plugins/indexing/RustModuleIndexer.js +8 -7
- package/dist/plugins/indexing/ServiceDetector.d.ts +10 -0
- package/dist/plugins/indexing/ServiceDetector.d.ts.map +1 -1
- package/dist/plugins/indexing/ServiceDetector.js +28 -15
- package/dist/plugins/validation/BrokenImportValidator.d.ts +31 -0
- package/dist/plugins/validation/BrokenImportValidator.d.ts.map +1 -0
- package/dist/plugins/validation/BrokenImportValidator.js +249 -0
- package/dist/plugins/validation/CallResolverValidator.d.ts +21 -10
- package/dist/plugins/validation/CallResolverValidator.d.ts.map +1 -1
- package/dist/plugins/validation/CallResolverValidator.js +103 -77
- package/dist/plugins/validation/DataFlowValidator.d.ts.map +1 -1
- package/dist/plugins/validation/DataFlowValidator.js +62 -49
- package/dist/plugins/validation/EvalBanValidator.d.ts.map +1 -1
- package/dist/plugins/validation/EvalBanValidator.js +17 -16
- package/dist/plugins/validation/GraphConnectivityValidator.d.ts.map +1 -1
- package/dist/plugins/validation/GraphConnectivityValidator.js +44 -24
- package/dist/plugins/validation/NodeCreationValidator.d.ts +85 -0
- package/dist/plugins/validation/NodeCreationValidator.d.ts.map +1 -0
- package/dist/plugins/validation/NodeCreationValidator.js +415 -0
- package/dist/plugins/validation/SQLInjectionValidator.d.ts.map +1 -1
- package/dist/plugins/validation/SQLInjectionValidator.js +61 -19
- package/dist/plugins/validation/ShadowingDetector.d.ts.map +1 -1
- package/dist/plugins/validation/ShadowingDetector.js +6 -5
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.d.ts.map +1 -1
- package/dist/plugins/validation/TypeScriptDeadCodeValidator.js +12 -11
- package/dist/plugins/vcs/GitPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/GitPlugin.js +10 -12
- package/dist/plugins/vcs/VCSPlugin.d.ts +3 -2
- package/dist/plugins/vcs/VCSPlugin.d.ts.map +1 -1
- package/dist/plugins/vcs/VCSPlugin.js +5 -5
- package/dist/queries/findCallsInFunction.d.ts +52 -0
- package/dist/queries/findCallsInFunction.d.ts.map +1 -0
- package/dist/queries/findCallsInFunction.js +135 -0
- package/dist/queries/findContainingFunction.d.ts +45 -0
- package/dist/queries/findContainingFunction.d.ts.map +1 -0
- package/dist/queries/findContainingFunction.js +54 -0
- package/dist/queries/index.d.ts +14 -0
- package/dist/queries/index.d.ts.map +1 -0
- package/dist/queries/index.js +11 -0
- package/dist/queries/traceValues.d.ts +70 -0
- package/dist/queries/traceValues.d.ts.map +1 -0
- package/dist/queries/traceValues.js +299 -0
- package/dist/queries/types.d.ts +163 -0
- package/dist/queries/types.d.ts.map +1 -0
- package/dist/queries/types.js +9 -0
- package/dist/schema/GraphSchemaExtractor.d.ts +53 -0
- package/dist/schema/GraphSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/GraphSchemaExtractor.js +124 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts +73 -0
- package/dist/schema/InterfaceSchemaExtractor.d.ts.map +1 -0
- package/dist/schema/InterfaceSchemaExtractor.js +112 -0
- package/dist/schema/index.d.ts +5 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/storage/backends/RFDBServerBackend.d.ts +21 -34
- package/dist/storage/backends/RFDBServerBackend.d.ts.map +1 -1
- package/dist/storage/backends/RFDBServerBackend.js +72 -62
- package/dist/storage/backends/typeValidation.d.ts.map +1 -1
- package/dist/storage/backends/typeValidation.js +1 -0
- package/dist/validation/PathValidator.d.ts +1 -2
- package/dist/validation/PathValidator.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/Orchestrator.ts +272 -27
- package/src/config/ConfigLoader.ts +354 -0
- package/src/config/index.ts +5 -0
- package/src/core/ASTWorker.ts +143 -139
- package/src/core/CoverageAnalyzer.ts +243 -0
- package/src/core/FileExplainer.ts +179 -0
- package/src/core/FileNodeManager.ts +100 -0
- package/src/core/GraphFreshnessChecker.ts +143 -0
- package/src/core/HashUtils.ts +48 -0
- package/src/core/IncrementalReanalyzer.ts +192 -0
- package/src/core/NodeFactory.ts +470 -23
- package/src/core/ScopeTracker.ts +154 -0
- package/src/core/SemanticId.ts +192 -0
- package/src/core/VersionManager.ts +3 -2
- package/src/core/nodes/ArgumentExpressionNode.ts +89 -0
- package/src/core/nodes/ArrayLiteralNode.ts +66 -0
- package/src/core/nodes/BranchNode.ts +113 -0
- package/src/core/nodes/CallSiteNode.ts +64 -4
- package/src/core/nodes/CaseNode.ts +123 -0
- package/src/core/nodes/ClassNode.ts +67 -4
- package/src/core/nodes/ConstantNode.ts +5 -4
- package/src/core/nodes/ConstructorCallNode.ts +217 -0
- package/src/core/nodes/DatabaseQueryNode.ts +5 -1
- package/src/core/nodes/DecoratorNode.ts +92 -0
- package/src/core/nodes/EnumNode.ts +87 -0
- package/src/core/nodes/EventListenerNode.ts +7 -4
- package/src/core/nodes/ExportNode.ts +74 -4
- package/src/core/nodes/ExpressionNode.ts +232 -0
- package/src/core/nodes/ExternalModuleNode.ts +65 -0
- package/src/core/nodes/ExternalStdioNode.ts +17 -9
- package/src/core/nodes/FunctionNode.ts +101 -1
- package/src/core/nodes/HttpRequestNode.ts +7 -4
- package/src/core/nodes/ImportNode.ts +62 -13
- package/src/core/nodes/InterfaceNode.ts +92 -0
- package/src/core/nodes/IssueNode.ts +177 -0
- package/src/core/nodes/LiteralNode.ts +5 -4
- package/src/core/nodes/MethodCallNode.ts +70 -4
- package/src/core/nodes/MethodNode.ts +68 -3
- package/src/core/nodes/ModuleNode.ts +50 -0
- package/src/core/nodes/NetworkRequestNode.ts +77 -0
- package/src/core/nodes/ObjectLiteralNode.ts +66 -0
- package/src/core/nodes/ParameterNode.ts +4 -3
- package/src/core/nodes/ScopeNode.ts +65 -0
- package/src/core/nodes/TypeNode.ts +79 -0
- package/src/core/nodes/VariableDeclarationNode.ts +58 -4
- package/src/core/nodes/index.ts +21 -1
- package/src/data/builtins/BuiltinRegistry.ts +124 -0
- package/src/data/builtins/definitions.ts +267 -0
- package/src/data/builtins/index.ts +10 -0
- package/src/data/builtins/jsGlobals.ts +28 -0
- package/src/data/builtins/types.ts +36 -0
- package/src/data/globals/definitions.ts +156 -0
- package/src/data/globals/index.ts +66 -0
- package/src/diagnostics/DiagnosticCollector.ts +163 -0
- package/src/diagnostics/DiagnosticReporter.ts +324 -0
- package/src/diagnostics/DiagnosticWriter.ts +50 -0
- package/src/diagnostics/index.ts +16 -0
- package/src/errors/GrafemaError.ts +239 -0
- package/src/index.ts +193 -1
- package/src/logging/Logger.ts +152 -0
- package/src/plugins/Plugin.ts +42 -0
- package/src/plugins/analysis/DatabaseAnalyzer.ts +16 -8
- package/src/plugins/analysis/ExpressAnalyzer.ts +33 -19
- package/src/plugins/analysis/ExpressResponseAnalyzer.ts +636 -0
- package/src/plugins/analysis/ExpressRouteAnalyzer.ts +76 -36
- package/src/plugins/analysis/FetchAnalyzer.ts +232 -21
- package/src/plugins/analysis/IncrementalAnalysisPlugin.ts +84 -101
- package/src/plugins/analysis/JSASTAnalyzer.ts +4265 -587
- package/src/plugins/analysis/ReactAnalyzer.ts +57 -57
- package/src/plugins/analysis/RustAnalyzer.ts +16 -11
- package/src/plugins/analysis/SQLiteAnalyzer.ts +13 -7
- package/src/plugins/analysis/ServiceLayerAnalyzer.ts +22 -16
- package/src/plugins/analysis/SocketIOAnalyzer.ts +151 -28
- package/src/plugins/analysis/SystemDbAnalyzer.ts +16 -11
- package/src/plugins/analysis/ast/GraphBuilder.ts +1947 -327
- package/src/plugins/analysis/ast/IdGenerator.ts +177 -0
- package/src/plugins/analysis/ast/types.ts +596 -6
- package/src/plugins/analysis/ast/utils/createParameterNodes.ts +104 -0
- package/src/plugins/analysis/ast/utils/index.ts +12 -0
- package/src/plugins/analysis/ast/utils/location.ts +103 -0
- package/src/plugins/analysis/ast/visitors/ASTVisitor.ts +19 -8
- package/src/plugins/analysis/ast/visitors/CallExpressionVisitor.ts +924 -83
- package/src/plugins/analysis/ast/visitors/ClassVisitor.ts +97 -44
- package/src/plugins/analysis/ast/visitors/FunctionVisitor.ts +234 -93
- package/src/plugins/analysis/ast/visitors/ImportExportVisitor.ts +124 -9
- package/src/plugins/analysis/ast/visitors/TypeScriptVisitor.ts +41 -14
- package/src/plugins/analysis/ast/visitors/VariableVisitor.ts +294 -49
- package/src/plugins/discovery/MonorepoServiceDiscovery.ts +3 -2
- package/src/plugins/discovery/SimpleProjectDiscovery.ts +6 -1
- package/src/plugins/discovery/WorkspaceDiscovery.ts +184 -0
- package/src/plugins/discovery/resolveSourceEntrypoint.ts +103 -0
- package/src/plugins/discovery/workspaces/detector.ts +63 -0
- package/src/plugins/discovery/workspaces/globResolver.ts +229 -0
- package/src/plugins/discovery/workspaces/index.ts +23 -0
- package/src/plugins/discovery/workspaces/parsers.ts +99 -0
- package/src/plugins/enrichment/AliasTracker.ts +35 -8
- package/src/plugins/enrichment/ArgumentParameterLinker.ts +240 -0
- package/src/plugins/enrichment/ClosureCaptureEnricher.ts +267 -0
- package/src/plugins/enrichment/ExternalCallResolver.ts +262 -0
- package/src/plugins/enrichment/FunctionCallResolver.ts +456 -0
- package/src/plugins/enrichment/HTTPConnectionEnricher.ts +84 -27
- package/src/plugins/enrichment/ImportExportLinker.ts +24 -6
- package/src/plugins/enrichment/MethodCallResolver.ts +39 -13
- package/src/plugins/enrichment/MountPointResolver.ts +208 -195
- package/src/plugins/enrichment/NodejsBuiltinsResolver.ts +365 -0
- package/src/plugins/enrichment/PrefixEvaluator.ts +16 -7
- package/src/plugins/enrichment/RustFFIEnricher.ts +6 -5
- package/src/plugins/enrichment/ValueDomainAnalyzer.ts +209 -189
- package/src/plugins/indexing/IncrementalModuleIndexer.ts +23 -14
- package/src/plugins/indexing/JSModuleIndexer.ts +140 -34
- package/src/plugins/indexing/RustModuleIndexer.ts +8 -7
- package/src/plugins/validation/BrokenImportValidator.ts +325 -0
- package/src/plugins/validation/CallResolverValidator.ts +131 -110
- package/src/plugins/validation/DataFlowValidator.ts +88 -67
- package/src/plugins/validation/EvalBanValidator.ts +17 -16
- package/src/plugins/validation/GraphConnectivityValidator.ts +58 -24
- package/src/plugins/validation/NodeCreationValidator.ts +554 -0
- package/src/plugins/validation/SQLInjectionValidator.ts +63 -20
- package/src/plugins/validation/ShadowingDetector.ts +6 -5
- package/src/plugins/validation/TypeScriptDeadCodeValidator.ts +12 -11
- package/src/plugins/vcs/GitPlugin.ts +40 -12
- package/src/plugins/vcs/VCSPlugin.ts +7 -5
- package/src/queries/README.md +46 -0
- package/src/queries/findCallsInFunction.ts +206 -0
- package/src/queries/findContainingFunction.ts +83 -0
- package/src/queries/index.ts +23 -0
- package/src/queries/traceValues.ts +398 -0
- package/src/queries/types.ts +187 -0
- package/src/schema/GraphSchemaExtractor.ts +177 -0
- package/src/schema/InterfaceSchemaExtractor.ts +173 -0
- package/src/schema/index.ts +5 -0
- package/src/storage/backends/RFDBServerBackend.ts +100 -98
- package/src/storage/backends/typeValidation.ts +1 -0
- package/src/validation/PathValidator.ts +1 -1
- package/dist/core/AnalysisWorker.d.ts +0 -14
- package/dist/core/AnalysisWorker.d.ts.map +0 -1
- package/dist/core/AnalysisWorker.js +0 -307
- package/dist/core/ParallelAnalyzer.d.ts +0 -120
- package/dist/core/ParallelAnalyzer.d.ts.map +0 -1
- package/dist/core/ParallelAnalyzer.js +0 -331
- package/dist/core/QueueWorker.d.ts +0 -12
- package/dist/core/QueueWorker.d.ts.map +0 -1
- package/dist/core/QueueWorker.js +0 -567
- package/dist/core/RFDBClient.d.ts +0 -179
- package/dist/core/RFDBClient.d.ts.map +0 -1
- package/dist/core/RFDBClient.js +0 -429
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts +0 -19
- package/dist/plugins/discovery/ZonServiceDiscovery.d.ts.map +0 -1
- package/dist/plugins/discovery/ZonServiceDiscovery.js +0 -204
- package/src/core/AnalysisWorker.ts +0 -410
- package/src/core/ParallelAnalyzer.ts +0 -476
- package/src/core/QueueWorker.ts +0 -780
- package/src/plugins/indexing/ServiceDetector.ts +0 -230
package/dist/core/nodes/index.js
CHANGED
|
@@ -10,21 +10,38 @@ export { ClassNode } from './ClassNode.js';
|
|
|
10
10
|
export { MethodNode } from './MethodNode.js';
|
|
11
11
|
export { ParameterNode } from './ParameterNode.js';
|
|
12
12
|
export { ScopeNode } from './ScopeNode.js';
|
|
13
|
+
export { BranchNode } from './BranchNode.js';
|
|
14
|
+
export { CaseNode } from './CaseNode.js';
|
|
13
15
|
// Call/reference nodes
|
|
14
16
|
export { CallSiteNode } from './CallSiteNode.js';
|
|
15
17
|
export { MethodCallNode } from './MethodCallNode.js';
|
|
18
|
+
export { ConstructorCallNode } from './ConstructorCallNode.js';
|
|
16
19
|
export { VariableDeclarationNode } from './VariableDeclarationNode.js';
|
|
17
20
|
export { ConstantNode } from './ConstantNode.js';
|
|
18
21
|
export { LiteralNode } from './LiteralNode.js';
|
|
22
|
+
export { ObjectLiteralNode } from './ObjectLiteralNode.js';
|
|
23
|
+
export { ArrayLiteralNode } from './ArrayLiteralNode.js';
|
|
19
24
|
// Import/Export nodes
|
|
20
25
|
export { ImportNode } from './ImportNode.js';
|
|
21
26
|
export { ExportNode } from './ExportNode.js';
|
|
27
|
+
export { ExternalModuleNode } from './ExternalModuleNode.js';
|
|
28
|
+
// TypeScript declaration nodes
|
|
29
|
+
export { InterfaceNode } from './InterfaceNode.js';
|
|
30
|
+
export { TypeNode } from './TypeNode.js';
|
|
31
|
+
export { EnumNode } from './EnumNode.js';
|
|
32
|
+
export { DecoratorNode } from './DecoratorNode.js';
|
|
33
|
+
// Expression nodes
|
|
34
|
+
export { ExpressionNode } from './ExpressionNode.js';
|
|
35
|
+
export { ArgumentExpressionNode } from './ArgumentExpressionNode.js';
|
|
22
36
|
// External/IO nodes
|
|
23
37
|
export { ExternalStdioNode } from './ExternalStdioNode.js';
|
|
38
|
+
export { NetworkRequestNode } from './NetworkRequestNode.js';
|
|
24
39
|
export { EventListenerNode } from './EventListenerNode.js';
|
|
25
40
|
export { HttpRequestNode } from './HttpRequestNode.js';
|
|
26
41
|
export { DatabaseQueryNode } from './DatabaseQueryNode.js';
|
|
27
42
|
// Guarantee nodes (contract-based)
|
|
28
43
|
export { GuaranteeNode } from './GuaranteeNode.js';
|
|
44
|
+
// Issue nodes (detected problems)
|
|
45
|
+
export { IssueNode } from './IssueNode.js';
|
|
29
46
|
// Node type constants and helpers
|
|
30
47
|
export { NODE_TYPE, NAMESPACED_TYPE, isNamespacedType, getNamespace, getBaseName, isEndpointType, isSideEffectType, matchesTypePattern, isGuaranteeType, } from './NodeKind.js';
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BuiltinRegistry - Registry for Node.js builtin functions (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Provides lookup for Node.js builtin modules and functions.
|
|
5
|
+
* Used by NodejsBuiltinsResolver for lazy EXTERNAL_FUNCTION node creation.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* const registry = new BuiltinRegistry();
|
|
9
|
+
* if (registry.isBuiltinModule('fs')) {
|
|
10
|
+
* const funcDef = registry.getFunction('fs', 'readFile');
|
|
11
|
+
* if (funcDef) {
|
|
12
|
+
* // Create EXTERNAL_FUNCTION node with metadata
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
*/
|
|
16
|
+
import type { BuiltinFunctionDef, BuiltinModuleDef } from './types.js';
|
|
17
|
+
export declare class BuiltinRegistry {
|
|
18
|
+
/** Map of module name to module definition */
|
|
19
|
+
private modules;
|
|
20
|
+
/** Map of "module:funcName" to function definition for fast lookup */
|
|
21
|
+
private functions;
|
|
22
|
+
constructor(modules?: BuiltinModuleDef[]);
|
|
23
|
+
/**
|
|
24
|
+
* Check if module is a Node.js builtin module.
|
|
25
|
+
* Handles node: prefix automatically.
|
|
26
|
+
*
|
|
27
|
+
* @param moduleName - Module name (e.g., 'fs', 'node:fs', 'fs/promises')
|
|
28
|
+
* @returns true if module is a known builtin
|
|
29
|
+
*/
|
|
30
|
+
isBuiltinModule(moduleName: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Normalize module name by stripping node: prefix.
|
|
33
|
+
*
|
|
34
|
+
* @param moduleName - Module name (e.g., 'node:fs', 'fs')
|
|
35
|
+
* @returns Normalized module name (e.g., 'fs')
|
|
36
|
+
*/
|
|
37
|
+
normalizeModule(moduleName: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get function definition by module and function name.
|
|
40
|
+
*
|
|
41
|
+
* @param module - Module name (e.g., 'fs', 'node:fs')
|
|
42
|
+
* @param funcName - Function name (e.g., 'readFile')
|
|
43
|
+
* @returns Function definition or null if not found
|
|
44
|
+
*/
|
|
45
|
+
getFunction(module: string, funcName: string): BuiltinFunctionDef | null;
|
|
46
|
+
/**
|
|
47
|
+
* Check if function is a known builtin function.
|
|
48
|
+
*
|
|
49
|
+
* @param module - Module name
|
|
50
|
+
* @param funcName - Function name
|
|
51
|
+
* @returns true if function is known
|
|
52
|
+
*/
|
|
53
|
+
isKnownFunction(module: string, funcName: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Get all functions for a module.
|
|
56
|
+
*
|
|
57
|
+
* @param module - Module name
|
|
58
|
+
* @returns Array of function definitions (empty if module not found)
|
|
59
|
+
*/
|
|
60
|
+
getAllFunctions(module: string): BuiltinFunctionDef[];
|
|
61
|
+
/**
|
|
62
|
+
* List all supported builtin module names.
|
|
63
|
+
*
|
|
64
|
+
* @returns Array of module names
|
|
65
|
+
*/
|
|
66
|
+
listModules(): string[];
|
|
67
|
+
/**
|
|
68
|
+
* Create node ID for EXTERNAL_FUNCTION node.
|
|
69
|
+
*
|
|
70
|
+
* Format: EXTERNAL_FUNCTION:{module}.{funcName}
|
|
71
|
+
*
|
|
72
|
+
* @param module - Module name (will be normalized)
|
|
73
|
+
* @param funcName - Function name
|
|
74
|
+
* @returns Node ID string
|
|
75
|
+
*/
|
|
76
|
+
createNodeId(module: string, funcName: string): string;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=BuiltinRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuiltinRegistry.d.ts","sourceRoot":"","sources":["../../../src/data/builtins/BuiltinRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvE,qBAAa,eAAe;IAC1B,8CAA8C;IAC9C,OAAO,CAAC,OAAO,CAAgC;IAE/C,sEAAsE;IACtE,OAAO,CAAC,SAAS,CAAkC;gBAEvC,OAAO,GAAE,gBAAgB,EAAwB;IAc7D;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAK5C;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAO3C;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAMxE;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI1D;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAMrD;;;;OAIG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAIvD"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BuiltinRegistry - Registry for Node.js builtin functions (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Provides lookup for Node.js builtin modules and functions.
|
|
5
|
+
* Used by NodejsBuiltinsResolver for lazy EXTERNAL_FUNCTION node creation.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* const registry = new BuiltinRegistry();
|
|
9
|
+
* if (registry.isBuiltinModule('fs')) {
|
|
10
|
+
* const funcDef = registry.getFunction('fs', 'readFile');
|
|
11
|
+
* if (funcDef) {
|
|
12
|
+
* // Create EXTERNAL_FUNCTION node with metadata
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
*/
|
|
16
|
+
import { ALL_BUILTIN_MODULES } from './definitions.js';
|
|
17
|
+
export class BuiltinRegistry {
|
|
18
|
+
/** Map of module name to module definition */
|
|
19
|
+
modules;
|
|
20
|
+
/** Map of "module:funcName" to function definition for fast lookup */
|
|
21
|
+
functions;
|
|
22
|
+
constructor(modules = ALL_BUILTIN_MODULES) {
|
|
23
|
+
this.modules = new Map();
|
|
24
|
+
this.functions = new Map();
|
|
25
|
+
for (const mod of modules) {
|
|
26
|
+
this.modules.set(mod.name, mod);
|
|
27
|
+
for (const func of mod.functions) {
|
|
28
|
+
const key = `${mod.name}:${func.name}`;
|
|
29
|
+
this.functions.set(key, func);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if module is a Node.js builtin module.
|
|
35
|
+
* Handles node: prefix automatically.
|
|
36
|
+
*
|
|
37
|
+
* @param moduleName - Module name (e.g., 'fs', 'node:fs', 'fs/promises')
|
|
38
|
+
* @returns true if module is a known builtin
|
|
39
|
+
*/
|
|
40
|
+
isBuiltinModule(moduleName) {
|
|
41
|
+
const normalized = this.normalizeModule(moduleName);
|
|
42
|
+
return this.modules.has(normalized);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Normalize module name by stripping node: prefix.
|
|
46
|
+
*
|
|
47
|
+
* @param moduleName - Module name (e.g., 'node:fs', 'fs')
|
|
48
|
+
* @returns Normalized module name (e.g., 'fs')
|
|
49
|
+
*/
|
|
50
|
+
normalizeModule(moduleName) {
|
|
51
|
+
if (moduleName.startsWith('node:')) {
|
|
52
|
+
return moduleName.slice(5); // Remove 'node:' prefix
|
|
53
|
+
}
|
|
54
|
+
return moduleName;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get function definition by module and function name.
|
|
58
|
+
*
|
|
59
|
+
* @param module - Module name (e.g., 'fs', 'node:fs')
|
|
60
|
+
* @param funcName - Function name (e.g., 'readFile')
|
|
61
|
+
* @returns Function definition or null if not found
|
|
62
|
+
*/
|
|
63
|
+
getFunction(module, funcName) {
|
|
64
|
+
const normalizedModule = this.normalizeModule(module);
|
|
65
|
+
const key = `${normalizedModule}:${funcName}`;
|
|
66
|
+
return this.functions.get(key) || null;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if function is a known builtin function.
|
|
70
|
+
*
|
|
71
|
+
* @param module - Module name
|
|
72
|
+
* @param funcName - Function name
|
|
73
|
+
* @returns true if function is known
|
|
74
|
+
*/
|
|
75
|
+
isKnownFunction(module, funcName) {
|
|
76
|
+
return this.getFunction(module, funcName) !== null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Get all functions for a module.
|
|
80
|
+
*
|
|
81
|
+
* @param module - Module name
|
|
82
|
+
* @returns Array of function definitions (empty if module not found)
|
|
83
|
+
*/
|
|
84
|
+
getAllFunctions(module) {
|
|
85
|
+
const normalizedModule = this.normalizeModule(module);
|
|
86
|
+
const mod = this.modules.get(normalizedModule);
|
|
87
|
+
return mod ? mod.functions : [];
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* List all supported builtin module names.
|
|
91
|
+
*
|
|
92
|
+
* @returns Array of module names
|
|
93
|
+
*/
|
|
94
|
+
listModules() {
|
|
95
|
+
return Array.from(this.modules.keys());
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create node ID for EXTERNAL_FUNCTION node.
|
|
99
|
+
*
|
|
100
|
+
* Format: EXTERNAL_FUNCTION:{module}.{funcName}
|
|
101
|
+
*
|
|
102
|
+
* @param module - Module name (will be normalized)
|
|
103
|
+
* @param funcName - Function name
|
|
104
|
+
* @returns Node ID string
|
|
105
|
+
*/
|
|
106
|
+
createNodeId(module, funcName) {
|
|
107
|
+
const normalizedModule = this.normalizeModule(module);
|
|
108
|
+
return `EXTERNAL_FUNCTION:${normalizedModule}.${funcName}`;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Builtin Definitions (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Tier 1 builtin module definitions:
|
|
5
|
+
* - fs (filesystem)
|
|
6
|
+
* - fs/promises (async filesystem)
|
|
7
|
+
* - path (path manipulation)
|
|
8
|
+
* - http/https (network)
|
|
9
|
+
* - crypto (cryptography)
|
|
10
|
+
* - child_process (process execution)
|
|
11
|
+
*
|
|
12
|
+
* Additional modules (Tier 2):
|
|
13
|
+
* - url, util, os, events, stream, buffer, worker_threads
|
|
14
|
+
*/
|
|
15
|
+
import type { BuiltinModuleDef } from './types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Tier 1: Core Node.js modules (most commonly used)
|
|
18
|
+
*/
|
|
19
|
+
export declare const TIER_1_MODULES: BuiltinModuleDef[];
|
|
20
|
+
/**
|
|
21
|
+
* Tier 2: Additional commonly used modules
|
|
22
|
+
*/
|
|
23
|
+
export declare const TIER_2_MODULES: BuiltinModuleDef[];
|
|
24
|
+
/**
|
|
25
|
+
* All builtin modules combined
|
|
26
|
+
*/
|
|
27
|
+
export declare const ALL_BUILTIN_MODULES: BuiltinModuleDef[];
|
|
28
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/data/builtins/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAgJ5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAyF5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAGjD,CAAC"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Builtin Definitions (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Tier 1 builtin module definitions:
|
|
5
|
+
* - fs (filesystem)
|
|
6
|
+
* - fs/promises (async filesystem)
|
|
7
|
+
* - path (path manipulation)
|
|
8
|
+
* - http/https (network)
|
|
9
|
+
* - crypto (cryptography)
|
|
10
|
+
* - child_process (process execution)
|
|
11
|
+
*
|
|
12
|
+
* Additional modules (Tier 2):
|
|
13
|
+
* - url, util, os, events, stream, buffer, worker_threads
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Tier 1: Core Node.js modules (most commonly used)
|
|
17
|
+
*/
|
|
18
|
+
export const TIER_1_MODULES = [
|
|
19
|
+
// fs - Filesystem operations
|
|
20
|
+
{
|
|
21
|
+
name: 'fs',
|
|
22
|
+
functions: [
|
|
23
|
+
{ name: 'readFile', module: 'fs', security: 'file-io', pure: false },
|
|
24
|
+
{ name: 'readFileSync', module: 'fs', security: 'file-io', pure: false },
|
|
25
|
+
{ name: 'writeFile', module: 'fs', security: 'file-io', pure: false },
|
|
26
|
+
{ name: 'writeFileSync', module: 'fs', security: 'file-io', pure: false },
|
|
27
|
+
{ name: 'appendFile', module: 'fs', security: 'file-io', pure: false },
|
|
28
|
+
{ name: 'appendFileSync', module: 'fs', security: 'file-io', pure: false },
|
|
29
|
+
{ name: 'readdir', module: 'fs', security: 'file-io', pure: false },
|
|
30
|
+
{ name: 'readdirSync', module: 'fs', security: 'file-io', pure: false },
|
|
31
|
+
{ name: 'mkdir', module: 'fs', security: 'file-io', pure: false },
|
|
32
|
+
{ name: 'mkdirSync', module: 'fs', security: 'file-io', pure: false },
|
|
33
|
+
{ name: 'rmdir', module: 'fs', security: 'file-io', pure: false },
|
|
34
|
+
{ name: 'rmdirSync', module: 'fs', security: 'file-io', pure: false },
|
|
35
|
+
{ name: 'rm', module: 'fs', security: 'file-io', pure: false },
|
|
36
|
+
{ name: 'rmSync', module: 'fs', security: 'file-io', pure: false },
|
|
37
|
+
{ name: 'unlink', module: 'fs', security: 'file-io', pure: false },
|
|
38
|
+
{ name: 'unlinkSync', module: 'fs', security: 'file-io', pure: false },
|
|
39
|
+
{ name: 'stat', module: 'fs', security: 'file-io', pure: false },
|
|
40
|
+
{ name: 'statSync', module: 'fs', security: 'file-io', pure: false },
|
|
41
|
+
{ name: 'lstat', module: 'fs', security: 'file-io', pure: false },
|
|
42
|
+
{ name: 'lstatSync', module: 'fs', security: 'file-io', pure: false },
|
|
43
|
+
{ name: 'access', module: 'fs', security: 'file-io', pure: false },
|
|
44
|
+
{ name: 'accessSync', module: 'fs', security: 'file-io', pure: false },
|
|
45
|
+
{ name: 'chmod', module: 'fs', security: 'file-io', pure: false },
|
|
46
|
+
{ name: 'chmodSync', module: 'fs', security: 'file-io', pure: false },
|
|
47
|
+
{ name: 'chown', module: 'fs', security: 'file-io', pure: false },
|
|
48
|
+
{ name: 'chownSync', module: 'fs', security: 'file-io', pure: false },
|
|
49
|
+
{ name: 'rename', module: 'fs', security: 'file-io', pure: false },
|
|
50
|
+
{ name: 'renameSync', module: 'fs', security: 'file-io', pure: false },
|
|
51
|
+
{ name: 'copyFile', module: 'fs', security: 'file-io', pure: false },
|
|
52
|
+
{ name: 'copyFileSync', module: 'fs', security: 'file-io', pure: false },
|
|
53
|
+
{ name: 'createReadStream', module: 'fs', security: 'file-io', pure: false },
|
|
54
|
+
{ name: 'createWriteStream', module: 'fs', security: 'file-io', pure: false },
|
|
55
|
+
{ name: 'watch', module: 'fs', security: 'file-io', pure: false },
|
|
56
|
+
{ name: 'watchFile', module: 'fs', security: 'file-io', pure: false },
|
|
57
|
+
{ name: 'existsSync', module: 'fs', security: 'file-io', pure: false },
|
|
58
|
+
{ name: 'truncate', module: 'fs', security: 'file-io', pure: false },
|
|
59
|
+
{ name: 'truncateSync', module: 'fs', security: 'file-io', pure: false },
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
// fs/promises - Async filesystem operations
|
|
63
|
+
{
|
|
64
|
+
name: 'fs/promises',
|
|
65
|
+
functions: [
|
|
66
|
+
{ name: 'readFile', module: 'fs/promises', security: 'file-io', pure: false },
|
|
67
|
+
{ name: 'writeFile', module: 'fs/promises', security: 'file-io', pure: false },
|
|
68
|
+
{ name: 'appendFile', module: 'fs/promises', security: 'file-io', pure: false },
|
|
69
|
+
{ name: 'readdir', module: 'fs/promises', security: 'file-io', pure: false },
|
|
70
|
+
{ name: 'mkdir', module: 'fs/promises', security: 'file-io', pure: false },
|
|
71
|
+
{ name: 'rmdir', module: 'fs/promises', security: 'file-io', pure: false },
|
|
72
|
+
{ name: 'rm', module: 'fs/promises', security: 'file-io', pure: false },
|
|
73
|
+
{ name: 'unlink', module: 'fs/promises', security: 'file-io', pure: false },
|
|
74
|
+
{ name: 'stat', module: 'fs/promises', security: 'file-io', pure: false },
|
|
75
|
+
{ name: 'lstat', module: 'fs/promises', security: 'file-io', pure: false },
|
|
76
|
+
{ name: 'access', module: 'fs/promises', security: 'file-io', pure: false },
|
|
77
|
+
{ name: 'chmod', module: 'fs/promises', security: 'file-io', pure: false },
|
|
78
|
+
{ name: 'chown', module: 'fs/promises', security: 'file-io', pure: false },
|
|
79
|
+
{ name: 'rename', module: 'fs/promises', security: 'file-io', pure: false },
|
|
80
|
+
{ name: 'copyFile', module: 'fs/promises', security: 'file-io', pure: false },
|
|
81
|
+
{ name: 'truncate', module: 'fs/promises', security: 'file-io', pure: false },
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
// path - Path manipulation (pure functions)
|
|
85
|
+
{
|
|
86
|
+
name: 'path',
|
|
87
|
+
functions: [
|
|
88
|
+
{ name: 'join', module: 'path', pure: true },
|
|
89
|
+
{ name: 'resolve', module: 'path', pure: true },
|
|
90
|
+
{ name: 'normalize', module: 'path', pure: true },
|
|
91
|
+
{ name: 'basename', module: 'path', pure: true },
|
|
92
|
+
{ name: 'dirname', module: 'path', pure: true },
|
|
93
|
+
{ name: 'extname', module: 'path', pure: true },
|
|
94
|
+
{ name: 'parse', module: 'path', pure: true },
|
|
95
|
+
{ name: 'format', module: 'path', pure: true },
|
|
96
|
+
{ name: 'relative', module: 'path', pure: true },
|
|
97
|
+
{ name: 'isAbsolute', module: 'path', pure: true },
|
|
98
|
+
{ name: 'sep', module: 'path', pure: true },
|
|
99
|
+
{ name: 'delimiter', module: 'path', pure: true },
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
// http - HTTP server/client
|
|
103
|
+
{
|
|
104
|
+
name: 'http',
|
|
105
|
+
functions: [
|
|
106
|
+
{ name: 'createServer', module: 'http', security: 'net', pure: false },
|
|
107
|
+
{ name: 'request', module: 'http', security: 'net', pure: false },
|
|
108
|
+
{ name: 'get', module: 'http', security: 'net', pure: false },
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
// https - HTTPS server/client
|
|
112
|
+
{
|
|
113
|
+
name: 'https',
|
|
114
|
+
functions: [
|
|
115
|
+
{ name: 'createServer', module: 'https', security: 'net', pure: false },
|
|
116
|
+
{ name: 'request', module: 'https', security: 'net', pure: false },
|
|
117
|
+
{ name: 'get', module: 'https', security: 'net', pure: false },
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
// crypto - Cryptographic operations
|
|
121
|
+
{
|
|
122
|
+
name: 'crypto',
|
|
123
|
+
functions: [
|
|
124
|
+
{ name: 'createHash', module: 'crypto', security: 'crypto', pure: false },
|
|
125
|
+
{ name: 'createHmac', module: 'crypto', security: 'crypto', pure: false },
|
|
126
|
+
{ name: 'createCipher', module: 'crypto', security: 'crypto', pure: false },
|
|
127
|
+
{ name: 'createDecipher', module: 'crypto', security: 'crypto', pure: false },
|
|
128
|
+
{ name: 'createCipheriv', module: 'crypto', security: 'crypto', pure: false },
|
|
129
|
+
{ name: 'createDecipheriv', module: 'crypto', security: 'crypto', pure: false },
|
|
130
|
+
{ name: 'randomBytes', module: 'crypto', security: 'crypto', pure: false },
|
|
131
|
+
{ name: 'randomFill', module: 'crypto', security: 'crypto', pure: false },
|
|
132
|
+
{ name: 'randomFillSync', module: 'crypto', security: 'crypto', pure: false },
|
|
133
|
+
{ name: 'randomUUID', module: 'crypto', security: 'crypto', pure: false },
|
|
134
|
+
{ name: 'pbkdf2', module: 'crypto', security: 'crypto', pure: false },
|
|
135
|
+
{ name: 'pbkdf2Sync', module: 'crypto', security: 'crypto', pure: false },
|
|
136
|
+
{ name: 'scrypt', module: 'crypto', security: 'crypto', pure: false },
|
|
137
|
+
{ name: 'scryptSync', module: 'crypto', security: 'crypto', pure: false },
|
|
138
|
+
{ name: 'generateKey', module: 'crypto', security: 'crypto', pure: false },
|
|
139
|
+
{ name: 'generateKeyPair', module: 'crypto', security: 'crypto', pure: false },
|
|
140
|
+
{ name: 'generateKeyPairSync', module: 'crypto', security: 'crypto', pure: false },
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
// child_process - Process execution (SECURITY SENSITIVE)
|
|
144
|
+
{
|
|
145
|
+
name: 'child_process',
|
|
146
|
+
functions: [
|
|
147
|
+
{ name: 'exec', module: 'child_process', security: 'exec', pure: false },
|
|
148
|
+
{ name: 'execSync', module: 'child_process', security: 'exec', pure: false },
|
|
149
|
+
{ name: 'execFile', module: 'child_process', security: 'exec', pure: false },
|
|
150
|
+
{ name: 'execFileSync', module: 'child_process', security: 'exec', pure: false },
|
|
151
|
+
{ name: 'spawn', module: 'child_process', security: 'exec', pure: false },
|
|
152
|
+
{ name: 'spawnSync', module: 'child_process', security: 'exec', pure: false },
|
|
153
|
+
{ name: 'fork', module: 'child_process', security: 'exec', pure: false },
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
/**
|
|
158
|
+
* Tier 2: Additional commonly used modules
|
|
159
|
+
*/
|
|
160
|
+
export const TIER_2_MODULES = [
|
|
161
|
+
// url - URL parsing
|
|
162
|
+
{
|
|
163
|
+
name: 'url',
|
|
164
|
+
functions: [
|
|
165
|
+
{ name: 'parse', module: 'url', pure: true },
|
|
166
|
+
{ name: 'format', module: 'url', pure: true },
|
|
167
|
+
{ name: 'resolve', module: 'url', pure: true },
|
|
168
|
+
{ name: 'fileURLToPath', module: 'url', pure: true },
|
|
169
|
+
{ name: 'pathToFileURL', module: 'url', pure: true },
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
// util - Utilities
|
|
173
|
+
{
|
|
174
|
+
name: 'util',
|
|
175
|
+
functions: [
|
|
176
|
+
{ name: 'promisify', module: 'util', pure: true },
|
|
177
|
+
{ name: 'callbackify', module: 'util', pure: true },
|
|
178
|
+
{ name: 'inspect', module: 'util', pure: true },
|
|
179
|
+
{ name: 'format', module: 'util', pure: true },
|
|
180
|
+
{ name: 'deprecate', module: 'util', pure: false },
|
|
181
|
+
{ name: 'inherits', module: 'util', pure: false },
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
// os - Operating system info
|
|
185
|
+
{
|
|
186
|
+
name: 'os',
|
|
187
|
+
functions: [
|
|
188
|
+
{ name: 'platform', module: 'os', pure: true },
|
|
189
|
+
{ name: 'arch', module: 'os', pure: true },
|
|
190
|
+
{ name: 'cpus', module: 'os', pure: false },
|
|
191
|
+
{ name: 'hostname', module: 'os', pure: false },
|
|
192
|
+
{ name: 'homedir', module: 'os', pure: false },
|
|
193
|
+
{ name: 'tmpdir', module: 'os', pure: false },
|
|
194
|
+
{ name: 'type', module: 'os', pure: true },
|
|
195
|
+
{ name: 'release', module: 'os', pure: true },
|
|
196
|
+
{ name: 'totalmem', module: 'os', pure: false },
|
|
197
|
+
{ name: 'freemem', module: 'os', pure: false },
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
// events - Event emitter
|
|
201
|
+
{
|
|
202
|
+
name: 'events',
|
|
203
|
+
functions: [
|
|
204
|
+
{ name: 'EventEmitter', module: 'events', pure: false },
|
|
205
|
+
{ name: 'once', module: 'events', pure: false },
|
|
206
|
+
{ name: 'on', module: 'events', pure: false },
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
// stream - Streams
|
|
210
|
+
{
|
|
211
|
+
name: 'stream',
|
|
212
|
+
functions: [
|
|
213
|
+
{ name: 'Readable', module: 'stream', pure: false },
|
|
214
|
+
{ name: 'Writable', module: 'stream', pure: false },
|
|
215
|
+
{ name: 'Duplex', module: 'stream', pure: false },
|
|
216
|
+
{ name: 'Transform', module: 'stream', pure: false },
|
|
217
|
+
{ name: 'pipeline', module: 'stream', pure: false },
|
|
218
|
+
{ name: 'finished', module: 'stream', pure: false },
|
|
219
|
+
]
|
|
220
|
+
},
|
|
221
|
+
// buffer - Buffer operations
|
|
222
|
+
{
|
|
223
|
+
name: 'buffer',
|
|
224
|
+
functions: [
|
|
225
|
+
{ name: 'Buffer', module: 'buffer', pure: false },
|
|
226
|
+
{ name: 'alloc', module: 'buffer', pure: true },
|
|
227
|
+
{ name: 'allocUnsafe', module: 'buffer', pure: true },
|
|
228
|
+
{ name: 'from', module: 'buffer', pure: true },
|
|
229
|
+
{ name: 'concat', module: 'buffer', pure: true },
|
|
230
|
+
{ name: 'isBuffer', module: 'buffer', pure: true },
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
// worker_threads - Worker threads
|
|
234
|
+
{
|
|
235
|
+
name: 'worker_threads',
|
|
236
|
+
functions: [
|
|
237
|
+
{ name: 'Worker', module: 'worker_threads', pure: false },
|
|
238
|
+
{ name: 'isMainThread', module: 'worker_threads', pure: true },
|
|
239
|
+
{ name: 'parentPort', module: 'worker_threads', pure: false },
|
|
240
|
+
{ name: 'workerData', module: 'worker_threads', pure: false },
|
|
241
|
+
]
|
|
242
|
+
},
|
|
243
|
+
];
|
|
244
|
+
/**
|
|
245
|
+
* All builtin modules combined
|
|
246
|
+
*/
|
|
247
|
+
export const ALL_BUILTIN_MODULES = [
|
|
248
|
+
...TIER_1_MODULES,
|
|
249
|
+
...TIER_2_MODULES,
|
|
250
|
+
];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Builtins Registry (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Exports for builtin function registry.
|
|
5
|
+
*/
|
|
6
|
+
export { BuiltinRegistry } from './BuiltinRegistry.js';
|
|
7
|
+
export type { BuiltinFunctionDef, BuiltinModuleDef, SecurityCategory } from './types.js';
|
|
8
|
+
export { ALL_BUILTIN_MODULES, TIER_1_MODULES, TIER_2_MODULES } from './definitions.js';
|
|
9
|
+
export { JS_GLOBAL_FUNCTIONS } from './jsGlobals.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/builtins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Builtins Registry (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Exports for builtin function registry.
|
|
5
|
+
*/
|
|
6
|
+
export { BuiltinRegistry } from './BuiltinRegistry.js';
|
|
7
|
+
export { ALL_BUILTIN_MODULES, TIER_1_MODULES, TIER_2_MODULES } from './definitions.js';
|
|
8
|
+
export { JS_GLOBAL_FUNCTIONS } from './jsGlobals.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript Global Functions (REG-227)
|
|
3
|
+
*
|
|
4
|
+
* These are functions intrinsic to the JS runtime that don't need CALLS edges.
|
|
5
|
+
* They're available in all JS environments (browser, Node.js, etc.) and aren't
|
|
6
|
+
* "callable definitions" in the code sense.
|
|
7
|
+
*
|
|
8
|
+
* What is NOT included:
|
|
9
|
+
* - Constructors (Array, Object, Error) - handled as constructor calls
|
|
10
|
+
* - Objects with methods (Math, JSON) - method calls go through MethodCallResolver
|
|
11
|
+
* - Environment globals (window, document) - not functions, they're objects
|
|
12
|
+
*
|
|
13
|
+
* Used by:
|
|
14
|
+
* - ExternalCallResolver: skips these when resolving external calls
|
|
15
|
+
* - CallResolverValidator: recognizes these as resolved (no violation)
|
|
16
|
+
*/
|
|
17
|
+
export declare const JS_GLOBAL_FUNCTIONS: Set<string>;
|
|
18
|
+
//# sourceMappingURL=jsGlobals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsGlobals.d.ts","sourceRoot":"","sources":["../../../src/data/builtins/jsGlobals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,aAW9B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript Global Functions (REG-227)
|
|
3
|
+
*
|
|
4
|
+
* These are functions intrinsic to the JS runtime that don't need CALLS edges.
|
|
5
|
+
* They're available in all JS environments (browser, Node.js, etc.) and aren't
|
|
6
|
+
* "callable definitions" in the code sense.
|
|
7
|
+
*
|
|
8
|
+
* What is NOT included:
|
|
9
|
+
* - Constructors (Array, Object, Error) - handled as constructor calls
|
|
10
|
+
* - Objects with methods (Math, JSON) - method calls go through MethodCallResolver
|
|
11
|
+
* - Environment globals (window, document) - not functions, they're objects
|
|
12
|
+
*
|
|
13
|
+
* Used by:
|
|
14
|
+
* - ExternalCallResolver: skips these when resolving external calls
|
|
15
|
+
* - CallResolverValidator: recognizes these as resolved (no violation)
|
|
16
|
+
*/
|
|
17
|
+
export const JS_GLOBAL_FUNCTIONS = new Set([
|
|
18
|
+
// Global functions (truly called as standalone functions)
|
|
19
|
+
'parseInt', 'parseFloat', 'isNaN', 'isFinite', 'eval',
|
|
20
|
+
'encodeURI', 'decodeURI', 'encodeURIComponent', 'decodeURIComponent',
|
|
21
|
+
// Timers (global functions in browser & Node.js)
|
|
22
|
+
'setTimeout', 'setInterval', 'setImmediate',
|
|
23
|
+
'clearTimeout', 'clearInterval', 'clearImmediate',
|
|
24
|
+
// CommonJS (special case - global in CJS environments)
|
|
25
|
+
'require'
|
|
26
|
+
]);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BuiltinRegistry Types (REG-218)
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Node.js builtin function registry.
|
|
5
|
+
* Used for lazy EXTERNAL_FUNCTION node creation.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Security category for builtin functions.
|
|
9
|
+
* Used for security analysis and auditing.
|
|
10
|
+
*/
|
|
11
|
+
export type SecurityCategory = 'file-io' | 'exec' | 'net' | 'crypto';
|
|
12
|
+
/**
|
|
13
|
+
* Definition of a single builtin function.
|
|
14
|
+
*/
|
|
15
|
+
export interface BuiltinFunctionDef {
|
|
16
|
+
/** Function name (e.g., 'readFile') */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Module name (e.g., 'fs', 'path', 'fs/promises') */
|
|
19
|
+
module: string;
|
|
20
|
+
/** Security category (for dangerous functions) */
|
|
21
|
+
security?: SecurityCategory;
|
|
22
|
+
/** Whether function is pure (no side effects) */
|
|
23
|
+
pure?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Definition of a builtin module with its functions.
|
|
27
|
+
*/
|
|
28
|
+
export interface BuiltinModuleDef {
|
|
29
|
+
/** Module name (e.g., 'fs', 'path') */
|
|
30
|
+
name: string;
|
|
31
|
+
/** List of functions in this module */
|
|
32
|
+
functions: BuiltinFunctionDef[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/builtins/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC"}
|