@codeyam/codeyam-cli 0.1.0-staging.323686 → 0.1.0-staging.483fdc2
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/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +2 -2
- package/analyzer-template/packages/ai/index.ts +6 -1
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +39 -17
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +67 -9
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +308 -50
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +15 -6
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +664 -242
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +20 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +35 -13
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +160 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +289 -83
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +269 -1
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +9 -5
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +11 -3
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +297 -7
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
- package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +25 -13
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +4 -3
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +20 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -4
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
- package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +0 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
- package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +57 -13
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +29 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +35 -4
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +117 -9
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +199 -17
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
- package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
- package/analyzer-template/packages/aws/package.json +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/package.json +1 -1
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +6 -5
- package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +5 -5
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/project/constructMockCode.ts +54 -9
- package/analyzer-template/project/writeMockDataTsx.ts +73 -2
- package/background/src/lib/virtualized/project/constructMockCode.js +45 -3
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +71 -2
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +146 -0
- package/codeyam-cli/scripts/apply-setup.js.map +1 -1
- package/codeyam-cli/src/commands/debug.js +7 -5
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +22 -0
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/reviewedRules.js +92 -0
- package/codeyam-cli/src/utils/reviewedRules.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-CX9f-5xM.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{manifest-7522edd4.js → manifest-bba56ec1.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/memory-DuTFSyJ2.js +92 -0
- package/codeyam-cli/src/webserver/build/client/assets/{root-eVAaavTS.js → root-DTfSQARG.js} +6 -6
- package/codeyam-cli/src/webserver/build/server/assets/{index-DVzYx8PN.js → index-TD1f-DHV.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BQ-1XyEa.js +258 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/templates/codeyam:memory.md +174 -233
- package/codeyam-cli/templates/codeyam:new-rule.md +41 -2
- package/codeyam-cli/templates/rule-reflection-hook.py +161 -0
- package/codeyam-cli/templates/rules-instructions.md +126 -0
- package/package.json +1 -1
- package/packages/ai/index.js +2 -1
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +29 -12
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +54 -8
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +239 -43
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +503 -165
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +22 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +34 -9
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +159 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +237 -73
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +195 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +7 -1
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +10 -2
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +209 -3
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
- package/packages/ai/src/lib/mergeStatements.js +70 -51
- package/packages/ai/src/lib/mergeStatements.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/resolvePathToControllable.js +24 -14
- package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
- package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +13 -5
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -4
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +0 -3
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
- package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
- package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +52 -10
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +25 -8
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +34 -4
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +56 -8
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +168 -9
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
- package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
- package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-D3yhhV8x.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/memory-yxFcrxBX.js +0 -92
- package/codeyam-cli/src/webserver/build/server/assets/server-build-4Cr0uToj.js +0 -257
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astScopeAnalyzer.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/astScopes/astScopeAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAY5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC,CAAC,0BAA0B;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,OAAO,gBAAgB;IAsB3B,YAAY,YAA0B,EAAE,aAA4B;QArB5D,cAAS,GAA2B,EAAE,CAAC;QACvC,wBAAmB,GAA2B,EAAE,CAAC;QACjD,yBAAoB,GAAa,EAAE,CAAC;QACpC,sBAAiB,GAAuC,EAAE,CAAC;QAC3D,yBAAoB,GAA0B,EAAE,CAAC;QACjD,uBAAkB,GAA0C,EAAE,CAAC;QAC/D,kCAA6B,GACnC,EAAE,CAAC;QACG,uBAAkB,GAA0C,EAAE,CAAC;QACvE;;;;WAIG;QACK,qBAAgB,GAAwC,EAAE,CAAC;QAG3D,WAAM,GAAoB,EAAE,CAAC;QAC7B,oBAAe,GAAqB,EAAE,CAAC;QAI7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAE1C,4BAA4B;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB;QAC7B,sCAAsC;QAEtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,0BAA0B,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QAExD,kCAAkC;QAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAEzD,uCAAuC;QACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,2BAA2B,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,OAAO;QACL,0BAA0B;QAC1B,MAAM,OAAO,GAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE9D,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAC5C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CAAC,KAAK,EACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CACvB,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAE1C,yBAAyB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAElD,wBAAwB;QACxB,eAAe;QACf,yBAAyB;QACzB,oBAAoB;QACpB,QAAQ;QACR,mCAAmC;QACnC,uDAAuD;QACvD,oBAAoB;QACpB,kDAAkD;QAClD,8CAA8C;QAC9C,sBAAsB;QACtB,SAAS;QACT,YAAY;QACZ,SAAS;QACT,OAAO;QACP,KAAK;QAEL,uBAAuB;QACvB,eAAe;QACf,eAAe;QACf,kCAAkC;QAClC,+CAA+C;QAC/C,gCAAgC;QAChC,gCAAgC;QAChC,8BAA8B;QAC9B,SAAS;QACT,KAAK;QAEL,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YACjE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,UAAU,EACR,YAAY,CAAC,YAAY,KAAK,MAAM;gBACpC,YAAY,CAAC,UAAU,KAAK,MAAM;YACpC,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,MAAM,OAAO,GAAoB;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;YAC1C,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;YACjD,sBAAsB,EAAE,CAAC,YAAY,EAAE,EAAE,CACvC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC;YAC3C,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC;YACjD,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;YAClE,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;YACjE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;YACtD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACzD,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACjE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;YAClC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB;YACtD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;YAChE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;YAC9D,2BAA2B,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CACjD,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;YAC9D,kCAAkC,EAAE,KAAK;YACzC,qCAAqC,EAAE,GAAG,EAAE,CAC1C,IAAI,CAAC,qCAAqC,CAAC,OAAO,CAAC;YACrD,2BAA2B,EAAE,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC;YACjD,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CACtC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAClD,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAC/D,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB;YAClD,+BAA+B,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CACxD,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,SAAS,CAAC;YAC5D,gCAAgC,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,6BAA6B;YACpC,kBAAkB,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,EAAE,CACnD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC;YACvD,sBAAsB,EAAE,CAAC,QAAQ,EAAE,EAAE,CACnC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YACvC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB;YACxD,gBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;YACzE,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YACnE,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB;YACpD,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YACjE,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB;SACrD,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,YAAY,CAClB,IAAa,EACb,UAAyB;QAEzB,qEAAqE;QACrE,4EAA4E;QAC5E,4EAA4E;QAC5E,yDAAyD;QACzD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAEO,mBAAmB,CACzB,UAAyB,EACzB,UAAkB,EAClB,QAAgB;QAEhB,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,SAAS,KAAK,CAAC,IAAa;YAC1B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAE9D,IAAI,SAAS,IAAI,UAAU,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;gBACD,OAAO,CAAC,4CAA4C;YACtD,CAAC;YAED,yCAAyC;YACzC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAa,EAAE,OAAwB;QACzD,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,mEAAmE;YACnE,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,OAAO;QACP,oCAAoC;QACpC,0BAA0B;QAC1B,oCAAoC;QACpC,gCAAgC;QAChC,qCAAqC;QACrC,MAAM;QACN,kBAAkB;QAClB,yGAAyG;QACzG,OAAO;QACP,IAAI;QAEJ,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrC,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9C,sDAAsD;gBACtD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBACpC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,oDAAoD;gBACpD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;oBACxD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,gBAAgB;gBAChB,mEAAmE;gBACnE,sCAAsC;gBACtC,uBAAuB;gBACvB,KAAK;gBACL,IAAI,CAAC,eAAe,CAClB,IAAI,EACJ,mCAAmC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC7D,KAAK,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,gBAAgB;gBAChB,oFAAoF;gBACpF,sCAAsC;gBACtC,uBAAuB;gBACvB,KAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAgB,EAAE,OAAwB;QAC7D,4BAA4B;QAC5B,kBAAkB;QAClB,iFAAiF;QACjF,QAAQ;QACR,8DAA8D;QAC9D,SAAS;QACT,OAAO;QACP,IAAI;QACJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAa,EAAE,OAAwB;QAC9D,OAAO,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YAClE,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,KAAK;gBACxD,IAAI,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,8BAA8B;aACtE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,IAAa,EAAE,OAAwB;QAC7D,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,2BAA2B,CACjC,WAA2B,EAC3B,IAAa,EACb,OAAwB;QAExB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC;YAC3C,IAAI,iBAAiB,EAAE,CAAC;gBACtB,2EAA2E;gBAC3E,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC;oBACjE,iBAAiB,GAAG,iBAAiB,GAAG,GAAG,CAAC;gBAC9C,CAAC;qBAAM,IACL,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAC7D,CAAC;oBACD,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC;gBAC/C,CAAC;gBAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAErE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBACvD,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACxC,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qCAAqC,CAAC,OAAwB;QACpE,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IACpD,CAAC;IAEO,2BAA2B,CACjC,IAAa,EACb,OAAwB;QAExB,IAAI,OAAO,CAAC,kCAAkC;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YACnE,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,IAAI,OAAO,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,IAAa;QAC5C,OAAO,CACL,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC1B,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CACtB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,qBAAqB;QAC3B,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACxC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CACzC,CAAC;QAEF,6CAA6C;QAC7C,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,cAAc,CAC7C,CAAC;QAEF,8CAA8C;QAC9C,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,qBAAqB,CACpD,CAAC;QAEF,uEAAuE;QACvE,kDAAkD;QAClD,OAAO;YACL,2BAA2B;YAC3B,YAAY,EAAE,iBAAiB;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,oBAAoB,IAAI,sBAAsB;oBAC9C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM;YAEZ,yBAAyB;YACzB,UAAU,EAAE,iBAAiB;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,oBAAoB,IAAI,sBAAsB;oBAC9C,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM;YAEZ,SAAS;YACT,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,IAAa,EACb,OAAe,EACf,UAAmB;QAEnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc;YAClD,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAa,EAAE,OAAe;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,cAAc;YACxB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,iBAAiB,CACvB,IAAmB,EACnB,OAAwB;QAExB,OAAO,CACL,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;YAC9C,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,QAAwB,EACxB,SAAyB;QAEzB,2DAA2D;QAC3D,IAAI,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,SAAS,EAAE,qBAAqB,EAAE,CAAC;QAExD,IAAI,WAAW,IAAI,YAAY,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5D,iEAAiE;YACjE,uFAAuF;YACvF,mEAAmE;YACnE,iFAAiF;YACjF,IACE,aAAa;gBACb,CAAC,YAAY,KAAK,WAAW,IAAI,YAAY,KAAK,MAAM,CAAC,EACzD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,IAA6B,EAAE,IAAY;QACzD,IAAI,IAAI,YAAY,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,iEAAiE;QACjE,IACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,SAAS;YACrC,IAAI,KAAK,SAAS;YAElB,OAAO;QACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QACjD,kCAAkC;QAClC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,YAAoB,EACpB,cAAmC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,YAAoB;QAEpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,KAAuB;QACjD,4EAA4E;QAC5E,6EAA6E;QAC7E,kDAAkD;QAElD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,CAAC;QACD,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CACpD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACpC,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;YAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,+BAA+B,CACrC,kBAA0B,EAC1B,eAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QAC9D,CAAC;QACD,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACxE,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;YACtC,QAAQ,CAAC,aAAa,KAAK,eAAe,CAAC,aAAa;YACxD,QAAQ,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,CACnD,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACzD,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,QAA6B;QAC1D,+EAA+E;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAC3C,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;YAC3C,QAAQ,CAAC,cAAc,CAAC,UAAU;gBAChC,QAAQ,CAAC,cAAc,CAAC,UAAU,CACvC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,MAA2C;QAE3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAC1B,KAA0C;QAE1C,0EAA0E;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CACxE,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,IAA6B,EAC7B,OAAe;QAEf,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,qCAAqC;QACrC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QAElC,+CAA+C;QAC/C,oEAAoE;QACpE,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC;QAC3C,CAAC;QAED,8EAA8E;QAC9E,sFAAsF;QACtF,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,IAAI,CAAC,mBAAmB,CACzB,EAAE,CAAC;YACF,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,eAAe,GAAG,WAAW,GAAG,MAAM,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,MAAe;QACzC,yBAAyB;QACzB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACxD,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa;YAAE,OAAO,QAAQ,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACxD,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa;YAAE,OAAO,QAAQ,CAAC;QAC/D,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC1D,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QACjE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS;YAAE,OAAO,WAAW,CAAC;QAC9D,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEpD,oBAAoB;QACpB,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,MAAuB,CAAC;YAE3C,mBAAmB;YACnB,IACE,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS;gBACjD,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAClC,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,wCAAwC;YACxC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAI,QAAQ,KAAK,MAAM;oBAAE,OAAO,MAAM,CAAC;gBACvC,IAAI,QAAQ,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACrC,IAAI,QAAQ,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACrC,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;YAC/C,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,2EAA2E;QAC3E,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAsB,CAAC;YAEzC,uCAAuC;YACvC,MAAM,mBAAmB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CACpD,CAAC;YACF,IAAI,mBAAmB;gBAAE,OAAO,QAAQ,CAAC;YAEzC,uCAAuC;YACvC,MAAM,mBAAmB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CACpD,CAAC;YACF,IAAI,mBAAmB;gBAAE,OAAO,QAAQ,CAAC;YAEzC,8EAA8E;YAC9E,iCAAiC;YACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAExC,4CAA4C;YAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,WAAW,CACzC,CAAC;YAEF,iFAAiF;YACjF,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,MAAM,EAAE,YAAY,IAAI,WAAW,CAAC;qBAClE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,GAAG,QAAQ,MAAM,YAAY,EAAE,CAAC;YACzC,CAAC;YAED,2CAA2C;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wCAAwC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAa;QACrC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,8DAA8D;YAC9D,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IACE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;gBACxB,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC;gBACxC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAC7B,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IACE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;gBACvC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EACxC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,6CAA6C;YAC7C,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,MAAM,GACV,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;oBAC1D,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpE,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC3C,IACE,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BAClC,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACjC,CAAC;4BACD,OAAO,OAAO,CAAC;wBACjB,CAAC;wBACD,IACE,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC;4BACrC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC;4BACpC,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,EAC/B,CAAC;4BACD,OAAO,UAAU,CAAC;wBACpB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,qDAAqD;gBACvD,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,IAAI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YACD,IAAI,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACzC,MAAM,oBAAoB,GACxB,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,iBAAiB;oBAC5C,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,uBAAuB;oBAClD,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,sBAAsB;oBACjD,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,4BAA4B;oBACvD,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;oBACxC,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,mBAAmB;oBAC9C,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB;oBAC3C,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBAEpD,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAErD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YAED,qEAAqE;YACrE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAEpD,wCAAwC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAA6B,EAAE,IAAa;QAClE,qEAAqE;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE1C,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzB,4EAA4E;QAC5E,mFAAmF;QACnF,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW;YACvC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,EACxC,CAAC;YACD,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"astScopeAnalyzer.js","sourceRoot":"","sources":["../../../../../../../packages/ai/src/lib/astScopes/astScopeAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,84 @@ import { isArithmeticOperator, isAssignmentOperator, isBitwiseCompoundOperator,
|
|
|
7
7
|
import { processBindingPattern } from "./processBindings.js";
|
|
8
8
|
import { extractConditionalEffectsFromTernary, findUseStateSetters, } from "./conditionalEffectsExtractor.js";
|
|
9
9
|
import { detectArrayDerivedPattern } from "./arrayDerivationDetector.js";
|
|
10
|
+
/**
|
|
11
|
+
* Checks if a JSX element has props that reference variables from the parent scope.
|
|
12
|
+
* This is used to detect unconditionally-rendered children that should have their
|
|
13
|
+
* execution flows merged into the parent.
|
|
14
|
+
*
|
|
15
|
+
* We want to track children where the parent controls data that affects the child's
|
|
16
|
+
* conditional rendering. Static props (like title="Dashboard") don't need tracking
|
|
17
|
+
* because they don't create variable execution flows.
|
|
18
|
+
*
|
|
19
|
+
* Examples:
|
|
20
|
+
* - <WorkoutsView workouts={workouts} /> → true (workouts is a variable)
|
|
21
|
+
* - <ItemList items={items} count={count} /> → true (items, count are variables)
|
|
22
|
+
* - <Header title="Dashboard" /> → false (static string)
|
|
23
|
+
* - <Footer /> → false (no props)
|
|
24
|
+
* - <Button onClick={handleClick} /> → false (only callback, no data props)
|
|
25
|
+
*
|
|
26
|
+
* @returns true if the component has at least one prop that references a variable
|
|
27
|
+
* (excluding callbacks which typically start with 'on' or 'handle')
|
|
28
|
+
*/
|
|
29
|
+
function hasDataPropsFromParent(node, componentName) {
|
|
30
|
+
const attributes = ts.isJsxElement(node)
|
|
31
|
+
? node.openingElement.attributes.properties
|
|
32
|
+
: node.attributes.properties;
|
|
33
|
+
const dataProps = [];
|
|
34
|
+
for (const attr of attributes) {
|
|
35
|
+
// Spread attributes always reference parent data: {...props}
|
|
36
|
+
if (ts.isJsxSpreadAttribute(attr)) {
|
|
37
|
+
const spreadText = attr.expression?.getText() || '...spread';
|
|
38
|
+
dataProps.push(`{...${spreadText}}`);
|
|
39
|
+
console.log(`[UnconditionalChild] ${componentName}: Found spread attribute {${spreadText}}`);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (ts.isJsxAttribute(attr)) {
|
|
43
|
+
const propName = attr.name.getText();
|
|
44
|
+
// Skip callback props - they don't create data-driven execution flows
|
|
45
|
+
// Callbacks typically start with 'on' (onClick, onChange) or 'handle' (handleSubmit)
|
|
46
|
+
if (propName.startsWith('on') ||
|
|
47
|
+
propName.startsWith('handle') ||
|
|
48
|
+
propName === 'ref') {
|
|
49
|
+
console.log(`[UnconditionalChild] ${componentName}: Skipping callback prop '${propName}'`);
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// Check if the prop value is a JSX expression (references a variable)
|
|
53
|
+
// vs a string literal which is static
|
|
54
|
+
if (attr.initializer) {
|
|
55
|
+
if (ts.isJsxExpression(attr.initializer)) {
|
|
56
|
+
// JSX expression like prop={value} - this references a variable
|
|
57
|
+
// Could be a simple identifier, property access, or more complex expression
|
|
58
|
+
const expression = attr.initializer.expression;
|
|
59
|
+
if (expression) {
|
|
60
|
+
// Skip if it's just a function/arrow function (callback)
|
|
61
|
+
if (ts.isArrowFunction(expression) ||
|
|
62
|
+
ts.isFunctionExpression(expression)) {
|
|
63
|
+
console.log(`[UnconditionalChild] ${componentName}: Skipping inline callback prop '${propName}'`);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
// This is a data prop that references parent state/props
|
|
67
|
+
const exprText = expression.getText();
|
|
68
|
+
dataProps.push(`${propName}={${exprText}}`);
|
|
69
|
+
console.log(`[UnconditionalChild] ${componentName}: Found data prop '${propName}' = {${exprText}}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// String literals like prop="value" are static
|
|
74
|
+
console.log(`[UnconditionalChild] ${componentName}: Skipping static prop '${propName}'`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const hasDataProps = dataProps.length > 0;
|
|
80
|
+
if (hasDataProps) {
|
|
81
|
+
console.log(`[UnconditionalChild] ${componentName}: Has ${dataProps.length} data props: [${dataProps.join(', ')}]`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.log(`[UnconditionalChild] ${componentName}: No data props found, will NOT track`);
|
|
85
|
+
}
|
|
86
|
+
return { hasDataProps, dataProps };
|
|
87
|
+
}
|
|
10
88
|
/**
|
|
11
89
|
* Extracts the component name from a JSX element.
|
|
12
90
|
* Returns null for intrinsic elements (div, span, etc.) since we only care about
|
|
@@ -690,18 +768,40 @@ function extractConditionalsFromJsx(node, context, parentConditions = []) {
|
|
|
690
768
|
// Recursively process nested JSX elements - Fix 32: pass parent conditions
|
|
691
769
|
else if (ts.isJsxElement(child)) {
|
|
692
770
|
// Check if this is a user-defined component (vs intrinsic element like div)
|
|
693
|
-
// If it's a component AND there are parent conditions, record the gating conditions
|
|
694
771
|
const componentName = getComponentNameFromJsx(child);
|
|
695
|
-
if (componentName
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
772
|
+
if (componentName) {
|
|
773
|
+
if (parentConditions.length > 0) {
|
|
774
|
+
// If there are parent conditions, record them as gating conditions
|
|
775
|
+
console.log(`[ChildBoundary] ${componentName}: Conditionally rendered with ${parentConditions.length} gating conditions`);
|
|
776
|
+
for (const condition of parentConditions) {
|
|
777
|
+
console.log(`[ChildBoundary] ${componentName}: Adding gating condition path='${condition.path}' isNegated=${condition.isNegated}`);
|
|
778
|
+
context.addChildBoundaryGatingCondition(componentName, {
|
|
779
|
+
path: condition.path,
|
|
780
|
+
conditionType: 'truthiness',
|
|
781
|
+
location: 'ternary',
|
|
782
|
+
sourceLocation: condition.sourceLocation,
|
|
783
|
+
controlsJsxRendering: true,
|
|
784
|
+
isNegated: condition.isNegated,
|
|
785
|
+
});
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
// No parent conditions - check if it has data props for unconditional tracking
|
|
790
|
+
console.log(`[ChildBoundary] ${componentName}: Checking for unconditional rendering with data props...`);
|
|
791
|
+
const { hasDataProps, dataProps } = hasDataPropsFromParent(child, componentName);
|
|
792
|
+
if (hasDataProps) {
|
|
793
|
+
// Fix: Track unconditionally-rendered children that receive data props
|
|
794
|
+
// These need to be tracked for flow merging even without gating conditions
|
|
795
|
+
// Example: <WorkoutsView workouts={workouts} /> - parent controls workouts data
|
|
796
|
+
console.log(`[ChildBoundary] ${componentName}: TRACKING as unconditionally-rendered with data props: [${dataProps.join(', ')}]`);
|
|
797
|
+
context.addChildBoundaryGatingCondition(componentName, {
|
|
798
|
+
path: '__unconditional__',
|
|
799
|
+
conditionType: 'truthiness',
|
|
800
|
+
location: 'unconditional',
|
|
801
|
+
controlsJsxRendering: true,
|
|
802
|
+
isNegated: false,
|
|
803
|
+
});
|
|
804
|
+
}
|
|
705
805
|
}
|
|
706
806
|
}
|
|
707
807
|
extractConditionalsFromJsx(child, context, parentConditions);
|
|
@@ -709,18 +809,38 @@ function extractConditionalsFromJsx(node, context, parentConditions = []) {
|
|
|
709
809
|
// Handle self-closing JSX elements (e.g., <ScenarioViewer />)
|
|
710
810
|
else if (ts.isJsxSelfClosingElement(child)) {
|
|
711
811
|
// Check if this is a user-defined component (vs intrinsic element like div)
|
|
712
|
-
// If it's a component AND there are parent conditions, record the gating conditions
|
|
713
812
|
const componentName = getComponentNameFromJsx(child);
|
|
714
|
-
if (componentName
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
813
|
+
if (componentName) {
|
|
814
|
+
if (parentConditions.length > 0) {
|
|
815
|
+
// If there are parent conditions, record them as gating conditions
|
|
816
|
+
console.log(`[ChildBoundary] ${componentName}: Conditionally rendered (self-closing) with ${parentConditions.length} gating conditions`);
|
|
817
|
+
for (const condition of parentConditions) {
|
|
818
|
+
console.log(`[ChildBoundary] ${componentName}: Adding gating condition path='${condition.path}' isNegated=${condition.isNegated}`);
|
|
819
|
+
context.addChildBoundaryGatingCondition(componentName, {
|
|
820
|
+
path: condition.path,
|
|
821
|
+
conditionType: 'truthiness',
|
|
822
|
+
location: 'ternary',
|
|
823
|
+
sourceLocation: condition.sourceLocation,
|
|
824
|
+
controlsJsxRendering: true,
|
|
825
|
+
isNegated: condition.isNegated,
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
else {
|
|
830
|
+
// No parent conditions - check if it has data props for unconditional tracking
|
|
831
|
+
console.log(`[ChildBoundary] ${componentName}: Checking for unconditional rendering (self-closing) with data props...`);
|
|
832
|
+
const { hasDataProps, dataProps } = hasDataPropsFromParent(child, componentName);
|
|
833
|
+
if (hasDataProps) {
|
|
834
|
+
// Fix: Track unconditionally-rendered children that receive data props
|
|
835
|
+
console.log(`[ChildBoundary] ${componentName}: TRACKING as unconditionally-rendered (self-closing) with data props: [${dataProps.join(', ')}]`);
|
|
836
|
+
context.addChildBoundaryGatingCondition(componentName, {
|
|
837
|
+
path: '__unconditional__',
|
|
838
|
+
conditionType: 'truthiness',
|
|
839
|
+
location: 'unconditional',
|
|
840
|
+
controlsJsxRendering: true,
|
|
841
|
+
isNegated: false,
|
|
842
|
+
});
|
|
843
|
+
}
|
|
724
844
|
}
|
|
725
845
|
}
|
|
726
846
|
// Self-closing elements have no children, so no recursion needed
|
|
@@ -1086,15 +1206,21 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
|
|
|
1086
1206
|
const equivalentVariables = context.getEquivalentVariables();
|
|
1087
1207
|
const structure = context.getStructure();
|
|
1088
1208
|
// Propagate existing equivalencies for sub-properties
|
|
1089
|
-
for (const [key,
|
|
1209
|
+
for (const [key, rawValue] of Object.entries(equivalentVariables)) {
|
|
1090
1210
|
// Check if this equivalency is for a sub-property of the identifier
|
|
1091
1211
|
// e.g., completeDataStructure['Function Arguments'] or completeDataStructure.foo
|
|
1092
1212
|
if (key.startsWith(nodePathStr + '.') ||
|
|
1093
1213
|
key.startsWith(nodePathStr + '[')) {
|
|
1094
1214
|
const subPath = key.substring(nodePathStr.length);
|
|
1095
1215
|
const newTargetPath = StructuredPath.fromBase(targetPath.toString() + subPath);
|
|
1096
|
-
|
|
1097
|
-
|
|
1216
|
+
// Handle both string and string[] values
|
|
1217
|
+
const values = Array.isArray(rawValue) ? rawValue : [rawValue];
|
|
1218
|
+
for (const value of values) {
|
|
1219
|
+
if (typeof value === 'string') {
|
|
1220
|
+
const valuePath = StructuredPath.fromBase(value);
|
|
1221
|
+
context.addEquivalence(newTargetPath, valuePath);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1098
1224
|
}
|
|
1099
1225
|
}
|
|
1100
1226
|
// Propagate existing structure entries for sub-properties
|
|
@@ -1436,20 +1562,38 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
|
|
|
1436
1562
|
// - items[] (from the find result)
|
|
1437
1563
|
// - null (from the fallback)
|
|
1438
1564
|
if (targetPath) {
|
|
1439
|
-
//
|
|
1565
|
+
// Get paths for both sides
|
|
1566
|
+
const leftPath = StructuredPath.fromNode(unwrappedNode.left, context.sourceFile);
|
|
1567
|
+
const rightPath = StructuredPath.fromNode(unwrappedNode.right, context.sourceFile);
|
|
1568
|
+
// Collect all valid paths
|
|
1569
|
+
const allPaths = [];
|
|
1570
|
+
if (leftPath)
|
|
1571
|
+
allPaths.push(leftPath);
|
|
1572
|
+
if (rightPath)
|
|
1573
|
+
allPaths.push(rightPath);
|
|
1574
|
+
// Add multiple equivalencies to track both sources
|
|
1575
|
+
if (allPaths.length > 0) {
|
|
1576
|
+
context.addMultipleEquivalencies(targetPath, allPaths);
|
|
1577
|
+
}
|
|
1578
|
+
// Process both sides to capture their internal structures
|
|
1440
1579
|
processExpression({
|
|
1441
1580
|
node: unwrappedNode.left,
|
|
1442
1581
|
context,
|
|
1443
|
-
targetPath,
|
|
1444
1582
|
});
|
|
1445
|
-
// Process right side recursively for completeness
|
|
1446
1583
|
processExpression({
|
|
1447
1584
|
node: unwrappedNode.right,
|
|
1448
1585
|
context,
|
|
1449
|
-
targetPath,
|
|
1450
1586
|
});
|
|
1451
|
-
//
|
|
1452
|
-
|
|
1587
|
+
// Register the type for the target path
|
|
1588
|
+
const leftType = context.inferTypeFromNode(unwrappedNode.left);
|
|
1589
|
+
const rightType = context.inferTypeFromNode(unwrappedNode.right);
|
|
1590
|
+
const orResultType = isDefinedType(leftType)
|
|
1591
|
+
? leftType
|
|
1592
|
+
: rightType || 'unknown';
|
|
1593
|
+
context.addType(targetPath, orResultType);
|
|
1594
|
+
// Return early - we've already handled equivalencies with addMultipleEquivalencies
|
|
1595
|
+
// Don't fall through to the generic addEquivalence call below
|
|
1596
|
+
return true;
|
|
1453
1597
|
}
|
|
1454
1598
|
// Note: When there's no targetPath, we don't recursively process
|
|
1455
1599
|
// because || is often used in boolean contexts where the full expression matters
|
|
@@ -1529,18 +1673,44 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
|
|
|
1529
1673
|
const semantics = semanticsList[0];
|
|
1530
1674
|
// Get the source expression path (e.g., the object for obj.method())
|
|
1531
1675
|
const sourceExpr = unwrappedNode.expression.expression;
|
|
1532
|
-
const
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
const
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1676
|
+
const unwrappedSourceExpr = unwrapExpression(sourceExpr);
|
|
1677
|
+
// When the source is a ternary expression like (cond ? arr : arr.slice()),
|
|
1678
|
+
// apply method semantics to BOTH branches directly. The ternary itself isn't
|
|
1679
|
+
// a variable - it's just a choice between two paths that both flow to the result.
|
|
1680
|
+
if (ts.isConditionalExpression(unwrappedSourceExpr)) {
|
|
1681
|
+
const branches = [
|
|
1682
|
+
unwrappedSourceExpr.whenTrue,
|
|
1683
|
+
unwrappedSourceExpr.whenFalse,
|
|
1684
|
+
];
|
|
1685
|
+
for (const branch of branches) {
|
|
1686
|
+
const branchPath = StructuredPath.fromNode(branch, context.sourceFile);
|
|
1687
|
+
if (branchPath) {
|
|
1688
|
+
const isArraySemantics = semantics instanceof ArrayPushSemantics;
|
|
1689
|
+
const shouldApply = !isArraySemantics ||
|
|
1690
|
+
isLikelyArrayType(branch, context.typeChecker);
|
|
1691
|
+
if (shouldApply) {
|
|
1692
|
+
semantics.addEquivalences(callPath, branchPath, context);
|
|
1693
|
+
returnType = semantics.getReturnType();
|
|
1694
|
+
handledBySemantics = true;
|
|
1695
|
+
}
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
else {
|
|
1700
|
+
// Regular (non-ternary) source expression
|
|
1701
|
+
const sourcePath = StructuredPath.fromNode(sourceExpr, context.sourceFile);
|
|
1702
|
+
if (sourcePath) {
|
|
1703
|
+
// For array-specific semantics (like push), verify the source is actually an array
|
|
1704
|
+
// This prevents router.push() from being mistakenly treated as Array.push()
|
|
1705
|
+
const isArraySemantics = semantics instanceof ArrayPushSemantics;
|
|
1706
|
+
const shouldApply = !isArraySemantics ||
|
|
1707
|
+
isLikelyArrayType(sourceExpr, context.typeChecker);
|
|
1708
|
+
if (shouldApply) {
|
|
1709
|
+
// Apply method semantics
|
|
1710
|
+
semantics.addEquivalences(callPath, sourcePath, context);
|
|
1711
|
+
returnType = semantics.getReturnType();
|
|
1712
|
+
handledBySemantics = true;
|
|
1713
|
+
}
|
|
1544
1714
|
}
|
|
1545
1715
|
}
|
|
1546
1716
|
}
|
|
@@ -1969,6 +2139,32 @@ export function processExpression({ node, context, targetPath, typeHint, }) {
|
|
|
1969
2139
|
}
|
|
1970
2140
|
// Handle Arrow Functions: (p) => p.prop, (a, b) => { ... }
|
|
1971
2141
|
if (ts.isArrowFunction(unwrappedNode)) {
|
|
2142
|
+
// If this arrow function is a child boundary (e.g., a .map() callback),
|
|
2143
|
+
// don't process its parameters here - they will be processed when the
|
|
2144
|
+
// child scope is analyzed separately. This prevents parameter variables
|
|
2145
|
+
// from leaking into the parent scope's equivalencies.
|
|
2146
|
+
// Check if this arrow function is a child boundary (i.e., should be processed
|
|
2147
|
+
// as a separate child scope, not here in the parent scope).
|
|
2148
|
+
//
|
|
2149
|
+
// We use two checks because childBoundary positions can be unreliable:
|
|
2150
|
+
// 1. Position-based check (standard isChildBoundary)
|
|
2151
|
+
// 2. Text-based check: if the arrow function text doesn't appear in the
|
|
2152
|
+
// statement text, it was replaced with a cyScope placeholder
|
|
2153
|
+
const isChildBoundary = context.isChildBoundary(unwrappedNode);
|
|
2154
|
+
// Text-based child scope detection for when positions are unreliable
|
|
2155
|
+
const arrowFnText = unwrappedNode.getText(context.sourceFile);
|
|
2156
|
+
const firstLine = arrowFnText.split('\n')[0].trim();
|
|
2157
|
+
const searchText = firstLine.substring(0, Math.min(20, firstLine.length));
|
|
2158
|
+
const isInStatementText = context.statementInfo.text.includes(searchText);
|
|
2159
|
+
const isChildScope = !isInStatementText && arrowFnText.length > 10;
|
|
2160
|
+
if (isChildBoundary || isChildScope) {
|
|
2161
|
+
// The method semantics (e.g., ArrayMapSemantics) have already established
|
|
2162
|
+
// the necessary equivalences between the child scope placeholder and array elements
|
|
2163
|
+
if (targetPath) {
|
|
2164
|
+
context.addType(targetPath, 'function');
|
|
2165
|
+
}
|
|
2166
|
+
return true;
|
|
2167
|
+
}
|
|
1972
2168
|
// Create a path for the function
|
|
1973
2169
|
const functionPath = StructuredPath.empty();
|
|
1974
2170
|
// Process parameters
|