@gracker/smartperfetto 1.0.13
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/.env.example +586 -0
- package/LICENSE +685 -0
- package/data/perfettoSqlDocs.json +33478 -0
- package/data/perfettoSqlIndex.json +9458 -0
- package/data/perfettoSqlIndex.light.json +13129 -0
- package/data/perfettoStdlibSymbols.json +677 -0
- package/dist/agent/agents/base/baseAgent.d.ts +378 -0
- package/dist/agent/agents/base/baseAgent.d.ts.map +1 -0
- package/dist/agent/agents/base/baseAgent.js +1484 -0
- package/dist/agent/agents/base/baseAgent.js.map +1 -0
- package/dist/agent/agents/base/baseSubAgent.d.ts +135 -0
- package/dist/agent/agents/base/baseSubAgent.d.ts.map +1 -0
- package/dist/agent/agents/base/baseSubAgent.js +483 -0
- package/dist/agent/agents/base/baseSubAgent.js.map +1 -0
- package/dist/agent/agents/baseExpertAgent.d.ts +37 -0
- package/dist/agent/agents/baseExpertAgent.d.ts.map +1 -0
- package/dist/agent/agents/baseExpertAgent.js +322 -0
- package/dist/agent/agents/baseExpertAgent.js.map +1 -0
- package/dist/agent/agents/domain/additionalAgents.d.ts +54 -0
- package/dist/agent/agents/domain/additionalAgents.d.ts.map +1 -0
- package/dist/agent/agents/domain/additionalAgents.js +292 -0
- package/dist/agent/agents/domain/additionalAgents.js.map +1 -0
- package/dist/agent/agents/domain/binderAgent.d.ts +27 -0
- package/dist/agent/agents/domain/binderAgent.d.ts.map +1 -0
- package/dist/agent/agents/domain/binderAgent.js +100 -0
- package/dist/agent/agents/domain/binderAgent.js.map +1 -0
- package/dist/agent/agents/domain/cpuAgent.d.ts +35 -0
- package/dist/agent/agents/domain/cpuAgent.d.ts.map +1 -0
- package/dist/agent/agents/domain/cpuAgent.js +163 -0
- package/dist/agent/agents/domain/cpuAgent.js.map +1 -0
- package/dist/agent/agents/domain/frameAgent.d.ts +59 -0
- package/dist/agent/agents/domain/frameAgent.d.ts.map +1 -0
- package/dist/agent/agents/domain/frameAgent.js +511 -0
- package/dist/agent/agents/domain/frameAgent.js.map +1 -0
- package/dist/agent/agents/domain/index.d.ts +92 -0
- package/dist/agent/agents/domain/index.d.ts.map +1 -0
- package/dist/agent/agents/domain/index.js +250 -0
- package/dist/agent/agents/domain/index.js.map +1 -0
- package/dist/agent/agents/domain/memoryAgent.d.ts +26 -0
- package/dist/agent/agents/domain/memoryAgent.d.ts.map +1 -0
- package/dist/agent/agents/domain/memoryAgent.js +94 -0
- package/dist/agent/agents/domain/memoryAgent.js.map +1 -0
- package/dist/agent/agents/domain/skillCatalog.d.ts +10 -0
- package/dist/agent/agents/domain/skillCatalog.d.ts.map +1 -0
- package/dist/agent/agents/domain/skillCatalog.js +66 -0
- package/dist/agent/agents/domain/skillCatalog.js.map +1 -0
- package/dist/agent/agents/evaluatorAgent.d.ts +76 -0
- package/dist/agent/agents/evaluatorAgent.d.ts.map +1 -0
- package/dist/agent/agents/evaluatorAgent.js +517 -0
- package/dist/agent/agents/evaluatorAgent.js.map +1 -0
- package/dist/agent/agents/index.d.ts +13 -0
- package/dist/agent/agents/index.d.ts.map +1 -0
- package/dist/agent/agents/index.js +25 -0
- package/dist/agent/agents/index.js.map +1 -0
- package/dist/agent/agents/iterationStrategyPlanner.d.ts +140 -0
- package/dist/agent/agents/iterationStrategyPlanner.d.ts.map +1 -0
- package/dist/agent/agents/iterationStrategyPlanner.js +359 -0
- package/dist/agent/agents/iterationStrategyPlanner.js.map +1 -0
- package/dist/agent/agents/plannerAgent.d.ts +56 -0
- package/dist/agent/agents/plannerAgent.d.ts.map +1 -0
- package/dist/agent/agents/plannerAgent.js +379 -0
- package/dist/agent/agents/plannerAgent.js.map +1 -0
- package/dist/agent/agents/scrollingExpertAgent.d.ts +11 -0
- package/dist/agent/agents/scrollingExpertAgent.d.ts.map +1 -0
- package/dist/agent/agents/scrollingExpertAgent.js +132 -0
- package/dist/agent/agents/scrollingExpertAgent.js.map +1 -0
- package/dist/agent/agents/tools/adbTools.d.ts +5 -0
- package/dist/agent/agents/tools/adbTools.d.ts.map +1 -0
- package/dist/agent/agents/tools/adbTools.js +326 -0
- package/dist/agent/agents/tools/adbTools.js.map +1 -0
- package/dist/agent/communication/agentMessageBus.d.ts +138 -0
- package/dist/agent/communication/agentMessageBus.d.ts.map +1 -0
- package/dist/agent/communication/agentMessageBus.js +542 -0
- package/dist/agent/communication/agentMessageBus.js.map +1 -0
- package/dist/agent/communication/index.d.ts +7 -0
- package/dist/agent/communication/index.d.ts.map +1 -0
- package/dist/agent/communication/index.js +15 -0
- package/dist/agent/communication/index.js.map +1 -0
- package/dist/agent/compaction/compactionTypes.d.ts +163 -0
- package/dist/agent/compaction/compactionTypes.d.ts.map +1 -0
- package/dist/agent/compaction/compactionTypes.js +32 -0
- package/dist/agent/compaction/compactionTypes.js.map +1 -0
- package/dist/agent/compaction/contextCompactor.d.ts +109 -0
- package/dist/agent/compaction/contextCompactor.d.ts.map +1 -0
- package/dist/agent/compaction/contextCompactor.js +225 -0
- package/dist/agent/compaction/contextCompactor.js.map +1 -0
- package/dist/agent/compaction/index.d.ts +10 -0
- package/dist/agent/compaction/index.d.ts.map +1 -0
- package/dist/agent/compaction/index.js +43 -0
- package/dist/agent/compaction/index.js.map +1 -0
- package/dist/agent/compaction/strategies/index.d.ts +5 -0
- package/dist/agent/compaction/strategies/index.d.ts.map +1 -0
- package/dist/agent/compaction/strategies/index.js +13 -0
- package/dist/agent/compaction/strategies/index.js.map +1 -0
- package/dist/agent/compaction/strategies/slidingWindowStrategy.d.ts +53 -0
- package/dist/agent/compaction/strategies/slidingWindowStrategy.d.ts.map +1 -0
- package/dist/agent/compaction/strategies/slidingWindowStrategy.js +237 -0
- package/dist/agent/compaction/strategies/slidingWindowStrategy.js.map +1 -0
- package/dist/agent/compaction/tokenEstimator.d.ts +78 -0
- package/dist/agent/compaction/tokenEstimator.d.ts.map +1 -0
- package/dist/agent/compaction/tokenEstimator.js +203 -0
- package/dist/agent/compaction/tokenEstimator.js.map +1 -0
- package/dist/agent/config/decisionThresholdManifest.d.ts +72 -0
- package/dist/agent/config/decisionThresholdManifest.d.ts.map +1 -0
- package/dist/agent/config/decisionThresholdManifest.js +77 -0
- package/dist/agent/config/decisionThresholdManifest.js.map +1 -0
- package/dist/agent/config/domainManifest.d.ts +77 -0
- package/dist/agent/config/domainManifest.d.ts.map +1 -0
- package/dist/agent/config/domainManifest.js +269 -0
- package/dist/agent/config/domainManifest.js.map +1 -0
- package/dist/agent/config/drillDownRegistry.d.ts +19 -0
- package/dist/agent/config/drillDownRegistry.d.ts.map +1 -0
- package/dist/agent/config/drillDownRegistry.js +118 -0
- package/dist/agent/config/drillDownRegistry.js.map +1 -0
- package/dist/agent/context/contextBuilder.d.ts +79 -0
- package/dist/agent/context/contextBuilder.d.ts.map +1 -0
- package/dist/agent/context/contextBuilder.js +273 -0
- package/dist/agent/context/contextBuilder.js.map +1 -0
- package/dist/agent/context/contextTypes.d.ts +121 -0
- package/dist/agent/context/contextTypes.d.ts.map +1 -0
- package/dist/agent/context/contextTypes.js +14 -0
- package/dist/agent/context/contextTypes.js.map +1 -0
- package/dist/agent/context/enhancedSessionContext.d.ts +283 -0
- package/dist/agent/context/enhancedSessionContext.d.ts.map +1 -0
- package/dist/agent/context/enhancedSessionContext.js +1636 -0
- package/dist/agent/context/enhancedSessionContext.js.map +1 -0
- package/dist/agent/context/entityStore.d.ts +374 -0
- package/dist/agent/context/entityStore.d.ts.map +1 -0
- package/dist/agent/context/entityStore.js +621 -0
- package/dist/agent/context/entityStore.js.map +1 -0
- package/dist/agent/context/focusStore.d.ts +229 -0
- package/dist/agent/context/focusStore.d.ts.map +1 -0
- package/dist/agent/context/focusStore.js +528 -0
- package/dist/agent/context/focusStore.js.map +1 -0
- package/dist/agent/context/index.d.ts +10 -0
- package/dist/agent/context/index.d.ts.map +1 -0
- package/dist/agent/context/index.js +42 -0
- package/dist/agent/context/index.js.map +1 -0
- package/dist/agent/context/policies/evaluatorPolicy.d.ts +22 -0
- package/dist/agent/context/policies/evaluatorPolicy.d.ts.map +1 -0
- package/dist/agent/context/policies/evaluatorPolicy.js +82 -0
- package/dist/agent/context/policies/evaluatorPolicy.js.map +1 -0
- package/dist/agent/context/policies/index.d.ts +7 -0
- package/dist/agent/context/policies/index.d.ts.map +1 -0
- package/dist/agent/context/policies/index.js +18 -0
- package/dist/agent/context/policies/index.js.map +1 -0
- package/dist/agent/context/policies/plannerPolicy.d.ts +27 -0
- package/dist/agent/context/policies/plannerPolicy.d.ts.map +1 -0
- package/dist/agent/context/policies/plannerPolicy.js +67 -0
- package/dist/agent/context/policies/plannerPolicy.js.map +1 -0
- package/dist/agent/context/policies/workerPolicy.d.ts +29 -0
- package/dist/agent/context/policies/workerPolicy.d.ts.map +1 -0
- package/dist/agent/context/policies/workerPolicy.js +99 -0
- package/dist/agent/context/policies/workerPolicy.js.map +1 -0
- package/dist/agent/core/circuitBreaker.d.ts +150 -0
- package/dist/agent/core/circuitBreaker.d.ts.map +1 -0
- package/dist/agent/core/circuitBreaker.js +500 -0
- package/dist/agent/core/circuitBreaker.js.map +1 -0
- package/dist/agent/core/conclusionContract.d.ts +61 -0
- package/dist/agent/core/conclusionContract.d.ts.map +1 -0
- package/dist/agent/core/conclusionContract.js +6 -0
- package/dist/agent/core/conclusionContract.js.map +1 -0
- package/dist/agent/core/conclusionGenerator.d.ts +42 -0
- package/dist/agent/core/conclusionGenerator.d.ts.map +1 -0
- package/dist/agent/core/conclusionGenerator.js +4109 -0
- package/dist/agent/core/conclusionGenerator.js.map +1 -0
- package/dist/agent/core/conclusionSceneTemplates.d.ts +8 -0
- package/dist/agent/core/conclusionSceneTemplates.d.ts.map +1 -0
- package/dist/agent/core/conclusionSceneTemplates.js +31 -0
- package/dist/agent/core/conclusionSceneTemplates.js.map +1 -0
- package/dist/agent/core/drillDownResolver.d.ts +67 -0
- package/dist/agent/core/drillDownResolver.d.ts.map +1 -0
- package/dist/agent/core/drillDownResolver.js +583 -0
- package/dist/agent/core/drillDownResolver.js.map +1 -0
- package/dist/agent/core/emittedEnvelopeRegistry.d.ts +75 -0
- package/dist/agent/core/emittedEnvelopeRegistry.d.ts.map +1 -0
- package/dist/agent/core/emittedEnvelopeRegistry.js +164 -0
- package/dist/agent/core/emittedEnvelopeRegistry.js.map +1 -0
- package/dist/agent/core/entityCapture.d.ts +53 -0
- package/dist/agent/core/entityCapture.d.ts.map +1 -0
- package/dist/agent/core/entityCapture.js +522 -0
- package/dist/agent/core/entityCapture.js.map +1 -0
- package/dist/agent/core/entityRegistry.d.ts +19 -0
- package/dist/agent/core/entityRegistry.d.ts.map +1 -0
- package/dist/agent/core/entityRegistry.js +102 -0
- package/dist/agent/core/entityRegistry.js.map +1 -0
- package/dist/agent/core/executors/analysisExecutor.d.ts +21 -0
- package/dist/agent/core/executors/analysisExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/analysisExecutor.js +6 -0
- package/dist/agent/core/executors/analysisExecutor.js.map +1 -0
- package/dist/agent/core/executors/clarifyExecutor.d.ts +42 -0
- package/dist/agent/core/executors/clarifyExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/clarifyExecutor.js +316 -0
- package/dist/agent/core/executors/clarifyExecutor.js.map +1 -0
- package/dist/agent/core/executors/comparisonExecutor.d.ts +39 -0
- package/dist/agent/core/executors/comparisonExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/comparisonExecutor.js +404 -0
- package/dist/agent/core/executors/comparisonExecutor.js.map +1 -0
- package/dist/agent/core/executors/directDrillDownExecutor.d.ts +56 -0
- package/dist/agent/core/executors/directDrillDownExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/directDrillDownExecutor.js +665 -0
- package/dist/agent/core/executors/directDrillDownExecutor.js.map +1 -0
- package/dist/agent/core/executors/directSkillExecutor.d.ts +106 -0
- package/dist/agent/core/executors/directSkillExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/directSkillExecutor.js +633 -0
- package/dist/agent/core/executors/directSkillExecutor.js.map +1 -0
- package/dist/agent/core/executors/extendExecutor.d.ts +50 -0
- package/dist/agent/core/executors/extendExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/extendExecutor.js +402 -0
- package/dist/agent/core/executors/extendExecutor.js.map +1 -0
- package/dist/agent/core/executors/hypothesisExecutor.d.ts +52 -0
- package/dist/agent/core/executors/hypothesisExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/hypothesisExecutor.js +564 -0
- package/dist/agent/core/executors/hypothesisExecutor.js.map +1 -0
- package/dist/agent/core/executors/index.d.ts +9 -0
- package/dist/agent/core/executors/index.d.ts.map +1 -0
- package/dist/agent/core/executors/index.js +15 -0
- package/dist/agent/core/executors/index.js.map +1 -0
- package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.d.ts +12 -0
- package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.d.ts.map +1 -0
- package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.js +186 -0
- package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.js.map +1 -0
- package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.d.ts +9 -0
- package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.d.ts.map +1 -0
- package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.js +123 -0
- package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.js.map +1 -0
- package/dist/agent/core/executors/strategy/strategyStagePlanner.d.ts +18 -0
- package/dist/agent/core/executors/strategy/strategyStagePlanner.d.ts.map +1 -0
- package/dist/agent/core/executors/strategy/strategyStagePlanner.js +69 -0
- package/dist/agent/core/executors/strategy/strategyStagePlanner.js.map +1 -0
- package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.d.ts +14 -0
- package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.d.ts.map +1 -0
- package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.js +129 -0
- package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.js.map +1 -0
- package/dist/agent/core/executors/strategyExecutor.d.ts +16 -0
- package/dist/agent/core/executors/strategyExecutor.d.ts.map +1 -0
- package/dist/agent/core/executors/strategyExecutor.js +377 -0
- package/dist/agent/core/executors/strategyExecutor.js.map +1 -0
- package/dist/agent/core/executors/traceConfigDetector.d.ts +28 -0
- package/dist/agent/core/executors/traceConfigDetector.d.ts.map +1 -0
- package/dist/agent/core/executors/traceConfigDetector.js +156 -0
- package/dist/agent/core/executors/traceConfigDetector.js.map +1 -0
- package/dist/agent/core/feedbackSynthesizer.d.ts +28 -0
- package/dist/agent/core/feedbackSynthesizer.d.ts.map +1 -0
- package/dist/agent/core/feedbackSynthesizer.js +841 -0
- package/dist/agent/core/feedbackSynthesizer.js.map +1 -0
- package/dist/agent/core/followUpHandler.d.ts +36 -0
- package/dist/agent/core/followUpHandler.d.ts.map +1 -0
- package/dist/agent/core/followUpHandler.js +413 -0
- package/dist/agent/core/followUpHandler.js.map +1 -0
- package/dist/agent/core/hypothesisGenerator.d.ts +45 -0
- package/dist/agent/core/hypothesisGenerator.d.ts.map +1 -0
- package/dist/agent/core/hypothesisGenerator.js +257 -0
- package/dist/agent/core/hypothesisGenerator.js.map +1 -0
- package/dist/agent/core/incrementalAnalyzer.d.ts +164 -0
- package/dist/agent/core/incrementalAnalyzer.d.ts.map +1 -0
- package/dist/agent/core/incrementalAnalyzer.js +382 -0
- package/dist/agent/core/incrementalAnalyzer.js.map +1 -0
- package/dist/agent/core/index.d.ts +25 -0
- package/dist/agent/core/index.d.ts.map +1 -0
- package/dist/agent/core/index.js +61 -0
- package/dist/agent/core/index.js.map +1 -0
- package/dist/agent/core/intentUnderstanding.d.ts +28 -0
- package/dist/agent/core/intentUnderstanding.d.ts.map +1 -0
- package/dist/agent/core/intentUnderstanding.js +451 -0
- package/dist/agent/core/intentUnderstanding.js.map +1 -0
- package/dist/agent/core/interventionController.d.ts +211 -0
- package/dist/agent/core/interventionController.d.ts.map +1 -0
- package/dist/agent/core/interventionController.js +477 -0
- package/dist/agent/core/interventionController.js.map +1 -0
- package/dist/agent/core/jankCauseSummarizer.d.ts +87 -0
- package/dist/agent/core/jankCauseSummarizer.d.ts.map +1 -0
- package/dist/agent/core/jankCauseSummarizer.js +432 -0
- package/dist/agent/core/jankCauseSummarizer.js.map +1 -0
- package/dist/agent/core/modelRouter.d.ts +164 -0
- package/dist/agent/core/modelRouter.d.ts.map +1 -0
- package/dist/agent/core/modelRouter.js +1169 -0
- package/dist/agent/core/modelRouter.js.map +1 -0
- package/dist/agent/core/modelRouterSingleton.d.ts +4 -0
- package/dist/agent/core/modelRouterSingleton.d.ts.map +1 -0
- package/dist/agent/core/modelRouterSingleton.js +20 -0
- package/dist/agent/core/modelRouterSingleton.js.map +1 -0
- package/dist/agent/core/orchestratorTypes.d.ts +506 -0
- package/dist/agent/core/orchestratorTypes.d.ts.map +1 -0
- package/dist/agent/core/orchestratorTypes.js +91 -0
- package/dist/agent/core/orchestratorTypes.js.map +1 -0
- package/dist/agent/core/pipelineExecutor.d.ts +154 -0
- package/dist/agent/core/pipelineExecutor.d.ts.map +1 -0
- package/dist/agent/core/pipelineExecutor.js +677 -0
- package/dist/agent/core/pipelineExecutor.js.map +1 -0
- package/dist/agent/core/scenePolicy.d.ts +3 -0
- package/dist/agent/core/scenePolicy.d.ts.map +1 -0
- package/dist/agent/core/scenePolicy.js +49 -0
- package/dist/agent/core/scenePolicy.js.map +1 -0
- package/dist/agent/core/sceneRouter.d.ts +8 -0
- package/dist/agent/core/sceneRouter.d.ts.map +1 -0
- package/dist/agent/core/sceneRouter.js +122 -0
- package/dist/agent/core/sceneRouter.js.map +1 -0
- package/dist/agent/core/sceneTaxonomy.d.ts +6 -0
- package/dist/agent/core/sceneTaxonomy.d.ts.map +1 -0
- package/dist/agent/core/sceneTaxonomy.js +83 -0
- package/dist/agent/core/sceneTaxonomy.js.map +1 -0
- package/dist/agent/core/sceneTemplateStore.d.ts +10 -0
- package/dist/agent/core/sceneTemplateStore.d.ts.map +1 -0
- package/dist/agent/core/sceneTemplateStore.js +244 -0
- package/dist/agent/core/sceneTemplateStore.js.map +1 -0
- package/dist/agent/core/sceneTemplateValidator.d.ts +22 -0
- package/dist/agent/core/sceneTemplateValidator.d.ts.map +1 -0
- package/dist/agent/core/sceneTemplateValidator.js +226 -0
- package/dist/agent/core/sceneTemplateValidator.js.map +1 -0
- package/dist/agent/core/sceneTypes.d.ts +53 -0
- package/dist/agent/core/sceneTypes.d.ts.map +1 -0
- package/dist/agent/core/sceneTypes.js +6 -0
- package/dist/agent/core/sceneTypes.js.map +1 -0
- package/dist/agent/core/stateMachine.d.ts +135 -0
- package/dist/agent/core/stateMachine.d.ts.map +1 -0
- package/dist/agent/core/stateMachine.js +516 -0
- package/dist/agent/core/stateMachine.js.map +1 -0
- package/dist/agent/core/strategySelector.d.ts +121 -0
- package/dist/agent/core/strategySelector.d.ts.map +1 -0
- package/dist/agent/core/strategySelector.js +344 -0
- package/dist/agent/core/strategySelector.js.map +1 -0
- package/dist/agent/core/taskGraphExecutor.d.ts +30 -0
- package/dist/agent/core/taskGraphExecutor.d.ts.map +1 -0
- package/dist/agent/core/taskGraphExecutor.js +142 -0
- package/dist/agent/core/taskGraphExecutor.js.map +1 -0
- package/dist/agent/core/taskGraphPlanner.d.ts +33 -0
- package/dist/agent/core/taskGraphPlanner.d.ts.map +1 -0
- package/dist/agent/core/taskGraphPlanner.js +312 -0
- package/dist/agent/core/taskGraphPlanner.js.map +1 -0
- package/dist/agent/decision/decisionTreeExecutor.d.ts +55 -0
- package/dist/agent/decision/decisionTreeExecutor.d.ts.map +1 -0
- package/dist/agent/decision/decisionTreeExecutor.js +250 -0
- package/dist/agent/decision/decisionTreeExecutor.js.map +1 -0
- package/dist/agent/decision/decisionTreeStageExecutor.d.ts +65 -0
- package/dist/agent/decision/decisionTreeStageExecutor.d.ts.map +1 -0
- package/dist/agent/decision/decisionTreeStageExecutor.js +286 -0
- package/dist/agent/decision/decisionTreeStageExecutor.js.map +1 -0
- package/dist/agent/decision/index.d.ts +27 -0
- package/dist/agent/decision/index.d.ts.map +1 -0
- package/dist/agent/decision/index.js +70 -0
- package/dist/agent/decision/index.js.map +1 -0
- package/dist/agent/decision/skillExecutorAdapter.d.ts +89 -0
- package/dist/agent/decision/skillExecutorAdapter.d.ts.map +1 -0
- package/dist/agent/decision/skillExecutorAdapter.js +447 -0
- package/dist/agent/decision/skillExecutorAdapter.js.map +1 -0
- package/dist/agent/decision/trees/index.d.ts +8 -0
- package/dist/agent/decision/trees/index.d.ts.map +1 -0
- package/dist/agent/decision/trees/index.js +16 -0
- package/dist/agent/decision/trees/index.js.map +1 -0
- package/dist/agent/decision/trees/launchDecisionTree.d.ts +7 -0
- package/dist/agent/decision/trees/launchDecisionTree.d.ts.map +1 -0
- package/dist/agent/decision/trees/launchDecisionTree.js +670 -0
- package/dist/agent/decision/trees/launchDecisionTree.js.map +1 -0
- package/dist/agent/decision/trees/scrollingDecisionTree.d.ts +7 -0
- package/dist/agent/decision/trees/scrollingDecisionTree.d.ts.map +1 -0
- package/dist/agent/decision/trees/scrollingDecisionTree.js +698 -0
- package/dist/agent/decision/trees/scrollingDecisionTree.js.map +1 -0
- package/dist/agent/decision/types.d.ts +191 -0
- package/dist/agent/decision/types.d.ts.map +1 -0
- package/dist/agent/decision/types.js +6 -0
- package/dist/agent/decision/types.js.map +1 -0
- package/dist/agent/detectors/architectureDetector.d.ts +31 -0
- package/dist/agent/detectors/architectureDetector.d.ts.map +1 -0
- package/dist/agent/detectors/architectureDetector.js +190 -0
- package/dist/agent/detectors/architectureDetector.js.map +1 -0
- package/dist/agent/detectors/index.d.ts +11 -0
- package/dist/agent/detectors/index.d.ts.map +1 -0
- package/dist/agent/detectors/index.js +36 -0
- package/dist/agent/detectors/index.js.map +1 -0
- package/dist/agent/detectors/types.d.ts +113 -0
- package/dist/agent/detectors/types.d.ts.map +1 -0
- package/dist/agent/detectors/types.js +6 -0
- package/dist/agent/detectors/types.js.map +1 -0
- package/dist/agent/evalSystem.d.ts +61 -0
- package/dist/agent/evalSystem.d.ts.map +1 -0
- package/dist/agent/evalSystem.js +210 -0
- package/dist/agent/evalSystem.js.map +1 -0
- package/dist/agent/experts/base/baseExpert.d.ts +108 -0
- package/dist/agent/experts/base/baseExpert.d.ts.map +1 -0
- package/dist/agent/experts/base/baseExpert.js +359 -0
- package/dist/agent/experts/base/baseExpert.js.map +1 -0
- package/dist/agent/experts/base/index.d.ts +9 -0
- package/dist/agent/experts/base/index.d.ts.map +1 -0
- package/dist/agent/experts/base/index.js +15 -0
- package/dist/agent/experts/base/index.js.map +1 -0
- package/dist/agent/experts/base/types.d.ts +202 -0
- package/dist/agent/experts/base/types.d.ts.map +1 -0
- package/dist/agent/experts/base/types.js +6 -0
- package/dist/agent/experts/base/types.js.map +1 -0
- package/dist/agent/experts/crossDomain/baseCrossDomainExpert.d.ts +113 -0
- package/dist/agent/experts/crossDomain/baseCrossDomainExpert.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/baseCrossDomainExpert.js +412 -0
- package/dist/agent/experts/crossDomain/baseCrossDomainExpert.js.map +1 -0
- package/dist/agent/experts/crossDomain/dialogueProtocol.d.ts +164 -0
- package/dist/agent/experts/crossDomain/dialogueProtocol.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/dialogueProtocol.js +390 -0
- package/dist/agent/experts/crossDomain/dialogueProtocol.js.map +1 -0
- package/dist/agent/experts/crossDomain/experts/performanceExpert.d.ts +119 -0
- package/dist/agent/experts/crossDomain/experts/performanceExpert.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/experts/performanceExpert.js +736 -0
- package/dist/agent/experts/crossDomain/experts/performanceExpert.js.map +1 -0
- package/dist/agent/experts/crossDomain/hypothesisManager.d.ts +105 -0
- package/dist/agent/experts/crossDomain/hypothesisManager.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/hypothesisManager.js +283 -0
- package/dist/agent/experts/crossDomain/hypothesisManager.js.map +1 -0
- package/dist/agent/experts/crossDomain/index.d.ts +18 -0
- package/dist/agent/experts/crossDomain/index.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/index.js +28 -0
- package/dist/agent/experts/crossDomain/index.js.map +1 -0
- package/dist/agent/experts/crossDomain/moduleCatalog.d.ts +97 -0
- package/dist/agent/experts/crossDomain/moduleCatalog.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/moduleCatalog.js +453 -0
- package/dist/agent/experts/crossDomain/moduleCatalog.js.map +1 -0
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts +149 -0
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.js +582 -0
- package/dist/agent/experts/crossDomain/moduleExpertInvoker.js.map +1 -0
- package/dist/agent/experts/crossDomain/types.d.ts +369 -0
- package/dist/agent/experts/crossDomain/types.d.ts.map +1 -0
- package/dist/agent/experts/crossDomain/types.js +6 -0
- package/dist/agent/experts/crossDomain/types.js.map +1 -0
- package/dist/agent/experts/index.d.ts +81 -0
- package/dist/agent/experts/index.d.ts.map +1 -0
- package/dist/agent/experts/index.js +222 -0
- package/dist/agent/experts/index.js.map +1 -0
- package/dist/agent/experts/interactionExpert.d.ts +66 -0
- package/dist/agent/experts/interactionExpert.d.ts.map +1 -0
- package/dist/agent/experts/interactionExpert.js +280 -0
- package/dist/agent/experts/interactionExpert.js.map +1 -0
- package/dist/agent/experts/launchExpert.d.ts +73 -0
- package/dist/agent/experts/launchExpert.d.ts.map +1 -0
- package/dist/agent/experts/launchExpert.js +411 -0
- package/dist/agent/experts/launchExpert.js.map +1 -0
- package/dist/agent/experts/systemExpert.d.ts +81 -0
- package/dist/agent/experts/systemExpert.d.ts.map +1 -0
- package/dist/agent/experts/systemExpert.js +507 -0
- package/dist/agent/experts/systemExpert.js.map +1 -0
- package/dist/agent/fork/forkManager.d.ts +161 -0
- package/dist/agent/fork/forkManager.d.ts.map +1 -0
- package/dist/agent/fork/forkManager.js +721 -0
- package/dist/agent/fork/forkManager.js.map +1 -0
- package/dist/agent/fork/forkTypes.d.ts +274 -0
- package/dist/agent/fork/forkTypes.d.ts.map +1 -0
- package/dist/agent/fork/forkTypes.js +18 -0
- package/dist/agent/fork/forkTypes.js.map +1 -0
- package/dist/agent/fork/index.d.ts +10 -0
- package/dist/agent/fork/index.d.ts.map +1 -0
- package/dist/agent/fork/index.js +47 -0
- package/dist/agent/fork/index.js.map +1 -0
- package/dist/agent/fork/mergeStrategies.d.ts +115 -0
- package/dist/agent/fork/mergeStrategies.d.ts.map +1 -0
- package/dist/agent/fork/mergeStrategies.js +404 -0
- package/dist/agent/fork/mergeStrategies.js.map +1 -0
- package/dist/agent/fork/sessionTree.d.ts +141 -0
- package/dist/agent/fork/sessionTree.d.ts.map +1 -0
- package/dist/agent/fork/sessionTree.js +443 -0
- package/dist/agent/fork/sessionTree.js.map +1 -0
- package/dist/agent/hooks/hookContext.d.ts +19 -0
- package/dist/agent/hooks/hookContext.d.ts.map +1 -0
- package/dist/agent/hooks/hookContext.js +67 -0
- package/dist/agent/hooks/hookContext.js.map +1 -0
- package/dist/agent/hooks/hookRegistry.d.ts +73 -0
- package/dist/agent/hooks/hookRegistry.d.ts.map +1 -0
- package/dist/agent/hooks/hookRegistry.js +271 -0
- package/dist/agent/hooks/hookRegistry.js.map +1 -0
- package/dist/agent/hooks/hookTypes.d.ts +186 -0
- package/dist/agent/hooks/hookTypes.d.ts.map +1 -0
- package/dist/agent/hooks/hookTypes.js +24 -0
- package/dist/agent/hooks/hookTypes.js.map +1 -0
- package/dist/agent/hooks/index.d.ts +10 -0
- package/dist/agent/hooks/index.d.ts.map +1 -0
- package/dist/agent/hooks/index.js +41 -0
- package/dist/agent/hooks/index.js.map +1 -0
- package/dist/agent/hooks/middleware/index.d.ts +6 -0
- package/dist/agent/hooks/middleware/index.d.ts.map +1 -0
- package/dist/agent/hooks/middleware/index.js +17 -0
- package/dist/agent/hooks/middleware/index.js.map +1 -0
- package/dist/agent/hooks/middleware/loggingMiddleware.d.ts +27 -0
- package/dist/agent/hooks/middleware/loggingMiddleware.d.ts.map +1 -0
- package/dist/agent/hooks/middleware/loggingMiddleware.js +104 -0
- package/dist/agent/hooks/middleware/loggingMiddleware.js.map +1 -0
- package/dist/agent/hooks/middleware/timingMiddleware.d.ts +56 -0
- package/dist/agent/hooks/middleware/timingMiddleware.d.ts.map +1 -0
- package/dist/agent/hooks/middleware/timingMiddleware.js +171 -0
- package/dist/agent/hooks/middleware/timingMiddleware.js.map +1 -0
- package/dist/agent/index.d.ts +15 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +88 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/llmAdapter.d.ts +33 -0
- package/dist/agent/llmAdapter.d.ts.map +1 -0
- package/dist/agent/llmAdapter.js +257 -0
- package/dist/agent/llmAdapter.js.map +1 -0
- package/dist/agent/scene/sceneAnalysisJobRunner.d.ts +106 -0
- package/dist/agent/scene/sceneAnalysisJobRunner.d.ts.map +1 -0
- package/dist/agent/scene/sceneAnalysisJobRunner.js +201 -0
- package/dist/agent/scene/sceneAnalysisJobRunner.js.map +1 -0
- package/dist/agent/scene/sceneCostEstimator.d.ts +33 -0
- package/dist/agent/scene/sceneCostEstimator.d.ts.map +1 -0
- package/dist/agent/scene/sceneCostEstimator.js +42 -0
- package/dist/agent/scene/sceneCostEstimator.js.map +1 -0
- package/dist/agent/scene/sceneIntervalBuilder.d.ts +37 -0
- package/dist/agent/scene/sceneIntervalBuilder.d.ts.map +1 -0
- package/dist/agent/scene/sceneIntervalBuilder.js +748 -0
- package/dist/agent/scene/sceneIntervalBuilder.js.map +1 -0
- package/dist/agent/scene/sceneStage1Runner.d.ts +47 -0
- package/dist/agent/scene/sceneStage1Runner.d.ts.map +1 -0
- package/dist/agent/scene/sceneStage1Runner.js +49 -0
- package/dist/agent/scene/sceneStage1Runner.js.map +1 -0
- package/dist/agent/scene/sceneStage3Summarizer.d.ts +11 -0
- package/dist/agent/scene/sceneStage3Summarizer.d.ts.map +1 -0
- package/dist/agent/scene/sceneStage3Summarizer.js +155 -0
- package/dist/agent/scene/sceneStage3Summarizer.js.map +1 -0
- package/dist/agent/scene/sceneStoryService.d.ts +168 -0
- package/dist/agent/scene/sceneStoryService.d.ts.map +1 -0
- package/dist/agent/scene/sceneStoryService.js +623 -0
- package/dist/agent/scene/sceneStoryService.js.map +1 -0
- package/dist/agent/scene/sceneTraceDurationProbe.d.ts +16 -0
- package/dist/agent/scene/sceneTraceDurationProbe.d.ts.map +1 -0
- package/dist/agent/scene/sceneTraceDurationProbe.js +22 -0
- package/dist/agent/scene/sceneTraceDurationProbe.js.map +1 -0
- package/dist/agent/scene/traceHash.d.ts +23 -0
- package/dist/agent/scene/traceHash.d.ts.map +1 -0
- package/dist/agent/scene/traceHash.js +65 -0
- package/dist/agent/scene/traceHash.js.map +1 -0
- package/dist/agent/scene/types.d.ts +199 -0
- package/dist/agent/scene/types.d.ts.map +1 -0
- package/dist/agent/scene/types.js +6 -0
- package/dist/agent/scene/types.js.map +1 -0
- package/dist/agent/state/checkpointManager.d.ts +85 -0
- package/dist/agent/state/checkpointManager.d.ts.map +1 -0
- package/dist/agent/state/checkpointManager.js +339 -0
- package/dist/agent/state/checkpointManager.js.map +1 -0
- package/dist/agent/state/index.d.ts +11 -0
- package/dist/agent/state/index.d.ts.map +1 -0
- package/dist/agent/state/index.js +21 -0
- package/dist/agent/state/index.js.map +1 -0
- package/dist/agent/state/sessionStore.d.ts +126 -0
- package/dist/agent/state/sessionStore.d.ts.map +1 -0
- package/dist/agent/state/sessionStore.js +440 -0
- package/dist/agent/state/sessionStore.js.map +1 -0
- package/dist/agent/state/traceAgentState.d.ts +125 -0
- package/dist/agent/state/traceAgentState.d.ts.map +1 -0
- package/dist/agent/state/traceAgentState.js +173 -0
- package/dist/agent/state/traceAgentState.js.map +1 -0
- package/dist/agent/strategies/helpers.d.ts +44 -0
- package/dist/agent/strategies/helpers.d.ts.map +1 -0
- package/dist/agent/strategies/helpers.js +138 -0
- package/dist/agent/strategies/helpers.js.map +1 -0
- package/dist/agent/strategies/index.d.ts +15 -0
- package/dist/agent/strategies/index.d.ts.map +1 -0
- package/dist/agent/strategies/index.js +23 -0
- package/dist/agent/strategies/index.js.map +1 -0
- package/dist/agent/strategies/interactionStrategy.d.ts +3 -0
- package/dist/agent/strategies/interactionStrategy.d.ts.map +1 -0
- package/dist/agent/strategies/interactionStrategy.js +242 -0
- package/dist/agent/strategies/interactionStrategy.js.map +1 -0
- package/dist/agent/strategies/registry.d.ts +110 -0
- package/dist/agent/strategies/registry.d.ts.map +1 -0
- package/dist/agent/strategies/registry.js +264 -0
- package/dist/agent/strategies/registry.js.map +1 -0
- package/dist/agent/strategies/sceneReconstructionStrategy.d.ts +4 -0
- package/dist/agent/strategies/sceneReconstructionStrategy.d.ts.map +1 -0
- package/dist/agent/strategies/sceneReconstructionStrategy.js +593 -0
- package/dist/agent/strategies/sceneReconstructionStrategy.js.map +1 -0
- package/dist/agent/strategies/scrollingStrategy.d.ts +3 -0
- package/dist/agent/strategies/scrollingStrategy.d.ts.map +1 -0
- package/dist/agent/strategies/scrollingStrategy.js +414 -0
- package/dist/agent/strategies/scrollingStrategy.js.map +1 -0
- package/dist/agent/strategies/startupStrategy.d.ts +3 -0
- package/dist/agent/strategies/startupStrategy.d.ts.map +1 -0
- package/dist/agent/strategies/startupStrategy.js +495 -0
- package/dist/agent/strategies/startupStrategy.js.map +1 -0
- package/dist/agent/strategies/types.d.ts +156 -0
- package/dist/agent/strategies/types.d.ts.map +1 -0
- package/dist/agent/strategies/types.js +6 -0
- package/dist/agent/strategies/types.js.map +1 -0
- package/dist/agent/toolRegistry.d.ts +4 -0
- package/dist/agent/toolRegistry.d.ts.map +1 -0
- package/dist/agent/toolRegistry.js +45 -0
- package/dist/agent/toolRegistry.js.map +1 -0
- package/dist/agent/tools/dataStats.d.ts +23 -0
- package/dist/agent/tools/dataStats.d.ts.map +1 -0
- package/dist/agent/tools/dataStats.js +123 -0
- package/dist/agent/tools/dataStats.js.map +1 -0
- package/dist/agent/tools/frameAnalyzer.d.ts +45 -0
- package/dist/agent/tools/frameAnalyzer.d.ts.map +1 -0
- package/dist/agent/tools/frameAnalyzer.js +338 -0
- package/dist/agent/tools/frameAnalyzer.js.map +1 -0
- package/dist/agent/tools/index.d.ts +6 -0
- package/dist/agent/tools/index.d.ts.map +1 -0
- package/dist/agent/tools/index.js +31 -0
- package/dist/agent/tools/index.js.map +1 -0
- package/dist/agent/tools/skillInvoker.d.ts +50 -0
- package/dist/agent/tools/skillInvoker.d.ts.map +1 -0
- package/dist/agent/tools/skillInvoker.js +279 -0
- package/dist/agent/tools/skillInvoker.js.map +1 -0
- package/dist/agent/tools/sqlExecutor.d.ts +12 -0
- package/dist/agent/tools/sqlExecutor.d.ts.map +1 -0
- package/dist/agent/tools/sqlExecutor.js +193 -0
- package/dist/agent/tools/sqlExecutor.js.map +1 -0
- package/dist/agent/tools/sqlGenerator.d.ts +154 -0
- package/dist/agent/tools/sqlGenerator.d.ts.map +1 -0
- package/dist/agent/tools/sqlGenerator.js +449 -0
- package/dist/agent/tools/sqlGenerator.js.map +1 -0
- package/dist/agent/tools/sqlValidator.d.ts +149 -0
- package/dist/agent/tools/sqlValidator.d.ts.map +1 -0
- package/dist/agent/tools/sqlValidator.js +376 -0
- package/dist/agent/tools/sqlValidator.js.map +1 -0
- package/dist/agent/traceRecorder.d.ts +42 -0
- package/dist/agent/traceRecorder.d.ts.map +1 -0
- package/dist/agent/traceRecorder.js +122 -0
- package/dist/agent/traceRecorder.js.map +1 -0
- package/dist/agent/types/agentProtocol.d.ts +377 -0
- package/dist/agent/types/agentProtocol.d.ts.map +1 -0
- package/dist/agent/types/agentProtocol.js +102 -0
- package/dist/agent/types/agentProtocol.js.map +1 -0
- package/dist/agent/types/jankCause.d.ts +47 -0
- package/dist/agent/types/jankCause.d.ts.map +1 -0
- package/dist/agent/types/jankCause.js +6 -0
- package/dist/agent/types/jankCause.js.map +1 -0
- package/dist/agent/types.d.ts +725 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +63 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/agentOpenAI/index.d.ts +4 -0
- package/dist/agentOpenAI/index.d.ts.map +1 -0
- package/dist/agentOpenAI/index.js +17 -0
- package/dist/agentOpenAI/index.js.map +1 -0
- package/dist/agentOpenAI/mimoReasoningCompat.d.ts +9 -0
- package/dist/agentOpenAI/mimoReasoningCompat.d.ts.map +1 -0
- package/dist/agentOpenAI/mimoReasoningCompat.js +367 -0
- package/dist/agentOpenAI/mimoReasoningCompat.js.map +1 -0
- package/dist/agentOpenAI/openAiComplexityClassifier.d.ts +18 -0
- package/dist/agentOpenAI/openAiComplexityClassifier.d.ts.map +1 -0
- package/dist/agentOpenAI/openAiComplexityClassifier.js +102 -0
- package/dist/agentOpenAI/openAiComplexityClassifier.js.map +1 -0
- package/dist/agentOpenAI/openAiConfig.d.ts +38 -0
- package/dist/agentOpenAI/openAiConfig.d.ts.map +1 -0
- package/dist/agentOpenAI/openAiConfig.js +104 -0
- package/dist/agentOpenAI/openAiConfig.js.map +1 -0
- package/dist/agentOpenAI/openAiRuntime.d.ts +99 -0
- package/dist/agentOpenAI/openAiRuntime.d.ts.map +1 -0
- package/dist/agentOpenAI/openAiRuntime.js +1440 -0
- package/dist/agentOpenAI/openAiRuntime.js.map +1 -0
- package/dist/agentOpenAI/openAiToolAdapter.d.ts +9 -0
- package/dist/agentOpenAI/openAiToolAdapter.d.ts.map +1 -0
- package/dist/agentOpenAI/openAiToolAdapter.js +111 -0
- package/dist/agentOpenAI/openAiToolAdapter.js.map +1 -0
- package/dist/agentRuntime/envCredentialSources.d.ts +6 -0
- package/dist/agentRuntime/envCredentialSources.d.ts.map +1 -0
- package/dist/agentRuntime/envCredentialSources.js +104 -0
- package/dist/agentRuntime/envCredentialSources.js.map +1 -0
- package/dist/agentRuntime/index.d.ts +2 -0
- package/dist/agentRuntime/index.d.ts.map +1 -0
- package/dist/agentRuntime/index.js +10 -0
- package/dist/agentRuntime/index.js.map +1 -0
- package/dist/agentRuntime/runtimeHealth.d.ts +65 -0
- package/dist/agentRuntime/runtimeHealth.d.ts.map +1 -0
- package/dist/agentRuntime/runtimeHealth.js +58 -0
- package/dist/agentRuntime/runtimeHealth.js.map +1 -0
- package/dist/agentRuntime/runtimeSelection.d.ts +25 -0
- package/dist/agentRuntime/runtimeSelection.d.ts.map +1 -0
- package/dist/agentRuntime/runtimeSelection.js +66 -0
- package/dist/agentRuntime/runtimeSelection.js.map +1 -0
- package/dist/agentv3/__mocks__/claude-agent-sdk.d.ts +25 -0
- package/dist/agentv3/__mocks__/claude-agent-sdk.d.ts.map +1 -0
- package/dist/agentv3/__mocks__/claude-agent-sdk.js +48 -0
- package/dist/agentv3/__mocks__/claude-agent-sdk.js.map +1 -0
- package/dist/agentv3/activePhaseReminder.d.ts +12 -0
- package/dist/agentv3/activePhaseReminder.d.ts.map +1 -0
- package/dist/agentv3/activePhaseReminder.js +73 -0
- package/dist/agentv3/activePhaseReminder.js.map +1 -0
- package/dist/agentv3/agentMetrics.d.ts +114 -0
- package/dist/agentv3/agentMetrics.d.ts.map +1 -0
- package/dist/agentv3/agentMetrics.js +262 -0
- package/dist/agentv3/agentMetrics.js.map +1 -0
- package/dist/agentv3/analysisPatternMemory.d.ts +146 -0
- package/dist/agentv3/analysisPatternMemory.d.ts.map +1 -0
- package/dist/agentv3/analysisPatternMemory.js +860 -0
- package/dist/agentv3/analysisPatternMemory.js.map +1 -0
- package/dist/agentv3/analysisTermination.d.ts +21 -0
- package/dist/agentv3/analysisTermination.d.ts.map +1 -0
- package/dist/agentv3/analysisTermination.js +97 -0
- package/dist/agentv3/analysisTermination.js.map +1 -0
- package/dist/agentv3/artifactStore.d.ts +131 -0
- package/dist/agentv3/artifactStore.d.ts.map +1 -0
- package/dist/agentv3/artifactStore.js +208 -0
- package/dist/agentv3/artifactStore.js.map +1 -0
- package/dist/agentv3/claudeAgentDefinitions.d.ts +44 -0
- package/dist/agentv3/claudeAgentDefinitions.d.ts.map +1 -0
- package/dist/agentv3/claudeAgentDefinitions.js +209 -0
- package/dist/agentv3/claudeAgentDefinitions.js.map +1 -0
- package/dist/agentv3/claudeConfig.d.ts +156 -0
- package/dist/agentv3/claudeConfig.d.ts.map +1 -0
- package/dist/agentv3/claudeConfig.js +553 -0
- package/dist/agentv3/claudeConfig.js.map +1 -0
- package/dist/agentv3/claudeFindingExtractor.d.ts +15 -0
- package/dist/agentv3/claudeFindingExtractor.d.ts.map +1 -0
- package/dist/agentv3/claudeFindingExtractor.js +150 -0
- package/dist/agentv3/claudeFindingExtractor.js.map +1 -0
- package/dist/agentv3/claudeMcpServer.d.ts +89 -0
- package/dist/agentv3/claudeMcpServer.d.ts.map +1 -0
- package/dist/agentv3/claudeMcpServer.js +3785 -0
- package/dist/agentv3/claudeMcpServer.js.map +1 -0
- package/dist/agentv3/claudeRuntime.d.ts +137 -0
- package/dist/agentv3/claudeRuntime.d.ts.map +1 -0
- package/dist/agentv3/claudeRuntime.js +2541 -0
- package/dist/agentv3/claudeRuntime.js.map +1 -0
- package/dist/agentv3/claudeSseBridge.d.ts +23 -0
- package/dist/agentv3/claudeSseBridge.d.ts.map +1 -0
- package/dist/agentv3/claudeSseBridge.js +385 -0
- package/dist/agentv3/claudeSseBridge.js.map +1 -0
- package/dist/agentv3/claudeSystemPrompt.d.ts +65 -0
- package/dist/agentv3/claudeSystemPrompt.d.ts.map +1 -0
- package/dist/agentv3/claudeSystemPrompt.js +486 -0
- package/dist/agentv3/claudeSystemPrompt.js.map +1 -0
- package/dist/agentv3/claudeVerifier.d.ts +82 -0
- package/dist/agentv3/claudeVerifier.d.ts.map +1 -0
- package/dist/agentv3/claudeVerifier.js +1047 -0
- package/dist/agentv3/claudeVerifier.js.map +1 -0
- package/dist/agentv3/contextTokenMeter.d.ts +78 -0
- package/dist/agentv3/contextTokenMeter.d.ts.map +1 -0
- package/dist/agentv3/contextTokenMeter.js +88 -0
- package/dist/agentv3/contextTokenMeter.js.map +1 -0
- package/dist/agentv3/focusAppDetector.d.ts +22 -0
- package/dist/agentv3/focusAppDetector.d.ts.map +1 -0
- package/dist/agentv3/focusAppDetector.js +208 -0
- package/dist/agentv3/focusAppDetector.js.map +1 -0
- package/dist/agentv3/index.d.ts +6 -0
- package/dist/agentv3/index.d.ts.map +1 -0
- package/dist/agentv3/index.js +16 -0
- package/dist/agentv3/index.js.map +1 -0
- package/dist/agentv3/mcpToolRegistry.d.ts +90 -0
- package/dist/agentv3/mcpToolRegistry.d.ts.map +1 -0
- package/dist/agentv3/mcpToolRegistry.js +152 -0
- package/dist/agentv3/mcpToolRegistry.js.map +1 -0
- package/dist/agentv3/outputLanguage.d.ts +6 -0
- package/dist/agentv3/outputLanguage.d.ts.map +1 -0
- package/dist/agentv3/outputLanguage.js +37 -0
- package/dist/agentv3/outputLanguage.js.map +1 -0
- package/dist/agentv3/phaseHintMatcher.d.ts +36 -0
- package/dist/agentv3/phaseHintMatcher.d.ts.map +1 -0
- package/dist/agentv3/phaseHintMatcher.js +48 -0
- package/dist/agentv3/phaseHintMatcher.js.map +1 -0
- package/dist/agentv3/projectMemory.d.ts +80 -0
- package/dist/agentv3/projectMemory.d.ts.map +1 -0
- package/dist/agentv3/projectMemory.js +334 -0
- package/dist/agentv3/projectMemory.js.map +1 -0
- package/dist/agentv3/queryComplexityClassifier.d.ts +21 -0
- package/dist/agentv3/queryComplexityClassifier.d.ts.map +1 -0
- package/dist/agentv3/queryComplexityClassifier.js +196 -0
- package/dist/agentv3/queryComplexityClassifier.js.map +1 -0
- package/dist/agentv3/rawSqlNormalizer.d.ts +11 -0
- package/dist/agentv3/rawSqlNormalizer.d.ts.map +1 -0
- package/dist/agentv3/rawSqlNormalizer.js +649 -0
- package/dist/agentv3/rawSqlNormalizer.js.map +1 -0
- package/dist/agentv3/recoveryNoteBuilder.d.ts +51 -0
- package/dist/agentv3/recoveryNoteBuilder.d.ts.map +1 -0
- package/dist/agentv3/recoveryNoteBuilder.js +84 -0
- package/dist/agentv3/recoveryNoteBuilder.js.map +1 -0
- package/dist/agentv3/sceneClassifier.d.ts +11 -0
- package/dist/agentv3/sceneClassifier.d.ts.map +1 -0
- package/dist/agentv3/sceneClassifier.js +46 -0
- package/dist/agentv3/sceneClassifier.js.map +1 -0
- package/dist/agentv3/scenePlanTemplates.d.ts +80 -0
- package/dist/agentv3/scenePlanTemplates.d.ts.map +1 -0
- package/dist/agentv3/scenePlanTemplates.js +164 -0
- package/dist/agentv3/scenePlanTemplates.js.map +1 -0
- package/dist/agentv3/selfImprove/contentScanner.d.ts +44 -0
- package/dist/agentv3/selfImprove/contentScanner.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/contentScanner.js +112 -0
- package/dist/agentv3/selfImprove/contentScanner.js.map +1 -0
- package/dist/agentv3/selfImprove/failureTaxonomy.d.ts +38 -0
- package/dist/agentv3/selfImprove/failureTaxonomy.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/failureTaxonomy.js +102 -0
- package/dist/agentv3/selfImprove/failureTaxonomy.js.map +1 -0
- package/dist/agentv3/selfImprove/feedbackEnricher.d.ts +69 -0
- package/dist/agentv3/selfImprove/feedbackEnricher.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/feedbackEnricher.js +135 -0
- package/dist/agentv3/selfImprove/feedbackEnricher.js.map +1 -0
- package/dist/agentv3/selfImprove/feedbackPipeline.d.ts +63 -0
- package/dist/agentv3/selfImprove/feedbackPipeline.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/feedbackPipeline.js +239 -0
- package/dist/agentv3/selfImprove/feedbackPipeline.js.map +1 -0
- package/dist/agentv3/selfImprove/hintFingerprint.d.ts +14 -0
- package/dist/agentv3/selfImprove/hintFingerprint.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/hintFingerprint.js +47 -0
- package/dist/agentv3/selfImprove/hintFingerprint.js.map +1 -0
- package/dist/agentv3/selfImprove/metricsAggregator.d.ts +46 -0
- package/dist/agentv3/selfImprove/metricsAggregator.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/metricsAggregator.js +195 -0
- package/dist/agentv3/selfImprove/metricsAggregator.js.map +1 -0
- package/dist/agentv3/selfImprove/migrateFailureModeHash.d.ts +31 -0
- package/dist/agentv3/selfImprove/migrateFailureModeHash.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/migrateFailureModeHash.js +220 -0
- package/dist/agentv3/selfImprove/migrateFailureModeHash.js.map +1 -0
- package/dist/agentv3/selfImprove/phaseHintsRenderer.d.ts +56 -0
- package/dist/agentv3/selfImprove/phaseHintsRenderer.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/phaseHintsRenderer.js +202 -0
- package/dist/agentv3/selfImprove/phaseHintsRenderer.js.map +1 -0
- package/dist/agentv3/selfImprove/promoteSkillNote.d.ts +17 -0
- package/dist/agentv3/selfImprove/promoteSkillNote.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/promoteSkillNote.js +146 -0
- package/dist/agentv3/selfImprove/promoteSkillNote.js.map +1 -0
- package/dist/agentv3/selfImprove/proposeStrategyPatch.d.ts +40 -0
- package/dist/agentv3/selfImprove/proposeStrategyPatch.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/proposeStrategyPatch.js +115 -0
- package/dist/agentv3/selfImprove/proposeStrategyPatch.js.map +1 -0
- package/dist/agentv3/selfImprove/reviewAgentSdk.d.ts +32 -0
- package/dist/agentv3/selfImprove/reviewAgentSdk.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/reviewAgentSdk.js +173 -0
- package/dist/agentv3/selfImprove/reviewAgentSdk.js.map +1 -0
- package/dist/agentv3/selfImprove/reviewOutbox.d.ts +128 -0
- package/dist/agentv3/selfImprove/reviewOutbox.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/reviewOutbox.js +313 -0
- package/dist/agentv3/selfImprove/reviewOutbox.js.map +1 -0
- package/dist/agentv3/selfImprove/reviewWorker.d.ts +95 -0
- package/dist/agentv3/selfImprove/reviewWorker.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/reviewWorker.js +172 -0
- package/dist/agentv3/selfImprove/reviewWorker.js.map +1 -0
- package/dist/agentv3/selfImprove/skillNotesInjector.d.ts +71 -0
- package/dist/agentv3/selfImprove/skillNotesInjector.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/skillNotesInjector.js +214 -0
- package/dist/agentv3/selfImprove/skillNotesInjector.js.map +1 -0
- package/dist/agentv3/selfImprove/skillNotesWriter.d.ts +89 -0
- package/dist/agentv3/selfImprove/skillNotesWriter.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/skillNotesWriter.js +274 -0
- package/dist/agentv3/selfImprove/skillNotesWriter.js.map +1 -0
- package/dist/agentv3/selfImprove/strategyFingerprint.d.ts +85 -0
- package/dist/agentv3/selfImprove/strategyFingerprint.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/strategyFingerprint.js +189 -0
- package/dist/agentv3/selfImprove/strategyFingerprint.js.map +1 -0
- package/dist/agentv3/selfImprove/strategyPatchApplier.d.ts +15 -0
- package/dist/agentv3/selfImprove/strategyPatchApplier.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/strategyPatchApplier.js +138 -0
- package/dist/agentv3/selfImprove/strategyPatchApplier.js.map +1 -0
- package/dist/agentv3/selfImprove/supersedeStore.d.ts +136 -0
- package/dist/agentv3/selfImprove/supersedeStore.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/supersedeStore.js +386 -0
- package/dist/agentv3/selfImprove/supersedeStore.js.map +1 -0
- package/dist/agentv3/selfImprove/worktreeRunner.d.ts +49 -0
- package/dist/agentv3/selfImprove/worktreeRunner.d.ts.map +1 -0
- package/dist/agentv3/selfImprove/worktreeRunner.js +153 -0
- package/dist/agentv3/selfImprove/worktreeRunner.js.map +1 -0
- package/dist/agentv3/sessionStateSnapshot.d.ts +166 -0
- package/dist/agentv3/sessionStateSnapshot.d.ts.map +1 -0
- package/dist/agentv3/sessionStateSnapshot.js +6 -0
- package/dist/agentv3/sessionStateSnapshot.js.map +1 -0
- package/dist/agentv3/sqlIncludeInjector.d.ts +24 -0
- package/dist/agentv3/sqlIncludeInjector.d.ts.map +1 -0
- package/dist/agentv3/sqlIncludeInjector.js +78 -0
- package/dist/agentv3/sqlIncludeInjector.js.map +1 -0
- package/dist/agentv3/sqlSummarizer.d.ts +38 -0
- package/dist/agentv3/sqlSummarizer.d.ts.map +1 -0
- package/dist/agentv3/sqlSummarizer.js +101 -0
- package/dist/agentv3/sqlSummarizer.js.map +1 -0
- package/dist/agentv3/standaloneMcpServer.d.ts +96 -0
- package/dist/agentv3/standaloneMcpServer.d.ts.map +1 -0
- package/dist/agentv3/standaloneMcpServer.js +244 -0
- package/dist/agentv3/standaloneMcpServer.js.map +1 -0
- package/dist/agentv3/strategyLoader.d.ts +96 -0
- package/dist/agentv3/strategyLoader.d.ts.map +1 -0
- package/dist/agentv3/strategyLoader.js +204 -0
- package/dist/agentv3/strategyLoader.js.map +1 -0
- package/dist/agentv3/toolCallSummary.d.ts +15 -0
- package/dist/agentv3/toolCallSummary.d.ts.map +1 -0
- package/dist/agentv3/toolCallSummary.js +66 -0
- package/dist/agentv3/toolCallSummary.js.map +1 -0
- package/dist/agentv3/toolNarration.d.ts +4 -0
- package/dist/agentv3/toolNarration.d.ts.map +1 -0
- package/dist/agentv3/toolNarration.js +371 -0
- package/dist/agentv3/toolNarration.js.map +1 -0
- package/dist/agentv3/traceCompletenessProber.d.ts +56 -0
- package/dist/agentv3/traceCompletenessProber.d.ts.map +1 -0
- package/dist/agentv3/traceCompletenessProber.js +337 -0
- package/dist/agentv3/traceCompletenessProber.js.map +1 -0
- package/dist/agentv3/types.d.ts +443 -0
- package/dist/agentv3/types.d.ts.map +1 -0
- package/dist/agentv3/types.js +37 -0
- package/dist/agentv3/types.js.map +1 -0
- package/dist/assistant/application/agentAnalyzeSessionService.d.ts +130 -0
- package/dist/assistant/application/agentAnalyzeSessionService.d.ts.map +1 -0
- package/dist/assistant/application/agentAnalyzeSessionService.js +433 -0
- package/dist/assistant/application/agentAnalyzeSessionService.js.map +1 -0
- package/dist/assistant/application/assistantApplicationService.d.ts +39 -0
- package/dist/assistant/application/assistantApplicationService.d.ts.map +1 -0
- package/dist/assistant/application/assistantApplicationService.js +88 -0
- package/dist/assistant/application/assistantApplicationService.js.map +1 -0
- package/dist/assistant/contracts/assistantResultContract.d.ts +41 -0
- package/dist/assistant/contracts/assistantResultContract.d.ts.map +1 -0
- package/dist/assistant/contracts/assistantResultContract.js +145 -0
- package/dist/assistant/contracts/assistantResultContract.js.map +1 -0
- package/dist/assistant/stream/sessionSseReplay.d.ts +10 -0
- package/dist/assistant/stream/sessionSseReplay.d.ts.map +1 -0
- package/dist/assistant/stream/sessionSseReplay.js +42 -0
- package/dist/assistant/stream/sessionSseReplay.js.map +1 -0
- package/dist/assistant/stream/streamProjector.d.ts +53 -0
- package/dist/assistant/stream/streamProjector.d.ts.map +1 -0
- package/dist/assistant/stream/streamProjector.js +150 -0
- package/dist/assistant/stream/streamProjector.js.map +1 -0
- package/dist/cli/commands/coverage.d.ts +12 -0
- package/dist/cli/commands/coverage.d.ts.map +1 -0
- package/dist/cli/commands/coverage.js +106 -0
- package/dist/cli/commands/coverage.js.map +1 -0
- package/dist/cli/commands/list.d.ts +11 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +169 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/smoke.d.ts +11 -0
- package/dist/cli/commands/smoke.d.ts.map +1 -0
- package/dist/cli/commands/smoke.js +215 -0
- package/dist/cli/commands/smoke.js.map +1 -0
- package/dist/cli/commands/test.d.ts +11 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js +183 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +26 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +918 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +29 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli-user/bin.d.ts +3 -0
- package/dist/cli-user/bin.d.ts.map +1 -0
- package/dist/cli-user/bin.js +490 -0
- package/dist/cli-user/bin.js.map +1 -0
- package/dist/cli-user/bootstrap.d.ts +12 -0
- package/dist/cli-user/bootstrap.d.ts.map +1 -0
- package/dist/cli-user/bootstrap.js +165 -0
- package/dist/cli-user/bootstrap.js.map +1 -0
- package/dist/cli-user/commands/analyze.d.ts +12 -0
- package/dist/cli-user/commands/analyze.d.ts.map +1 -0
- package/dist/cli-user/commands/analyze.js +83 -0
- package/dist/cli-user/commands/analyze.js.map +1 -0
- package/dist/cli-user/commands/capture.d.ts +12 -0
- package/dist/cli-user/commands/capture.d.ts.map +1 -0
- package/dist/cli-user/commands/capture.js +155 -0
- package/dist/cli-user/commands/capture.js.map +1 -0
- package/dist/cli-user/commands/compare.d.ts +13 -0
- package/dist/cli-user/commands/compare.d.ts.map +1 -0
- package/dist/cli-user/commands/compare.js +74 -0
- package/dist/cli-user/commands/compare.js.map +1 -0
- package/dist/cli-user/commands/config.d.ts +9 -0
- package/dist/cli-user/commands/config.d.ts.map +1 -0
- package/dist/cli-user/commands/config.js +109 -0
- package/dist/cli-user/commands/config.js.map +1 -0
- package/dist/cli-user/commands/doctor.d.ts +8 -0
- package/dist/cli-user/commands/doctor.d.ts.map +1 -0
- package/dist/cli-user/commands/doctor.js +37 -0
- package/dist/cli-user/commands/doctor.js.map +1 -0
- package/dist/cli-user/commands/list.d.ts +10 -0
- package/dist/cli-user/commands/list.d.ts.map +1 -0
- package/dist/cli-user/commands/list.js +79 -0
- package/dist/cli-user/commands/list.js.map +1 -0
- package/dist/cli-user/commands/provider.d.ts +12 -0
- package/dist/cli-user/commands/provider.d.ts.map +1 -0
- package/dist/cli-user/commands/provider.js +121 -0
- package/dist/cli-user/commands/provider.js.map +1 -0
- package/dist/cli-user/commands/query.d.ts +10 -0
- package/dist/cli-user/commands/query.d.ts.map +1 -0
- package/dist/cli-user/commands/query.js +128 -0
- package/dist/cli-user/commands/query.js.map +1 -0
- package/dist/cli-user/commands/report.d.ts +18 -0
- package/dist/cli-user/commands/report.d.ts.map +1 -0
- package/dist/cli-user/commands/report.js +225 -0
- package/dist/cli-user/commands/report.js.map +1 -0
- package/dist/cli-user/commands/resume.d.ts +12 -0
- package/dist/cli-user/commands/resume.d.ts.map +1 -0
- package/dist/cli-user/commands/resume.js +48 -0
- package/dist/cli-user/commands/resume.js.map +1 -0
- package/dist/cli-user/commands/rm.d.ts +8 -0
- package/dist/cli-user/commands/rm.d.ts.map +1 -0
- package/dist/cli-user/commands/rm.js +91 -0
- package/dist/cli-user/commands/rm.js.map +1 -0
- package/dist/cli-user/commands/show.d.ts +8 -0
- package/dist/cli-user/commands/show.d.ts.map +1 -0
- package/dist/cli-user/commands/show.js +84 -0
- package/dist/cli-user/commands/show.js.map +1 -0
- package/dist/cli-user/commands/skill.d.ts +11 -0
- package/dist/cli-user/commands/skill.d.ts.map +1 -0
- package/dist/cli-user/commands/skill.js +118 -0
- package/dist/cli-user/commands/skill.js.map +1 -0
- package/dist/cli-user/constants.d.ts +10 -0
- package/dist/cli-user/constants.d.ts.map +1 -0
- package/dist/cli-user/constants.js +16 -0
- package/dist/cli-user/constants.js.map +1 -0
- package/dist/cli-user/io/indexJson.d.ts +11 -0
- package/dist/cli-user/io/indexJson.d.ts.map +1 -0
- package/dist/cli-user/io/indexJson.js +79 -0
- package/dist/cli-user/io/indexJson.js.map +1 -0
- package/dist/cli-user/io/openFile.d.ts +8 -0
- package/dist/cli-user/io/openFile.d.ts.map +1 -0
- package/dist/cli-user/io/openFile.js +34 -0
- package/dist/cli-user/io/openFile.js.map +1 -0
- package/dist/cli-user/io/paths.d.ts +33 -0
- package/dist/cli-user/io/paths.d.ts.map +1 -0
- package/dist/cli-user/io/paths.js +149 -0
- package/dist/cli-user/io/paths.js.map +1 -0
- package/dist/cli-user/io/sessionStore.d.ts +17 -0
- package/dist/cli-user/io/sessionStore.d.ts.map +1 -0
- package/dist/cli-user/io/sessionStore.js +101 -0
- package/dist/cli-user/io/sessionStore.js.map +1 -0
- package/dist/cli-user/io/stdio.d.ts +8 -0
- package/dist/cli-user/io/stdio.d.ts.map +1 -0
- package/dist/cli-user/io/stdio.js +25 -0
- package/dist/cli-user/io/stdio.js.map +1 -0
- package/dist/cli-user/io/transcriptWriter.d.ts +5 -0
- package/dist/cli-user/io/transcriptWriter.d.ts.map +1 -0
- package/dist/cli-user/io/transcriptWriter.js +60 -0
- package/dist/cli-user/io/transcriptWriter.js.map +1 -0
- package/dist/cli-user/repl/index.d.ts +14 -0
- package/dist/cli-user/repl/index.d.ts.map +1 -0
- package/dist/cli-user/repl/index.js +301 -0
- package/dist/cli-user/repl/index.js.map +1 -0
- package/dist/cli-user/repl/renderer.d.ts +43 -0
- package/dist/cli-user/repl/renderer.d.ts.map +1 -0
- package/dist/cli-user/repl/renderer.js +210 -0
- package/dist/cli-user/repl/renderer.js.map +1 -0
- package/dist/cli-user/repl/slashCommands.d.ts +49 -0
- package/dist/cli-user/repl/slashCommands.d.ts.map +1 -0
- package/dist/cli-user/repl/slashCommands.js +65 -0
- package/dist/cli-user/repl/slashCommands.js.map +1 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts +73 -0
- package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -0
- package/dist/cli-user/services/cliAnalyzeService.js +393 -0
- package/dist/cli-user/services/cliAnalyzeService.js.map +1 -0
- package/dist/cli-user/services/runtimeGuard.d.ts +46 -0
- package/dist/cli-user/services/runtimeGuard.d.ts.map +1 -0
- package/dist/cli-user/services/runtimeGuard.js +188 -0
- package/dist/cli-user/services/runtimeGuard.js.map +1 -0
- package/dist/cli-user/services/traceProcessorInstaller.d.ts +2 -0
- package/dist/cli-user/services/traceProcessorInstaller.d.ts.map +1 -0
- package/dist/cli-user/services/traceProcessorInstaller.js +241 -0
- package/dist/cli-user/services/traceProcessorInstaller.js.map +1 -0
- package/dist/cli-user/services/turnPersistence.d.ts +41 -0
- package/dist/cli-user/services/turnPersistence.d.ts.map +1 -0
- package/dist/cli-user/services/turnPersistence.js +55 -0
- package/dist/cli-user/services/turnPersistence.js.map +1 -0
- package/dist/cli-user/services/turnRunner.d.ts +49 -0
- package/dist/cli-user/services/turnRunner.d.ts.map +1 -0
- package/dist/cli-user/services/turnRunner.js +436 -0
- package/dist/cli-user/services/turnRunner.js.map +1 -0
- package/dist/cli-user/types.d.ts +62 -0
- package/dist/cli-user/types.d.ts.map +1 -0
- package/dist/cli-user/types.js +6 -0
- package/dist/cli-user/types.js.map +1 -0
- package/dist/config/index.d.ts +393 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +334 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/prompts.d.ts +20 -0
- package/dist/config/prompts.d.ts.map +1 -0
- package/dist/config/prompts.js +74 -0
- package/dist/config/prompts.js.map +1 -0
- package/dist/config/teaching.config.d.ts +253 -0
- package/dist/config/teaching.config.d.ts.map +1 -0
- package/dist/config/teaching.config.js +203 -0
- package/dist/config/teaching.config.js.map +1 -0
- package/dist/config/thresholds.d.ts +300 -0
- package/dist/config/thresholds.d.ts.map +1 -0
- package/dist/config/thresholds.js +338 -0
- package/dist/config/thresholds.js.map +1 -0
- package/dist/controllers/skillAdminController.d.ts +62 -0
- package/dist/controllers/skillAdminController.d.ts.map +1 -0
- package/dist/controllers/skillAdminController.js +482 -0
- package/dist/controllers/skillAdminController.js.map +1 -0
- package/dist/controllers/skillController.d.ts +49 -0
- package/dist/controllers/skillController.d.ts.map +1 -0
- package/dist/controllers/skillController.js +246 -0
- package/dist/controllers/skillController.js.map +1 -0
- package/dist/controllers/sqlController.d.ts +9 -0
- package/dist/controllers/sqlController.d.ts.map +1 -0
- package/dist/controllers/sqlController.js +125 -0
- package/dist/controllers/sqlController.js.map +1 -0
- package/dist/controllers/traceController.d.ts +13 -0
- package/dist/controllers/traceController.d.ts.map +1 -0
- package/dist/controllers/traceController.js +209 -0
- package/dist/controllers/traceController.js.map +1 -0
- package/dist/controllers/traceProcessorController.d.ts +14 -0
- package/dist/controllers/traceProcessorController.d.ts.map +1 -0
- package/dist/controllers/traceProcessorController.js +222 -0
- package/dist/controllers/traceProcessorController.js.map +1 -0
- package/dist/data/perfettoSchema.d.ts +9 -0
- package/dist/data/perfettoSchema.d.ts.map +1 -0
- package/dist/data/perfettoSchema.js +286 -0
- package/dist/data/perfettoSchema.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +251 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/auth.d.ts +37 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +307 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/legacyAgentApi.d.ts +8 -0
- package/dist/middleware/legacyAgentApi.d.ts.map +1 -0
- package/dist/middleware/legacyAgentApi.js +64 -0
- package/dist/middleware/legacyAgentApi.js.map +1 -0
- package/dist/middleware/workspaceRouteContext.d.ts +4 -0
- package/dist/middleware/workspaceRouteContext.d.ts.map +1 -0
- package/dist/middleware/workspaceRouteContext.js +44 -0
- package/dist/middleware/workspaceRouteContext.js.map +1 -0
- package/dist/models/sessionSchema.d.ts +106 -0
- package/dist/models/sessionSchema.d.ts.map +1 -0
- package/dist/models/sessionSchema.js +6 -0
- package/dist/models/sessionSchema.js.map +1 -0
- package/dist/routes/agentLogsRoutes.d.ts +3 -0
- package/dist/routes/agentLogsRoutes.d.ts.map +1 -0
- package/dist/routes/agentLogsRoutes.js +283 -0
- package/dist/routes/agentLogsRoutes.js.map +1 -0
- package/dist/routes/agentQuickSceneRoutes.d.ts +9 -0
- package/dist/routes/agentQuickSceneRoutes.d.ts.map +1 -0
- package/dist/routes/agentQuickSceneRoutes.js +51 -0
- package/dist/routes/agentQuickSceneRoutes.js.map +1 -0
- package/dist/routes/agentReportRoutes.d.ts +11 -0
- package/dist/routes/agentReportRoutes.d.ts.map +1 -0
- package/dist/routes/agentReportRoutes.js +100 -0
- package/dist/routes/agentReportRoutes.js.map +1 -0
- package/dist/routes/agentResumeRoutes.d.ts +14 -0
- package/dist/routes/agentResumeRoutes.d.ts.map +1 -0
- package/dist/routes/agentResumeRoutes.js +263 -0
- package/dist/routes/agentResumeRoutes.js.map +1 -0
- package/dist/routes/agentRoutes.d.ts +3 -0
- package/dist/routes/agentRoutes.d.ts.map +1 -0
- package/dist/routes/agentRoutes.js +4349 -0
- package/dist/routes/agentRoutes.js.map +1 -0
- package/dist/routes/agentSceneReconstructRoutes.d.ts +68 -0
- package/dist/routes/agentSceneReconstructRoutes.d.ts.map +1 -0
- package/dist/routes/agentSceneReconstructRoutes.js +448 -0
- package/dist/routes/agentSceneReconstructRoutes.js.map +1 -0
- package/dist/routes/agentSessionCatalogRoutes.d.ts +20 -0
- package/dist/routes/agentSessionCatalogRoutes.d.ts.map +1 -0
- package/dist/routes/agentSessionCatalogRoutes.js +90 -0
- package/dist/routes/agentSessionCatalogRoutes.js.map +1 -0
- package/dist/routes/agentTeachingRoutes.d.ts +3 -0
- package/dist/routes/agentTeachingRoutes.d.ts.map +1 -0
- package/dist/routes/agentTeachingRoutes.js +62 -0
- package/dist/routes/agentTeachingRoutes.js.map +1 -0
- package/dist/routes/analysisResultRoutes.d.ts +3 -0
- package/dist/routes/analysisResultRoutes.d.ts.map +1 -0
- package/dist/routes/analysisResultRoutes.js +216 -0
- package/dist/routes/analysisResultRoutes.js.map +1 -0
- package/dist/routes/baselineRoutes.d.ts +29 -0
- package/dist/routes/baselineRoutes.d.ts.map +1 -0
- package/dist/routes/baselineRoutes.js +123 -0
- package/dist/routes/baselineRoutes.js.map +1 -0
- package/dist/routes/caseRoutes.d.ts +29 -0
- package/dist/routes/caseRoutes.d.ts.map +1 -0
- package/dist/routes/caseRoutes.js +194 -0
- package/dist/routes/caseRoutes.js.map +1 -0
- package/dist/routes/ciGateRoutes.d.ts +11 -0
- package/dist/routes/ciGateRoutes.d.ts.map +1 -0
- package/dist/routes/ciGateRoutes.js +363 -0
- package/dist/routes/ciGateRoutes.js.map +1 -0
- package/dist/routes/comparisonRoutes.d.ts +3 -0
- package/dist/routes/comparisonRoutes.d.ts.map +1 -0
- package/dist/routes/comparisonRoutes.js +536 -0
- package/dist/routes/comparisonRoutes.js.map +1 -0
- package/dist/routes/criticalPathRoutes.d.ts +3 -0
- package/dist/routes/criticalPathRoutes.d.ts.map +1 -0
- package/dist/routes/criticalPathRoutes.js +88 -0
- package/dist/routes/criticalPathRoutes.js.map +1 -0
- package/dist/routes/enterpriseApiKeyRoutes.d.ts +9 -0
- package/dist/routes/enterpriseApiKeyRoutes.d.ts.map +1 -0
- package/dist/routes/enterpriseApiKeyRoutes.js +126 -0
- package/dist/routes/enterpriseApiKeyRoutes.js.map +1 -0
- package/dist/routes/enterpriseAuthRoutes.d.ts +18 -0
- package/dist/routes/enterpriseAuthRoutes.d.ts.map +1 -0
- package/dist/routes/enterpriseAuthRoutes.js +160 -0
- package/dist/routes/enterpriseAuthRoutes.js.map +1 -0
- package/dist/routes/enterpriseRuntimeDashboardRoutes.d.ts +6 -0
- package/dist/routes/enterpriseRuntimeDashboardRoutes.d.ts.map +1 -0
- package/dist/routes/enterpriseRuntimeDashboardRoutes.js +32 -0
- package/dist/routes/enterpriseRuntimeDashboardRoutes.js.map +1 -0
- package/dist/routes/enterpriseTenantRoutes.d.ts +4 -0
- package/dist/routes/enterpriseTenantRoutes.d.ts.map +1 -0
- package/dist/routes/enterpriseTenantRoutes.js +313 -0
- package/dist/routes/enterpriseTenantRoutes.js.map +1 -0
- package/dist/routes/exportRoutes.d.ts +3 -0
- package/dist/routes/exportRoutes.d.ts.map +1 -0
- package/dist/routes/exportRoutes.js +196 -0
- package/dist/routes/exportRoutes.js.map +1 -0
- package/dist/routes/flamegraphRoutes.d.ts +3 -0
- package/dist/routes/flamegraphRoutes.d.ts.map +1 -0
- package/dist/routes/flamegraphRoutes.js +99 -0
- package/dist/routes/flamegraphRoutes.js.map +1 -0
- package/dist/routes/memoryRoutes.d.ts +31 -0
- package/dist/routes/memoryRoutes.d.ts.map +1 -0
- package/dist/routes/memoryRoutes.js +150 -0
- package/dist/routes/memoryRoutes.js.map +1 -0
- package/dist/routes/narrativeSanitizer.d.ts +2 -0
- package/dist/routes/narrativeSanitizer.d.ts.map +1 -0
- package/dist/routes/narrativeSanitizer.js +167 -0
- package/dist/routes/narrativeSanitizer.js.map +1 -0
- package/dist/routes/perfettoLocalRoutes.d.ts +3 -0
- package/dist/routes/perfettoLocalRoutes.d.ts.map +1 -0
- package/dist/routes/perfettoLocalRoutes.js +222 -0
- package/dist/routes/perfettoLocalRoutes.js.map +1 -0
- package/dist/routes/perfettoSqlRoutes.d.ts +7 -0
- package/dist/routes/perfettoSqlRoutes.d.ts.map +1 -0
- package/dist/routes/perfettoSqlRoutes.js +738 -0
- package/dist/routes/perfettoSqlRoutes.js.map +1 -0
- package/dist/routes/providerRoutes.d.ts +3 -0
- package/dist/routes/providerRoutes.d.ts.map +1 -0
- package/dist/routes/providerRoutes.js +219 -0
- package/dist/routes/providerRoutes.js.map +1 -0
- package/dist/routes/ragAdminRoutes.d.ts +30 -0
- package/dist/routes/ragAdminRoutes.d.ts.map +1 -0
- package/dist/routes/ragAdminRoutes.js +93 -0
- package/dist/routes/ragAdminRoutes.js.map +1 -0
- package/dist/routes/reportRoutes.d.ts +17 -0
- package/dist/routes/reportRoutes.d.ts.map +1 -0
- package/dist/routes/reportRoutes.js +579 -0
- package/dist/routes/reportRoutes.js.map +1 -0
- package/dist/routes/sessionRoutes.d.ts +3 -0
- package/dist/routes/sessionRoutes.d.ts.map +1 -0
- package/dist/routes/sessionRoutes.js +144 -0
- package/dist/routes/sessionRoutes.js.map +1 -0
- package/dist/routes/simpleTraceRoutes.d.ts +3 -0
- package/dist/routes/simpleTraceRoutes.d.ts.map +1 -0
- package/dist/routes/simpleTraceRoutes.js +1131 -0
- package/dist/routes/simpleTraceRoutes.js.map +1 -0
- package/dist/routes/skillAdminRoutes.d.ts +3 -0
- package/dist/routes/skillAdminRoutes.d.ts.map +1 -0
- package/dist/routes/skillAdminRoutes.js +100 -0
- package/dist/routes/skillAdminRoutes.js.map +1 -0
- package/dist/routes/skillRoutes.d.ts +3 -0
- package/dist/routes/skillRoutes.d.ts.map +1 -0
- package/dist/routes/skillRoutes.js +88 -0
- package/dist/routes/skillRoutes.js.map +1 -0
- package/dist/routes/sql.d.ts +3 -0
- package/dist/routes/sql.d.ts.map +1 -0
- package/dist/routes/sql.js +19 -0
- package/dist/routes/sql.js.map +1 -0
- package/dist/routes/strategyAdminRoutes.d.ts +3 -0
- package/dist/routes/strategyAdminRoutes.d.ts.map +1 -0
- package/dist/routes/strategyAdminRoutes.js +65 -0
- package/dist/routes/strategyAdminRoutes.js.map +1 -0
- package/dist/routes/templateAnalysisRoutes.d.ts +3 -0
- package/dist/routes/templateAnalysisRoutes.d.ts.map +1 -0
- package/dist/routes/templateAnalysisRoutes.js +173 -0
- package/dist/routes/templateAnalysisRoutes.js.map +1 -0
- package/dist/routes/trace.d.ts +3 -0
- package/dist/routes/trace.d.ts.map +1 -0
- package/dist/routes/trace.js +48 -0
- package/dist/routes/trace.js.map +1 -0
- package/dist/routes/traceProcessorProxyRoutes.d.ts +6 -0
- package/dist/routes/traceProcessorProxyRoutes.d.ts.map +1 -0
- package/dist/routes/traceProcessorProxyRoutes.js +607 -0
- package/dist/routes/traceProcessorProxyRoutes.js.map +1 -0
- package/dist/routes/traceProcessorRoutes.d.ts +3 -0
- package/dist/routes/traceProcessorRoutes.d.ts.map +1 -0
- package/dist/routes/traceProcessorRoutes.js +40 -0
- package/dist/routes/traceProcessorRoutes.js.map +1 -0
- package/dist/routes/workspaceWindowRoutes.d.ts +3 -0
- package/dist/routes/workspaceWindowRoutes.d.ts.map +1 -0
- package/dist/routes/workspaceWindowRoutes.js +146 -0
- package/dist/routes/workspaceWindowRoutes.js.map +1 -0
- package/dist/runtimePaths.d.ts +3 -0
- package/dist/runtimePaths.d.ts.map +1 -0
- package/dist/runtimePaths.js +20 -0
- package/dist/runtimePaths.js.map +1 -0
- package/dist/scripts/analyzeComprehensiveTrace.d.ts +2 -0
- package/dist/scripts/analyzeComprehensiveTrace.d.ts.map +1 -0
- package/dist/scripts/analyzeComprehensiveTrace.js +210 -0
- package/dist/scripts/analyzeComprehensiveTrace.js.map +1 -0
- package/dist/scripts/analyzeUserTrace.d.ts +2 -0
- package/dist/scripts/analyzeUserTrace.d.ts.map +1 -0
- package/dist/scripts/analyzeUserTrace.js +170 -0
- package/dist/scripts/analyzeUserTrace.js.map +1 -0
- package/dist/scripts/auditTraceProcessorRssMatrix.d.ts +49 -0
- package/dist/scripts/auditTraceProcessorRssMatrix.d.ts.map +1 -0
- package/dist/scripts/auditTraceProcessorRssMatrix.js +390 -0
- package/dist/scripts/auditTraceProcessorRssMatrix.js.map +1 -0
- package/dist/scripts/benchmarkTraceProcessorRss.d.ts +96 -0
- package/dist/scripts/benchmarkTraceProcessorRss.d.ts.map +1 -0
- package/dist/scripts/benchmarkTraceProcessorRss.js +569 -0
- package/dist/scripts/benchmarkTraceProcessorRss.js.map +1 -0
- package/dist/scripts/captureContextEngineeringBaseline.d.ts +2 -0
- package/dist/scripts/captureContextEngineeringBaseline.d.ts.map +1 -0
- package/dist/scripts/captureContextEngineeringBaseline.js +271 -0
- package/dist/scripts/captureContextEngineeringBaseline.js.map +1 -0
- package/dist/scripts/checkTables.d.ts +2 -0
- package/dist/scripts/checkTables.d.ts.map +1 -0
- package/dist/scripts/checkTables.js +22 -0
- package/dist/scripts/checkTables.js.map +1 -0
- package/dist/scripts/diagnoseJankDetection.d.ts +2 -0
- package/dist/scripts/diagnoseJankDetection.d.ts.map +1 -0
- package/dist/scripts/diagnoseJankDetection.js +314 -0
- package/dist/scripts/diagnoseJankDetection.js.map +1 -0
- package/dist/scripts/diagnoseTrace.d.ts +2 -0
- package/dist/scripts/diagnoseTrace.d.ts.map +1 -0
- package/dist/scripts/diagnoseTrace.js +74 -0
- package/dist/scripts/diagnoseTrace.js.map +1 -0
- package/dist/scripts/enterpriseAcceptanceLoadTest.d.ts +193 -0
- package/dist/scripts/enterpriseAcceptanceLoadTest.d.ts.map +1 -0
- package/dist/scripts/enterpriseAcceptanceLoadTest.js +912 -0
- package/dist/scripts/enterpriseAcceptanceLoadTest.js.map +1 -0
- package/dist/scripts/enterpriseMigrationSnapshot.d.ts +3 -0
- package/dist/scripts/enterpriseMigrationSnapshot.d.ts.map +1 -0
- package/dist/scripts/enterpriseMigrationSnapshot.js +57 -0
- package/dist/scripts/enterpriseMigrationSnapshot.js.map +1 -0
- package/dist/scripts/enterpriseReadinessAudit.d.ts +30 -0
- package/dist/scripts/enterpriseReadinessAudit.d.ts.map +1 -0
- package/dist/scripts/enterpriseReadinessAudit.js +743 -0
- package/dist/scripts/enterpriseReadinessAudit.js.map +1 -0
- package/dist/scripts/enterpriseRssBenchmarkMatrix.d.ts +6 -0
- package/dist/scripts/enterpriseRssBenchmarkMatrix.d.ts.map +1 -0
- package/dist/scripts/enterpriseRssBenchmarkMatrix.js +20 -0
- package/dist/scripts/enterpriseRssBenchmarkMatrix.js.map +1 -0
- package/dist/scripts/enterpriseRuntimeIsolationChecklist.d.ts +22 -0
- package/dist/scripts/enterpriseRuntimeIsolationChecklist.d.ts.map +1 -0
- package/dist/scripts/enterpriseRuntimeIsolationChecklist.js +374 -0
- package/dist/scripts/enterpriseRuntimeIsolationChecklist.js.map +1 -0
- package/dist/scripts/enterpriseSecurityAuditChecklist.d.ts +20 -0
- package/dist/scripts/enterpriseSecurityAuditChecklist.d.ts.map +1 -0
- package/dist/scripts/enterpriseSecurityAuditChecklist.js +113 -0
- package/dist/scripts/enterpriseSecurityAuditChecklist.js.map +1 -0
- package/dist/scripts/probeStdlibSchema.d.ts +2 -0
- package/dist/scripts/probeStdlibSchema.d.ts.map +1 -0
- package/dist/scripts/probeStdlibSchema.js +209 -0
- package/dist/scripts/probeStdlibSchema.js.map +1 -0
- package/dist/scripts/runAgentTest.d.ts +2 -0
- package/dist/scripts/runAgentTest.d.ts.map +1 -0
- package/dist/scripts/runAgentTest.js +149 -0
- package/dist/scripts/runAgentTest.js.map +1 -0
- package/dist/scripts/runScrollingTest.d.ts +2 -0
- package/dist/scripts/runScrollingTest.d.ts.map +1 -0
- package/dist/scripts/runScrollingTest.js +199 -0
- package/dist/scripts/runScrollingTest.js.map +1 -0
- package/dist/scripts/runScrollingTestRealData.d.ts +2 -0
- package/dist/scripts/runScrollingTestRealData.d.ts.map +1 -0
- package/dist/scripts/runScrollingTestRealData.js +121 -0
- package/dist/scripts/runScrollingTestRealData.js.map +1 -0
- package/dist/scripts/testAndroidTrace.d.ts +2 -0
- package/dist/scripts/testAndroidTrace.d.ts.map +1 -0
- package/dist/scripts/testAndroidTrace.js +21 -0
- package/dist/scripts/testAndroidTrace.js.map +1 -0
- package/dist/scripts/testCrossDomainExpert.d.ts +2 -0
- package/dist/scripts/testCrossDomainExpert.d.ts.map +1 -0
- package/dist/scripts/testCrossDomainExpert.js +288 -0
- package/dist/scripts/testCrossDomainExpert.js.map +1 -0
- package/dist/scripts/testCrossDomainIntegration.d.ts +2 -0
- package/dist/scripts/testCrossDomainIntegration.d.ts.map +1 -0
- package/dist/scripts/testCrossDomainIntegration.js +282 -0
- package/dist/scripts/testCrossDomainIntegration.js.map +1 -0
- package/dist/scripts/testDeepLayerFix.d.ts +2 -0
- package/dist/scripts/testDeepLayerFix.d.ts.map +1 -0
- package/dist/scripts/testDeepLayerFix.js +137 -0
- package/dist/scripts/testDeepLayerFix.js.map +1 -0
- package/dist/scripts/testHtmlReportGen.d.ts +2 -0
- package/dist/scripts/testHtmlReportGen.d.ts.map +1 -0
- package/dist/scripts/testHtmlReportGen.js +148 -0
- package/dist/scripts/testHtmlReportGen.js.map +1 -0
- package/dist/scripts/verifyAgentSseScrolling.d.ts +2 -0
- package/dist/scripts/verifyAgentSseScrolling.d.ts.map +1 -0
- package/dist/scripts/verifyAgentSseScrolling.js +558 -0
- package/dist/scripts/verifyAgentSseScrolling.js.map +1 -0
- package/dist/scripts/verifyCriticalPathE2E.d.ts +2 -0
- package/dist/scripts/verifyCriticalPathE2E.d.ts.map +1 -0
- package/dist/scripts/verifyCriticalPathE2E.js +171 -0
- package/dist/scripts/verifyCriticalPathE2E.js.map +1 -0
- package/dist/scripts/verifyEnterpriseMultiTenantWindows.d.ts +24 -0
- package/dist/scripts/verifyEnterpriseMultiTenantWindows.d.ts.map +1 -0
- package/dist/scripts/verifyEnterpriseMultiTenantWindows.js +1363 -0
- package/dist/scripts/verifyEnterpriseMultiTenantWindows.js.map +1 -0
- package/dist/services/adb/adbContextDetector.d.ts +3 -0
- package/dist/services/adb/adbContextDetector.d.ts.map +1 -0
- package/dist/services/adb/adbContextDetector.js +151 -0
- package/dist/services/adb/adbContextDetector.js.map +1 -0
- package/dist/services/adb/adbService.d.ts +28 -0
- package/dist/services/adb/adbService.d.ts.map +1 -0
- package/dist/services/adb/adbService.js +238 -0
- package/dist/services/adb/adbService.js.map +1 -0
- package/dist/services/adb/index.d.ts +5 -0
- package/dist/services/adb/index.d.ts.map +1 -0
- package/dist/services/adb/index.js +24 -0
- package/dist/services/adb/index.js.map +1 -0
- package/dist/services/adb/traceDeviceMatcher.d.ts +12 -0
- package/dist/services/adb/traceDeviceMatcher.d.ts.map +1 -0
- package/dist/services/adb/traceDeviceMatcher.js +149 -0
- package/dist/services/adb/traceDeviceMatcher.js.map +1 -0
- package/dist/services/adb/types.d.ts +69 -0
- package/dist/services/adb/types.d.ts.map +1 -0
- package/dist/services/adb/types.js +6 -0
- package/dist/services/adb/types.js.map +1 -0
- package/dist/services/agentEventStore.d.ts +17 -0
- package/dist/services/agentEventStore.d.ts.map +1 -0
- package/dist/services/agentEventStore.js +139 -0
- package/dist/services/agentEventStore.js.map +1 -0
- package/dist/services/agentReportData.d.ts +42 -0
- package/dist/services/agentReportData.d.ts.map +1 -0
- package/dist/services/agentReportData.js +81 -0
- package/dist/services/agentReportData.js.map +1 -0
- package/dist/services/agentResultNormalizer.d.ts +33 -0
- package/dist/services/agentResultNormalizer.d.ts.map +1 -0
- package/dist/services/agentResultNormalizer.js +92 -0
- package/dist/services/agentResultNormalizer.js.map +1 -0
- package/dist/services/analysisResultSnapshotPipeline.d.ts +24 -0
- package/dist/services/analysisResultSnapshotPipeline.d.ts.map +1 -0
- package/dist/services/analysisResultSnapshotPipeline.js +466 -0
- package/dist/services/analysisResultSnapshotPipeline.js.map +1 -0
- package/dist/services/analysisResultSnapshotStore.d.ts +29 -0
- package/dist/services/analysisResultSnapshotStore.d.ts.map +1 -0
- package/dist/services/analysisResultSnapshotStore.js +457 -0
- package/dist/services/analysisResultSnapshotStore.js.map +1 -0
- package/dist/services/analysisResultWindowStateStore.d.ts +37 -0
- package/dist/services/analysisResultWindowStateStore.d.ts.map +1 -0
- package/dist/services/analysisResultWindowStateStore.js +190 -0
- package/dist/services/analysisResultWindowStateStore.js.map +1 -0
- package/dist/services/analysisRunStore.d.ts +38 -0
- package/dist/services/analysisRunStore.d.ts.map +1 -0
- package/dist/services/analysisRunStore.js +195 -0
- package/dist/services/analysisRunStore.js.map +1 -0
- package/dist/services/analysisTemplates/cpuCoreAnalysis.d.ts +70 -0
- package/dist/services/analysisTemplates/cpuCoreAnalysis.d.ts.map +1 -0
- package/dist/services/analysisTemplates/cpuCoreAnalysis.js +277 -0
- package/dist/services/analysisTemplates/cpuCoreAnalysis.js.map +1 -0
- package/dist/services/analysisTemplates/fourQuadrantAnalysis.d.ts +64 -0
- package/dist/services/analysisTemplates/fourQuadrantAnalysis.d.ts.map +1 -0
- package/dist/services/analysisTemplates/fourQuadrantAnalysis.js +288 -0
- package/dist/services/analysisTemplates/fourQuadrantAnalysis.js.map +1 -0
- package/dist/services/analysisTemplates/frameStatsAnalysis.d.ts +77 -0
- package/dist/services/analysisTemplates/frameStatsAnalysis.d.ts.map +1 -0
- package/dist/services/analysisTemplates/frameStatsAnalysis.js +232 -0
- package/dist/services/analysisTemplates/frameStatsAnalysis.js.map +1 -0
- package/dist/services/analysisTemplates/templateManager.d.ts +70 -0
- package/dist/services/analysisTemplates/templateManager.d.ts.map +1 -0
- package/dist/services/analysisTemplates/templateManager.js +293 -0
- package/dist/services/analysisTemplates/templateManager.js.map +1 -0
- package/dist/services/anonymizer.d.ts +61 -0
- package/dist/services/anonymizer.d.ts.map +1 -0
- package/dist/services/anonymizer.js +232 -0
- package/dist/services/anonymizer.js.map +1 -0
- package/dist/services/aospKnowledgeIngester.d.ts +67 -0
- package/dist/services/aospKnowledgeIngester.d.ts.map +1 -0
- package/dist/services/aospKnowledgeIngester.js +171 -0
- package/dist/services/aospKnowledgeIngester.js.map +1 -0
- package/dist/services/artifactCompression.d.ts +52 -0
- package/dist/services/artifactCompression.d.ts.map +1 -0
- package/dist/services/artifactCompression.js +215 -0
- package/dist/services/artifactCompression.js.map +1 -0
- package/dist/services/baselineDiffer.d.ts +85 -0
- package/dist/services/baselineDiffer.d.ts.map +1 -0
- package/dist/services/baselineDiffer.js +287 -0
- package/dist/services/baselineDiffer.js.map +1 -0
- package/dist/services/baselineStore.d.ts +52 -0
- package/dist/services/baselineStore.d.ts.map +1 -0
- package/dist/services/baselineStore.js +224 -0
- package/dist/services/baselineStore.js.map +1 -0
- package/dist/services/binderRootCauseChain.d.ts +38 -0
- package/dist/services/binderRootCauseChain.d.ts.map +1 -0
- package/dist/services/binderRootCauseChain.js +74 -0
- package/dist/services/binderRootCauseChain.js.map +1 -0
- package/dist/services/blogKnowledgeIngester.d.ts +89 -0
- package/dist/services/blogKnowledgeIngester.d.ts.map +1 -0
- package/dist/services/blogKnowledgeIngester.js +192 -0
- package/dist/services/blogKnowledgeIngester.js.map +1 -0
- package/dist/services/caseGraph.d.ts +55 -0
- package/dist/services/caseGraph.d.ts.map +1 -0
- package/dist/services/caseGraph.js +260 -0
- package/dist/services/caseGraph.js.map +1 -0
- package/dist/services/caseLibrary.d.ts +61 -0
- package/dist/services/caseLibrary.d.ts.map +1 -0
- package/dist/services/caseLibrary.js +269 -0
- package/dist/services/caseLibrary.js.map +1 -0
- package/dist/services/ciGateRunStore.d.ts +39 -0
- package/dist/services/ciGateRunStore.d.ts.map +1 -0
- package/dist/services/ciGateRunStore.js +208 -0
- package/dist/services/ciGateRunStore.js.map +1 -0
- package/dist/services/comparisonAiConclusionService.d.ts +23 -0
- package/dist/services/comparisonAiConclusionService.d.ts.map +1 -0
- package/dist/services/comparisonAiConclusionService.js +207 -0
- package/dist/services/comparisonAiConclusionService.js.map +1 -0
- package/dist/services/comparisonAppendixService.d.ts +50 -0
- package/dist/services/comparisonAppendixService.d.ts.map +1 -0
- package/dist/services/comparisonAppendixService.js +276 -0
- package/dist/services/comparisonAppendixService.js.map +1 -0
- package/dist/services/comparisonHtmlReportService.d.ts +20 -0
- package/dist/services/comparisonHtmlReportService.d.ts.map +1 -0
- package/dist/services/comparisonHtmlReportService.js +214 -0
- package/dist/services/comparisonHtmlReportService.js.map +1 -0
- package/dist/services/comparisonMatrixService.d.ts +7 -0
- package/dist/services/comparisonMatrixService.d.ts.map +1 -0
- package/dist/services/comparisonMatrixService.js +211 -0
- package/dist/services/comparisonMatrixService.js.map +1 -0
- package/dist/services/comparisonResultService.d.ts +13 -0
- package/dist/services/comparisonResultService.d.ts.map +1 -0
- package/dist/services/comparisonResultService.js +99 -0
- package/dist/services/comparisonResultService.js.map +1 -0
- package/dist/services/comparisonSignificance.d.ts +3 -0
- package/dist/services/comparisonSignificance.d.ts.map +1 -0
- package/dist/services/comparisonSignificance.js +42 -0
- package/dist/services/comparisonSignificance.js.map +1 -0
- package/dist/services/cpuThermalPmu.d.ts +38 -0
- package/dist/services/cpuThermalPmu.d.ts.map +1 -0
- package/dist/services/cpuThermalPmu.js +141 -0
- package/dist/services/cpuThermalPmu.js.map +1 -0
- package/dist/services/criticalPathAiSummary.d.ts +29 -0
- package/dist/services/criticalPathAiSummary.d.ts.map +1 -0
- package/dist/services/criticalPathAiSummary.js +310 -0
- package/dist/services/criticalPathAiSummary.js.map +1 -0
- package/dist/services/criticalPathAnalyzer.d.ts +108 -0
- package/dist/services/criticalPathAnalyzer.d.ts.map +1 -0
- package/dist/services/criticalPathAnalyzer.js +880 -0
- package/dist/services/criticalPathAnalyzer.js.map +1 -0
- package/dist/services/criticalPathQuantify.d.ts +70 -0
- package/dist/services/criticalPathQuantify.d.ts.map +1 -0
- package/dist/services/criticalPathQuantify.js +214 -0
- package/dist/services/criticalPathQuantify.js.map +1 -0
- package/dist/services/criticalPathSemantics.d.ts +95 -0
- package/dist/services/criticalPathSemantics.d.ts.map +1 -0
- package/dist/services/criticalPathSemantics.js +453 -0
- package/dist/services/criticalPathSemantics.js.map +1 -0
- package/dist/services/criticalPathWakerChain.d.ts +38 -0
- package/dist/services/criticalPathWakerChain.d.ts.map +1 -0
- package/dist/services/criticalPathWakerChain.js +144 -0
- package/dist/services/criticalPathWakerChain.js.map +1 -0
- package/dist/services/domainSkillEvalHarness.d.ts +51 -0
- package/dist/services/domainSkillEvalHarness.d.ts.map +1 -0
- package/dist/services/domainSkillEvalHarness.js +141 -0
- package/dist/services/domainSkillEvalHarness.js.map +1 -0
- package/dist/services/enhancedAIService.d.ts +81 -0
- package/dist/services/enhancedAIService.d.ts.map +1 -0
- package/dist/services/enhancedAIService.js +277 -0
- package/dist/services/enhancedAIService.js.map +1 -0
- package/dist/services/enterpriseAdminControlPlaneService.d.ts +124 -0
- package/dist/services/enterpriseAdminControlPlaneService.d.ts.map +1 -0
- package/dist/services/enterpriseAdminControlPlaneService.js +323 -0
- package/dist/services/enterpriseAdminControlPlaneService.js.map +1 -0
- package/dist/services/enterpriseApiKeyService.d.ts +56 -0
- package/dist/services/enterpriseApiKeyService.d.ts.map +1 -0
- package/dist/services/enterpriseApiKeyService.js +260 -0
- package/dist/services/enterpriseApiKeyService.js.map +1 -0
- package/dist/services/enterpriseAuditService.d.ts +30 -0
- package/dist/services/enterpriseAuditService.d.ts.map +1 -0
- package/dist/services/enterpriseAuditService.js +73 -0
- package/dist/services/enterpriseAuditService.js.map +1 -0
- package/dist/services/enterpriseDb.d.ts +5 -0
- package/dist/services/enterpriseDb.d.ts.map +1 -0
- package/dist/services/enterpriseDb.js +33 -0
- package/dist/services/enterpriseDb.js.map +1 -0
- package/dist/services/enterpriseMigration.d.ts +89 -0
- package/dist/services/enterpriseMigration.d.ts.map +1 -0
- package/dist/services/enterpriseMigration.js +506 -0
- package/dist/services/enterpriseMigration.js.map +1 -0
- package/dist/services/enterpriseOidcClient.d.ts +36 -0
- package/dist/services/enterpriseOidcClient.d.ts.map +1 -0
- package/dist/services/enterpriseOidcClient.js +124 -0
- package/dist/services/enterpriseOidcClient.js.map +1 -0
- package/dist/services/enterpriseQuotaPolicyService.d.ts +37 -0
- package/dist/services/enterpriseQuotaPolicyService.d.ts.map +1 -0
- package/dist/services/enterpriseQuotaPolicyService.js +198 -0
- package/dist/services/enterpriseQuotaPolicyService.js.map +1 -0
- package/dist/services/enterpriseRepository.d.ts +36 -0
- package/dist/services/enterpriseRepository.d.ts.map +1 -0
- package/dist/services/enterpriseRepository.js +208 -0
- package/dist/services/enterpriseRepository.js.map +1 -0
- package/dist/services/enterpriseRuntimeDashboardService.d.ts +114 -0
- package/dist/services/enterpriseRuntimeDashboardService.d.ts.map +1 -0
- package/dist/services/enterpriseRuntimeDashboardService.js +205 -0
- package/dist/services/enterpriseRuntimeDashboardService.js.map +1 -0
- package/dist/services/enterpriseSchema.d.ts +7 -0
- package/dist/services/enterpriseSchema.d.ts.map +1 -0
- package/dist/services/enterpriseSchema.js +688 -0
- package/dist/services/enterpriseSchema.js.map +1 -0
- package/dist/services/enterpriseSsoService.d.ts +99 -0
- package/dist/services/enterpriseSsoService.d.ts.map +1 -0
- package/dist/services/enterpriseSsoService.js +538 -0
- package/dist/services/enterpriseSsoService.js.map +1 -0
- package/dist/services/enterpriseTenantExportService.d.ts +58 -0
- package/dist/services/enterpriseTenantExportService.d.ts.map +1 -0
- package/dist/services/enterpriseTenantExportService.js +339 -0
- package/dist/services/enterpriseTenantExportService.js.map +1 -0
- package/dist/services/enterpriseTenantLifecycleService.d.ts +52 -0
- package/dist/services/enterpriseTenantLifecycleService.d.ts.map +1 -0
- package/dist/services/enterpriseTenantLifecycleService.js +323 -0
- package/dist/services/enterpriseTenantLifecycleService.js.map +1 -0
- package/dist/services/flamegraphAiSummary.d.ts +4 -0
- package/dist/services/flamegraphAiSummary.d.ts.map +1 -0
- package/dist/services/flamegraphAiSummary.js +172 -0
- package/dist/services/flamegraphAiSummary.js.map +1 -0
- package/dist/services/flamegraphAnalyzer.d.ts +14 -0
- package/dist/services/flamegraphAnalyzer.d.ts.map +1 -0
- package/dist/services/flamegraphAnalyzer.js +607 -0
- package/dist/services/flamegraphAnalyzer.js.map +1 -0
- package/dist/services/flamegraphTypes.d.ts +106 -0
- package/dist/services/flamegraphTypes.d.ts.map +1 -0
- package/dist/services/flamegraphTypes.js +6 -0
- package/dist/services/flamegraphTypes.js.map +1 -0
- package/dist/services/gpuSurfaceFlinger.d.ts +27 -0
- package/dist/services/gpuSurfaceFlinger.d.ts.map +1 -0
- package/dist/services/gpuSurfaceFlinger.js +68 -0
- package/dist/services/gpuSurfaceFlinger.js.map +1 -0
- package/dist/services/htmlReportGenerator.d.ts +425 -0
- package/dist/services/htmlReportGenerator.d.ts.map +1 -0
- package/dist/services/htmlReportGenerator.js +5110 -0
- package/dist/services/htmlReportGenerator.js.map +1 -0
- package/dist/services/ioNetworkWakeup.d.ts +27 -0
- package/dist/services/ioNetworkWakeup.d.ts.map +1 -0
- package/dist/services/ioNetworkWakeup.js +68 -0
- package/dist/services/ioNetworkWakeup.js.map +1 -0
- package/dist/services/jankDecisionTree.d.ts +39 -0
- package/dist/services/jankDecisionTree.d.ts.map +1 -0
- package/dist/services/jankDecisionTree.js +230 -0
- package/dist/services/jankDecisionTree.js.map +1 -0
- package/dist/services/legacyApiTelemetry.d.ts +28 -0
- package/dist/services/legacyApiTelemetry.d.ts.map +1 -0
- package/dist/services/legacyApiTelemetry.js +157 -0
- package/dist/services/legacyApiTelemetry.js.map +1 -0
- package/dist/services/memoryRootCause.d.ts +24 -0
- package/dist/services/memoryRootCause.d.ts.map +1 -0
- package/dist/services/memoryRootCause.js +70 -0
- package/dist/services/memoryRootCause.js.map +1 -0
- package/dist/services/multiTraceComparisonStore.d.ts +28 -0
- package/dist/services/multiTraceComparisonStore.d.ts.map +1 -0
- package/dist/services/multiTraceComparisonStore.js +220 -0
- package/dist/services/multiTraceComparisonStore.js.map +1 -0
- package/dist/services/oemSdkKnowledgeIngester.d.ts +62 -0
- package/dist/services/oemSdkKnowledgeIngester.d.ts.map +1 -0
- package/dist/services/oemSdkKnowledgeIngester.js +154 -0
- package/dist/services/oemSdkKnowledgeIngester.js.map +1 -0
- package/dist/services/perfettoLocalService.d.ts +25 -0
- package/dist/services/perfettoLocalService.d.ts.map +1 -0
- package/dist/services/perfettoLocalService.js +213 -0
- package/dist/services/perfettoLocalService.js.map +1 -0
- package/dist/services/perfettoService.d.ts +39 -0
- package/dist/services/perfettoService.d.ts.map +1 -0
- package/dist/services/perfettoService.js +330 -0
- package/dist/services/perfettoService.js.map +1 -0
- package/dist/services/perfettoSqlDocs.d.ts +94 -0
- package/dist/services/perfettoSqlDocs.d.ts.map +1 -0
- package/dist/services/perfettoSqlDocs.js +222 -0
- package/dist/services/perfettoSqlDocs.js.map +1 -0
- package/dist/services/perfettoSqlSkill.d.ts +263 -0
- package/dist/services/perfettoSqlSkill.d.ts.map +1 -0
- package/dist/services/perfettoSqlSkill.js +3731 -0
- package/dist/services/perfettoSqlSkill.js.map +1 -0
- package/dist/services/perfettoStdlibScanner.d.ts +66 -0
- package/dist/services/perfettoStdlibScanner.d.ts.map +1 -0
- package/dist/services/perfettoStdlibScanner.js +345 -0
- package/dist/services/perfettoStdlibScanner.js.map +1 -0
- package/dist/services/persistAgentSession.d.ts +43 -0
- package/dist/services/persistAgentSession.d.ts.map +1 -0
- package/dist/services/persistAgentSession.js +146 -0
- package/dist/services/persistAgentSession.js.map +1 -0
- package/dist/services/pipelineDocService.d.ts +83 -0
- package/dist/services/pipelineDocService.d.ts.map +1 -0
- package/dist/services/pipelineDocService.js +417 -0
- package/dist/services/pipelineDocService.js.map +1 -0
- package/dist/services/pipelineSkillLoader.d.ts +173 -0
- package/dist/services/pipelineSkillLoader.d.ts.map +1 -0
- package/dist/services/pipelineSkillLoader.js +301 -0
- package/dist/services/pipelineSkillLoader.js.map +1 -0
- package/dist/services/portPool.d.ts +85 -0
- package/dist/services/portPool.d.ts.map +1 -0
- package/dist/services/portPool.js +221 -0
- package/dist/services/portPool.js.map +1 -0
- package/dist/services/processIdentity/identityGate.d.ts +27 -0
- package/dist/services/processIdentity/identityGate.d.ts.map +1 -0
- package/dist/services/processIdentity/identityGate.js +284 -0
- package/dist/services/processIdentity/identityGate.js.map +1 -0
- package/dist/services/processIdentity/types.d.ts +49 -0
- package/dist/services/processIdentity/types.d.ts.map +1 -0
- package/dist/services/processIdentity/types.js +16 -0
- package/dist/services/processIdentity/types.js.map +1 -0
- package/dist/services/processRss.d.ts +10 -0
- package/dist/services/processRss.d.ts.map +1 -0
- package/dist/services/processRss.js +78 -0
- package/dist/services/processRss.js.map +1 -0
- package/dist/services/promptTemplateService.d.ts +68 -0
- package/dist/services/promptTemplateService.d.ts.map +1 -0
- package/dist/services/promptTemplateService.js +196 -0
- package/dist/services/promptTemplateService.js.map +1 -0
- package/dist/services/providerManager/connectionTester.d.ts +3 -0
- package/dist/services/providerManager/connectionTester.d.ts.map +1 -0
- package/dist/services/providerManager/connectionTester.js +479 -0
- package/dist/services/providerManager/connectionTester.js.map +1 -0
- package/dist/services/providerManager/envIsolation.d.ts +3 -0
- package/dist/services/providerManager/envIsolation.d.ts.map +1 -0
- package/dist/services/providerManager/envIsolation.js +31 -0
- package/dist/services/providerManager/envIsolation.js.map +1 -0
- package/dist/services/providerManager/index.d.ts +9 -0
- package/dist/services/providerManager/index.d.ts.map +1 -0
- package/dist/services/providerManager/index.js +40 -0
- package/dist/services/providerManager/index.js.map +1 -0
- package/dist/services/providerManager/localSecretStore.d.ts +32 -0
- package/dist/services/providerManager/localSecretStore.d.ts.map +1 -0
- package/dist/services/providerManager/localSecretStore.js +338 -0
- package/dist/services/providerManager/localSecretStore.js.map +1 -0
- package/dist/services/providerManager/providerService.d.ts +31 -0
- package/dist/services/providerManager/providerService.d.ts.map +1 -0
- package/dist/services/providerManager/providerService.js +460 -0
- package/dist/services/providerManager/providerService.js.map +1 -0
- package/dist/services/providerManager/providerSnapshot.d.ts +30 -0
- package/dist/services/providerManager/providerSnapshot.d.ts.map +1 -0
- package/dist/services/providerManager/providerSnapshot.js +224 -0
- package/dist/services/providerManager/providerSnapshot.js.map +1 -0
- package/dist/services/providerManager/providerStore.d.ts +31 -0
- package/dist/services/providerManager/providerStore.d.ts.map +1 -0
- package/dist/services/providerManager/providerStore.js +553 -0
- package/dist/services/providerManager/providerStore.js.map +1 -0
- package/dist/services/providerManager/templates.d.ts +3 -0
- package/dist/services/providerManager/templates.d.ts.map +1 -0
- package/dist/services/providerManager/templates.js +328 -0
- package/dist/services/providerManager/templates.js.map +1 -0
- package/dist/services/providerManager/types.d.ts +119 -0
- package/dist/services/providerManager/types.d.ts.map +1 -0
- package/dist/services/providerManager/types.js +5 -0
- package/dist/services/providerManager/types.js.map +1 -0
- package/dist/services/ragStore.d.ts +60 -0
- package/dist/services/ragStore.d.ts.map +1 -0
- package/dist/services/ragStore.js +297 -0
- package/dist/services/ragStore.js.map +1 -0
- package/dist/services/rbac.d.ts +19 -0
- package/dist/services/rbac.d.ts.map +1 -0
- package/dist/services/rbac.js +153 -0
- package/dist/services/rbac.js.map +1 -0
- package/dist/services/renderingPipelineDetectionSkillGenerator.d.ts +3 -0
- package/dist/services/renderingPipelineDetectionSkillGenerator.d.ts.map +1 -0
- package/dist/services/renderingPipelineDetectionSkillGenerator.js +1120 -0
- package/dist/services/renderingPipelineDetectionSkillGenerator.js.map +1 -0
- package/dist/services/renderingPipelineTeachingService.d.ts +33 -0
- package/dist/services/renderingPipelineTeachingService.d.ts.map +1 -0
- package/dist/services/renderingPipelineTeachingService.js +1312 -0
- package/dist/services/renderingPipelineTeachingService.js.map +1 -0
- package/dist/services/reportCausalMapAssets.d.ts +3 -0
- package/dist/services/reportCausalMapAssets.d.ts.map +1 -0
- package/dist/services/reportCausalMapAssets.js +898 -0
- package/dist/services/reportCausalMapAssets.js.map +1 -0
- package/dist/services/reportGenerator.d.ts +54 -0
- package/dist/services/reportGenerator.d.ts.map +1 -0
- package/dist/services/reportGenerator.js +241 -0
- package/dist/services/reportGenerator.js.map +1 -0
- package/dist/services/resourceOwnership.d.ts +21 -0
- package/dist/services/resourceOwnership.d.ts.map +1 -0
- package/dist/services/resourceOwnership.js +50 -0
- package/dist/services/resourceOwnership.js.map +1 -0
- package/dist/services/resultExportService.d.ts +66 -0
- package/dist/services/resultExportService.d.ts.map +1 -0
- package/dist/services/resultExportService.js +170 -0
- package/dist/services/resultExportService.js.map +1 -0
- package/dist/services/runtimeSnapshotStore.d.ts +19 -0
- package/dist/services/runtimeSnapshotStore.d.ts.map +1 -0
- package/dist/services/runtimeSnapshotStore.js +222 -0
- package/dist/services/runtimeSnapshotStore.js.map +1 -0
- package/dist/services/sceneReport/sceneReportMemoryCache.d.ts +38 -0
- package/dist/services/sceneReport/sceneReportMemoryCache.d.ts.map +1 -0
- package/dist/services/sceneReport/sceneReportMemoryCache.js +55 -0
- package/dist/services/sceneReport/sceneReportMemoryCache.js.map +1 -0
- package/dist/services/sceneReport/sceneReportStore.d.ts +41 -0
- package/dist/services/sceneReport/sceneReportStore.d.ts.map +1 -0
- package/dist/services/sceneReport/sceneReportStore.js +248 -0
- package/dist/services/sceneReport/sceneReportStore.js.map +1 -0
- package/dist/services/scopedKnowledgeStore.d.ts +45 -0
- package/dist/services/scopedKnowledgeStore.d.ts.map +1 -0
- package/dist/services/scopedKnowledgeStore.js +225 -0
- package/dist/services/scopedKnowledgeStore.js.map +1 -0
- package/dist/services/sessionLogger.d.ts +142 -0
- package/dist/services/sessionLogger.d.ts.map +1 -0
- package/dist/services/sessionLogger.js +566 -0
- package/dist/services/sessionLogger.js.map +1 -0
- package/dist/services/sessionPersistenceService.d.ts +190 -0
- package/dist/services/sessionPersistenceService.d.ts.map +1 -0
- package/dist/services/sessionPersistenceService.js +737 -0
- package/dist/services/sessionPersistenceService.js.map +1 -0
- package/dist/services/skillEngine/answerGenerator.d.ts +102 -0
- package/dist/services/skillEngine/answerGenerator.d.ts.map +1 -0
- package/dist/services/skillEngine/answerGenerator.js +508 -0
- package/dist/services/skillEngine/answerGenerator.js.map +1 -0
- package/dist/services/skillEngine/displayContractValidator.d.ts +26 -0
- package/dist/services/skillEngine/displayContractValidator.d.ts.map +1 -0
- package/dist/services/skillEngine/displayContractValidator.js +232 -0
- package/dist/services/skillEngine/displayContractValidator.js.map +1 -0
- package/dist/services/skillEngine/eventCollector.d.ts +96 -0
- package/dist/services/skillEngine/eventCollector.d.ts.map +1 -0
- package/dist/services/skillEngine/eventCollector.js +226 -0
- package/dist/services/skillEngine/eventCollector.js.map +1 -0
- package/dist/services/skillEngine/expressionUtils.d.ts +25 -0
- package/dist/services/skillEngine/expressionUtils.d.ts.map +1 -0
- package/dist/services/skillEngine/expressionUtils.js +66 -0
- package/dist/services/skillEngine/expressionUtils.js.map +1 -0
- package/dist/services/skillEngine/index.d.ts +25 -0
- package/dist/services/skillEngine/index.d.ts.map +1 -0
- package/dist/services/skillEngine/index.js +98 -0
- package/dist/services/skillEngine/index.js.map +1 -0
- package/dist/services/skillEngine/skillAnalysisAdapter.d.ts +149 -0
- package/dist/services/skillEngine/skillAnalysisAdapter.d.ts.map +1 -0
- package/dist/services/skillEngine/skillAnalysisAdapter.js +752 -0
- package/dist/services/skillEngine/skillAnalysisAdapter.js.map +1 -0
- package/dist/services/skillEngine/skillExecutor.d.ts +371 -0
- package/dist/services/skillEngine/skillExecutor.d.ts.map +1 -0
- package/dist/services/skillEngine/skillExecutor.js +4129 -0
- package/dist/services/skillEngine/skillExecutor.js.map +1 -0
- package/dist/services/skillEngine/skillLoader.d.ts +163 -0
- package/dist/services/skillEngine/skillLoader.d.ts.map +1 -0
- package/dist/services/skillEngine/skillLoader.js +840 -0
- package/dist/services/skillEngine/skillLoader.js.map +1 -0
- package/dist/services/skillEngine/skillValidator.d.ts +53 -0
- package/dist/services/skillEngine/skillValidator.d.ts.map +1 -0
- package/dist/services/skillEngine/skillValidator.js +274 -0
- package/dist/services/skillEngine/skillValidator.js.map +1 -0
- package/dist/services/skillEngine/smartSummaryGenerator.d.ts +70 -0
- package/dist/services/skillEngine/smartSummaryGenerator.d.ts.map +1 -0
- package/dist/services/skillEngine/smartSummaryGenerator.js +324 -0
- package/dist/services/skillEngine/smartSummaryGenerator.js.map +1 -0
- package/dist/services/skillEngine/types.d.ts +584 -0
- package/dist/services/skillEngine/types.d.ts.map +1 -0
- package/dist/services/skillEngine/types.js +6 -0
- package/dist/services/skillEngine/types.js.map +1 -0
- package/dist/services/smartperfettoSqlPackage.d.ts +11 -0
- package/dist/services/smartperfettoSqlPackage.d.ts.map +1 -0
- package/dist/services/smartperfettoSqlPackage.js +168 -0
- package/dist/services/smartperfettoSqlPackage.js.map +1 -0
- package/dist/services/sqlGuardrailAnalyzer.d.ts +24 -0
- package/dist/services/sqlGuardrailAnalyzer.d.ts.map +1 -0
- package/dist/services/sqlGuardrailAnalyzer.js +362 -0
- package/dist/services/sqlGuardrailAnalyzer.js.map +1 -0
- package/dist/services/sqlKnowledgeBase.d.ts +236 -0
- package/dist/services/sqlKnowledgeBase.d.ts.map +1 -0
- package/dist/services/sqlKnowledgeBase.js +1109 -0
- package/dist/services/sqlKnowledgeBase.js.map +1 -0
- package/dist/services/sqlStdlibDependencyAnalyzer.d.ts +26 -0
- package/dist/services/sqlStdlibDependencyAnalyzer.d.ts.map +1 -0
- package/dist/services/sqlStdlibDependencyAnalyzer.js +486 -0
- package/dist/services/sqlStdlibDependencyAnalyzer.js.map +1 -0
- package/dist/services/sqlTemplateEngine.d.ts +134 -0
- package/dist/services/sqlTemplateEngine.d.ts.map +1 -0
- package/dist/services/sqlTemplateEngine.js +430 -0
- package/dist/services/sqlTemplateEngine.js.map +1 -0
- package/dist/services/sqlValidator.d.ts +21 -0
- package/dist/services/sqlValidator.d.ts.map +1 -0
- package/dist/services/sqlValidator.js +175 -0
- package/dist/services/sqlValidator.js.map +1 -0
- package/dist/services/standardMetricBackfillService.d.ts +23 -0
- package/dist/services/standardMetricBackfillService.d.ts.map +1 -0
- package/dist/services/standardMetricBackfillService.js +196 -0
- package/dist/services/standardMetricBackfillService.js.map +1 -0
- package/dist/services/startupAnrMethodGraph.d.ts +20 -0
- package/dist/services/startupAnrMethodGraph.d.ts.map +1 -0
- package/dist/services/startupAnrMethodGraph.js +70 -0
- package/dist/services/startupAnrMethodGraph.js.map +1 -0
- package/dist/services/stdlibSkillCoverage.d.ts +23 -0
- package/dist/services/stdlibSkillCoverage.d.ts.map +1 -0
- package/dist/services/stdlibSkillCoverage.js +289 -0
- package/dist/services/stdlibSkillCoverage.js.map +1 -0
- package/dist/services/threadSchedContext.d.ts +49 -0
- package/dist/services/threadSchedContext.d.ts.map +1 -0
- package/dist/services/threadSchedContext.js +84 -0
- package/dist/services/threadSchedContext.js.map +1 -0
- package/dist/services/timelineBinning.d.ts +44 -0
- package/dist/services/timelineBinning.d.ts.map +1 -0
- package/dist/services/timelineBinning.js +150 -0
- package/dist/services/timelineBinning.js.map +1 -0
- package/dist/services/traceConfigGenerator.d.ts +36 -0
- package/dist/services/traceConfigGenerator.d.ts.map +1 -0
- package/dist/services/traceConfigGenerator.js +110 -0
- package/dist/services/traceConfigGenerator.js.map +1 -0
- package/dist/services/traceFormatDetector.d.ts +39 -0
- package/dist/services/traceFormatDetector.d.ts.map +1 -0
- package/dist/services/traceFormatDetector.js +287 -0
- package/dist/services/traceFormatDetector.js.map +1 -0
- package/dist/services/traceMetadataStore.d.ts +32 -0
- package/dist/services/traceMetadataStore.d.ts.map +1 -0
- package/dist/services/traceMetadataStore.js +375 -0
- package/dist/services/traceMetadataStore.js.map +1 -0
- package/dist/services/traceProcessorConnectionModel.d.ts +32 -0
- package/dist/services/traceProcessorConnectionModel.d.ts.map +1 -0
- package/dist/services/traceProcessorConnectionModel.js +38 -0
- package/dist/services/traceProcessorConnectionModel.js.map +1 -0
- package/dist/services/traceProcessorHttpRpcClient.d.ts +22 -0
- package/dist/services/traceProcessorHttpRpcClient.d.ts.map +1 -0
- package/dist/services/traceProcessorHttpRpcClient.js +89 -0
- package/dist/services/traceProcessorHttpRpcClient.js.map +1 -0
- package/dist/services/traceProcessorLeaseModeDecision.d.ts +52 -0
- package/dist/services/traceProcessorLeaseModeDecision.d.ts.map +1 -0
- package/dist/services/traceProcessorLeaseModeDecision.js +150 -0
- package/dist/services/traceProcessorLeaseModeDecision.js.map +1 -0
- package/dist/services/traceProcessorLeaseStore.d.ts +88 -0
- package/dist/services/traceProcessorLeaseStore.d.ts.map +1 -0
- package/dist/services/traceProcessorLeaseStore.js +463 -0
- package/dist/services/traceProcessorLeaseStore.js.map +1 -0
- package/dist/services/traceProcessorProtobuf.d.ts +56 -0
- package/dist/services/traceProcessorProtobuf.d.ts.map +1 -0
- package/dist/services/traceProcessorProtobuf.js +442 -0
- package/dist/services/traceProcessorProtobuf.js.map +1 -0
- package/dist/services/traceProcessorRamBudget.d.ts +55 -0
- package/dist/services/traceProcessorRamBudget.d.ts.map +1 -0
- package/dist/services/traceProcessorRamBudget.js +140 -0
- package/dist/services/traceProcessorRamBudget.js.map +1 -0
- package/dist/services/traceProcessorService.d.ts +223 -0
- package/dist/services/traceProcessorService.d.ts.map +1 -0
- package/dist/services/traceProcessorService.js +838 -0
- package/dist/services/traceProcessorService.js.map +1 -0
- package/dist/services/traceProcessorSqlWorker.d.ts +49 -0
- package/dist/services/traceProcessorSqlWorker.d.ts.map +1 -0
- package/dist/services/traceProcessorSqlWorker.js +218 -0
- package/dist/services/traceProcessorSqlWorker.js.map +1 -0
- package/dist/services/traceProcessorSqlWorkerThread.d.ts +2 -0
- package/dist/services/traceProcessorSqlWorkerThread.d.ts.map +1 -0
- package/dist/services/traceProcessorSqlWorkerThread.js +35 -0
- package/dist/services/traceProcessorSqlWorkerThread.js.map +1 -0
- package/dist/services/traceSummaryV2.d.ts +47 -0
- package/dist/services/traceSummaryV2.d.ts.map +1 -0
- package/dist/services/traceSummaryV2.js +241 -0
- package/dist/services/traceSummaryV2.js.map +1 -0
- package/dist/services/traceUploadLimit.d.ts +3 -0
- package/dist/services/traceUploadLimit.d.ts.map +1 -0
- package/dist/services/traceUploadLimit.js +24 -0
- package/dist/services/traceUploadLimit.js.map +1 -0
- package/dist/services/workingTraceProcessor.d.ts +226 -0
- package/dist/services/workingTraceProcessor.d.ts.map +1 -0
- package/dist/services/workingTraceProcessor.js +1093 -0
- package/dist/services/workingTraceProcessor.js.map +1 -0
- package/dist/trace-processor-pin.env +39 -0
- package/dist/types/analysis.d.ts +511 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +112 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/ciGateContracts.d.ts +63 -0
- package/dist/types/ciGateContracts.d.ts.map +1 -0
- package/dist/types/ciGateContracts.js +6 -0
- package/dist/types/ciGateContracts.js.map +1 -0
- package/dist/types/dataContract.d.ts +624 -0
- package/dist/types/dataContract.d.ts.map +1 -0
- package/dist/types/dataContract.js +775 -0
- package/dist/types/dataContract.js.map +1 -0
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/multiTraceComparison.d.ts +215 -0
- package/dist/types/multiTraceComparison.d.ts.map +1 -0
- package/dist/types/multiTraceComparison.js +33 -0
- package/dist/types/multiTraceComparison.js.map +1 -0
- package/dist/types/perfettoSql.d.ts +596 -0
- package/dist/types/perfettoSql.d.ts.map +1 -0
- package/dist/types/perfettoSql.js +28 -0
- package/dist/types/perfettoSql.js.map +1 -0
- package/dist/types/sparkContracts.d.ts +1642 -0
- package/dist/types/sparkContracts.d.ts.map +1 -0
- package/dist/types/sparkContracts.js +25 -0
- package/dist/types/sparkContracts.js.map +1 -0
- package/dist/types/teaching.types.d.ts +395 -0
- package/dist/types/teaching.types.d.ts.map +1 -0
- package/dist/types/teaching.types.js +300 -0
- package/dist/types/teaching.types.js.map +1 -0
- package/dist/utils/analysisNarrative.d.ts +24 -0
- package/dist/utils/analysisNarrative.d.ts.map +1 -0
- package/dist/utils/analysisNarrative.js +101 -0
- package/dist/utils/analysisNarrative.js.map +1 -0
- package/dist/utils/atomicFileWriter.d.ts +5 -0
- package/dist/utils/atomicFileWriter.d.ts.map +1 -0
- package/dist/utils/atomicFileWriter.js +90 -0
- package/dist/utils/atomicFileWriter.js.map +1 -0
- package/dist/utils/epipeGuard.d.ts +10 -0
- package/dist/utils/epipeGuard.d.ts.map +1 -0
- package/dist/utils/epipeGuard.js +40 -0
- package/dist/utils/epipeGuard.js.map +1 -0
- package/dist/utils/httpValue.d.ts +2 -0
- package/dist/utils/httpValue.d.ts.map +1 -0
- package/dist/utils/httpValue.js +24 -0
- package/dist/utils/httpValue.js.map +1 -0
- package/dist/utils/llmJson.d.ts +33 -0
- package/dist/utils/llmJson.d.ts.map +1 -0
- package/dist/utils/llmJson.js +148 -0
- package/dist/utils/llmJson.js.map +1 -0
- package/dist/utils/llmPrivacy.d.ts +15 -0
- package/dist/utils/llmPrivacy.d.ts.map +1 -0
- package/dist/utils/llmPrivacy.js +126 -0
- package/dist/utils/llmPrivacy.js.map +1 -0
- package/dist/utils/logger.d.ts +24 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +68 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/traceProcessorRowUtils.d.ts +11 -0
- package/dist/utils/traceProcessorRowUtils.d.ts.map +1 -0
- package/dist/utils/traceProcessorRowUtils.js +64 -0
- package/dist/utils/traceProcessorRowUtils.js.map +1 -0
- package/dist/utils/uuid.d.ts +3 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +7 -0
- package/dist/utils/uuid.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +53 -0
- package/dist/version.js.map +1 -0
- package/package.json +128 -0
- package/prebuilts/trace_processor/README.md +20 -0
- package/prebuilts/trace_processor/darwin-arm64/trace_processor_shell +0 -0
- package/prebuilts/trace_processor/linux-x64/trace_processor_shell +0 -0
- package/prebuilts/trace_processor/win32-x64/trace_processor_shell.exe +0 -0
- package/skills/README.md +686 -0
- package/skills/_template/README.md +43 -0
- package/skills/_template/atomic_A_template.skill.yaml +79 -0
- package/skills/_template/atomic_B_template.skill.yaml +61 -0
- package/skills/_template/atomic_S_template.skill.yaml +92 -0
- package/skills/_template/composite_S_template.skill.yaml +198 -0
- package/skills/_template/vendor_override_template.yaml +72 -0
- package/skills/atomic/android_bitmap_memory_per_process.skill.yaml +203 -0
- package/skills/atomic/android_dvfs_counter_stats.skill.yaml +60 -0
- package/skills/atomic/android_gpu_work_period_track.skill.yaml +55 -0
- package/skills/atomic/android_heap_graph_summary.skill.yaml +232 -0
- package/skills/atomic/android_job_scheduler_events.skill.yaml +58 -0
- package/skills/atomic/android_kernel_wakelock_summary.skill.yaml +57 -0
- package/skills/atomic/anr_context_in_range.skill.yaml +99 -0
- package/skills/atomic/anr_main_thread_blocking.skill.yaml +513 -0
- package/skills/atomic/app_frame_production.skill.yaml +147 -0
- package/skills/atomic/app_lifecycle_in_range.skill.yaml +142 -0
- package/skills/atomic/app_process_starts_summary.skill.yaml +75 -0
- package/skills/atomic/battery_charge_timeline.skill.yaml +72 -0
- package/skills/atomic/battery_doze_state_timeline.skill.yaml +83 -0
- package/skills/atomic/binder_blocking_in_range.skill.yaml +99 -0
- package/skills/atomic/binder_in_range.skill.yaml +86 -0
- package/skills/atomic/binder_root_cause.skill.yaml +191 -0
- package/skills/atomic/binder_storm_detection.skill.yaml +394 -0
- package/skills/atomic/blocking_chain_analysis.skill.yaml +316 -0
- package/skills/atomic/buffer_transaction_lifecycle.skill.yaml +256 -0
- package/skills/atomic/cache_miss_impact.skill.yaml +115 -0
- package/skills/atomic/chrome_scroll_jank_frame_timeline.skill.yaml +337 -0
- package/skills/atomic/compose_recomposition_hotspot.skill.yaml +403 -0
- package/skills/atomic/consumer_jank_detection.skill.yaml +556 -0
- package/skills/atomic/cpu_cluster_load_in_range.skill.yaml +138 -0
- package/skills/atomic/cpu_cluster_mapping_view.skill.yaml +47 -0
- package/skills/atomic/cpu_freq_timeline.skill.yaml +143 -0
- package/skills/atomic/cpu_idle_analysis.skill.yaml +101 -0
- package/skills/atomic/cpu_idle_state_residency.skill.yaml +54 -0
- package/skills/atomic/cpu_load_in_range.skill.yaml +145 -0
- package/skills/atomic/cpu_process_utilization_period.skill.yaml +51 -0
- package/skills/atomic/cpu_slice_analysis.skill.yaml +118 -0
- package/skills/atomic/cpu_thread_utilization_period.skill.yaml +68 -0
- package/skills/atomic/cpu_throttling_in_range.skill.yaml +131 -0
- package/skills/atomic/cpu_time_per_frame.skill.yaml +59 -0
- package/skills/atomic/cpu_topology_detection.skill.yaml +233 -0
- package/skills/atomic/cpu_topology_view.skill.yaml +272 -0
- package/skills/atomic/cpu_utilization_per_period.skill.yaml +55 -0
- package/skills/atomic/device_state_snapshot.skill.yaml +171 -0
- package/skills/atomic/device_state_timeline.skill.yaml +308 -0
- package/skills/atomic/fence_wait_decomposition.skill.yaml +314 -0
- package/skills/atomic/fpsgo_analysis.skill.yaml +80 -0
- package/skills/atomic/frame_blocking_calls.skill.yaml +215 -0
- package/skills/atomic/frame_overrun_summary.skill.yaml +68 -0
- package/skills/atomic/frame_pipeline_variance.skill.yaml +124 -0
- package/skills/atomic/frame_production_gap.skill.yaml +337 -0
- package/skills/atomic/frame_ui_time_breakdown.skill.yaml +58 -0
- package/skills/atomic/futex_wait_distribution.skill.yaml +117 -0
- package/skills/atomic/game_fps_analysis.skill.yaml +385 -0
- package/skills/atomic/game_main_loop_jank.skill.yaml +309 -0
- package/skills/atomic/gc_events_in_range.skill.yaml +118 -0
- package/skills/atomic/gl_standalone_swap_jank.skill.yaml +259 -0
- package/skills/atomic/gpu_freq_in_range.skill.yaml +99 -0
- package/skills/atomic/gpu_frequency_analysis.skill.yaml +94 -0
- package/skills/atomic/gpu_metrics.skill.yaml +411 -0
- package/skills/atomic/gpu_power_state_analysis.skill.yaml +117 -0
- package/skills/atomic/gpu_render_in_range.skill.yaml +104 -0
- package/skills/atomic/input_events_in_range.skill.yaml +130 -0
- package/skills/atomic/input_to_frame_latency.skill.yaml +436 -0
- package/skills/atomic/linux_irq_summary.skill.yaml +66 -0
- package/skills/atomic/linux_perf_counter_hotspots.skill.yaml +108 -0
- package/skills/atomic/linux_process_rss_swap_timeline.skill.yaml +96 -0
- package/skills/atomic/linux_runqueue_depth_timeline.skill.yaml +132 -0
- package/skills/atomic/linux_sched_latency_distribution.skill.yaml +130 -0
- package/skills/atomic/lmk_kill_attribution.skill.yaml +72 -0
- package/skills/atomic/lock_contention_in_range.skill.yaml +402 -0
- package/skills/atomic/logcat_analysis.skill.yaml +85 -0
- package/skills/atomic/main_thread_file_io_in_range.skill.yaml +116 -0
- package/skills/atomic/main_thread_sched_latency_in_range.skill.yaml +91 -0
- package/skills/atomic/main_thread_slices_in_range.skill.yaml +129 -0
- package/skills/atomic/main_thread_states_in_range.skill.yaml +105 -0
- package/skills/atomic/mali_gpu_power_state.skill.yaml +54 -0
- package/skills/atomic/media_codec_activity.skill.yaml +236 -0
- package/skills/atomic/memory_growth_detector.skill.yaml +146 -0
- package/skills/atomic/memory_pressure_in_range.skill.yaml +382 -0
- package/skills/atomic/memory_rss_high_watermark.skill.yaml +62 -0
- package/skills/atomic/native_heap_breakdown.skill.yaml +80 -0
- package/skills/atomic/oom_adjuster_score_timeline.skill.yaml +77 -0
- package/skills/atomic/page_fault_in_range.skill.yaml +113 -0
- package/skills/atomic/pipeline_4feature_scoring.skill.yaml +299 -0
- package/skills/atomic/pipeline_key_slices_overlay.skill.yaml +108 -0
- package/skills/atomic/present_fence_timing.skill.yaml +156 -0
- package/skills/atomic/process_identity_resolver.skill.yaml +503 -0
- package/skills/atomic/render_pipeline_latency.skill.yaml +120 -0
- package/skills/atomic/render_thread_slices.skill.yaml +107 -0
- package/skills/atomic/rendering_pipeline_detection.skill.yaml +770 -0
- package/skills/atomic/rn_bridge_to_frame_jank.skill.yaml +209 -0
- package/skills/atomic/rn_fabric_render_jank.skill.yaml +213 -0
- package/skills/atomic/sched_latency_in_range.skill.yaml +94 -0
- package/skills/atomic/scheduling_analysis.skill.yaml +103 -0
- package/skills/atomic/scroll_response_latency.skill.yaml +131 -0
- package/skills/atomic/sf_composition_in_range.skill.yaml +99 -0
- package/skills/atomic/sf_frame_consumption.skill.yaml +133 -0
- package/skills/atomic/sf_layer_count_in_range.skill.yaml +155 -0
- package/skills/atomic/startup_binder_in_range.skill.yaml +106 -0
- package/skills/atomic/startup_binder_pool_analysis.skill.yaml +115 -0
- package/skills/atomic/startup_breakdown_in_range.skill.yaml +115 -0
- package/skills/atomic/startup_class_loading_in_range.skill.yaml +93 -0
- package/skills/atomic/startup_cpu_placement_timeline.skill.yaml +135 -0
- package/skills/atomic/startup_critical_tasks.skill.yaml +247 -0
- package/skills/atomic/startup_events_in_range.skill.yaml +251 -0
- package/skills/atomic/startup_freq_rampup.skill.yaml +110 -0
- package/skills/atomic/startup_gc_in_range.skill.yaml +97 -0
- package/skills/atomic/startup_hot_slice_states.skill.yaml +116 -0
- package/skills/atomic/startup_jit_analysis.skill.yaml +158 -0
- package/skills/atomic/startup_main_thread_binder_blocking_in_range.skill.yaml +114 -0
- package/skills/atomic/startup_main_thread_file_io_in_range.skill.yaml +117 -0
- package/skills/atomic/startup_main_thread_slices_in_range.skill.yaml +138 -0
- package/skills/atomic/startup_main_thread_states_in_range.skill.yaml +100 -0
- package/skills/atomic/startup_main_thread_sync_binder_in_range.skill.yaml +103 -0
- package/skills/atomic/startup_sched_latency_in_range.skill.yaml +93 -0
- package/skills/atomic/startup_slow_reasons.skill.yaml +625 -0
- package/skills/atomic/startup_thread_blocking_graph.skill.yaml +181 -0
- package/skills/atomic/system_load_in_range.skill.yaml +95 -0
- package/skills/atomic/task_migration_in_range.skill.yaml +115 -0
- package/skills/atomic/textureview_producer_frame_timing.skill.yaml +302 -0
- package/skills/atomic/thermal_predictor.skill.yaml +182 -0
- package/skills/atomic/thread_affinity_violation.skill.yaml +139 -0
- package/skills/atomic/touch_to_display_latency.skill.yaml +130 -0
- package/skills/atomic/util_tracking_analysis.skill.yaml +89 -0
- package/skills/atomic/vrr_detection.skill.yaml +301 -0
- package/skills/atomic/vsync_alignment_in_range.skill.yaml +116 -0
- package/skills/atomic/vsync_config.skill.yaml +147 -0
- package/skills/atomic/vsync_period_detection.skill.yaml +178 -0
- package/skills/atomic/vsync_phase_alignment.skill.yaml +255 -0
- package/skills/atomic/wakelock_tracking.skill.yaml +276 -0
- package/skills/atomic/wattson_app_startup_power.skill.yaml +66 -0
- package/skills/atomic/wattson_rails_power_breakdown.skill.yaml +70 -0
- package/skills/atomic/wattson_thread_power_attribution.skill.yaml +74 -0
- package/skills/atomic/webview_v8_analysis.skill.yaml +297 -0
- package/skills/comparison/multi_trace_result_comparison.skill.yaml +60 -0
- package/skills/composite/anr_analysis.skill.yaml +889 -0
- package/skills/composite/anr_detail.skill.yaml +796 -0
- package/skills/composite/battery_drain_attribution.skill.yaml +134 -0
- package/skills/composite/binder_analysis.skill.yaml +742 -0
- package/skills/composite/binder_detail.skill.yaml +388 -0
- package/skills/composite/block_io_analysis.skill.yaml +559 -0
- package/skills/composite/click_response_analysis.skill.yaml +915 -0
- package/skills/composite/click_response_detail.skill.yaml +800 -0
- package/skills/composite/cpu_analysis.skill.yaml +960 -0
- package/skills/composite/dmabuf_analysis.skill.yaml +622 -0
- package/skills/composite/flutter_scrolling_analysis.skill.yaml +443 -0
- package/skills/composite/gc_analysis.skill.yaml +744 -0
- package/skills/composite/global_trace_sanity_check.skill.yaml +716 -0
- package/skills/composite/gpu_analysis.skill.yaml +700 -0
- package/skills/composite/io_pressure.skill.yaml +654 -0
- package/skills/composite/irq_analysis.skill.yaml +696 -0
- package/skills/composite/jank_frame_detail.skill.yaml +2065 -0
- package/skills/composite/lmk_analysis.skill.yaml +626 -0
- package/skills/composite/lock_binder_wait.skill.yaml +95 -0
- package/skills/composite/lock_contention_analysis.skill.yaml +878 -0
- package/skills/composite/memory_analysis.skill.yaml +718 -0
- package/skills/composite/navigation_analysis.skill.yaml +901 -0
- package/skills/composite/network_analysis.skill.yaml +760 -0
- package/skills/composite/power_consumption_overview.skill.yaml +143 -0
- package/skills/composite/scene_reconstruction.skill.yaml +2788 -0
- package/skills/composite/scroll_session_analysis.skill.yaml +496 -0
- package/skills/composite/scrolling_analysis.skill.yaml +3295 -0
- package/skills/composite/startup_analysis.skill.yaml +1172 -0
- package/skills/composite/startup_detail.skill.yaml +1339 -0
- package/skills/composite/state_timeline.skill.yaml +1021 -0
- package/skills/composite/surfaceflinger_analysis.skill.yaml +808 -0
- package/skills/composite/suspend_wakeup_analysis.skill.yaml +698 -0
- package/skills/composite/thermal_throttling.skill.yaml +964 -0
- package/skills/composite/thermal_throttling_chain.skill.yaml +147 -0
- package/skills/composite/webview_drawfunctor_jank_chain.skill.yaml +343 -0
- package/skills/config/conclusion_scene_templates.base.yaml +181 -0
- package/skills/config/conclusion_scene_templates.yaml +17 -0
- package/skills/deep/callstack_analysis.skill.yaml +436 -0
- package/skills/deep/cpu_profiling.skill.yaml +617 -0
- package/skills/docs/scrolling.sop.md +312 -0
- package/skills/docs/startup.sop.md +382 -0
- package/skills/docs/upstream-perfetto-ai-skill-translation.sop.md +50 -0
- package/skills/fragments/target_threads.sql +34 -0
- package/skills/fragments/thread_states_quadrant.sql +26 -0
- package/skills/fragments/vsync_config.sql +32 -0
- package/skills/modules/app/launcher_module.skill.yaml +473 -0
- package/skills/modules/app/systemui_module.skill.yaml +565 -0
- package/skills/modules/app/third_party_module.skill.yaml +275 -0
- package/skills/modules/framework/ams_module.skill.yaml +239 -0
- package/skills/modules/framework/art_module.skill.yaml +266 -0
- package/skills/modules/framework/choreographer_module.skill.yaml +419 -0
- package/skills/modules/framework/input_module.skill.yaml +219 -0
- package/skills/modules/framework/surfaceflinger_module.skill.yaml +343 -0
- package/skills/modules/framework/wms_module.skill.yaml +356 -0
- package/skills/modules/hardware/cpu_module.skill.yaml +300 -0
- package/skills/modules/hardware/gpu_module.skill.yaml +229 -0
- package/skills/modules/hardware/memory_module.skill.yaml +443 -0
- package/skills/modules/hardware/power_module.skill.yaml +377 -0
- package/skills/modules/hardware/thermal_module.skill.yaml +410 -0
- package/skills/modules/kernel/binder_module.skill.yaml +223 -0
- package/skills/modules/kernel/filesystem_module.skill.yaml +423 -0
- package/skills/modules/kernel/lock_contention_module.skill.yaml +424 -0
- package/skills/modules/kernel/scheduler_module.skill.yaml +247 -0
- package/skills/pipelines/_base.skill.yaml +103 -0
- package/skills/pipelines/android_pip_freeform.skill.yaml +224 -0
- package/skills/pipelines/android_view_mixed.skill.yaml +305 -0
- package/skills/pipelines/android_view_multi_window.skill.yaml +271 -0
- package/skills/pipelines/android_view_software.skill.yaml +172 -0
- package/skills/pipelines/android_view_standard_blast.skill.yaml +357 -0
- package/skills/pipelines/android_view_standard_legacy.skill.yaml +233 -0
- package/skills/pipelines/angle_gles_vulkan.skill.yaml +178 -0
- package/skills/pipelines/camera_pipeline.skill.yaml +215 -0
- package/skills/pipelines/chrome_browser_viz.skill.yaml +288 -0
- package/skills/pipelines/compose_standard.skill.yaml +250 -0
- package/skills/pipelines/flutter_surfaceview_impeller.skill.yaml +233 -0
- package/skills/pipelines/flutter_surfaceview_skia.skill.yaml +194 -0
- package/skills/pipelines/flutter_textureview.skill.yaml +219 -0
- package/skills/pipelines/game_engine.skill.yaml +311 -0
- package/skills/pipelines/hardware_buffer_renderer.skill.yaml +205 -0
- package/skills/pipelines/imagereader_pipeline.skill.yaml +237 -0
- package/skills/pipelines/index.yaml +122 -0
- package/skills/pipelines/opengl_es.skill.yaml +185 -0
- package/skills/pipelines/rn_new_arch.skill.yaml +126 -0
- package/skills/pipelines/rn_old_arch.skill.yaml +137 -0
- package/skills/pipelines/rn_skia.skill.yaml +115 -0
- package/skills/pipelines/software_compositing.skill.yaml +203 -0
- package/skills/pipelines/surface_control_api.skill.yaml +208 -0
- package/skills/pipelines/surfaceview_blast.skill.yaml +210 -0
- package/skills/pipelines/textureview_standard.skill.yaml +301 -0
- package/skills/pipelines/variable_refresh_rate.skill.yaml +264 -0
- package/skills/pipelines/video_overlay_hwc.skill.yaml +193 -0
- package/skills/pipelines/vulkan_native.skill.yaml +215 -0
- package/skills/pipelines/webview_gl_functor.skill.yaml +232 -0
- package/skills/pipelines/webview_surface_control.skill.yaml +187 -0
- package/skills/pipelines/webview_surfaceview_wrapper.skill.yaml +196 -0
- package/skills/pipelines/webview_textureview_custom.skill.yaml +201 -0
- package/skills/vendors/honor/startup.override.yaml +117 -0
- package/skills/vendors/mtk/startup.override.yaml +133 -0
- package/skills/vendors/oppo/startup.override.yaml +188 -0
- package/skills/vendors/pixel/startup.override.yaml +163 -0
- package/skills/vendors/qualcomm/startup.override.yaml +175 -0
- package/skills/vendors/samsung/startup.override.yaml +161 -0
- package/skills/vendors/vivo/startup.override.yaml +144 -0
- package/skills/vendors/xiaomi/startup.override.yaml +120 -0
- package/sql/smartperfetto/PACKAGE.json +24 -0
- package/sql/smartperfetto/binder/victim_to_server.sql +36 -0
- package/sql/smartperfetto/scrolling/jank_frames.sql +55 -0
- package/strategies/anr.strategy.md +200 -0
- package/strategies/arch-compose.template.md +10 -0
- package/strategies/arch-flutter.template.md +17 -0
- package/strategies/arch-standard.template.md +31 -0
- package/strategies/arch-webview.template.md +9 -0
- package/strategies/comparison-conclusion.template.md +36 -0
- package/strategies/comparison-methodology.template.md +41 -0
- package/strategies/comparison-result-methodology.template.md +35 -0
- package/strategies/game.strategy.md +121 -0
- package/strategies/general.strategy.md +48 -0
- package/strategies/interaction.strategy.md +149 -0
- package/strategies/knowledge-binder-ipc.template.md +59 -0
- package/strategies/knowledge-cpu-scheduler.template.md +67 -0
- package/strategies/knowledge-data-sources.template.md +738 -0
- package/strategies/knowledge-gc-dynamics.template.md +65 -0
- package/strategies/knowledge-harmonyos-rendering.template.md +54 -0
- package/strategies/knowledge-harmonyos-tools.template.md +73 -0
- package/strategies/knowledge-lock-contention.template.md +61 -0
- package/strategies/knowledge-pipeline-anchors.template.md +136 -0
- package/strategies/knowledge-pipeline-fences.template.md +158 -0
- package/strategies/knowledge-rendering-pipeline.template.md +170 -0
- package/strategies/knowledge-startup-root-causes.template.md +951 -0
- package/strategies/knowledge-thermal-throttling.template.md +53 -0
- package/strategies/linux.strategy.md +86 -0
- package/strategies/media.strategy.md +75 -0
- package/strategies/memory.strategy.md +94 -0
- package/strategies/multi-trace-result-comparison.strategy.md +96 -0
- package/strategies/network.strategy.md +80 -0
- package/strategies/overview.strategy.md +139 -0
- package/strategies/phase_hint_templates/misdiagnosis_vsync_vrr.template.yaml +37 -0
- package/strategies/pipeline.strategy.md +208 -0
- package/strategies/power.strategy.md +165 -0
- package/strategies/prompt-complexity-classifier.template.md +26 -0
- package/strategies/prompt-language-en.template.md +9 -0
- package/strategies/prompt-language-zh.template.md +8 -0
- package/strategies/prompt-methodology.template.md +183 -0
- package/strategies/prompt-output-format.template.md +115 -0
- package/strategies/prompt-quick.template.md +44 -0
- package/strategies/prompt-role.template.md +13 -0
- package/strategies/runtime-correctness.strategy.md +73 -0
- package/strategies/scroll-response.strategy.md +236 -0
- package/strategies/scrolling.strategy.md +467 -0
- package/strategies/selection-area.template.md +46 -0
- package/strategies/selection-slice.template.md +126 -0
- package/strategies/startup.strategy.md +694 -0
- package/strategies/teaching.strategy.md +176 -0
- package/strategies/touch-tracking.strategy.md +213 -0
|
@@ -0,0 +1,1363 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// Copyright (C) 2024-2026 Gracker (Chris)
|
|
4
|
+
// This file is part of SmartPerfetto. See LICENSE for details.
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.runEnterpriseWindowRegression = runEnterpriseWindowRegression;
|
|
10
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
13
|
+
const os_1 = __importDefault(require("os"));
|
|
14
|
+
const path_1 = __importDefault(require("path"));
|
|
15
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
16
|
+
const enterpriseSchema_1 = require("../services/enterpriseSchema");
|
|
17
|
+
const traceMetadataStore_1 = require("../services/traceMetadataStore");
|
|
18
|
+
const traceProcessorLeaseStore_1 = require("../services/traceProcessorLeaseStore");
|
|
19
|
+
const traceProcessorRamBudget_1 = require("../services/traceProcessorRamBudget");
|
|
20
|
+
const traceProcessorProtobuf_1 = require("../services/traceProcessorProtobuf");
|
|
21
|
+
const traceProcessorSqlWorker_1 = require("../services/traceProcessorSqlWorker");
|
|
22
|
+
const resourceOwnership_1 = require("../services/resourceOwnership");
|
|
23
|
+
const DEFAULT_TRACE_CANDIDATES = [
|
|
24
|
+
'../test-traces/launch_light.pftrace',
|
|
25
|
+
'test-traces/launch_light.pftrace',
|
|
26
|
+
'../test-traces/scroll_Standard-AOSP-App-Without-PreAnimation.pftrace',
|
|
27
|
+
'test-traces/scroll_Standard-AOSP-App-Without-PreAnimation.pftrace',
|
|
28
|
+
];
|
|
29
|
+
function printUsage() {
|
|
30
|
+
console.log('Usage: npx tsx src/scripts/verifyEnterpriseMultiTenantWindows.ts [options]');
|
|
31
|
+
console.log('');
|
|
32
|
+
console.log('Options:');
|
|
33
|
+
console.log(' --trace <path> Fixture trace path. Defaults to launch_light from test-traces.');
|
|
34
|
+
console.log(' --upload-root <path> Temporary upload root. Defaults to an OS temp dir.');
|
|
35
|
+
console.log(' --output <path> JSON report path. Defaults to backend/test-output.');
|
|
36
|
+
console.log(' --long-sql-ms <ms> Simulated long SQL window for D2 (default: 100).');
|
|
37
|
+
console.log(' --keep-temp Keep generated upload files.');
|
|
38
|
+
console.log(' --help Show this help.');
|
|
39
|
+
}
|
|
40
|
+
function parseArgs(argv) {
|
|
41
|
+
const options = {
|
|
42
|
+
keepTemp: false,
|
|
43
|
+
longSqlMs: 100,
|
|
44
|
+
};
|
|
45
|
+
for (let i = 0; i < argv.length; i += 1) {
|
|
46
|
+
const arg = argv[i];
|
|
47
|
+
const next = argv[i + 1];
|
|
48
|
+
if (arg === '--help') {
|
|
49
|
+
printUsage();
|
|
50
|
+
process.exit(0);
|
|
51
|
+
}
|
|
52
|
+
if (arg === '--keep-temp') {
|
|
53
|
+
options.keepTemp = true;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (arg === '--trace') {
|
|
57
|
+
if (!next)
|
|
58
|
+
throw new Error('--trace requires a value');
|
|
59
|
+
options.tracePath = path_1.default.resolve(process.cwd(), next);
|
|
60
|
+
i += 1;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (arg === '--upload-root') {
|
|
64
|
+
if (!next)
|
|
65
|
+
throw new Error('--upload-root requires a value');
|
|
66
|
+
options.uploadRoot = path_1.default.resolve(process.cwd(), next);
|
|
67
|
+
i += 1;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (arg === '--output') {
|
|
71
|
+
if (!next)
|
|
72
|
+
throw new Error('--output requires a value');
|
|
73
|
+
options.outputPath = path_1.default.resolve(process.cwd(), next);
|
|
74
|
+
i += 1;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (arg === '--long-sql-ms') {
|
|
78
|
+
if (!next)
|
|
79
|
+
throw new Error('--long-sql-ms requires a value');
|
|
80
|
+
const parsed = Number.parseInt(next, 10);
|
|
81
|
+
if (!Number.isFinite(parsed) || parsed < 1) {
|
|
82
|
+
throw new Error('--long-sql-ms must be a positive integer');
|
|
83
|
+
}
|
|
84
|
+
options.longSqlMs = parsed;
|
|
85
|
+
i += 1;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
throw new Error(`Unknown argument: ${arg}`);
|
|
89
|
+
}
|
|
90
|
+
return options;
|
|
91
|
+
}
|
|
92
|
+
function resolveDefaultTracePath() {
|
|
93
|
+
for (const candidate of DEFAULT_TRACE_CANDIDATES) {
|
|
94
|
+
const resolved = path_1.default.resolve(process.cwd(), candidate);
|
|
95
|
+
if (fs_1.default.existsSync(resolved))
|
|
96
|
+
return resolved;
|
|
97
|
+
}
|
|
98
|
+
throw new Error('No default trace fixture found. Pass --trace <path>.');
|
|
99
|
+
}
|
|
100
|
+
function context(label, input) {
|
|
101
|
+
return {
|
|
102
|
+
label,
|
|
103
|
+
context: {
|
|
104
|
+
tenantId: input.tenantId,
|
|
105
|
+
workspaceId: input.workspaceId,
|
|
106
|
+
userId: input.userId,
|
|
107
|
+
windowId: input.windowId,
|
|
108
|
+
authType: 'api_key',
|
|
109
|
+
roles: ['analyst'],
|
|
110
|
+
scopes: ['trace:read', 'trace:write', 'agent:run', 'report:read'],
|
|
111
|
+
requestId: `req-${label}`,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function leaseScope(wc) {
|
|
116
|
+
return {
|
|
117
|
+
tenantId: wc.context.tenantId,
|
|
118
|
+
workspaceId: wc.context.workspaceId,
|
|
119
|
+
userId: wc.context.userId,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function seedIdentity(db, wc) {
|
|
123
|
+
const now = Date.now();
|
|
124
|
+
const { tenantId, workspaceId, userId } = wc.context;
|
|
125
|
+
db.prepare(`
|
|
126
|
+
INSERT OR IGNORE INTO organizations (id, name, status, plan, created_at, updated_at)
|
|
127
|
+
VALUES (?, ?, 'active', 'enterprise', ?, ?)
|
|
128
|
+
`).run(tenantId, tenantId, now, now);
|
|
129
|
+
db.prepare(`
|
|
130
|
+
INSERT OR IGNORE INTO workspaces (id, tenant_id, name, created_at, updated_at)
|
|
131
|
+
VALUES (?, ?, ?, ?, ?)
|
|
132
|
+
`).run(workspaceId, tenantId, workspaceId, now, now);
|
|
133
|
+
db.prepare(`
|
|
134
|
+
INSERT OR IGNORE INTO users (id, tenant_id, email, display_name, idp_subject, created_at, updated_at)
|
|
135
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
136
|
+
`).run(userId, tenantId, `${userId}@example.test`, userId, `oidc|${tenantId}|${userId}`, now, now);
|
|
137
|
+
db.prepare(`
|
|
138
|
+
INSERT OR IGNORE INTO memberships (tenant_id, workspace_id, user_id, role, created_at)
|
|
139
|
+
VALUES (?, ?, ?, 'analyst', ?)
|
|
140
|
+
`).run(tenantId, workspaceId, userId, now);
|
|
141
|
+
}
|
|
142
|
+
function ensureProviderSnapshot(db, wc) {
|
|
143
|
+
const now = Date.now();
|
|
144
|
+
const providerSnapshotId = `provider-snapshot-${wc.context.tenantId}`;
|
|
145
|
+
db.prepare(`
|
|
146
|
+
INSERT OR IGNORE INTO provider_snapshots
|
|
147
|
+
(id, tenant_id, provider_id, snapshot_hash, runtime_kind, resolved_config_json, secret_version, created_at)
|
|
148
|
+
VALUES (?, ?, 'provider-regression', ?, 'claude-agent-sdk', ?, 'regression-v1', ?)
|
|
149
|
+
`).run(providerSnapshotId, wc.context.tenantId, `hash-${wc.context.tenantId}`, JSON.stringify({ models: { primary: 'regression-primary', light: 'regression-light' } }), now);
|
|
150
|
+
return providerSnapshotId;
|
|
151
|
+
}
|
|
152
|
+
async function sha256File(filePath) {
|
|
153
|
+
const buffer = await promises_1.default.readFile(filePath);
|
|
154
|
+
return crypto_1.default.createHash('sha256').update(buffer).digest('hex');
|
|
155
|
+
}
|
|
156
|
+
async function simulateUpload(db, wc, tracePath, originalName) {
|
|
157
|
+
seedIdentity(db, wc);
|
|
158
|
+
const tracesDir = (0, traceMetadataStore_1.getTracesDir)();
|
|
159
|
+
await promises_1.default.mkdir(tracesDir, { recursive: true });
|
|
160
|
+
const traceId = crypto_1.default.randomUUID();
|
|
161
|
+
const localPath = path_1.default.join(tracesDir, `${traceId}.trace`);
|
|
162
|
+
await promises_1.default.copyFile(tracePath, localPath);
|
|
163
|
+
const stat = await promises_1.default.stat(localPath);
|
|
164
|
+
const sha256 = await sha256File(localPath);
|
|
165
|
+
const now = Date.now();
|
|
166
|
+
await (0, traceMetadataStore_1.writeTraceMetadata)({
|
|
167
|
+
id: traceId,
|
|
168
|
+
filename: originalName,
|
|
169
|
+
size: stat.size,
|
|
170
|
+
uploadedAt: new Date(now).toISOString(),
|
|
171
|
+
status: 'ready',
|
|
172
|
+
path: localPath,
|
|
173
|
+
...(0, resourceOwnership_1.ownerFieldsFromContext)(wc.context),
|
|
174
|
+
});
|
|
175
|
+
db.prepare(`
|
|
176
|
+
INSERT INTO trace_assets
|
|
177
|
+
(id, tenant_id, workspace_id, owner_user_id, local_path, sha256, size_bytes, status, metadata_json, created_at)
|
|
178
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'ready', ?, ?)
|
|
179
|
+
`).run(traceId, wc.context.tenantId, wc.context.workspaceId, wc.context.userId, localPath, sha256, stat.size, JSON.stringify({
|
|
180
|
+
originalName,
|
|
181
|
+
windowId: wc.context.windowId,
|
|
182
|
+
regressionScenario: 'enterprise-window',
|
|
183
|
+
}), now);
|
|
184
|
+
return {
|
|
185
|
+
traceId,
|
|
186
|
+
originalName,
|
|
187
|
+
localPath,
|
|
188
|
+
sha256,
|
|
189
|
+
sizeBytes: stat.size,
|
|
190
|
+
context: wc,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
function createAnalysisRun(db, wc, upload, status) {
|
|
194
|
+
seedIdentity(db, wc);
|
|
195
|
+
const providerSnapshotId = ensureProviderSnapshot(db, wc);
|
|
196
|
+
const now = Date.now();
|
|
197
|
+
const sessionId = `session-${crypto_1.default.randomUUID()}`;
|
|
198
|
+
const runId = `run-${crypto_1.default.randomUUID()}`;
|
|
199
|
+
db.prepare(`
|
|
200
|
+
INSERT INTO analysis_sessions
|
|
201
|
+
(id, tenant_id, workspace_id, trace_id, created_by, provider_snapshot_id, title, visibility, status, created_at, updated_at)
|
|
202
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'private', ?, ?, ?)
|
|
203
|
+
`).run(sessionId, wc.context.tenantId, wc.context.workspaceId, upload.traceId, wc.context.userId, providerSnapshotId, `${wc.label} ${upload.originalName}`, status, now, now);
|
|
204
|
+
db.prepare(`
|
|
205
|
+
INSERT INTO analysis_runs
|
|
206
|
+
(id, tenant_id, workspace_id, session_id, mode, status, question, started_at)
|
|
207
|
+
VALUES (?, ?, ?, ?, 'full', ?, ?, ?)
|
|
208
|
+
`).run(runId, wc.context.tenantId, wc.context.workspaceId, sessionId, status, `regression analysis for ${wc.label}`, now);
|
|
209
|
+
return { sessionId, runId };
|
|
210
|
+
}
|
|
211
|
+
function appendAgentEvent(db, wc, runId, cursor, eventType = 'progress', payload) {
|
|
212
|
+
db.prepare(`
|
|
213
|
+
INSERT INTO agent_events
|
|
214
|
+
(id, tenant_id, workspace_id, run_id, cursor, event_type, payload_json, created_at)
|
|
215
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
216
|
+
`).run(`event-${crypto_1.default.randomUUID()}`, wc.context.tenantId, wc.context.workspaceId, runId, cursor, eventType, JSON.stringify(payload ?? {
|
|
217
|
+
scenario: 'enterprise-window',
|
|
218
|
+
label: wc.label,
|
|
219
|
+
cursor,
|
|
220
|
+
}), Date.now());
|
|
221
|
+
}
|
|
222
|
+
function listAgentEventsAfter(db, wc, runId, lastEventId) {
|
|
223
|
+
return db.prepare(`
|
|
224
|
+
SELECT cursor, event_type, payload_json
|
|
225
|
+
FROM agent_events
|
|
226
|
+
WHERE tenant_id = ?
|
|
227
|
+
AND workspace_id = ?
|
|
228
|
+
AND run_id = ?
|
|
229
|
+
AND cursor > ?
|
|
230
|
+
ORDER BY cursor ASC
|
|
231
|
+
`).all(wc.context.tenantId, wc.context.workspaceId, runId, lastEventId).map(row => ({
|
|
232
|
+
cursor: row.cursor,
|
|
233
|
+
eventType: row.event_type,
|
|
234
|
+
payload: JSON.parse(row.payload_json),
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
function scalar(db, sql, params = [], column = 'value') {
|
|
238
|
+
const row = db.prepare(sql).get(...params);
|
|
239
|
+
return row[column];
|
|
240
|
+
}
|
|
241
|
+
async function ownedTraceIds(contextValue) {
|
|
242
|
+
const ids = [];
|
|
243
|
+
for (const metadata of await (0, traceMetadataStore_1.listTraceMetadata)()) {
|
|
244
|
+
if (await (0, traceMetadataStore_1.readTraceMetadataForContext)(metadata.id, contextValue)) {
|
|
245
|
+
ids.push(metadata.id);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return ids.sort();
|
|
249
|
+
}
|
|
250
|
+
async function scenarioD1(db, tracePath, windows) {
|
|
251
|
+
const sameName = 'same-name-regression.pftrace';
|
|
252
|
+
const uploads = [
|
|
253
|
+
await simulateUpload(db, windows.userAWindow1, tracePath, sameName),
|
|
254
|
+
await simulateUpload(db, windows.userAWindow2, tracePath, sameName),
|
|
255
|
+
await simulateUpload(db, windows.userBWindow1, tracePath, sameName),
|
|
256
|
+
await simulateUpload(db, windows.userCWindow1, tracePath, sameName),
|
|
257
|
+
];
|
|
258
|
+
const userAWindow1Run = createAnalysisRun(db, windows.userAWindow1, uploads[0], 'running');
|
|
259
|
+
const userAWindow2Run = createAnalysisRun(db, windows.userAWindow2, uploads[1], 'running');
|
|
260
|
+
const traceIds = uploads.map(upload => upload.traceId);
|
|
261
|
+
const localPaths = uploads.map(upload => upload.localPath);
|
|
262
|
+
const aOwned = await ownedTraceIds(windows.userAWindow1.context);
|
|
263
|
+
const bOwned = await ownedTraceIds(windows.userBWindow1.context);
|
|
264
|
+
const cOwned = await ownedTraceIds(windows.userCWindow1.context);
|
|
265
|
+
const a1VisibleToB = await (0, traceMetadataStore_1.readTraceMetadataForContext)(uploads[0].traceId, windows.userBWindow1.context);
|
|
266
|
+
const bVisibleToA = await (0, traceMetadataStore_1.readTraceMetadataForContext)(uploads[2].traceId, windows.userAWindow1.context);
|
|
267
|
+
const a1VisibleToC = await (0, traceMetadataStore_1.readTraceMetadataForContext)(uploads[0].traceId, windows.userCWindow1.context);
|
|
268
|
+
const cVisibleToA = await (0, traceMetadataStore_1.readTraceMetadataForContext)(uploads[3].traceId, windows.userAWindow1.context);
|
|
269
|
+
const checks = {
|
|
270
|
+
sameFilenameUsesDistinctTraceIds: new Set(traceIds).size === uploads.length,
|
|
271
|
+
sameFilenameUsesDistinctFiles: new Set(localPaths).size === uploads.length,
|
|
272
|
+
traceAssetsHaveOneRowPerUpload: scalar(db, 'SELECT COUNT(*) AS value FROM trace_assets WHERE metadata_json LIKE ?', [`%"originalName":"${sameName}"%`]) === uploads.length,
|
|
273
|
+
ownerGuardAllowsOwnTwoWindowUploads: aOwned.includes(uploads[0].traceId)
|
|
274
|
+
&& aOwned.includes(uploads[1].traceId),
|
|
275
|
+
workspaceRbacAllowsSameWorkspacePeerTraces: Boolean(a1VisibleToB) && Boolean(bVisibleToA),
|
|
276
|
+
workspaceGuardBlocksCrossTenantTraces: !a1VisibleToC && !cVisibleToA,
|
|
277
|
+
threeUsersHaveScopedTraceLists: aOwned.length === 3 && bOwned.length === 3 && cOwned.length === 1,
|
|
278
|
+
twoWindowsHaveSeparateSessions: userAWindow1Run.sessionId !== userAWindow2Run.sessionId
|
|
279
|
+
&& userAWindow1Run.runId !== userAWindow2Run.runId,
|
|
280
|
+
};
|
|
281
|
+
return {
|
|
282
|
+
checks,
|
|
283
|
+
details: {
|
|
284
|
+
traceIds,
|
|
285
|
+
userAOwnedTraceIds: aOwned,
|
|
286
|
+
userBOwnedTraceIds: bOwned,
|
|
287
|
+
userCOwnedTraceIds: cOwned,
|
|
288
|
+
userAWindow1Run,
|
|
289
|
+
userAWindow2Run,
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
async function scenarioD2(db, tracePath, userAWindow1, userBWindow1, longSqlMs) {
|
|
294
|
+
const aUpload = await simulateUpload(db, userAWindow1, tracePath, 'd2-user-a.pftrace');
|
|
295
|
+
const aRun = createAnalysisRun(db, userAWindow1, aUpload, 'running');
|
|
296
|
+
appendAgentEvent(db, userAWindow1, aRun.runId, 1, 'progress');
|
|
297
|
+
let simulatedLongSqlDone = false;
|
|
298
|
+
const simulatedLongSql = new Promise((resolve) => {
|
|
299
|
+
setTimeout(() => {
|
|
300
|
+
simulatedLongSqlDone = true;
|
|
301
|
+
resolve();
|
|
302
|
+
}, longSqlMs);
|
|
303
|
+
});
|
|
304
|
+
await new Promise(resolve => setTimeout(resolve, Math.max(1, Math.floor(longSqlMs / 2))));
|
|
305
|
+
appendAgentEvent(db, userAWindow1, aRun.runId, 2, 'progress');
|
|
306
|
+
const bStartedBeforeALongSqlDone = !simulatedLongSqlDone;
|
|
307
|
+
const bUpload = await simulateUpload(db, userBWindow1, tracePath, 'd2-user-b.pftrace');
|
|
308
|
+
const bRun = createAnalysisRun(db, userBWindow1, bUpload, 'pending');
|
|
309
|
+
appendAgentEvent(db, userBWindow1, bRun.runId, 1, 'progress');
|
|
310
|
+
const aReadableDuringBStart = await (0, traceMetadataStore_1.readTraceMetadataForContext)(aUpload.traceId, userAWindow1.context);
|
|
311
|
+
const aVisibleToB = await (0, traceMetadataStore_1.readTraceMetadataForContext)(aUpload.traceId, userBWindow1.context);
|
|
312
|
+
const bVisibleToA = await (0, traceMetadataStore_1.readTraceMetadataForContext)(bUpload.traceId, userAWindow1.context);
|
|
313
|
+
appendAgentEvent(db, userAWindow1, aRun.runId, 3, 'progress');
|
|
314
|
+
await simulatedLongSql;
|
|
315
|
+
db.prepare(`
|
|
316
|
+
UPDATE analysis_runs SET status = 'completed', completed_at = ? WHERE id = ?
|
|
317
|
+
`).run(Date.now(), aRun.runId);
|
|
318
|
+
db.prepare(`
|
|
319
|
+
UPDATE analysis_sessions SET status = 'completed', updated_at = ? WHERE id = ?
|
|
320
|
+
`).run(Date.now(), aRun.sessionId);
|
|
321
|
+
appendAgentEvent(db, userAWindow1, aRun.runId, 4, 'analysis_completed');
|
|
322
|
+
const aRunEventCursors = db.prepare(`
|
|
323
|
+
SELECT cursor FROM agent_events WHERE run_id = ? ORDER BY cursor ASC
|
|
324
|
+
`).all(aRun.runId).map(row => row.cursor);
|
|
325
|
+
const bRunEventCursors = db.prepare(`
|
|
326
|
+
SELECT cursor FROM agent_events WHERE run_id = ? ORDER BY cursor ASC
|
|
327
|
+
`).all(bRun.runId).map(row => row.cursor);
|
|
328
|
+
const bRunStatus = scalar(db, 'SELECT status AS value FROM analysis_runs WHERE id = ?', [bRun.runId]);
|
|
329
|
+
const aSessionTraceId = scalar(db, 'SELECT trace_id AS value FROM analysis_sessions WHERE id = ?', [aRun.sessionId]);
|
|
330
|
+
const aFileStillExists = fs_1.default.existsSync(aUpload.localPath);
|
|
331
|
+
const checks = {
|
|
332
|
+
bCanStartWhileALongSqlPending: bStartedBeforeALongSqlDone && Boolean(bRun.runId),
|
|
333
|
+
aTraceReadableDuringBStart: Boolean(aReadableDuringBStart) && aFileStillExists,
|
|
334
|
+
workspaceRbacAllowsPeerTraceReadsDuringLongSql: Boolean(aVisibleToB) && Boolean(bVisibleToA),
|
|
335
|
+
aEventStreamContinuesAfterBStart: aRunEventCursors.join(',') === '1,2,3,4',
|
|
336
|
+
bRunCanQueueOrRun: bRunStatus === 'pending' || bRunStatus === 'running',
|
|
337
|
+
runEventsDoNotMix: bRunEventCursors.join(',') === '1',
|
|
338
|
+
aSessionStillPointsAtOriginalTrace: aSessionTraceId === aUpload.traceId,
|
|
339
|
+
};
|
|
340
|
+
return {
|
|
341
|
+
checks,
|
|
342
|
+
details: {
|
|
343
|
+
aTraceId: aUpload.traceId,
|
|
344
|
+
bTraceId: bUpload.traceId,
|
|
345
|
+
aRun,
|
|
346
|
+
bRun,
|
|
347
|
+
aRunEventCursors,
|
|
348
|
+
bRunEventCursors,
|
|
349
|
+
bRunStatus,
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
async function scenarioD3(db, tracePath, userAWindow1, userBWindow1) {
|
|
354
|
+
const aUpload = await simulateUpload(db, userAWindow1, tracePath, 'd3-user-a-timeline.pftrace');
|
|
355
|
+
const bUpload = await simulateUpload(db, userBWindow1, tracePath, 'd3-user-b-full-agent.pftrace');
|
|
356
|
+
const bRun = createAnalysisRun(db, userBWindow1, bUpload, 'running');
|
|
357
|
+
const store = new traceProcessorLeaseStore_1.TraceProcessorLeaseStore(db);
|
|
358
|
+
const aScope = leaseScope(userAWindow1);
|
|
359
|
+
const bScope = leaseScope(userBWindow1);
|
|
360
|
+
const frontendHolderRef = userAWindow1.context.windowId ?? userAWindow1.label;
|
|
361
|
+
let frontendLease = store.acquireHolder(aScope, aUpload.traceId, {
|
|
362
|
+
holderType: 'frontend_http_rpc',
|
|
363
|
+
holderRef: frontendHolderRef,
|
|
364
|
+
windowId: frontendHolderRef,
|
|
365
|
+
frontendVisibility: 'visible',
|
|
366
|
+
metadata: {
|
|
367
|
+
scenario: 'D3',
|
|
368
|
+
workload: 'timeline',
|
|
369
|
+
priority: 'p0',
|
|
370
|
+
},
|
|
371
|
+
});
|
|
372
|
+
store.markStarting(aScope, frontendLease.id);
|
|
373
|
+
frontendLease = store.markReady(aScope, frontendLease.id);
|
|
374
|
+
let agentLease = store.acquireHolder(bScope, bUpload.traceId, {
|
|
375
|
+
holderType: 'agent_run',
|
|
376
|
+
holderRef: bRun.runId,
|
|
377
|
+
sessionId: bRun.sessionId,
|
|
378
|
+
runId: bRun.runId,
|
|
379
|
+
metadata: {
|
|
380
|
+
scenario: 'D3',
|
|
381
|
+
workload: 'full-agent',
|
|
382
|
+
priority: 'p2',
|
|
383
|
+
},
|
|
384
|
+
});
|
|
385
|
+
store.markStarting(bScope, agentLease.id);
|
|
386
|
+
agentLease = store.markReady(bScope, agentLease.id);
|
|
387
|
+
agentLease = store.acquireHolderForLease(bScope, agentLease.id, {
|
|
388
|
+
holderType: 'report_generation',
|
|
389
|
+
holderRef: `report-${bRun.runId}`,
|
|
390
|
+
reportId: `report-${bRun.runId}`,
|
|
391
|
+
metadata: {
|
|
392
|
+
scenario: 'D3',
|
|
393
|
+
workload: 'background-report',
|
|
394
|
+
priority: 'p2',
|
|
395
|
+
},
|
|
396
|
+
});
|
|
397
|
+
const frontendProxyTargets = [
|
|
398
|
+
`/api/tp/${encodeURIComponent(frontendLease.id)}/websocket`,
|
|
399
|
+
`/api/tp/${encodeURIComponent(frontendLease.id)}/query?priority=p0`,
|
|
400
|
+
`/api/tp/${encodeURIComponent(frontendLease.id)}/heartbeat`,
|
|
401
|
+
];
|
|
402
|
+
const gates = new Map();
|
|
403
|
+
const makeGate = () => {
|
|
404
|
+
let resolve;
|
|
405
|
+
const promise = new Promise((res) => {
|
|
406
|
+
resolve = res;
|
|
407
|
+
});
|
|
408
|
+
return { promise, resolve };
|
|
409
|
+
};
|
|
410
|
+
const gateFor = (sql) => {
|
|
411
|
+
let gate = gates.get(sql);
|
|
412
|
+
if (!gate) {
|
|
413
|
+
gate = makeGate();
|
|
414
|
+
gates.set(sql, gate);
|
|
415
|
+
}
|
|
416
|
+
return gate;
|
|
417
|
+
};
|
|
418
|
+
const flushPromises = async () => {
|
|
419
|
+
await Promise.resolve();
|
|
420
|
+
await Promise.resolve();
|
|
421
|
+
};
|
|
422
|
+
const encodeSqlResult = (sql) => (0, traceProcessorProtobuf_1.encodeQueryResult)({
|
|
423
|
+
columnNames: ['sql'],
|
|
424
|
+
rows: [[sql]],
|
|
425
|
+
});
|
|
426
|
+
const labelForSql = (sql) => {
|
|
427
|
+
if (sql.includes('p0'))
|
|
428
|
+
return 'p0';
|
|
429
|
+
if (sql.includes('p1'))
|
|
430
|
+
return 'p1';
|
|
431
|
+
if (sql.includes('queued_p2'))
|
|
432
|
+
return 'queued-p2';
|
|
433
|
+
return 'running-p2';
|
|
434
|
+
};
|
|
435
|
+
const queryDispatchOrder = [];
|
|
436
|
+
const queryEventLog = [];
|
|
437
|
+
const worker = new traceProcessorSqlWorker_1.TraceProcessorSqlWorker({
|
|
438
|
+
processorId: 'd3-priority-regression',
|
|
439
|
+
traceId: bUpload.traceId,
|
|
440
|
+
port: 1,
|
|
441
|
+
forceInline: true,
|
|
442
|
+
rawExecutor: async (request) => {
|
|
443
|
+
const sql = (0, traceProcessorProtobuf_1.decodeQueryArgsSql)(request.body);
|
|
444
|
+
const label = labelForSql(sql);
|
|
445
|
+
queryDispatchOrder.push(label);
|
|
446
|
+
queryEventLog.push(`start:${label}`);
|
|
447
|
+
const result = await gateFor(sql).promise;
|
|
448
|
+
queryEventLog.push(`finish:${label}`);
|
|
449
|
+
return result;
|
|
450
|
+
},
|
|
451
|
+
});
|
|
452
|
+
let queuedStats;
|
|
453
|
+
try {
|
|
454
|
+
const runningP2 = worker.query('SELECT d3_running_p2_full_agent', { priority: 'p2' });
|
|
455
|
+
await flushPromises();
|
|
456
|
+
const queuedP1 = worker.query('SELECT d3_p1_agent_context', { priority: 'p1' });
|
|
457
|
+
const queuedP2 = worker.query('SELECT d3_queued_p2_report', { priority: 'p2' });
|
|
458
|
+
const frontendP0 = worker.query('SELECT d3_p0_frontend_timeline', { priority: 'p0' });
|
|
459
|
+
await flushPromises();
|
|
460
|
+
queuedStats = worker.getStats();
|
|
461
|
+
gateFor('SELECT d3_running_p2_full_agent').resolve(encodeSqlResult('SELECT d3_running_p2_full_agent'));
|
|
462
|
+
const runningP2Result = await runningP2;
|
|
463
|
+
await flushPromises();
|
|
464
|
+
gateFor('SELECT d3_p0_frontend_timeline').resolve(encodeSqlResult('SELECT d3_p0_frontend_timeline'));
|
|
465
|
+
const frontendP0Result = await frontendP0;
|
|
466
|
+
await flushPromises();
|
|
467
|
+
gateFor('SELECT d3_p1_agent_context').resolve(encodeSqlResult('SELECT d3_p1_agent_context'));
|
|
468
|
+
const queuedP1Result = await queuedP1;
|
|
469
|
+
await flushPromises();
|
|
470
|
+
gateFor('SELECT d3_queued_p2_report').resolve(encodeSqlResult('SELECT d3_queued_p2_report'));
|
|
471
|
+
const queuedP2Result = await queuedP2;
|
|
472
|
+
await flushPromises();
|
|
473
|
+
const targetHasLeaseIdOnly = frontendProxyTargets.every(target => target.includes(encodeURIComponent(frontendLease.id))
|
|
474
|
+
&& !target.includes('127.0.0.1')
|
|
475
|
+
&& !target.includes('localhost')
|
|
476
|
+
&& !target.includes('://')
|
|
477
|
+
&& !/:\d{2,5}/.test(target));
|
|
478
|
+
const finishRunningP2Index = queryEventLog.indexOf('finish:running-p2');
|
|
479
|
+
const startP0Index = queryEventLog.indexOf('start:p0');
|
|
480
|
+
const queryRows = [
|
|
481
|
+
runningP2Result.rows[0]?.[0],
|
|
482
|
+
frontendP0Result.rows[0]?.[0],
|
|
483
|
+
queuedP1Result.rows[0]?.[0],
|
|
484
|
+
queuedP2Result.rows[0]?.[0],
|
|
485
|
+
];
|
|
486
|
+
const checks = {
|
|
487
|
+
frontendTimelineUsesLeaseProxy: targetHasLeaseIdOnly
|
|
488
|
+
&& frontendProxyTargets.every(target => target.startsWith('/api/tp/')),
|
|
489
|
+
frontendAndAgentUseLeaseHolders: frontendLease.state === 'active'
|
|
490
|
+
&& agentLease.state === 'active'
|
|
491
|
+
&& frontendLease.holders.some(holder => holder.holderType === 'frontend_http_rpc')
|
|
492
|
+
&& agentLease.holders.some(holder => holder.holderType === 'agent_run')
|
|
493
|
+
&& agentLease.holders.some(holder => holder.holderType === 'report_generation'),
|
|
494
|
+
p0DoesNotWaitBehindQueuedP1OrP2: queryDispatchOrder.join(',') === 'running-p2,p0,p1,queued-p2',
|
|
495
|
+
queueIsNonPreemptive: queryEventLog[0] === 'start:running-p2'
|
|
496
|
+
&& finishRunningP2Index > -1
|
|
497
|
+
&& startP0Index > finishRunningP2Index,
|
|
498
|
+
workerStatsExposeQueuedP0: queuedStats.running
|
|
499
|
+
&& queuedStats.queuedP0 === 1
|
|
500
|
+
&& queuedStats.queuedP1 === 1
|
|
501
|
+
&& queuedStats.queuedP2 === 1,
|
|
502
|
+
queryResultsStayAssociatedWithOriginalSql: queryRows.join('|') === [
|
|
503
|
+
'SELECT d3_running_p2_full_agent',
|
|
504
|
+
'SELECT d3_p0_frontend_timeline',
|
|
505
|
+
'SELECT d3_p1_agent_context',
|
|
506
|
+
'SELECT d3_queued_p2_report',
|
|
507
|
+
].join('|'),
|
|
508
|
+
};
|
|
509
|
+
return {
|
|
510
|
+
checks,
|
|
511
|
+
details: {
|
|
512
|
+
frontendTraceId: aUpload.traceId,
|
|
513
|
+
agentTraceId: bUpload.traceId,
|
|
514
|
+
frontendLeaseId: frontendLease.id,
|
|
515
|
+
agentLeaseId: agentLease.id,
|
|
516
|
+
frontendProxyTargets,
|
|
517
|
+
frontendHolderTypes: frontendLease.holders.map(holder => holder.holderType),
|
|
518
|
+
agentHolderTypes: agentLease.holders.map(holder => holder.holderType),
|
|
519
|
+
queuedStats,
|
|
520
|
+
queryDispatchOrder,
|
|
521
|
+
queryEventLog,
|
|
522
|
+
queryRows,
|
|
523
|
+
},
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
finally {
|
|
527
|
+
worker.destroy();
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
async function scenarioD4(db, tracePath, userAWindow1) {
|
|
531
|
+
const upload = await simulateUpload(db, userAWindow1, tracePath, 'd4-user-a-crash.pftrace');
|
|
532
|
+
const store = new traceProcessorLeaseStore_1.TraceProcessorLeaseStore(db);
|
|
533
|
+
const scope = leaseScope(userAWindow1);
|
|
534
|
+
const windowId = userAWindow1.context.windowId ?? userAWindow1.label;
|
|
535
|
+
const runId = `run-${crypto_1.default.randomUUID()}`;
|
|
536
|
+
const startedAt = 1777100000000;
|
|
537
|
+
const oldInternalPort = 9810;
|
|
538
|
+
const newInternalPort = 9811;
|
|
539
|
+
let lease = store.acquireHolder(scope, upload.traceId, {
|
|
540
|
+
holderType: 'frontend_http_rpc',
|
|
541
|
+
holderRef: windowId,
|
|
542
|
+
windowId,
|
|
543
|
+
frontendVisibility: 'visible',
|
|
544
|
+
metadata: {
|
|
545
|
+
scenario: 'D4',
|
|
546
|
+
internalPort: oldInternalPort,
|
|
547
|
+
},
|
|
548
|
+
}, { now: startedAt });
|
|
549
|
+
store.markStarting(scope, lease.id);
|
|
550
|
+
lease = store.markReady(scope, lease.id);
|
|
551
|
+
lease = store.acquireHolderForLease(scope, lease.id, {
|
|
552
|
+
holderType: 'agent_run',
|
|
553
|
+
holderRef: runId,
|
|
554
|
+
runId,
|
|
555
|
+
metadata: { scenario: 'D4' },
|
|
556
|
+
}, { now: startedAt + 1 });
|
|
557
|
+
const leaseIdBeforeCrash = lease.id;
|
|
558
|
+
const frontendProxyTargets = [
|
|
559
|
+
`/api/tp/${encodeURIComponent(lease.id)}/status`,
|
|
560
|
+
`/api/tp/${encodeURIComponent(lease.id)}/websocket`,
|
|
561
|
+
`/api/tp/${encodeURIComponent(lease.id)}/heartbeat`,
|
|
562
|
+
];
|
|
563
|
+
const crashedLease = store.markCrashed(scope, lease.id);
|
|
564
|
+
const restartingLease = store.markRestarting(scope, lease.id);
|
|
565
|
+
const readyLease = store.markReady(scope, lease.id);
|
|
566
|
+
const recoveredLease = store.acquireHolderForLease(scope, readyLease.id, {
|
|
567
|
+
holderType: 'frontend_http_rpc',
|
|
568
|
+
holderRef: windowId,
|
|
569
|
+
windowId,
|
|
570
|
+
frontendVisibility: 'visible',
|
|
571
|
+
metadata: {
|
|
572
|
+
scenario: 'D4',
|
|
573
|
+
recovery: 'processor-restart',
|
|
574
|
+
internalPort: newInternalPort,
|
|
575
|
+
},
|
|
576
|
+
}, { now: startedAt + 2 });
|
|
577
|
+
const frontendHolder = recoveredLease.holders.find(holder => holder.holderRef === windowId);
|
|
578
|
+
const agentHolder = recoveredLease.holders.find(holder => holder.holderRef === runId);
|
|
579
|
+
const checks = {
|
|
580
|
+
leaseIdStableAcrossCrashRestart: leaseIdBeforeCrash === recoveredLease.id
|
|
581
|
+
&& crashedLease.id === leaseIdBeforeCrash
|
|
582
|
+
&& restartingLease.id === leaseIdBeforeCrash,
|
|
583
|
+
stateMachineUsesSingleRestartSequence: crashedLease.state === 'crashed'
|
|
584
|
+
&& restartingLease.state === 'restarting'
|
|
585
|
+
&& readyLease.state === 'active'
|
|
586
|
+
&& recoveredLease.state === 'active',
|
|
587
|
+
holdersWaitOnSameLeaseAfterRestart: recoveredLease.holderCount === 2
|
|
588
|
+
&& frontendHolder?.metadata?.recovery === 'processor-restart'
|
|
589
|
+
&& agentHolder?.holderType === 'agent_run',
|
|
590
|
+
frontendContractDoesNotExposeOldPort: frontendProxyTargets.every(target => target.includes(leaseIdBeforeCrash)
|
|
591
|
+
&& !target.includes(String(oldInternalPort))
|
|
592
|
+
&& !target.includes(String(newInternalPort))),
|
|
593
|
+
internalPortCanChangeWithoutChangingFrontendTarget: oldInternalPort !== newInternalPort
|
|
594
|
+
&& frontendHolder?.metadata?.internalPort === newInternalPort,
|
|
595
|
+
};
|
|
596
|
+
return {
|
|
597
|
+
checks,
|
|
598
|
+
details: {
|
|
599
|
+
traceId: upload.traceId,
|
|
600
|
+
leaseId: leaseIdBeforeCrash,
|
|
601
|
+
oldInternalPort,
|
|
602
|
+
newInternalPort,
|
|
603
|
+
frontendProxyTargets,
|
|
604
|
+
crashStates: [crashedLease.state, restartingLease.state, readyLease.state, recoveredLease.state],
|
|
605
|
+
holderRefs: recoveredLease.holders.map(holder => holder.holderRef),
|
|
606
|
+
},
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
async function scenarioD5(db, tracePath, userAWindow1) {
|
|
610
|
+
const upload = await simulateUpload(db, userAWindow1, tracePath, 'd5-user-a-sleep.pftrace');
|
|
611
|
+
const store = new traceProcessorLeaseStore_1.TraceProcessorLeaseStore(db);
|
|
612
|
+
const scope = leaseScope(userAWindow1);
|
|
613
|
+
const holderRef = userAWindow1.context.windowId ?? userAWindow1.label;
|
|
614
|
+
const startedAt = 1777000000000;
|
|
615
|
+
const offlineAt = startedAt + 30000;
|
|
616
|
+
const insideGraceAt = offlineAt + 30 * 60 * 1000 - 1;
|
|
617
|
+
const afterGraceAt = offlineAt + 30 * 60 * 1000 + 1;
|
|
618
|
+
const recoveredAt = afterGraceAt + 1000;
|
|
619
|
+
let lease = store.acquireHolder(scope, upload.traceId, {
|
|
620
|
+
holderType: 'frontend_http_rpc',
|
|
621
|
+
holderRef,
|
|
622
|
+
windowId: holderRef,
|
|
623
|
+
frontendVisibility: 'visible',
|
|
624
|
+
metadata: { scenario: 'D5' },
|
|
625
|
+
}, { now: startedAt });
|
|
626
|
+
store.markStarting(scope, lease.id);
|
|
627
|
+
lease = store.markReady(scope, lease.id);
|
|
628
|
+
lease = store.acquireHolderForLease(scope, lease.id, {
|
|
629
|
+
holderType: 'frontend_http_rpc',
|
|
630
|
+
holderRef,
|
|
631
|
+
windowId: holderRef,
|
|
632
|
+
frontendVisibility: 'offline',
|
|
633
|
+
metadata: {
|
|
634
|
+
heartbeat: 'frontend',
|
|
635
|
+
scenario: 'D5',
|
|
636
|
+
},
|
|
637
|
+
}, { now: offlineAt });
|
|
638
|
+
const offlineHolder = lease.holders.find(holder => holder.holderRef === holderRef);
|
|
639
|
+
const insideGraceSweep = store.sweepExpired(insideGraceAt);
|
|
640
|
+
const insideGraceLease = store.getLeaseById(scope, lease.id);
|
|
641
|
+
const afterGraceSweep = store.sweepExpired(afterGraceAt);
|
|
642
|
+
const afterGraceLease = store.getLeaseById(scope, lease.id);
|
|
643
|
+
const recoveredLease = store.acquireHolderForLease(scope, lease.id, {
|
|
644
|
+
holderType: 'frontend_http_rpc',
|
|
645
|
+
holderRef,
|
|
646
|
+
windowId: holderRef,
|
|
647
|
+
frontendVisibility: 'visible',
|
|
648
|
+
metadata: {
|
|
649
|
+
heartbeat: 'frontend',
|
|
650
|
+
scenario: 'D5',
|
|
651
|
+
recovery: 'pageshow',
|
|
652
|
+
},
|
|
653
|
+
}, { now: recoveredAt });
|
|
654
|
+
const recoveredHolder = recoveredLease.holders.find(holder => holder.holderRef === holderRef);
|
|
655
|
+
const checks = {
|
|
656
|
+
offlineHeartbeatKeepsThirtyMinuteGrace: (offlineHolder?.expiresAt ?? 0) >= insideGraceAt,
|
|
657
|
+
leaseStaysActiveInsideOfflineGrace: insideGraceSweep.holdersRemoved === 0
|
|
658
|
+
&& insideGraceLease?.state === 'active'
|
|
659
|
+
&& insideGraceLease.holderCount === 1,
|
|
660
|
+
staleOfflineHolderDoesNotReleaseLease: afterGraceSweep.holdersRemoved === 1
|
|
661
|
+
&& afterGraceLease?.state === 'idle'
|
|
662
|
+
&& afterGraceLease.holderCount === 0,
|
|
663
|
+
pageshowHeartbeatReacquiresSameLease: recoveredLease.id === lease.id
|
|
664
|
+
&& recoveredLease.state === 'active'
|
|
665
|
+
&& recoveredLease.holderCount === 1
|
|
666
|
+
&& recoveredHolder?.metadata?.frontendVisibility === 'visible'
|
|
667
|
+
&& recoveredHolder.expiresAt !== null
|
|
668
|
+
&& recoveredHolder.expiresAt >= recoveredAt + 90000,
|
|
669
|
+
};
|
|
670
|
+
return {
|
|
671
|
+
checks,
|
|
672
|
+
details: {
|
|
673
|
+
traceId: upload.traceId,
|
|
674
|
+
leaseId: lease.id,
|
|
675
|
+
offlineHolderExpiresAt: offlineHolder?.expiresAt ?? null,
|
|
676
|
+
insideGraceAt,
|
|
677
|
+
afterGraceAt,
|
|
678
|
+
recoveredAt,
|
|
679
|
+
insideGraceSweep,
|
|
680
|
+
afterGraceSweep,
|
|
681
|
+
afterGraceLeaseState: afterGraceLease?.state ?? null,
|
|
682
|
+
recoveredLeaseState: recoveredLease.state,
|
|
683
|
+
recoveredHolder,
|
|
684
|
+
},
|
|
685
|
+
};
|
|
686
|
+
}
|
|
687
|
+
async function scenarioD6(db, tracePath, userAWindow1, userCWindow1) {
|
|
688
|
+
const upload = await simulateUpload(db, userAWindow1, tracePath, 'd6-user-a-sse-replay.pftrace');
|
|
689
|
+
const run = createAnalysisRun(db, userAWindow1, upload, 'running');
|
|
690
|
+
const reportId = `report-${crypto_1.default.randomUUID()}`;
|
|
691
|
+
const reportUrl = `/api/reports/${reportId}`;
|
|
692
|
+
const disconnectedAfterCursor = 10;
|
|
693
|
+
const completedCursor = 11;
|
|
694
|
+
appendAgentEvent(db, userAWindow1, run.runId, disconnectedAfterCursor, 'conclusion', {
|
|
695
|
+
type: 'conclusion',
|
|
696
|
+
data: {
|
|
697
|
+
summary: 'client received conclusion before disconnect',
|
|
698
|
+
},
|
|
699
|
+
});
|
|
700
|
+
db.prepare(`
|
|
701
|
+
INSERT INTO report_artifacts
|
|
702
|
+
(id, tenant_id, workspace_id, session_id, run_id, local_path, content_hash, visibility, created_by, created_at, expires_at)
|
|
703
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'private', ?, ?, NULL)
|
|
704
|
+
`).run(reportId, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, run.sessionId, run.runId, `reports/${reportId}.html`, crypto_1.default.createHash('sha256').update(reportId).digest('hex'), userAWindow1.context.userId, Date.now());
|
|
705
|
+
appendAgentEvent(db, userAWindow1, run.runId, completedCursor, 'analysis_completed', {
|
|
706
|
+
type: 'analysis_completed',
|
|
707
|
+
data: {
|
|
708
|
+
reportId,
|
|
709
|
+
reportUrl,
|
|
710
|
+
},
|
|
711
|
+
});
|
|
712
|
+
db.prepare(`
|
|
713
|
+
UPDATE analysis_runs SET status = 'completed', completed_at = ?, updated_at = ? WHERE id = ?
|
|
714
|
+
`).run(Date.now(), Date.now(), run.runId);
|
|
715
|
+
db.prepare(`
|
|
716
|
+
UPDATE analysis_sessions SET status = 'completed', updated_at = ? WHERE id = ?
|
|
717
|
+
`).run(Date.now(), run.sessionId);
|
|
718
|
+
const replayed = listAgentEventsAfter(db, userAWindow1, run.runId, disconnectedAfterCursor);
|
|
719
|
+
const crossTenantReplay = listAgentEventsAfter(db, userCWindow1, run.runId, disconnectedAfterCursor);
|
|
720
|
+
const terminal = replayed.find(event => event.eventType === 'analysis_completed');
|
|
721
|
+
const terminalPayload = terminal?.payload.data;
|
|
722
|
+
const reportRow = db.prepare(`
|
|
723
|
+
SELECT id, run_id FROM report_artifacts
|
|
724
|
+
WHERE tenant_id = ? AND workspace_id = ? AND id = ?
|
|
725
|
+
`).get(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, reportId);
|
|
726
|
+
const runStatus = scalar(db, 'SELECT status AS value FROM analysis_runs WHERE id = ?', [run.runId]);
|
|
727
|
+
const sessionStatus = scalar(db, 'SELECT status AS value FROM analysis_sessions WHERE id = ?', [run.sessionId]);
|
|
728
|
+
const checks = {
|
|
729
|
+
conclusionPersistedBeforeDisconnect: scalar(db, 'SELECT COUNT(*) AS value FROM agent_events WHERE run_id = ? AND cursor = ? AND event_type = ?', [run.runId, disconnectedAfterCursor, 'conclusion']) === 1,
|
|
730
|
+
terminalReplayAfterLastEventIdIncludesReportUrl: replayed.length === 1
|
|
731
|
+
&& terminal?.cursor === completedCursor
|
|
732
|
+
&& terminalPayload?.reportUrl === reportUrl,
|
|
733
|
+
replayUsesMonotonicCursorAfterDisconnect: replayed.map(event => event.cursor).join(',') === String(completedCursor),
|
|
734
|
+
replayIsTenantWorkspaceScoped: crossTenantReplay.length === 0,
|
|
735
|
+
reportArtifactMatchesReplayedUrl: reportRow?.id === reportId && reportRow.run_id === run.runId,
|
|
736
|
+
terminalEventCompletesRunAndSession: runStatus === 'completed' && sessionStatus === 'completed',
|
|
737
|
+
};
|
|
738
|
+
return {
|
|
739
|
+
checks,
|
|
740
|
+
details: {
|
|
741
|
+
traceId: upload.traceId,
|
|
742
|
+
run,
|
|
743
|
+
disconnectedAfterCursor,
|
|
744
|
+
replayed,
|
|
745
|
+
crossTenantReplayCount: crossTenantReplay.length,
|
|
746
|
+
reportId,
|
|
747
|
+
reportUrl,
|
|
748
|
+
runStatus,
|
|
749
|
+
sessionStatus,
|
|
750
|
+
},
|
|
751
|
+
};
|
|
752
|
+
}
|
|
753
|
+
async function scenarioD7(db, tracePath, userAWindow1) {
|
|
754
|
+
const upload = await simulateUpload(db, userAWindow1, tracePath, 'd7-user-a-delete-draining.pftrace');
|
|
755
|
+
const run = createAnalysisRun(db, userAWindow1, upload, 'running');
|
|
756
|
+
const store = new traceProcessorLeaseStore_1.TraceProcessorLeaseStore(db);
|
|
757
|
+
const scope = leaseScope(userAWindow1);
|
|
758
|
+
const windowId = userAWindow1.context.windowId ?? userAWindow1.label;
|
|
759
|
+
const reportId = `report-${crypto_1.default.randomUUID()}`;
|
|
760
|
+
let lease = store.acquireHolder(scope, upload.traceId, {
|
|
761
|
+
holderType: 'frontend_http_rpc',
|
|
762
|
+
holderRef: windowId,
|
|
763
|
+
windowId,
|
|
764
|
+
frontendVisibility: 'visible',
|
|
765
|
+
metadata: { scenario: 'D7' },
|
|
766
|
+
});
|
|
767
|
+
store.markStarting(scope, lease.id);
|
|
768
|
+
lease = store.markReady(scope, lease.id);
|
|
769
|
+
lease = store.acquireHolderForLease(scope, lease.id, {
|
|
770
|
+
holderType: 'agent_run',
|
|
771
|
+
holderRef: run.runId,
|
|
772
|
+
runId: run.runId,
|
|
773
|
+
sessionId: run.sessionId,
|
|
774
|
+
metadata: { scenario: 'D7' },
|
|
775
|
+
});
|
|
776
|
+
lease = store.acquireHolderForLease(scope, lease.id, {
|
|
777
|
+
holderType: 'report_generation',
|
|
778
|
+
holderRef: reportId,
|
|
779
|
+
reportId,
|
|
780
|
+
metadata: { scenario: 'D7' },
|
|
781
|
+
});
|
|
782
|
+
const activeRuns = db.prepare(`
|
|
783
|
+
SELECT id, status
|
|
784
|
+
FROM analysis_runs
|
|
785
|
+
WHERE tenant_id = ? AND workspace_id = ? AND session_id = ? AND status = 'running'
|
|
786
|
+
`).all(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, run.sessionId);
|
|
787
|
+
const activeHolderTypes = Array.from(new Set(lease.holders.map(holder => holder.holderType))).sort();
|
|
788
|
+
const blockedBeforeDelete = lease.holderCount > 0 || activeRuns.length > 0;
|
|
789
|
+
const drainingLease = store.beginDraining(scope, lease.id);
|
|
790
|
+
let newHolderRejected = false;
|
|
791
|
+
try {
|
|
792
|
+
store.acquireHolderForLease(scope, drainingLease.id, {
|
|
793
|
+
holderType: 'manual_register',
|
|
794
|
+
holderRef: 'port:9810',
|
|
795
|
+
metadata: { scenario: 'D7' },
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
catch {
|
|
799
|
+
newHolderRejected = true;
|
|
800
|
+
}
|
|
801
|
+
const traceAssetStillPresent = scalar(db, 'SELECT COUNT(*) AS value FROM trace_assets WHERE id = ?', [upload.traceId]) === 1;
|
|
802
|
+
const fileStillPresent = fs_1.default.existsSync(upload.localPath);
|
|
803
|
+
const checks = {
|
|
804
|
+
deleteDetectsRunningRunBeforeRemovingTrace: activeRuns.length === 1
|
|
805
|
+
&& activeRuns[0]?.id === run.runId
|
|
806
|
+
&& activeRuns[0]?.status === 'running',
|
|
807
|
+
activeLeaseBlocksCleanupOrDelete: blockedBeforeDelete
|
|
808
|
+
&& drainingLease.id === lease.id
|
|
809
|
+
&& drainingLease.state === 'draining'
|
|
810
|
+
&& drainingLease.holderCount === 3,
|
|
811
|
+
reportGenerationHolderIsProtected: activeHolderTypes.includes('report_generation')
|
|
812
|
+
&& lease.holders.some(holder => holder.holderRef === reportId),
|
|
813
|
+
drainingLeaseRejectsNewWork: newHolderRejected,
|
|
814
|
+
blockedDeleteLeavesTraceAssetAndFileIntact: traceAssetStillPresent && fileStillPresent,
|
|
815
|
+
};
|
|
816
|
+
return {
|
|
817
|
+
checks,
|
|
818
|
+
details: {
|
|
819
|
+
traceId: upload.traceId,
|
|
820
|
+
run,
|
|
821
|
+
leaseId: lease.id,
|
|
822
|
+
activeRuns,
|
|
823
|
+
activeHolderTypes,
|
|
824
|
+
drainingState: drainingLease.state,
|
|
825
|
+
drainingHolderCount: drainingLease.holderCount,
|
|
826
|
+
newHolderRejected,
|
|
827
|
+
traceAssetStillPresent,
|
|
828
|
+
fileStillPresent,
|
|
829
|
+
},
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
async function scenarioD8(db, tracePath, userAWindow1) {
|
|
833
|
+
const upload = await simulateUpload(db, userAWindow1, tracePath, 'd8-provider-snapshot-resume.pftrace');
|
|
834
|
+
const now = Date.now();
|
|
835
|
+
const providerId = `provider-d8-${crypto_1.default.randomUUID()}`;
|
|
836
|
+
const originalSnapshotId = `provider-snapshot-d8-original-${crypto_1.default.randomUUID()}`;
|
|
837
|
+
const changedSnapshotId = `provider-snapshot-d8-changed-${crypto_1.default.randomUUID()}`;
|
|
838
|
+
const originalConfig = {
|
|
839
|
+
baseUrl: 'https://llm.example.test/v1',
|
|
840
|
+
models: {
|
|
841
|
+
primary: 'd8-primary-v1',
|
|
842
|
+
light: 'd8-light-v1',
|
|
843
|
+
},
|
|
844
|
+
timeouts: {
|
|
845
|
+
fullPerTurnMs: 120000,
|
|
846
|
+
quickPerTurnMs: 30000,
|
|
847
|
+
},
|
|
848
|
+
secretRef: 'secret://provider-d8',
|
|
849
|
+
};
|
|
850
|
+
const changedConfig = {
|
|
851
|
+
...originalConfig,
|
|
852
|
+
baseUrl: 'https://llm.example.test/v2',
|
|
853
|
+
models: {
|
|
854
|
+
primary: 'd8-primary-v2',
|
|
855
|
+
light: 'd8-light-v2',
|
|
856
|
+
},
|
|
857
|
+
};
|
|
858
|
+
const hashInput = (config, secretVersion) => JSON.stringify({
|
|
859
|
+
providerId,
|
|
860
|
+
runtimeKind: 'openai-agents-sdk',
|
|
861
|
+
config,
|
|
862
|
+
secretVersion,
|
|
863
|
+
});
|
|
864
|
+
const originalHash = crypto_1.default.createHash('sha256').update(hashInput(originalConfig, 'secret-v1')).digest('hex');
|
|
865
|
+
const changedHash = crypto_1.default.createHash('sha256').update(hashInput(changedConfig, 'secret-v2')).digest('hex');
|
|
866
|
+
db.prepare(`
|
|
867
|
+
INSERT INTO provider_snapshots
|
|
868
|
+
(id, tenant_id, provider_id, snapshot_hash, runtime_kind, resolved_config_json, secret_version, created_at)
|
|
869
|
+
VALUES (?, ?, ?, ?, 'openai-agents-sdk', ?, ?, ?)
|
|
870
|
+
`).run(originalSnapshotId, userAWindow1.context.tenantId, providerId, originalHash, JSON.stringify(originalConfig), 'secret-v1', now);
|
|
871
|
+
db.prepare(`
|
|
872
|
+
INSERT INTO provider_snapshots
|
|
873
|
+
(id, tenant_id, provider_id, snapshot_hash, runtime_kind, resolved_config_json, secret_version, created_at)
|
|
874
|
+
VALUES (?, ?, ?, ?, 'openai-agents-sdk', ?, ?, ?)
|
|
875
|
+
`).run(changedSnapshotId, userAWindow1.context.tenantId, providerId, changedHash, JSON.stringify(changedConfig), 'secret-v2', now + 1);
|
|
876
|
+
const sessionId = `session-${crypto_1.default.randomUUID()}`;
|
|
877
|
+
const originalRunId = `run-${crypto_1.default.randomUUID()}`;
|
|
878
|
+
const followUpRunId = `run-${crypto_1.default.randomUUID()}`;
|
|
879
|
+
const oldSdkSessionId = 'sdk-response-d8-old';
|
|
880
|
+
const freshSdkSessionId = 'sdk-response-d8-fresh';
|
|
881
|
+
db.prepare(`
|
|
882
|
+
INSERT INTO analysis_sessions
|
|
883
|
+
(id, tenant_id, workspace_id, trace_id, created_by, provider_snapshot_id, title, visibility, status, created_at, updated_at)
|
|
884
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'private', 'completed', ?, ?)
|
|
885
|
+
`).run(sessionId, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, upload.traceId, userAWindow1.context.userId, originalSnapshotId, `${userAWindow1.label} D8 provider snapshot`, now, now);
|
|
886
|
+
db.prepare(`
|
|
887
|
+
INSERT INTO analysis_runs
|
|
888
|
+
(id, tenant_id, workspace_id, session_id, mode, status, question, started_at, completed_at)
|
|
889
|
+
VALUES (?, ?, ?, ?, 'full', 'completed', ?, ?, ?)
|
|
890
|
+
`).run(originalRunId, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, 'first turn before provider config changed', now, now + 10);
|
|
891
|
+
db.prepare(`
|
|
892
|
+
INSERT INTO runtime_snapshots
|
|
893
|
+
(id, tenant_id, workspace_id, session_id, run_id, runtime_type, snapshot_json, created_at)
|
|
894
|
+
VALUES (?, ?, ?, ?, ?, 'openai-agents-sdk', ?, ?)
|
|
895
|
+
`).run(`runtime-snapshot-d8-original-${crypto_1.default.randomUUID()}`, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, originalRunId, JSON.stringify({
|
|
896
|
+
agentRuntimeKind: 'openai-agents-sdk',
|
|
897
|
+
agentRuntimeProviderId: providerId,
|
|
898
|
+
agentRuntimeProviderSnapshotHash: originalHash,
|
|
899
|
+
sdkSessionId: oldSdkSessionId,
|
|
900
|
+
openAILastResponseId: oldSdkSessionId,
|
|
901
|
+
runSequence: 1,
|
|
902
|
+
}), now + 20);
|
|
903
|
+
const pinnedSnapshot = db.prepare(`
|
|
904
|
+
SELECT ps.id, ps.provider_id, ps.snapshot_hash, ps.runtime_kind, ps.resolved_config_json, ps.secret_version
|
|
905
|
+
FROM analysis_sessions s
|
|
906
|
+
JOIN provider_snapshots ps ON ps.id = s.provider_snapshot_id
|
|
907
|
+
WHERE s.tenant_id = ? AND s.workspace_id = ? AND s.id = ?
|
|
908
|
+
`).get(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId);
|
|
909
|
+
const latestProviderSnapshot = db.prepare(`
|
|
910
|
+
SELECT id, snapshot_hash, resolved_config_json, secret_version
|
|
911
|
+
FROM provider_snapshots
|
|
912
|
+
WHERE tenant_id = ? AND provider_id = ?
|
|
913
|
+
ORDER BY created_at DESC
|
|
914
|
+
LIMIT 1
|
|
915
|
+
`).get(userAWindow1.context.tenantId, providerId);
|
|
916
|
+
const originalRuntimeRow = db.prepare(`
|
|
917
|
+
SELECT snapshot_json
|
|
918
|
+
FROM runtime_snapshots
|
|
919
|
+
WHERE tenant_id = ? AND workspace_id = ? AND session_id = ? AND run_id = ?
|
|
920
|
+
`).get(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, originalRunId);
|
|
921
|
+
const originalRuntimeSnapshot = JSON.parse(originalRuntimeRow?.snapshot_json ?? '{}');
|
|
922
|
+
const providerSnapshotChanged = Boolean(originalRuntimeSnapshot.agentRuntimeProviderSnapshotHash
|
|
923
|
+
&& latestProviderSnapshot?.snapshot_hash
|
|
924
|
+
&& originalRuntimeSnapshot.agentRuntimeProviderSnapshotHash !== latestProviderSnapshot.snapshot_hash);
|
|
925
|
+
const sdkSessionReusable = Boolean(!providerSnapshotChanged
|
|
926
|
+
&& originalRuntimeSnapshot.sdkSessionId
|
|
927
|
+
&& originalRuntimeSnapshot.agentRuntimeProviderId === providerId);
|
|
928
|
+
db.prepare(`
|
|
929
|
+
INSERT INTO analysis_runs
|
|
930
|
+
(id, tenant_id, workspace_id, session_id, mode, status, question, started_at, completed_at)
|
|
931
|
+
VALUES (?, ?, ?, ?, 'followup', 'completed', ?, ?, ?)
|
|
932
|
+
`).run(followUpRunId, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, 'follow-up turn after provider config changed', now + 30, now + 40);
|
|
933
|
+
db.prepare(`
|
|
934
|
+
INSERT INTO runtime_snapshots
|
|
935
|
+
(id, tenant_id, workspace_id, session_id, run_id, runtime_type, snapshot_json, created_at)
|
|
936
|
+
VALUES (?, ?, ?, ?, ?, 'openai-agents-sdk', ?, ?)
|
|
937
|
+
`).run(`runtime-snapshot-d8-followup-${crypto_1.default.randomUUID()}`, userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, followUpRunId, JSON.stringify({
|
|
938
|
+
agentRuntimeKind: 'openai-agents-sdk',
|
|
939
|
+
agentRuntimeProviderId: providerId,
|
|
940
|
+
agentRuntimeProviderSnapshotHash: changedHash,
|
|
941
|
+
sdkSessionId: freshSdkSessionId,
|
|
942
|
+
openAILastResponseId: freshSdkSessionId,
|
|
943
|
+
previousProviderSnapshotHash: originalHash,
|
|
944
|
+
providerSnapshotChangeReason: 'provider_snapshot_hash_mismatch',
|
|
945
|
+
runSequence: 2,
|
|
946
|
+
}), now + 50);
|
|
947
|
+
const followUpRuntimeRow = db.prepare(`
|
|
948
|
+
SELECT snapshot_json
|
|
949
|
+
FROM runtime_snapshots
|
|
950
|
+
WHERE tenant_id = ? AND workspace_id = ? AND session_id = ? AND run_id = ?
|
|
951
|
+
`).get(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, sessionId, followUpRunId);
|
|
952
|
+
const followUpRuntimeSnapshot = JSON.parse(followUpRuntimeRow?.snapshot_json ?? '{}');
|
|
953
|
+
const pinnedConfigJson = pinnedSnapshot?.resolved_config_json ?? '';
|
|
954
|
+
const latestConfigJson = latestProviderSnapshot?.resolved_config_json ?? '';
|
|
955
|
+
const checks = {
|
|
956
|
+
sessionStoresOriginalProviderSnapshot: pinnedSnapshot?.id === originalSnapshotId
|
|
957
|
+
&& pinnedSnapshot.provider_id === providerId
|
|
958
|
+
&& pinnedSnapshot.snapshot_hash === originalHash,
|
|
959
|
+
latestProviderConfigUsesDifferentHash: latestProviderSnapshot?.id === changedSnapshotId
|
|
960
|
+
&& latestProviderSnapshot.snapshot_hash === changedHash
|
|
961
|
+
&& latestProviderSnapshot.snapshot_hash !== pinnedSnapshot?.snapshot_hash,
|
|
962
|
+
resumeDetectsProviderSnapshotHashMismatch: providerSnapshotChanged,
|
|
963
|
+
oldSdkSessionIsNotReusableAfterMismatch: !sdkSessionReusable
|
|
964
|
+
&& originalRuntimeSnapshot.sdkSessionId === oldSdkSessionId,
|
|
965
|
+
followUpRuntimeUsesFreshSdkSession: followUpRuntimeSnapshot.agentRuntimeProviderSnapshotHash === changedHash
|
|
966
|
+
&& followUpRuntimeSnapshot.previousProviderSnapshotHash === originalHash
|
|
967
|
+
&& followUpRuntimeSnapshot.sdkSessionId === freshSdkSessionId
|
|
968
|
+
&& followUpRuntimeSnapshot.openAILastResponseId === freshSdkSessionId
|
|
969
|
+
&& followUpRuntimeSnapshot.sdkSessionId !== originalRuntimeSnapshot.sdkSessionId,
|
|
970
|
+
providerSnapshotsDoNotPersistPlaintextSecret: !pinnedConfigJson.includes('sk-')
|
|
971
|
+
&& !latestConfigJson.includes('sk-')
|
|
972
|
+
&& pinnedSnapshot?.secret_version === 'secret-v1'
|
|
973
|
+
&& latestProviderSnapshot?.secret_version === 'secret-v2',
|
|
974
|
+
};
|
|
975
|
+
return {
|
|
976
|
+
checks,
|
|
977
|
+
details: {
|
|
978
|
+
traceId: upload.traceId,
|
|
979
|
+
sessionId,
|
|
980
|
+
originalRunId,
|
|
981
|
+
followUpRunId,
|
|
982
|
+
providerId,
|
|
983
|
+
originalSnapshotId,
|
|
984
|
+
changedSnapshotId,
|
|
985
|
+
originalHash,
|
|
986
|
+
changedHash,
|
|
987
|
+
oldSdkSessionId,
|
|
988
|
+
freshSdkSessionId,
|
|
989
|
+
providerSnapshotChanged,
|
|
990
|
+
sdkSessionReusable,
|
|
991
|
+
},
|
|
992
|
+
};
|
|
993
|
+
}
|
|
994
|
+
async function scenarioD9(tracePath, userAWindow1) {
|
|
995
|
+
const restartDbPath = path_1.default.join(path_1.default.dirname((0, traceMetadataStore_1.getTracesDir)()), `d9-restart-${crypto_1.default.randomUUID()}.sqlite`);
|
|
996
|
+
let restartDb = new better_sqlite3_1.default(restartDbPath);
|
|
997
|
+
try {
|
|
998
|
+
(0, enterpriseSchema_1.applyEnterpriseMinimalSchema)(restartDb);
|
|
999
|
+
const upload = await simulateUpload(restartDb, userAWindow1, tracePath, 'd9-backend-restart.pftrace');
|
|
1000
|
+
const pendingRun = createAnalysisRun(restartDb, userAWindow1, upload, 'pending');
|
|
1001
|
+
const runningRun = createAnalysisRun(restartDb, userAWindow1, upload, 'running');
|
|
1002
|
+
const completedRun = createAnalysisRun(restartDb, userAWindow1, upload, 'completed');
|
|
1003
|
+
const recoveryAt = 1777200100000;
|
|
1004
|
+
const recoveryErrorJson = JSON.stringify({
|
|
1005
|
+
message: 'backend restart during D9 regression',
|
|
1006
|
+
source: 'backend_startup_recovery',
|
|
1007
|
+
});
|
|
1008
|
+
appendAgentEvent(restartDb, userAWindow1, pendingRun.runId, 1, 'progress', {
|
|
1009
|
+
type: 'progress',
|
|
1010
|
+
data: { phase: 'queued-before-restart' },
|
|
1011
|
+
});
|
|
1012
|
+
appendAgentEvent(restartDb, userAWindow1, runningRun.runId, 1, 'progress', {
|
|
1013
|
+
type: 'progress',
|
|
1014
|
+
data: { phase: 'running-before-restart' },
|
|
1015
|
+
});
|
|
1016
|
+
appendAgentEvent(restartDb, userAWindow1, runningRun.runId, 2, 'thought', {
|
|
1017
|
+
type: 'thought',
|
|
1018
|
+
data: { summary: 'partial thought before restart' },
|
|
1019
|
+
});
|
|
1020
|
+
appendAgentEvent(restartDb, userAWindow1, completedRun.runId, 1, 'conclusion', {
|
|
1021
|
+
type: 'conclusion',
|
|
1022
|
+
data: { summary: 'completed before restart' },
|
|
1023
|
+
});
|
|
1024
|
+
appendAgentEvent(restartDb, userAWindow1, completedRun.runId, 2, 'analysis_completed', {
|
|
1025
|
+
type: 'analysis_completed',
|
|
1026
|
+
data: { reportUrl: '/api/reports/d9-terminal-report' },
|
|
1027
|
+
});
|
|
1028
|
+
restartDb.prepare(`
|
|
1029
|
+
UPDATE analysis_runs
|
|
1030
|
+
SET completed_at = ?, updated_at = ?
|
|
1031
|
+
WHERE id = ?
|
|
1032
|
+
`).run(recoveryAt - 1000, recoveryAt - 1000, completedRun.runId);
|
|
1033
|
+
restartDb.prepare(`
|
|
1034
|
+
UPDATE analysis_sessions
|
|
1035
|
+
SET status = 'completed', updated_at = ?
|
|
1036
|
+
WHERE id = ?
|
|
1037
|
+
`).run(recoveryAt - 1000, completedRun.sessionId);
|
|
1038
|
+
restartDb.close();
|
|
1039
|
+
restartDb = new better_sqlite3_1.default(restartDbPath);
|
|
1040
|
+
(0, enterpriseSchema_1.applyEnterpriseMinimalSchema)(restartDb);
|
|
1041
|
+
const interrupted = restartDb.prepare(`
|
|
1042
|
+
SELECT id, tenant_id, workspace_id, session_id, status
|
|
1043
|
+
FROM analysis_runs
|
|
1044
|
+
WHERE status IN ('pending', 'running', 'awaiting_user')
|
|
1045
|
+
ORDER BY updated_at ASC, started_at ASC, id ASC
|
|
1046
|
+
`).all();
|
|
1047
|
+
const recoverInterrupted = restartDb.transaction(() => {
|
|
1048
|
+
for (const run of interrupted) {
|
|
1049
|
+
restartDb.prepare(`
|
|
1050
|
+
UPDATE analysis_runs
|
|
1051
|
+
SET status = 'failed',
|
|
1052
|
+
heartbeat_at = ?,
|
|
1053
|
+
updated_at = ?,
|
|
1054
|
+
completed_at = COALESCE(completed_at, ?),
|
|
1055
|
+
error_json = COALESCE(error_json, ?)
|
|
1056
|
+
WHERE tenant_id = ?
|
|
1057
|
+
AND workspace_id = ?
|
|
1058
|
+
AND id = ?
|
|
1059
|
+
AND status = ?
|
|
1060
|
+
`).run(recoveryAt, recoveryAt, recoveryAt, recoveryErrorJson, run.tenant_id, run.workspace_id, run.id, run.status);
|
|
1061
|
+
restartDb.prepare(`
|
|
1062
|
+
UPDATE analysis_sessions
|
|
1063
|
+
SET status = 'failed',
|
|
1064
|
+
updated_at = ?
|
|
1065
|
+
WHERE tenant_id = ?
|
|
1066
|
+
AND workspace_id = ?
|
|
1067
|
+
AND id = ?
|
|
1068
|
+
AND status IN ('pending', 'running', 'awaiting_user')
|
|
1069
|
+
`).run(recoveryAt, run.tenant_id, run.workspace_id, run.session_id);
|
|
1070
|
+
}
|
|
1071
|
+
});
|
|
1072
|
+
recoverInterrupted();
|
|
1073
|
+
const lifecycleRows = restartDb.prepare(`
|
|
1074
|
+
SELECT id, status, completed_at, error_json
|
|
1075
|
+
FROM analysis_runs
|
|
1076
|
+
WHERE id IN (?, ?, ?)
|
|
1077
|
+
ORDER BY id ASC
|
|
1078
|
+
`).all(pendingRun.runId, runningRun.runId, completedRun.runId);
|
|
1079
|
+
const lifecycleById = Object.fromEntries(lifecycleRows.map(row => [row.id, row]));
|
|
1080
|
+
const pendingEvents = listAgentEventsAfter(restartDb, userAWindow1, pendingRun.runId, 0);
|
|
1081
|
+
const runningEvents = listAgentEventsAfter(restartDb, userAWindow1, runningRun.runId, 0);
|
|
1082
|
+
const completedEvents = listAgentEventsAfter(restartDb, userAWindow1, completedRun.runId, 0);
|
|
1083
|
+
const traceMetadata = await (0, traceMetadataStore_1.readTraceMetadataForContext)(upload.traceId, userAWindow1.context);
|
|
1084
|
+
const traceAssetRow = restartDb.prepare(`
|
|
1085
|
+
SELECT id, local_path, status
|
|
1086
|
+
FROM trace_assets
|
|
1087
|
+
WHERE tenant_id = ? AND workspace_id = ? AND id = ?
|
|
1088
|
+
`).get(userAWindow1.context.tenantId, userAWindow1.context.workspaceId, upload.traceId);
|
|
1089
|
+
const sessionStatuses = restartDb.prepare(`
|
|
1090
|
+
SELECT id, status
|
|
1091
|
+
FROM analysis_sessions
|
|
1092
|
+
WHERE id IN (?, ?, ?)
|
|
1093
|
+
ORDER BY id ASC
|
|
1094
|
+
`).all(pendingRun.sessionId, runningRun.sessionId, completedRun.sessionId);
|
|
1095
|
+
const sessionStatusById = Object.fromEntries(sessionStatuses.map(row => [row.id, row.status]));
|
|
1096
|
+
const recoveredPreviousStatuses = interrupted.map(run => [run.id, run.status]);
|
|
1097
|
+
const checks = {
|
|
1098
|
+
fileBackedDbReopensWithTraceAsset: traceAssetRow?.id === upload.traceId
|
|
1099
|
+
&& traceAssetRow.status === 'ready'
|
|
1100
|
+
&& fs_1.default.existsSync(upload.localPath),
|
|
1101
|
+
traceMetadataReadableAfterRestart: traceMetadata?.id === upload.traceId
|
|
1102
|
+
&& traceMetadata.tenantId === userAWindow1.context.tenantId
|
|
1103
|
+
&& traceMetadata.workspaceId === userAWindow1.context.workspaceId,
|
|
1104
|
+
startupRecoveryFindsOnlyNonterminalRuns: recoveredPreviousStatuses.length === 2
|
|
1105
|
+
&& recoveredPreviousStatuses.some(([id, status]) => id === pendingRun.runId && status === 'pending')
|
|
1106
|
+
&& recoveredPreviousStatuses.some(([id, status]) => id === runningRun.runId && status === 'running')
|
|
1107
|
+
&& !recoveredPreviousStatuses.some(([id]) => id === completedRun.runId),
|
|
1108
|
+
pendingAndRunningRunsBecomeFailed: lifecycleById[pendingRun.runId]?.status === 'failed'
|
|
1109
|
+
&& lifecycleById[runningRun.runId]?.status === 'failed'
|
|
1110
|
+
&& lifecycleById[pendingRun.runId]?.completed_at === recoveryAt
|
|
1111
|
+
&& lifecycleById[runningRun.runId]?.completed_at === recoveryAt,
|
|
1112
|
+
terminalRunRemainsCompleted: lifecycleById[completedRun.runId]?.status === 'completed'
|
|
1113
|
+
&& lifecycleById[completedRun.runId]?.completed_at === recoveryAt - 1000,
|
|
1114
|
+
persistedEventsReplayAfterRestart: pendingEvents.map(event => event.cursor).join(',') === '1'
|
|
1115
|
+
&& runningEvents.map(event => event.cursor).join(',') === '1,2'
|
|
1116
|
+
&& completedEvents.map(event => `${event.cursor}:${event.eventType}`).join(',') === '1:conclusion,2:analysis_completed',
|
|
1117
|
+
failedSessionsMarkedWithoutTouchingTerminalSession: sessionStatusById[pendingRun.sessionId] === 'failed'
|
|
1118
|
+
&& sessionStatusById[runningRun.sessionId] === 'failed'
|
|
1119
|
+
&& sessionStatusById[completedRun.sessionId] === 'completed',
|
|
1120
|
+
recoveryErrorIsAuditable: lifecycleById[pendingRun.runId]?.error_json === recoveryErrorJson
|
|
1121
|
+
&& lifecycleById[runningRun.runId]?.error_json === recoveryErrorJson
|
|
1122
|
+
&& lifecycleById[completedRun.runId]?.error_json === null,
|
|
1123
|
+
};
|
|
1124
|
+
return {
|
|
1125
|
+
checks,
|
|
1126
|
+
details: {
|
|
1127
|
+
traceId: upload.traceId,
|
|
1128
|
+
restartDbPath,
|
|
1129
|
+
pendingRun,
|
|
1130
|
+
runningRun,
|
|
1131
|
+
completedRun,
|
|
1132
|
+
recoveredPreviousStatuses,
|
|
1133
|
+
pendingEvents,
|
|
1134
|
+
runningEvents,
|
|
1135
|
+
completedEvents,
|
|
1136
|
+
sessionStatusById,
|
|
1137
|
+
},
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
finally {
|
|
1141
|
+
restartDb.close();
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
async function scenarioD10(db, tracePath, userAWindow1) {
|
|
1145
|
+
const mib = 1024 * 1024;
|
|
1146
|
+
const activeUpload = await simulateUpload(db, userAWindow1, tracePath, 'd10-active-window.pftrace');
|
|
1147
|
+
const candidateUpload = await simulateUpload(db, userAWindow1, tracePath, 'd10-rejected-new-lease.pftrace');
|
|
1148
|
+
const store = new traceProcessorLeaseStore_1.TraceProcessorLeaseStore(db);
|
|
1149
|
+
const scope = leaseScope(userAWindow1);
|
|
1150
|
+
const windowId = userAWindow1.context.windowId ?? userAWindow1.label;
|
|
1151
|
+
const activeRssBytes = 448 * mib;
|
|
1152
|
+
const budgetBytes = 512 * mib;
|
|
1153
|
+
const minEstimateBytes = 128 * mib;
|
|
1154
|
+
let activeLease = store.acquireHolder(scope, activeUpload.traceId, {
|
|
1155
|
+
holderType: 'frontend_http_rpc',
|
|
1156
|
+
holderRef: windowId,
|
|
1157
|
+
windowId,
|
|
1158
|
+
frontendVisibility: 'visible',
|
|
1159
|
+
metadata: { scenario: 'D10' },
|
|
1160
|
+
});
|
|
1161
|
+
store.markStarting(scope, activeLease.id);
|
|
1162
|
+
activeLease = store.markReady(scope, activeLease.id);
|
|
1163
|
+
activeLease = store.recordRss(scope, activeLease.id, activeRssBytes);
|
|
1164
|
+
const admissionEnv = {
|
|
1165
|
+
...process.env,
|
|
1166
|
+
[traceProcessorRamBudget_1.TP_ADMISSION_CONTROL_ENV]: 'true',
|
|
1167
|
+
[traceProcessorRamBudget_1.TP_RAM_BUDGET_BYTES_ENV]: String(budgetBytes),
|
|
1168
|
+
[traceProcessorRamBudget_1.TP_ESTIMATE_MULTIPLIER_ENV]: '1',
|
|
1169
|
+
[traceProcessorRamBudget_1.TP_MIN_ESTIMATE_BYTES_ENV]: String(minEstimateBytes),
|
|
1170
|
+
};
|
|
1171
|
+
const processorSamples = store.listLeases(scope, {
|
|
1172
|
+
states: ['pending', 'starting', 'ready', 'idle', 'active', 'crashed', 'restarting'],
|
|
1173
|
+
}).map(lease => ({
|
|
1174
|
+
traceId: lease.traceId,
|
|
1175
|
+
rssBytes: lease.rssBytes,
|
|
1176
|
+
}));
|
|
1177
|
+
const decision = (0, traceProcessorRamBudget_1.decideTraceProcessorAdmission)({
|
|
1178
|
+
traceId: candidateUpload.traceId,
|
|
1179
|
+
traceSizeBytes: candidateUpload.sizeBytes,
|
|
1180
|
+
processors: processorSamples,
|
|
1181
|
+
env: admissionEnv,
|
|
1182
|
+
});
|
|
1183
|
+
let newLeaseAttempted = false;
|
|
1184
|
+
if (decision.admitted) {
|
|
1185
|
+
newLeaseAttempted = true;
|
|
1186
|
+
store.acquireHolder(scope, candidateUpload.traceId, {
|
|
1187
|
+
holderType: 'agent_run',
|
|
1188
|
+
holderRef: 'run-d10-candidate',
|
|
1189
|
+
metadata: { scenario: 'D10' },
|
|
1190
|
+
});
|
|
1191
|
+
}
|
|
1192
|
+
const activeLeaseAfterRejectedAdmission = store.getLeaseById(scope, activeLease.id);
|
|
1193
|
+
const candidateLeases = store.listLeases(scope, { traceId: candidateUpload.traceId });
|
|
1194
|
+
const activeHolderCountBeforeShare = activeLeaseAfterRejectedAdmission?.holderCount ?? 0;
|
|
1195
|
+
const sharedLease = store.acquireHolder(scope, activeUpload.traceId, {
|
|
1196
|
+
holderType: 'agent_run',
|
|
1197
|
+
holderRef: 'run-d10-existing-trace',
|
|
1198
|
+
runId: 'run-d10-existing-trace',
|
|
1199
|
+
metadata: { scenario: 'D10', reuse: 'existing-lease' },
|
|
1200
|
+
});
|
|
1201
|
+
const activeTraceLeases = store.listLeases(scope, { traceId: activeUpload.traceId });
|
|
1202
|
+
const activeTraceAssetPresent = scalar(db, 'SELECT COUNT(*) AS value FROM trace_assets WHERE id = ?', [activeUpload.traceId]) === 1;
|
|
1203
|
+
const candidateTraceAssetPresent = scalar(db, 'SELECT COUNT(*) AS value FROM trace_assets WHERE id = ?', [candidateUpload.traceId]) === 1;
|
|
1204
|
+
const checks = {
|
|
1205
|
+
admissionRejectsNewLeaseNearRamBudget: !decision.admitted
|
|
1206
|
+
&& decision.estimatedRssBytes === minEstimateBytes
|
|
1207
|
+
&& decision.stats.availableForNewLeaseBytes === budgetBytes - activeRssBytes
|
|
1208
|
+
&& Boolean(decision.reason?.includes('exceeds available budget')),
|
|
1209
|
+
rejectedAdmissionDoesNotCreateCandidateLease: !newLeaseAttempted
|
|
1210
|
+
&& candidateLeases.length === 0
|
|
1211
|
+
&& candidateTraceAssetPresent
|
|
1212
|
+
&& fs_1.default.existsSync(candidateUpload.localPath),
|
|
1213
|
+
activeLeaseSurvivesRejectedAdmission: activeLeaseAfterRejectedAdmission?.id === activeLease.id
|
|
1214
|
+
&& activeLeaseAfterRejectedAdmission.state === 'active'
|
|
1215
|
+
&& activeLeaseAfterRejectedAdmission.rssBytes === activeRssBytes
|
|
1216
|
+
&& activeLeaseAfterRejectedAdmission.holderCount === 1,
|
|
1217
|
+
existingTraceCanReuseSharedLeaseWithoutNewProcessor: sharedLease.id === activeLease.id
|
|
1218
|
+
&& sharedLease.holderCount === activeHolderCountBeforeShare + 1
|
|
1219
|
+
&& activeTraceLeases.length === 1,
|
|
1220
|
+
noOomStyleCleanupOfExistingWindow: activeTraceAssetPresent
|
|
1221
|
+
&& fs_1.default.existsSync(activeUpload.localPath)
|
|
1222
|
+
&& store.getLeaseById(scope, activeLease.id)?.state === 'active',
|
|
1223
|
+
};
|
|
1224
|
+
return {
|
|
1225
|
+
checks,
|
|
1226
|
+
details: {
|
|
1227
|
+
activeTraceId: activeUpload.traceId,
|
|
1228
|
+
candidateTraceId: candidateUpload.traceId,
|
|
1229
|
+
activeLeaseId: activeLease.id,
|
|
1230
|
+
activeRssBytes,
|
|
1231
|
+
budgetBytes,
|
|
1232
|
+
estimatedRssBytes: decision.estimatedRssBytes,
|
|
1233
|
+
availableForNewLeaseBytes: decision.stats.availableForNewLeaseBytes,
|
|
1234
|
+
admissionReason: decision.reason,
|
|
1235
|
+
activeHolderCountBeforeShare,
|
|
1236
|
+
activeHolderCountAfterShare: sharedLease.holderCount,
|
|
1237
|
+
candidateLeaseCount: candidateLeases.length,
|
|
1238
|
+
},
|
|
1239
|
+
};
|
|
1240
|
+
}
|
|
1241
|
+
function allChecksPassed(report) {
|
|
1242
|
+
return Object.values(report.scenarios).every(scenario => Object.values(scenario.checks).every(Boolean));
|
|
1243
|
+
}
|
|
1244
|
+
function scenarioPassed(scenario) {
|
|
1245
|
+
return Object.values(scenario.checks).every(Boolean);
|
|
1246
|
+
}
|
|
1247
|
+
async function runEnterpriseWindowRegression(input = {}) {
|
|
1248
|
+
const tracePath = input.tracePath ? path_1.default.resolve(input.tracePath) : resolveDefaultTracePath();
|
|
1249
|
+
const createdUploadRoot = !input.uploadRoot;
|
|
1250
|
+
const uploadRoot = input.uploadRoot
|
|
1251
|
+
? path_1.default.resolve(input.uploadRoot)
|
|
1252
|
+
: await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'smartperfetto-enterprise-window-'));
|
|
1253
|
+
const previousUploadRoot = process.env.UPLOAD_DIR;
|
|
1254
|
+
process.env.UPLOAD_DIR = uploadRoot;
|
|
1255
|
+
const db = new better_sqlite3_1.default(':memory:');
|
|
1256
|
+
(0, enterpriseSchema_1.applyEnterpriseMinimalSchema)(db);
|
|
1257
|
+
try {
|
|
1258
|
+
const windows = {
|
|
1259
|
+
userAWindow1: context('user-a-window-1', {
|
|
1260
|
+
tenantId: 'tenant-a',
|
|
1261
|
+
workspaceId: 'workspace-a',
|
|
1262
|
+
userId: 'user-a',
|
|
1263
|
+
windowId: 'window-a-1',
|
|
1264
|
+
}),
|
|
1265
|
+
userAWindow2: context('user-a-window-2', {
|
|
1266
|
+
tenantId: 'tenant-a',
|
|
1267
|
+
workspaceId: 'workspace-a',
|
|
1268
|
+
userId: 'user-a',
|
|
1269
|
+
windowId: 'window-a-2',
|
|
1270
|
+
}),
|
|
1271
|
+
userBWindow1: context('user-b-window-1', {
|
|
1272
|
+
tenantId: 'tenant-a',
|
|
1273
|
+
workspaceId: 'workspace-a',
|
|
1274
|
+
userId: 'user-b',
|
|
1275
|
+
windowId: 'window-b-1',
|
|
1276
|
+
}),
|
|
1277
|
+
userCWindow1: context('user-c-window-1', {
|
|
1278
|
+
tenantId: 'tenant-b',
|
|
1279
|
+
workspaceId: 'workspace-c',
|
|
1280
|
+
userId: 'user-c',
|
|
1281
|
+
windowId: 'window-c-1',
|
|
1282
|
+
}),
|
|
1283
|
+
};
|
|
1284
|
+
const scenarios = {
|
|
1285
|
+
D1: await scenarioD1(db, tracePath, windows),
|
|
1286
|
+
D2: await scenarioD2(db, tracePath, windows.userAWindow1, windows.userBWindow1, input.longSqlMs ?? 100),
|
|
1287
|
+
D3: await scenarioD3(db, tracePath, windows.userAWindow1, windows.userBWindow1),
|
|
1288
|
+
D4: await scenarioD4(db, tracePath, windows.userAWindow1),
|
|
1289
|
+
D5: await scenarioD5(db, tracePath, windows.userAWindow1),
|
|
1290
|
+
D6: await scenarioD6(db, tracePath, windows.userAWindow1, windows.userCWindow1),
|
|
1291
|
+
D7: await scenarioD7(db, tracePath, windows.userAWindow1),
|
|
1292
|
+
D8: await scenarioD8(db, tracePath, windows.userAWindow1),
|
|
1293
|
+
D9: await scenarioD9(tracePath, windows.userAWindow1),
|
|
1294
|
+
D10: await scenarioD10(db, tracePath, windows.userAWindow1),
|
|
1295
|
+
};
|
|
1296
|
+
const report = {
|
|
1297
|
+
timestamp: new Date().toISOString(),
|
|
1298
|
+
passed: false,
|
|
1299
|
+
checks: {
|
|
1300
|
+
D1: scenarioPassed(scenarios.D1),
|
|
1301
|
+
D2: scenarioPassed(scenarios.D2),
|
|
1302
|
+
D3: scenarioPassed(scenarios.D3),
|
|
1303
|
+
D4: scenarioPassed(scenarios.D4),
|
|
1304
|
+
D5: scenarioPassed(scenarios.D5),
|
|
1305
|
+
D6: scenarioPassed(scenarios.D6),
|
|
1306
|
+
D7: scenarioPassed(scenarios.D7),
|
|
1307
|
+
D8: scenarioPassed(scenarios.D8),
|
|
1308
|
+
D9: scenarioPassed(scenarios.D9),
|
|
1309
|
+
D10: scenarioPassed(scenarios.D10),
|
|
1310
|
+
},
|
|
1311
|
+
uploadRoot,
|
|
1312
|
+
tracePath,
|
|
1313
|
+
scenarios,
|
|
1314
|
+
coverageLimitations: [
|
|
1315
|
+
'D1 covers same-name trace isolation across three users and two windows at the trace metadata, TraceAsset, workspace RBAC, and analysis session/run schema layers.',
|
|
1316
|
+
'D2 covers a deterministic long-SQL window at the run/event metadata layer without invoking a real LLM provider.',
|
|
1317
|
+
'D3 covers lease-proxy target shape plus TraceProcessorSqlWorker priority ordering; traceProcessorProxyRoutes tests cover authenticated live route priority forwarding.',
|
|
1318
|
+
'D4 covers the lease state contract and frontend proxy target stability around a simulated trace_processor crash; TraceProcessorService restart backoff and single-supervisor behavior are covered by traceProcessorLeaseProcessorRouting tests.',
|
|
1319
|
+
'D5 covers TraceProcessorLease holder grace and pageshow-style reacquire semantics after offline heartbeat expiry; frontend stale-lease reload signaling is covered by HttpRpcEngine unit tests.',
|
|
1320
|
+
'D6 covers the persisted AgentEvent replay contract after a conclusion cursor; the live stream route path is covered by agentRoutesRbac tests.',
|
|
1321
|
+
'D7 covers running run, active lease, report_generation holder, and draining rejection invariants; actual route blocking is covered by enterpriseTraceMetadataRoutes tests.',
|
|
1322
|
+
'D8 covers the DB ProviderSnapshot pin/hash-mismatch invariant in the enterprise window regression; AgentAnalyzeSessionService tests cover actual in-memory and persisted SDK session non-reuse.',
|
|
1323
|
+
'D9 covers file-backed DB close/reopen recovery for trace metadata, run states, and AgentEvent replay; enterpriseRestartPersistence tests cover the route-level restart recovery path.',
|
|
1324
|
+
'D10 covers RAM-admission rejection without creating a new lease or cleaning up existing active holders; TraceProcessorFactory tests cover pre-spawn rejection before a real processor starts.',
|
|
1325
|
+
'Production backend proxy and queue behavior remain future §0.7 D1/D2/D3/D4/D5/D6/D7/D8/D9/D10 final-acceptance work against a live browser and trace_processor_shell.',
|
|
1326
|
+
],
|
|
1327
|
+
};
|
|
1328
|
+
report.passed = allChecksPassed(report);
|
|
1329
|
+
const outputPath = input.outputPath
|
|
1330
|
+
? path_1.default.resolve(input.outputPath)
|
|
1331
|
+
: path_1.default.resolve(process.cwd(), 'test-output', `enterprise-window-regression-${Date.now()}.json`);
|
|
1332
|
+
await promises_1.default.mkdir(path_1.default.dirname(outputPath), { recursive: true });
|
|
1333
|
+
await promises_1.default.writeFile(outputPath, `${JSON.stringify(report, null, 2)}\n`);
|
|
1334
|
+
console.log(JSON.stringify(report, null, 2));
|
|
1335
|
+
console.log(`Report written to: ${outputPath}`);
|
|
1336
|
+
return report;
|
|
1337
|
+
}
|
|
1338
|
+
finally {
|
|
1339
|
+
db.close();
|
|
1340
|
+
if (previousUploadRoot === undefined) {
|
|
1341
|
+
delete process.env.UPLOAD_DIR;
|
|
1342
|
+
}
|
|
1343
|
+
else {
|
|
1344
|
+
process.env.UPLOAD_DIR = previousUploadRoot;
|
|
1345
|
+
}
|
|
1346
|
+
if (createdUploadRoot && !input.keepTemp) {
|
|
1347
|
+
await promises_1.default.rm(uploadRoot, { recursive: true, force: true });
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
if (require.main === module) {
|
|
1352
|
+
const options = parseArgs(process.argv.slice(2));
|
|
1353
|
+
runEnterpriseWindowRegression(options)
|
|
1354
|
+
.then((report) => {
|
|
1355
|
+
if (!report.passed)
|
|
1356
|
+
process.exitCode = 1;
|
|
1357
|
+
})
|
|
1358
|
+
.catch((error) => {
|
|
1359
|
+
console.error(error instanceof Error ? error.message : error);
|
|
1360
|
+
process.exit(1);
|
|
1361
|
+
});
|
|
1362
|
+
}
|
|
1363
|
+
//# sourceMappingURL=verifyEnterpriseMultiTenantWindows.js.map
|