@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.
Files changed (2287) hide show
  1. package/.env.example +586 -0
  2. package/LICENSE +685 -0
  3. package/data/perfettoSqlDocs.json +33478 -0
  4. package/data/perfettoSqlIndex.json +9458 -0
  5. package/data/perfettoSqlIndex.light.json +13129 -0
  6. package/data/perfettoStdlibSymbols.json +677 -0
  7. package/dist/agent/agents/base/baseAgent.d.ts +378 -0
  8. package/dist/agent/agents/base/baseAgent.d.ts.map +1 -0
  9. package/dist/agent/agents/base/baseAgent.js +1484 -0
  10. package/dist/agent/agents/base/baseAgent.js.map +1 -0
  11. package/dist/agent/agents/base/baseSubAgent.d.ts +135 -0
  12. package/dist/agent/agents/base/baseSubAgent.d.ts.map +1 -0
  13. package/dist/agent/agents/base/baseSubAgent.js +483 -0
  14. package/dist/agent/agents/base/baseSubAgent.js.map +1 -0
  15. package/dist/agent/agents/baseExpertAgent.d.ts +37 -0
  16. package/dist/agent/agents/baseExpertAgent.d.ts.map +1 -0
  17. package/dist/agent/agents/baseExpertAgent.js +322 -0
  18. package/dist/agent/agents/baseExpertAgent.js.map +1 -0
  19. package/dist/agent/agents/domain/additionalAgents.d.ts +54 -0
  20. package/dist/agent/agents/domain/additionalAgents.d.ts.map +1 -0
  21. package/dist/agent/agents/domain/additionalAgents.js +292 -0
  22. package/dist/agent/agents/domain/additionalAgents.js.map +1 -0
  23. package/dist/agent/agents/domain/binderAgent.d.ts +27 -0
  24. package/dist/agent/agents/domain/binderAgent.d.ts.map +1 -0
  25. package/dist/agent/agents/domain/binderAgent.js +100 -0
  26. package/dist/agent/agents/domain/binderAgent.js.map +1 -0
  27. package/dist/agent/agents/domain/cpuAgent.d.ts +35 -0
  28. package/dist/agent/agents/domain/cpuAgent.d.ts.map +1 -0
  29. package/dist/agent/agents/domain/cpuAgent.js +163 -0
  30. package/dist/agent/agents/domain/cpuAgent.js.map +1 -0
  31. package/dist/agent/agents/domain/frameAgent.d.ts +59 -0
  32. package/dist/agent/agents/domain/frameAgent.d.ts.map +1 -0
  33. package/dist/agent/agents/domain/frameAgent.js +511 -0
  34. package/dist/agent/agents/domain/frameAgent.js.map +1 -0
  35. package/dist/agent/agents/domain/index.d.ts +92 -0
  36. package/dist/agent/agents/domain/index.d.ts.map +1 -0
  37. package/dist/agent/agents/domain/index.js +250 -0
  38. package/dist/agent/agents/domain/index.js.map +1 -0
  39. package/dist/agent/agents/domain/memoryAgent.d.ts +26 -0
  40. package/dist/agent/agents/domain/memoryAgent.d.ts.map +1 -0
  41. package/dist/agent/agents/domain/memoryAgent.js +94 -0
  42. package/dist/agent/agents/domain/memoryAgent.js.map +1 -0
  43. package/dist/agent/agents/domain/skillCatalog.d.ts +10 -0
  44. package/dist/agent/agents/domain/skillCatalog.d.ts.map +1 -0
  45. package/dist/agent/agents/domain/skillCatalog.js +66 -0
  46. package/dist/agent/agents/domain/skillCatalog.js.map +1 -0
  47. package/dist/agent/agents/evaluatorAgent.d.ts +76 -0
  48. package/dist/agent/agents/evaluatorAgent.d.ts.map +1 -0
  49. package/dist/agent/agents/evaluatorAgent.js +517 -0
  50. package/dist/agent/agents/evaluatorAgent.js.map +1 -0
  51. package/dist/agent/agents/index.d.ts +13 -0
  52. package/dist/agent/agents/index.d.ts.map +1 -0
  53. package/dist/agent/agents/index.js +25 -0
  54. package/dist/agent/agents/index.js.map +1 -0
  55. package/dist/agent/agents/iterationStrategyPlanner.d.ts +140 -0
  56. package/dist/agent/agents/iterationStrategyPlanner.d.ts.map +1 -0
  57. package/dist/agent/agents/iterationStrategyPlanner.js +359 -0
  58. package/dist/agent/agents/iterationStrategyPlanner.js.map +1 -0
  59. package/dist/agent/agents/plannerAgent.d.ts +56 -0
  60. package/dist/agent/agents/plannerAgent.d.ts.map +1 -0
  61. package/dist/agent/agents/plannerAgent.js +379 -0
  62. package/dist/agent/agents/plannerAgent.js.map +1 -0
  63. package/dist/agent/agents/scrollingExpertAgent.d.ts +11 -0
  64. package/dist/agent/agents/scrollingExpertAgent.d.ts.map +1 -0
  65. package/dist/agent/agents/scrollingExpertAgent.js +132 -0
  66. package/dist/agent/agents/scrollingExpertAgent.js.map +1 -0
  67. package/dist/agent/agents/tools/adbTools.d.ts +5 -0
  68. package/dist/agent/agents/tools/adbTools.d.ts.map +1 -0
  69. package/dist/agent/agents/tools/adbTools.js +326 -0
  70. package/dist/agent/agents/tools/adbTools.js.map +1 -0
  71. package/dist/agent/communication/agentMessageBus.d.ts +138 -0
  72. package/dist/agent/communication/agentMessageBus.d.ts.map +1 -0
  73. package/dist/agent/communication/agentMessageBus.js +542 -0
  74. package/dist/agent/communication/agentMessageBus.js.map +1 -0
  75. package/dist/agent/communication/index.d.ts +7 -0
  76. package/dist/agent/communication/index.d.ts.map +1 -0
  77. package/dist/agent/communication/index.js +15 -0
  78. package/dist/agent/communication/index.js.map +1 -0
  79. package/dist/agent/compaction/compactionTypes.d.ts +163 -0
  80. package/dist/agent/compaction/compactionTypes.d.ts.map +1 -0
  81. package/dist/agent/compaction/compactionTypes.js +32 -0
  82. package/dist/agent/compaction/compactionTypes.js.map +1 -0
  83. package/dist/agent/compaction/contextCompactor.d.ts +109 -0
  84. package/dist/agent/compaction/contextCompactor.d.ts.map +1 -0
  85. package/dist/agent/compaction/contextCompactor.js +225 -0
  86. package/dist/agent/compaction/contextCompactor.js.map +1 -0
  87. package/dist/agent/compaction/index.d.ts +10 -0
  88. package/dist/agent/compaction/index.d.ts.map +1 -0
  89. package/dist/agent/compaction/index.js +43 -0
  90. package/dist/agent/compaction/index.js.map +1 -0
  91. package/dist/agent/compaction/strategies/index.d.ts +5 -0
  92. package/dist/agent/compaction/strategies/index.d.ts.map +1 -0
  93. package/dist/agent/compaction/strategies/index.js +13 -0
  94. package/dist/agent/compaction/strategies/index.js.map +1 -0
  95. package/dist/agent/compaction/strategies/slidingWindowStrategy.d.ts +53 -0
  96. package/dist/agent/compaction/strategies/slidingWindowStrategy.d.ts.map +1 -0
  97. package/dist/agent/compaction/strategies/slidingWindowStrategy.js +237 -0
  98. package/dist/agent/compaction/strategies/slidingWindowStrategy.js.map +1 -0
  99. package/dist/agent/compaction/tokenEstimator.d.ts +78 -0
  100. package/dist/agent/compaction/tokenEstimator.d.ts.map +1 -0
  101. package/dist/agent/compaction/tokenEstimator.js +203 -0
  102. package/dist/agent/compaction/tokenEstimator.js.map +1 -0
  103. package/dist/agent/config/decisionThresholdManifest.d.ts +72 -0
  104. package/dist/agent/config/decisionThresholdManifest.d.ts.map +1 -0
  105. package/dist/agent/config/decisionThresholdManifest.js +77 -0
  106. package/dist/agent/config/decisionThresholdManifest.js.map +1 -0
  107. package/dist/agent/config/domainManifest.d.ts +77 -0
  108. package/dist/agent/config/domainManifest.d.ts.map +1 -0
  109. package/dist/agent/config/domainManifest.js +269 -0
  110. package/dist/agent/config/domainManifest.js.map +1 -0
  111. package/dist/agent/config/drillDownRegistry.d.ts +19 -0
  112. package/dist/agent/config/drillDownRegistry.d.ts.map +1 -0
  113. package/dist/agent/config/drillDownRegistry.js +118 -0
  114. package/dist/agent/config/drillDownRegistry.js.map +1 -0
  115. package/dist/agent/context/contextBuilder.d.ts +79 -0
  116. package/dist/agent/context/contextBuilder.d.ts.map +1 -0
  117. package/dist/agent/context/contextBuilder.js +273 -0
  118. package/dist/agent/context/contextBuilder.js.map +1 -0
  119. package/dist/agent/context/contextTypes.d.ts +121 -0
  120. package/dist/agent/context/contextTypes.d.ts.map +1 -0
  121. package/dist/agent/context/contextTypes.js +14 -0
  122. package/dist/agent/context/contextTypes.js.map +1 -0
  123. package/dist/agent/context/enhancedSessionContext.d.ts +283 -0
  124. package/dist/agent/context/enhancedSessionContext.d.ts.map +1 -0
  125. package/dist/agent/context/enhancedSessionContext.js +1636 -0
  126. package/dist/agent/context/enhancedSessionContext.js.map +1 -0
  127. package/dist/agent/context/entityStore.d.ts +374 -0
  128. package/dist/agent/context/entityStore.d.ts.map +1 -0
  129. package/dist/agent/context/entityStore.js +621 -0
  130. package/dist/agent/context/entityStore.js.map +1 -0
  131. package/dist/agent/context/focusStore.d.ts +229 -0
  132. package/dist/agent/context/focusStore.d.ts.map +1 -0
  133. package/dist/agent/context/focusStore.js +528 -0
  134. package/dist/agent/context/focusStore.js.map +1 -0
  135. package/dist/agent/context/index.d.ts +10 -0
  136. package/dist/agent/context/index.d.ts.map +1 -0
  137. package/dist/agent/context/index.js +42 -0
  138. package/dist/agent/context/index.js.map +1 -0
  139. package/dist/agent/context/policies/evaluatorPolicy.d.ts +22 -0
  140. package/dist/agent/context/policies/evaluatorPolicy.d.ts.map +1 -0
  141. package/dist/agent/context/policies/evaluatorPolicy.js +82 -0
  142. package/dist/agent/context/policies/evaluatorPolicy.js.map +1 -0
  143. package/dist/agent/context/policies/index.d.ts +7 -0
  144. package/dist/agent/context/policies/index.d.ts.map +1 -0
  145. package/dist/agent/context/policies/index.js +18 -0
  146. package/dist/agent/context/policies/index.js.map +1 -0
  147. package/dist/agent/context/policies/plannerPolicy.d.ts +27 -0
  148. package/dist/agent/context/policies/plannerPolicy.d.ts.map +1 -0
  149. package/dist/agent/context/policies/plannerPolicy.js +67 -0
  150. package/dist/agent/context/policies/plannerPolicy.js.map +1 -0
  151. package/dist/agent/context/policies/workerPolicy.d.ts +29 -0
  152. package/dist/agent/context/policies/workerPolicy.d.ts.map +1 -0
  153. package/dist/agent/context/policies/workerPolicy.js +99 -0
  154. package/dist/agent/context/policies/workerPolicy.js.map +1 -0
  155. package/dist/agent/core/circuitBreaker.d.ts +150 -0
  156. package/dist/agent/core/circuitBreaker.d.ts.map +1 -0
  157. package/dist/agent/core/circuitBreaker.js +500 -0
  158. package/dist/agent/core/circuitBreaker.js.map +1 -0
  159. package/dist/agent/core/conclusionContract.d.ts +61 -0
  160. package/dist/agent/core/conclusionContract.d.ts.map +1 -0
  161. package/dist/agent/core/conclusionContract.js +6 -0
  162. package/dist/agent/core/conclusionContract.js.map +1 -0
  163. package/dist/agent/core/conclusionGenerator.d.ts +42 -0
  164. package/dist/agent/core/conclusionGenerator.d.ts.map +1 -0
  165. package/dist/agent/core/conclusionGenerator.js +4109 -0
  166. package/dist/agent/core/conclusionGenerator.js.map +1 -0
  167. package/dist/agent/core/conclusionSceneTemplates.d.ts +8 -0
  168. package/dist/agent/core/conclusionSceneTemplates.d.ts.map +1 -0
  169. package/dist/agent/core/conclusionSceneTemplates.js +31 -0
  170. package/dist/agent/core/conclusionSceneTemplates.js.map +1 -0
  171. package/dist/agent/core/drillDownResolver.d.ts +67 -0
  172. package/dist/agent/core/drillDownResolver.d.ts.map +1 -0
  173. package/dist/agent/core/drillDownResolver.js +583 -0
  174. package/dist/agent/core/drillDownResolver.js.map +1 -0
  175. package/dist/agent/core/emittedEnvelopeRegistry.d.ts +75 -0
  176. package/dist/agent/core/emittedEnvelopeRegistry.d.ts.map +1 -0
  177. package/dist/agent/core/emittedEnvelopeRegistry.js +164 -0
  178. package/dist/agent/core/emittedEnvelopeRegistry.js.map +1 -0
  179. package/dist/agent/core/entityCapture.d.ts +53 -0
  180. package/dist/agent/core/entityCapture.d.ts.map +1 -0
  181. package/dist/agent/core/entityCapture.js +522 -0
  182. package/dist/agent/core/entityCapture.js.map +1 -0
  183. package/dist/agent/core/entityRegistry.d.ts +19 -0
  184. package/dist/agent/core/entityRegistry.d.ts.map +1 -0
  185. package/dist/agent/core/entityRegistry.js +102 -0
  186. package/dist/agent/core/entityRegistry.js.map +1 -0
  187. package/dist/agent/core/executors/analysisExecutor.d.ts +21 -0
  188. package/dist/agent/core/executors/analysisExecutor.d.ts.map +1 -0
  189. package/dist/agent/core/executors/analysisExecutor.js +6 -0
  190. package/dist/agent/core/executors/analysisExecutor.js.map +1 -0
  191. package/dist/agent/core/executors/clarifyExecutor.d.ts +42 -0
  192. package/dist/agent/core/executors/clarifyExecutor.d.ts.map +1 -0
  193. package/dist/agent/core/executors/clarifyExecutor.js +316 -0
  194. package/dist/agent/core/executors/clarifyExecutor.js.map +1 -0
  195. package/dist/agent/core/executors/comparisonExecutor.d.ts +39 -0
  196. package/dist/agent/core/executors/comparisonExecutor.d.ts.map +1 -0
  197. package/dist/agent/core/executors/comparisonExecutor.js +404 -0
  198. package/dist/agent/core/executors/comparisonExecutor.js.map +1 -0
  199. package/dist/agent/core/executors/directDrillDownExecutor.d.ts +56 -0
  200. package/dist/agent/core/executors/directDrillDownExecutor.d.ts.map +1 -0
  201. package/dist/agent/core/executors/directDrillDownExecutor.js +665 -0
  202. package/dist/agent/core/executors/directDrillDownExecutor.js.map +1 -0
  203. package/dist/agent/core/executors/directSkillExecutor.d.ts +106 -0
  204. package/dist/agent/core/executors/directSkillExecutor.d.ts.map +1 -0
  205. package/dist/agent/core/executors/directSkillExecutor.js +633 -0
  206. package/dist/agent/core/executors/directSkillExecutor.js.map +1 -0
  207. package/dist/agent/core/executors/extendExecutor.d.ts +50 -0
  208. package/dist/agent/core/executors/extendExecutor.d.ts.map +1 -0
  209. package/dist/agent/core/executors/extendExecutor.js +402 -0
  210. package/dist/agent/core/executors/extendExecutor.js.map +1 -0
  211. package/dist/agent/core/executors/hypothesisExecutor.d.ts +52 -0
  212. package/dist/agent/core/executors/hypothesisExecutor.d.ts.map +1 -0
  213. package/dist/agent/core/executors/hypothesisExecutor.js +564 -0
  214. package/dist/agent/core/executors/hypothesisExecutor.js.map +1 -0
  215. package/dist/agent/core/executors/index.d.ts +9 -0
  216. package/dist/agent/core/executors/index.d.ts.map +1 -0
  217. package/dist/agent/core/executors/index.js +15 -0
  218. package/dist/agent/core/executors/index.js.map +1 -0
  219. package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.d.ts +12 -0
  220. package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.d.ts.map +1 -0
  221. package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.js +186 -0
  222. package/dist/agent/core/executors/strategy/strategyFrameEnvelopeCoordinator.js.map +1 -0
  223. package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.d.ts +9 -0
  224. package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.d.ts.map +1 -0
  225. package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.js +123 -0
  226. package/dist/agent/core/executors/strategy/strategyFrameMechanismCollector.js.map +1 -0
  227. package/dist/agent/core/executors/strategy/strategyStagePlanner.d.ts +18 -0
  228. package/dist/agent/core/executors/strategy/strategyStagePlanner.d.ts.map +1 -0
  229. package/dist/agent/core/executors/strategy/strategyStagePlanner.js +69 -0
  230. package/dist/agent/core/executors/strategy/strategyStagePlanner.js.map +1 -0
  231. package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.d.ts +14 -0
  232. package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.d.ts.map +1 -0
  233. package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.js +129 -0
  234. package/dist/agent/core/executors/strategy/strategyStageTaskBuilder.js.map +1 -0
  235. package/dist/agent/core/executors/strategyExecutor.d.ts +16 -0
  236. package/dist/agent/core/executors/strategyExecutor.d.ts.map +1 -0
  237. package/dist/agent/core/executors/strategyExecutor.js +377 -0
  238. package/dist/agent/core/executors/strategyExecutor.js.map +1 -0
  239. package/dist/agent/core/executors/traceConfigDetector.d.ts +28 -0
  240. package/dist/agent/core/executors/traceConfigDetector.d.ts.map +1 -0
  241. package/dist/agent/core/executors/traceConfigDetector.js +156 -0
  242. package/dist/agent/core/executors/traceConfigDetector.js.map +1 -0
  243. package/dist/agent/core/feedbackSynthesizer.d.ts +28 -0
  244. package/dist/agent/core/feedbackSynthesizer.d.ts.map +1 -0
  245. package/dist/agent/core/feedbackSynthesizer.js +841 -0
  246. package/dist/agent/core/feedbackSynthesizer.js.map +1 -0
  247. package/dist/agent/core/followUpHandler.d.ts +36 -0
  248. package/dist/agent/core/followUpHandler.d.ts.map +1 -0
  249. package/dist/agent/core/followUpHandler.js +413 -0
  250. package/dist/agent/core/followUpHandler.js.map +1 -0
  251. package/dist/agent/core/hypothesisGenerator.d.ts +45 -0
  252. package/dist/agent/core/hypothesisGenerator.d.ts.map +1 -0
  253. package/dist/agent/core/hypothesisGenerator.js +257 -0
  254. package/dist/agent/core/hypothesisGenerator.js.map +1 -0
  255. package/dist/agent/core/incrementalAnalyzer.d.ts +164 -0
  256. package/dist/agent/core/incrementalAnalyzer.d.ts.map +1 -0
  257. package/dist/agent/core/incrementalAnalyzer.js +382 -0
  258. package/dist/agent/core/incrementalAnalyzer.js.map +1 -0
  259. package/dist/agent/core/index.d.ts +25 -0
  260. package/dist/agent/core/index.d.ts.map +1 -0
  261. package/dist/agent/core/index.js +61 -0
  262. package/dist/agent/core/index.js.map +1 -0
  263. package/dist/agent/core/intentUnderstanding.d.ts +28 -0
  264. package/dist/agent/core/intentUnderstanding.d.ts.map +1 -0
  265. package/dist/agent/core/intentUnderstanding.js +451 -0
  266. package/dist/agent/core/intentUnderstanding.js.map +1 -0
  267. package/dist/agent/core/interventionController.d.ts +211 -0
  268. package/dist/agent/core/interventionController.d.ts.map +1 -0
  269. package/dist/agent/core/interventionController.js +477 -0
  270. package/dist/agent/core/interventionController.js.map +1 -0
  271. package/dist/agent/core/jankCauseSummarizer.d.ts +87 -0
  272. package/dist/agent/core/jankCauseSummarizer.d.ts.map +1 -0
  273. package/dist/agent/core/jankCauseSummarizer.js +432 -0
  274. package/dist/agent/core/jankCauseSummarizer.js.map +1 -0
  275. package/dist/agent/core/modelRouter.d.ts +164 -0
  276. package/dist/agent/core/modelRouter.d.ts.map +1 -0
  277. package/dist/agent/core/modelRouter.js +1169 -0
  278. package/dist/agent/core/modelRouter.js.map +1 -0
  279. package/dist/agent/core/modelRouterSingleton.d.ts +4 -0
  280. package/dist/agent/core/modelRouterSingleton.d.ts.map +1 -0
  281. package/dist/agent/core/modelRouterSingleton.js +20 -0
  282. package/dist/agent/core/modelRouterSingleton.js.map +1 -0
  283. package/dist/agent/core/orchestratorTypes.d.ts +506 -0
  284. package/dist/agent/core/orchestratorTypes.d.ts.map +1 -0
  285. package/dist/agent/core/orchestratorTypes.js +91 -0
  286. package/dist/agent/core/orchestratorTypes.js.map +1 -0
  287. package/dist/agent/core/pipelineExecutor.d.ts +154 -0
  288. package/dist/agent/core/pipelineExecutor.d.ts.map +1 -0
  289. package/dist/agent/core/pipelineExecutor.js +677 -0
  290. package/dist/agent/core/pipelineExecutor.js.map +1 -0
  291. package/dist/agent/core/scenePolicy.d.ts +3 -0
  292. package/dist/agent/core/scenePolicy.d.ts.map +1 -0
  293. package/dist/agent/core/scenePolicy.js +49 -0
  294. package/dist/agent/core/scenePolicy.js.map +1 -0
  295. package/dist/agent/core/sceneRouter.d.ts +8 -0
  296. package/dist/agent/core/sceneRouter.d.ts.map +1 -0
  297. package/dist/agent/core/sceneRouter.js +122 -0
  298. package/dist/agent/core/sceneRouter.js.map +1 -0
  299. package/dist/agent/core/sceneTaxonomy.d.ts +6 -0
  300. package/dist/agent/core/sceneTaxonomy.d.ts.map +1 -0
  301. package/dist/agent/core/sceneTaxonomy.js +83 -0
  302. package/dist/agent/core/sceneTaxonomy.js.map +1 -0
  303. package/dist/agent/core/sceneTemplateStore.d.ts +10 -0
  304. package/dist/agent/core/sceneTemplateStore.d.ts.map +1 -0
  305. package/dist/agent/core/sceneTemplateStore.js +244 -0
  306. package/dist/agent/core/sceneTemplateStore.js.map +1 -0
  307. package/dist/agent/core/sceneTemplateValidator.d.ts +22 -0
  308. package/dist/agent/core/sceneTemplateValidator.d.ts.map +1 -0
  309. package/dist/agent/core/sceneTemplateValidator.js +226 -0
  310. package/dist/agent/core/sceneTemplateValidator.js.map +1 -0
  311. package/dist/agent/core/sceneTypes.d.ts +53 -0
  312. package/dist/agent/core/sceneTypes.d.ts.map +1 -0
  313. package/dist/agent/core/sceneTypes.js +6 -0
  314. package/dist/agent/core/sceneTypes.js.map +1 -0
  315. package/dist/agent/core/stateMachine.d.ts +135 -0
  316. package/dist/agent/core/stateMachine.d.ts.map +1 -0
  317. package/dist/agent/core/stateMachine.js +516 -0
  318. package/dist/agent/core/stateMachine.js.map +1 -0
  319. package/dist/agent/core/strategySelector.d.ts +121 -0
  320. package/dist/agent/core/strategySelector.d.ts.map +1 -0
  321. package/dist/agent/core/strategySelector.js +344 -0
  322. package/dist/agent/core/strategySelector.js.map +1 -0
  323. package/dist/agent/core/taskGraphExecutor.d.ts +30 -0
  324. package/dist/agent/core/taskGraphExecutor.d.ts.map +1 -0
  325. package/dist/agent/core/taskGraphExecutor.js +142 -0
  326. package/dist/agent/core/taskGraphExecutor.js.map +1 -0
  327. package/dist/agent/core/taskGraphPlanner.d.ts +33 -0
  328. package/dist/agent/core/taskGraphPlanner.d.ts.map +1 -0
  329. package/dist/agent/core/taskGraphPlanner.js +312 -0
  330. package/dist/agent/core/taskGraphPlanner.js.map +1 -0
  331. package/dist/agent/decision/decisionTreeExecutor.d.ts +55 -0
  332. package/dist/agent/decision/decisionTreeExecutor.d.ts.map +1 -0
  333. package/dist/agent/decision/decisionTreeExecutor.js +250 -0
  334. package/dist/agent/decision/decisionTreeExecutor.js.map +1 -0
  335. package/dist/agent/decision/decisionTreeStageExecutor.d.ts +65 -0
  336. package/dist/agent/decision/decisionTreeStageExecutor.d.ts.map +1 -0
  337. package/dist/agent/decision/decisionTreeStageExecutor.js +286 -0
  338. package/dist/agent/decision/decisionTreeStageExecutor.js.map +1 -0
  339. package/dist/agent/decision/index.d.ts +27 -0
  340. package/dist/agent/decision/index.d.ts.map +1 -0
  341. package/dist/agent/decision/index.js +70 -0
  342. package/dist/agent/decision/index.js.map +1 -0
  343. package/dist/agent/decision/skillExecutorAdapter.d.ts +89 -0
  344. package/dist/agent/decision/skillExecutorAdapter.d.ts.map +1 -0
  345. package/dist/agent/decision/skillExecutorAdapter.js +447 -0
  346. package/dist/agent/decision/skillExecutorAdapter.js.map +1 -0
  347. package/dist/agent/decision/trees/index.d.ts +8 -0
  348. package/dist/agent/decision/trees/index.d.ts.map +1 -0
  349. package/dist/agent/decision/trees/index.js +16 -0
  350. package/dist/agent/decision/trees/index.js.map +1 -0
  351. package/dist/agent/decision/trees/launchDecisionTree.d.ts +7 -0
  352. package/dist/agent/decision/trees/launchDecisionTree.d.ts.map +1 -0
  353. package/dist/agent/decision/trees/launchDecisionTree.js +670 -0
  354. package/dist/agent/decision/trees/launchDecisionTree.js.map +1 -0
  355. package/dist/agent/decision/trees/scrollingDecisionTree.d.ts +7 -0
  356. package/dist/agent/decision/trees/scrollingDecisionTree.d.ts.map +1 -0
  357. package/dist/agent/decision/trees/scrollingDecisionTree.js +698 -0
  358. package/dist/agent/decision/trees/scrollingDecisionTree.js.map +1 -0
  359. package/dist/agent/decision/types.d.ts +191 -0
  360. package/dist/agent/decision/types.d.ts.map +1 -0
  361. package/dist/agent/decision/types.js +6 -0
  362. package/dist/agent/decision/types.js.map +1 -0
  363. package/dist/agent/detectors/architectureDetector.d.ts +31 -0
  364. package/dist/agent/detectors/architectureDetector.d.ts.map +1 -0
  365. package/dist/agent/detectors/architectureDetector.js +190 -0
  366. package/dist/agent/detectors/architectureDetector.js.map +1 -0
  367. package/dist/agent/detectors/index.d.ts +11 -0
  368. package/dist/agent/detectors/index.d.ts.map +1 -0
  369. package/dist/agent/detectors/index.js +36 -0
  370. package/dist/agent/detectors/index.js.map +1 -0
  371. package/dist/agent/detectors/types.d.ts +113 -0
  372. package/dist/agent/detectors/types.d.ts.map +1 -0
  373. package/dist/agent/detectors/types.js +6 -0
  374. package/dist/agent/detectors/types.js.map +1 -0
  375. package/dist/agent/evalSystem.d.ts +61 -0
  376. package/dist/agent/evalSystem.d.ts.map +1 -0
  377. package/dist/agent/evalSystem.js +210 -0
  378. package/dist/agent/evalSystem.js.map +1 -0
  379. package/dist/agent/experts/base/baseExpert.d.ts +108 -0
  380. package/dist/agent/experts/base/baseExpert.d.ts.map +1 -0
  381. package/dist/agent/experts/base/baseExpert.js +359 -0
  382. package/dist/agent/experts/base/baseExpert.js.map +1 -0
  383. package/dist/agent/experts/base/index.d.ts +9 -0
  384. package/dist/agent/experts/base/index.d.ts.map +1 -0
  385. package/dist/agent/experts/base/index.js +15 -0
  386. package/dist/agent/experts/base/index.js.map +1 -0
  387. package/dist/agent/experts/base/types.d.ts +202 -0
  388. package/dist/agent/experts/base/types.d.ts.map +1 -0
  389. package/dist/agent/experts/base/types.js +6 -0
  390. package/dist/agent/experts/base/types.js.map +1 -0
  391. package/dist/agent/experts/crossDomain/baseCrossDomainExpert.d.ts +113 -0
  392. package/dist/agent/experts/crossDomain/baseCrossDomainExpert.d.ts.map +1 -0
  393. package/dist/agent/experts/crossDomain/baseCrossDomainExpert.js +412 -0
  394. package/dist/agent/experts/crossDomain/baseCrossDomainExpert.js.map +1 -0
  395. package/dist/agent/experts/crossDomain/dialogueProtocol.d.ts +164 -0
  396. package/dist/agent/experts/crossDomain/dialogueProtocol.d.ts.map +1 -0
  397. package/dist/agent/experts/crossDomain/dialogueProtocol.js +390 -0
  398. package/dist/agent/experts/crossDomain/dialogueProtocol.js.map +1 -0
  399. package/dist/agent/experts/crossDomain/experts/performanceExpert.d.ts +119 -0
  400. package/dist/agent/experts/crossDomain/experts/performanceExpert.d.ts.map +1 -0
  401. package/dist/agent/experts/crossDomain/experts/performanceExpert.js +736 -0
  402. package/dist/agent/experts/crossDomain/experts/performanceExpert.js.map +1 -0
  403. package/dist/agent/experts/crossDomain/hypothesisManager.d.ts +105 -0
  404. package/dist/agent/experts/crossDomain/hypothesisManager.d.ts.map +1 -0
  405. package/dist/agent/experts/crossDomain/hypothesisManager.js +283 -0
  406. package/dist/agent/experts/crossDomain/hypothesisManager.js.map +1 -0
  407. package/dist/agent/experts/crossDomain/index.d.ts +18 -0
  408. package/dist/agent/experts/crossDomain/index.d.ts.map +1 -0
  409. package/dist/agent/experts/crossDomain/index.js +28 -0
  410. package/dist/agent/experts/crossDomain/index.js.map +1 -0
  411. package/dist/agent/experts/crossDomain/moduleCatalog.d.ts +97 -0
  412. package/dist/agent/experts/crossDomain/moduleCatalog.d.ts.map +1 -0
  413. package/dist/agent/experts/crossDomain/moduleCatalog.js +453 -0
  414. package/dist/agent/experts/crossDomain/moduleCatalog.js.map +1 -0
  415. package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts +149 -0
  416. package/dist/agent/experts/crossDomain/moduleExpertInvoker.d.ts.map +1 -0
  417. package/dist/agent/experts/crossDomain/moduleExpertInvoker.js +582 -0
  418. package/dist/agent/experts/crossDomain/moduleExpertInvoker.js.map +1 -0
  419. package/dist/agent/experts/crossDomain/types.d.ts +369 -0
  420. package/dist/agent/experts/crossDomain/types.d.ts.map +1 -0
  421. package/dist/agent/experts/crossDomain/types.js +6 -0
  422. package/dist/agent/experts/crossDomain/types.js.map +1 -0
  423. package/dist/agent/experts/index.d.ts +81 -0
  424. package/dist/agent/experts/index.d.ts.map +1 -0
  425. package/dist/agent/experts/index.js +222 -0
  426. package/dist/agent/experts/index.js.map +1 -0
  427. package/dist/agent/experts/interactionExpert.d.ts +66 -0
  428. package/dist/agent/experts/interactionExpert.d.ts.map +1 -0
  429. package/dist/agent/experts/interactionExpert.js +280 -0
  430. package/dist/agent/experts/interactionExpert.js.map +1 -0
  431. package/dist/agent/experts/launchExpert.d.ts +73 -0
  432. package/dist/agent/experts/launchExpert.d.ts.map +1 -0
  433. package/dist/agent/experts/launchExpert.js +411 -0
  434. package/dist/agent/experts/launchExpert.js.map +1 -0
  435. package/dist/agent/experts/systemExpert.d.ts +81 -0
  436. package/dist/agent/experts/systemExpert.d.ts.map +1 -0
  437. package/dist/agent/experts/systemExpert.js +507 -0
  438. package/dist/agent/experts/systemExpert.js.map +1 -0
  439. package/dist/agent/fork/forkManager.d.ts +161 -0
  440. package/dist/agent/fork/forkManager.d.ts.map +1 -0
  441. package/dist/agent/fork/forkManager.js +721 -0
  442. package/dist/agent/fork/forkManager.js.map +1 -0
  443. package/dist/agent/fork/forkTypes.d.ts +274 -0
  444. package/dist/agent/fork/forkTypes.d.ts.map +1 -0
  445. package/dist/agent/fork/forkTypes.js +18 -0
  446. package/dist/agent/fork/forkTypes.js.map +1 -0
  447. package/dist/agent/fork/index.d.ts +10 -0
  448. package/dist/agent/fork/index.d.ts.map +1 -0
  449. package/dist/agent/fork/index.js +47 -0
  450. package/dist/agent/fork/index.js.map +1 -0
  451. package/dist/agent/fork/mergeStrategies.d.ts +115 -0
  452. package/dist/agent/fork/mergeStrategies.d.ts.map +1 -0
  453. package/dist/agent/fork/mergeStrategies.js +404 -0
  454. package/dist/agent/fork/mergeStrategies.js.map +1 -0
  455. package/dist/agent/fork/sessionTree.d.ts +141 -0
  456. package/dist/agent/fork/sessionTree.d.ts.map +1 -0
  457. package/dist/agent/fork/sessionTree.js +443 -0
  458. package/dist/agent/fork/sessionTree.js.map +1 -0
  459. package/dist/agent/hooks/hookContext.d.ts +19 -0
  460. package/dist/agent/hooks/hookContext.d.ts.map +1 -0
  461. package/dist/agent/hooks/hookContext.js +67 -0
  462. package/dist/agent/hooks/hookContext.js.map +1 -0
  463. package/dist/agent/hooks/hookRegistry.d.ts +73 -0
  464. package/dist/agent/hooks/hookRegistry.d.ts.map +1 -0
  465. package/dist/agent/hooks/hookRegistry.js +271 -0
  466. package/dist/agent/hooks/hookRegistry.js.map +1 -0
  467. package/dist/agent/hooks/hookTypes.d.ts +186 -0
  468. package/dist/agent/hooks/hookTypes.d.ts.map +1 -0
  469. package/dist/agent/hooks/hookTypes.js +24 -0
  470. package/dist/agent/hooks/hookTypes.js.map +1 -0
  471. package/dist/agent/hooks/index.d.ts +10 -0
  472. package/dist/agent/hooks/index.d.ts.map +1 -0
  473. package/dist/agent/hooks/index.js +41 -0
  474. package/dist/agent/hooks/index.js.map +1 -0
  475. package/dist/agent/hooks/middleware/index.d.ts +6 -0
  476. package/dist/agent/hooks/middleware/index.d.ts.map +1 -0
  477. package/dist/agent/hooks/middleware/index.js +17 -0
  478. package/dist/agent/hooks/middleware/index.js.map +1 -0
  479. package/dist/agent/hooks/middleware/loggingMiddleware.d.ts +27 -0
  480. package/dist/agent/hooks/middleware/loggingMiddleware.d.ts.map +1 -0
  481. package/dist/agent/hooks/middleware/loggingMiddleware.js +104 -0
  482. package/dist/agent/hooks/middleware/loggingMiddleware.js.map +1 -0
  483. package/dist/agent/hooks/middleware/timingMiddleware.d.ts +56 -0
  484. package/dist/agent/hooks/middleware/timingMiddleware.d.ts.map +1 -0
  485. package/dist/agent/hooks/middleware/timingMiddleware.js +171 -0
  486. package/dist/agent/hooks/middleware/timingMiddleware.js.map +1 -0
  487. package/dist/agent/index.d.ts +15 -0
  488. package/dist/agent/index.d.ts.map +1 -0
  489. package/dist/agent/index.js +88 -0
  490. package/dist/agent/index.js.map +1 -0
  491. package/dist/agent/llmAdapter.d.ts +33 -0
  492. package/dist/agent/llmAdapter.d.ts.map +1 -0
  493. package/dist/agent/llmAdapter.js +257 -0
  494. package/dist/agent/llmAdapter.js.map +1 -0
  495. package/dist/agent/scene/sceneAnalysisJobRunner.d.ts +106 -0
  496. package/dist/agent/scene/sceneAnalysisJobRunner.d.ts.map +1 -0
  497. package/dist/agent/scene/sceneAnalysisJobRunner.js +201 -0
  498. package/dist/agent/scene/sceneAnalysisJobRunner.js.map +1 -0
  499. package/dist/agent/scene/sceneCostEstimator.d.ts +33 -0
  500. package/dist/agent/scene/sceneCostEstimator.d.ts.map +1 -0
  501. package/dist/agent/scene/sceneCostEstimator.js +42 -0
  502. package/dist/agent/scene/sceneCostEstimator.js.map +1 -0
  503. package/dist/agent/scene/sceneIntervalBuilder.d.ts +37 -0
  504. package/dist/agent/scene/sceneIntervalBuilder.d.ts.map +1 -0
  505. package/dist/agent/scene/sceneIntervalBuilder.js +748 -0
  506. package/dist/agent/scene/sceneIntervalBuilder.js.map +1 -0
  507. package/dist/agent/scene/sceneStage1Runner.d.ts +47 -0
  508. package/dist/agent/scene/sceneStage1Runner.d.ts.map +1 -0
  509. package/dist/agent/scene/sceneStage1Runner.js +49 -0
  510. package/dist/agent/scene/sceneStage1Runner.js.map +1 -0
  511. package/dist/agent/scene/sceneStage3Summarizer.d.ts +11 -0
  512. package/dist/agent/scene/sceneStage3Summarizer.d.ts.map +1 -0
  513. package/dist/agent/scene/sceneStage3Summarizer.js +155 -0
  514. package/dist/agent/scene/sceneStage3Summarizer.js.map +1 -0
  515. package/dist/agent/scene/sceneStoryService.d.ts +168 -0
  516. package/dist/agent/scene/sceneStoryService.d.ts.map +1 -0
  517. package/dist/agent/scene/sceneStoryService.js +623 -0
  518. package/dist/agent/scene/sceneStoryService.js.map +1 -0
  519. package/dist/agent/scene/sceneTraceDurationProbe.d.ts +16 -0
  520. package/dist/agent/scene/sceneTraceDurationProbe.d.ts.map +1 -0
  521. package/dist/agent/scene/sceneTraceDurationProbe.js +22 -0
  522. package/dist/agent/scene/sceneTraceDurationProbe.js.map +1 -0
  523. package/dist/agent/scene/traceHash.d.ts +23 -0
  524. package/dist/agent/scene/traceHash.d.ts.map +1 -0
  525. package/dist/agent/scene/traceHash.js +65 -0
  526. package/dist/agent/scene/traceHash.js.map +1 -0
  527. package/dist/agent/scene/types.d.ts +199 -0
  528. package/dist/agent/scene/types.d.ts.map +1 -0
  529. package/dist/agent/scene/types.js +6 -0
  530. package/dist/agent/scene/types.js.map +1 -0
  531. package/dist/agent/state/checkpointManager.d.ts +85 -0
  532. package/dist/agent/state/checkpointManager.d.ts.map +1 -0
  533. package/dist/agent/state/checkpointManager.js +339 -0
  534. package/dist/agent/state/checkpointManager.js.map +1 -0
  535. package/dist/agent/state/index.d.ts +11 -0
  536. package/dist/agent/state/index.d.ts.map +1 -0
  537. package/dist/agent/state/index.js +21 -0
  538. package/dist/agent/state/index.js.map +1 -0
  539. package/dist/agent/state/sessionStore.d.ts +126 -0
  540. package/dist/agent/state/sessionStore.d.ts.map +1 -0
  541. package/dist/agent/state/sessionStore.js +440 -0
  542. package/dist/agent/state/sessionStore.js.map +1 -0
  543. package/dist/agent/state/traceAgentState.d.ts +125 -0
  544. package/dist/agent/state/traceAgentState.d.ts.map +1 -0
  545. package/dist/agent/state/traceAgentState.js +173 -0
  546. package/dist/agent/state/traceAgentState.js.map +1 -0
  547. package/dist/agent/strategies/helpers.d.ts +44 -0
  548. package/dist/agent/strategies/helpers.d.ts.map +1 -0
  549. package/dist/agent/strategies/helpers.js +138 -0
  550. package/dist/agent/strategies/helpers.js.map +1 -0
  551. package/dist/agent/strategies/index.d.ts +15 -0
  552. package/dist/agent/strategies/index.d.ts.map +1 -0
  553. package/dist/agent/strategies/index.js +23 -0
  554. package/dist/agent/strategies/index.js.map +1 -0
  555. package/dist/agent/strategies/interactionStrategy.d.ts +3 -0
  556. package/dist/agent/strategies/interactionStrategy.d.ts.map +1 -0
  557. package/dist/agent/strategies/interactionStrategy.js +242 -0
  558. package/dist/agent/strategies/interactionStrategy.js.map +1 -0
  559. package/dist/agent/strategies/registry.d.ts +110 -0
  560. package/dist/agent/strategies/registry.d.ts.map +1 -0
  561. package/dist/agent/strategies/registry.js +264 -0
  562. package/dist/agent/strategies/registry.js.map +1 -0
  563. package/dist/agent/strategies/sceneReconstructionStrategy.d.ts +4 -0
  564. package/dist/agent/strategies/sceneReconstructionStrategy.d.ts.map +1 -0
  565. package/dist/agent/strategies/sceneReconstructionStrategy.js +593 -0
  566. package/dist/agent/strategies/sceneReconstructionStrategy.js.map +1 -0
  567. package/dist/agent/strategies/scrollingStrategy.d.ts +3 -0
  568. package/dist/agent/strategies/scrollingStrategy.d.ts.map +1 -0
  569. package/dist/agent/strategies/scrollingStrategy.js +414 -0
  570. package/dist/agent/strategies/scrollingStrategy.js.map +1 -0
  571. package/dist/agent/strategies/startupStrategy.d.ts +3 -0
  572. package/dist/agent/strategies/startupStrategy.d.ts.map +1 -0
  573. package/dist/agent/strategies/startupStrategy.js +495 -0
  574. package/dist/agent/strategies/startupStrategy.js.map +1 -0
  575. package/dist/agent/strategies/types.d.ts +156 -0
  576. package/dist/agent/strategies/types.d.ts.map +1 -0
  577. package/dist/agent/strategies/types.js +6 -0
  578. package/dist/agent/strategies/types.js.map +1 -0
  579. package/dist/agent/toolRegistry.d.ts +4 -0
  580. package/dist/agent/toolRegistry.d.ts.map +1 -0
  581. package/dist/agent/toolRegistry.js +45 -0
  582. package/dist/agent/toolRegistry.js.map +1 -0
  583. package/dist/agent/tools/dataStats.d.ts +23 -0
  584. package/dist/agent/tools/dataStats.d.ts.map +1 -0
  585. package/dist/agent/tools/dataStats.js +123 -0
  586. package/dist/agent/tools/dataStats.js.map +1 -0
  587. package/dist/agent/tools/frameAnalyzer.d.ts +45 -0
  588. package/dist/agent/tools/frameAnalyzer.d.ts.map +1 -0
  589. package/dist/agent/tools/frameAnalyzer.js +338 -0
  590. package/dist/agent/tools/frameAnalyzer.js.map +1 -0
  591. package/dist/agent/tools/index.d.ts +6 -0
  592. package/dist/agent/tools/index.d.ts.map +1 -0
  593. package/dist/agent/tools/index.js +31 -0
  594. package/dist/agent/tools/index.js.map +1 -0
  595. package/dist/agent/tools/skillInvoker.d.ts +50 -0
  596. package/dist/agent/tools/skillInvoker.d.ts.map +1 -0
  597. package/dist/agent/tools/skillInvoker.js +279 -0
  598. package/dist/agent/tools/skillInvoker.js.map +1 -0
  599. package/dist/agent/tools/sqlExecutor.d.ts +12 -0
  600. package/dist/agent/tools/sqlExecutor.d.ts.map +1 -0
  601. package/dist/agent/tools/sqlExecutor.js +193 -0
  602. package/dist/agent/tools/sqlExecutor.js.map +1 -0
  603. package/dist/agent/tools/sqlGenerator.d.ts +154 -0
  604. package/dist/agent/tools/sqlGenerator.d.ts.map +1 -0
  605. package/dist/agent/tools/sqlGenerator.js +449 -0
  606. package/dist/agent/tools/sqlGenerator.js.map +1 -0
  607. package/dist/agent/tools/sqlValidator.d.ts +149 -0
  608. package/dist/agent/tools/sqlValidator.d.ts.map +1 -0
  609. package/dist/agent/tools/sqlValidator.js +376 -0
  610. package/dist/agent/tools/sqlValidator.js.map +1 -0
  611. package/dist/agent/traceRecorder.d.ts +42 -0
  612. package/dist/agent/traceRecorder.d.ts.map +1 -0
  613. package/dist/agent/traceRecorder.js +122 -0
  614. package/dist/agent/traceRecorder.js.map +1 -0
  615. package/dist/agent/types/agentProtocol.d.ts +377 -0
  616. package/dist/agent/types/agentProtocol.d.ts.map +1 -0
  617. package/dist/agent/types/agentProtocol.js +102 -0
  618. package/dist/agent/types/agentProtocol.js.map +1 -0
  619. package/dist/agent/types/jankCause.d.ts +47 -0
  620. package/dist/agent/types/jankCause.d.ts.map +1 -0
  621. package/dist/agent/types/jankCause.js +6 -0
  622. package/dist/agent/types/jankCause.js.map +1 -0
  623. package/dist/agent/types.d.ts +725 -0
  624. package/dist/agent/types.d.ts.map +1 -0
  625. package/dist/agent/types.js +63 -0
  626. package/dist/agent/types.js.map +1 -0
  627. package/dist/agentOpenAI/index.d.ts +4 -0
  628. package/dist/agentOpenAI/index.d.ts.map +1 -0
  629. package/dist/agentOpenAI/index.js +17 -0
  630. package/dist/agentOpenAI/index.js.map +1 -0
  631. package/dist/agentOpenAI/mimoReasoningCompat.d.ts +9 -0
  632. package/dist/agentOpenAI/mimoReasoningCompat.d.ts.map +1 -0
  633. package/dist/agentOpenAI/mimoReasoningCompat.js +367 -0
  634. package/dist/agentOpenAI/mimoReasoningCompat.js.map +1 -0
  635. package/dist/agentOpenAI/openAiComplexityClassifier.d.ts +18 -0
  636. package/dist/agentOpenAI/openAiComplexityClassifier.d.ts.map +1 -0
  637. package/dist/agentOpenAI/openAiComplexityClassifier.js +102 -0
  638. package/dist/agentOpenAI/openAiComplexityClassifier.js.map +1 -0
  639. package/dist/agentOpenAI/openAiConfig.d.ts +38 -0
  640. package/dist/agentOpenAI/openAiConfig.d.ts.map +1 -0
  641. package/dist/agentOpenAI/openAiConfig.js +104 -0
  642. package/dist/agentOpenAI/openAiConfig.js.map +1 -0
  643. package/dist/agentOpenAI/openAiRuntime.d.ts +99 -0
  644. package/dist/agentOpenAI/openAiRuntime.d.ts.map +1 -0
  645. package/dist/agentOpenAI/openAiRuntime.js +1440 -0
  646. package/dist/agentOpenAI/openAiRuntime.js.map +1 -0
  647. package/dist/agentOpenAI/openAiToolAdapter.d.ts +9 -0
  648. package/dist/agentOpenAI/openAiToolAdapter.d.ts.map +1 -0
  649. package/dist/agentOpenAI/openAiToolAdapter.js +111 -0
  650. package/dist/agentOpenAI/openAiToolAdapter.js.map +1 -0
  651. package/dist/agentRuntime/envCredentialSources.d.ts +6 -0
  652. package/dist/agentRuntime/envCredentialSources.d.ts.map +1 -0
  653. package/dist/agentRuntime/envCredentialSources.js +104 -0
  654. package/dist/agentRuntime/envCredentialSources.js.map +1 -0
  655. package/dist/agentRuntime/index.d.ts +2 -0
  656. package/dist/agentRuntime/index.d.ts.map +1 -0
  657. package/dist/agentRuntime/index.js +10 -0
  658. package/dist/agentRuntime/index.js.map +1 -0
  659. package/dist/agentRuntime/runtimeHealth.d.ts +65 -0
  660. package/dist/agentRuntime/runtimeHealth.d.ts.map +1 -0
  661. package/dist/agentRuntime/runtimeHealth.js +58 -0
  662. package/dist/agentRuntime/runtimeHealth.js.map +1 -0
  663. package/dist/agentRuntime/runtimeSelection.d.ts +25 -0
  664. package/dist/agentRuntime/runtimeSelection.d.ts.map +1 -0
  665. package/dist/agentRuntime/runtimeSelection.js +66 -0
  666. package/dist/agentRuntime/runtimeSelection.js.map +1 -0
  667. package/dist/agentv3/__mocks__/claude-agent-sdk.d.ts +25 -0
  668. package/dist/agentv3/__mocks__/claude-agent-sdk.d.ts.map +1 -0
  669. package/dist/agentv3/__mocks__/claude-agent-sdk.js +48 -0
  670. package/dist/agentv3/__mocks__/claude-agent-sdk.js.map +1 -0
  671. package/dist/agentv3/activePhaseReminder.d.ts +12 -0
  672. package/dist/agentv3/activePhaseReminder.d.ts.map +1 -0
  673. package/dist/agentv3/activePhaseReminder.js +73 -0
  674. package/dist/agentv3/activePhaseReminder.js.map +1 -0
  675. package/dist/agentv3/agentMetrics.d.ts +114 -0
  676. package/dist/agentv3/agentMetrics.d.ts.map +1 -0
  677. package/dist/agentv3/agentMetrics.js +262 -0
  678. package/dist/agentv3/agentMetrics.js.map +1 -0
  679. package/dist/agentv3/analysisPatternMemory.d.ts +146 -0
  680. package/dist/agentv3/analysisPatternMemory.d.ts.map +1 -0
  681. package/dist/agentv3/analysisPatternMemory.js +860 -0
  682. package/dist/agentv3/analysisPatternMemory.js.map +1 -0
  683. package/dist/agentv3/analysisTermination.d.ts +21 -0
  684. package/dist/agentv3/analysisTermination.d.ts.map +1 -0
  685. package/dist/agentv3/analysisTermination.js +97 -0
  686. package/dist/agentv3/analysisTermination.js.map +1 -0
  687. package/dist/agentv3/artifactStore.d.ts +131 -0
  688. package/dist/agentv3/artifactStore.d.ts.map +1 -0
  689. package/dist/agentv3/artifactStore.js +208 -0
  690. package/dist/agentv3/artifactStore.js.map +1 -0
  691. package/dist/agentv3/claudeAgentDefinitions.d.ts +44 -0
  692. package/dist/agentv3/claudeAgentDefinitions.d.ts.map +1 -0
  693. package/dist/agentv3/claudeAgentDefinitions.js +209 -0
  694. package/dist/agentv3/claudeAgentDefinitions.js.map +1 -0
  695. package/dist/agentv3/claudeConfig.d.ts +156 -0
  696. package/dist/agentv3/claudeConfig.d.ts.map +1 -0
  697. package/dist/agentv3/claudeConfig.js +553 -0
  698. package/dist/agentv3/claudeConfig.js.map +1 -0
  699. package/dist/agentv3/claudeFindingExtractor.d.ts +15 -0
  700. package/dist/agentv3/claudeFindingExtractor.d.ts.map +1 -0
  701. package/dist/agentv3/claudeFindingExtractor.js +150 -0
  702. package/dist/agentv3/claudeFindingExtractor.js.map +1 -0
  703. package/dist/agentv3/claudeMcpServer.d.ts +89 -0
  704. package/dist/agentv3/claudeMcpServer.d.ts.map +1 -0
  705. package/dist/agentv3/claudeMcpServer.js +3785 -0
  706. package/dist/agentv3/claudeMcpServer.js.map +1 -0
  707. package/dist/agentv3/claudeRuntime.d.ts +137 -0
  708. package/dist/agentv3/claudeRuntime.d.ts.map +1 -0
  709. package/dist/agentv3/claudeRuntime.js +2541 -0
  710. package/dist/agentv3/claudeRuntime.js.map +1 -0
  711. package/dist/agentv3/claudeSseBridge.d.ts +23 -0
  712. package/dist/agentv3/claudeSseBridge.d.ts.map +1 -0
  713. package/dist/agentv3/claudeSseBridge.js +385 -0
  714. package/dist/agentv3/claudeSseBridge.js.map +1 -0
  715. package/dist/agentv3/claudeSystemPrompt.d.ts +65 -0
  716. package/dist/agentv3/claudeSystemPrompt.d.ts.map +1 -0
  717. package/dist/agentv3/claudeSystemPrompt.js +486 -0
  718. package/dist/agentv3/claudeSystemPrompt.js.map +1 -0
  719. package/dist/agentv3/claudeVerifier.d.ts +82 -0
  720. package/dist/agentv3/claudeVerifier.d.ts.map +1 -0
  721. package/dist/agentv3/claudeVerifier.js +1047 -0
  722. package/dist/agentv3/claudeVerifier.js.map +1 -0
  723. package/dist/agentv3/contextTokenMeter.d.ts +78 -0
  724. package/dist/agentv3/contextTokenMeter.d.ts.map +1 -0
  725. package/dist/agentv3/contextTokenMeter.js +88 -0
  726. package/dist/agentv3/contextTokenMeter.js.map +1 -0
  727. package/dist/agentv3/focusAppDetector.d.ts +22 -0
  728. package/dist/agentv3/focusAppDetector.d.ts.map +1 -0
  729. package/dist/agentv3/focusAppDetector.js +208 -0
  730. package/dist/agentv3/focusAppDetector.js.map +1 -0
  731. package/dist/agentv3/index.d.ts +6 -0
  732. package/dist/agentv3/index.d.ts.map +1 -0
  733. package/dist/agentv3/index.js +16 -0
  734. package/dist/agentv3/index.js.map +1 -0
  735. package/dist/agentv3/mcpToolRegistry.d.ts +90 -0
  736. package/dist/agentv3/mcpToolRegistry.d.ts.map +1 -0
  737. package/dist/agentv3/mcpToolRegistry.js +152 -0
  738. package/dist/agentv3/mcpToolRegistry.js.map +1 -0
  739. package/dist/agentv3/outputLanguage.d.ts +6 -0
  740. package/dist/agentv3/outputLanguage.d.ts.map +1 -0
  741. package/dist/agentv3/outputLanguage.js +37 -0
  742. package/dist/agentv3/outputLanguage.js.map +1 -0
  743. package/dist/agentv3/phaseHintMatcher.d.ts +36 -0
  744. package/dist/agentv3/phaseHintMatcher.d.ts.map +1 -0
  745. package/dist/agentv3/phaseHintMatcher.js +48 -0
  746. package/dist/agentv3/phaseHintMatcher.js.map +1 -0
  747. package/dist/agentv3/projectMemory.d.ts +80 -0
  748. package/dist/agentv3/projectMemory.d.ts.map +1 -0
  749. package/dist/agentv3/projectMemory.js +334 -0
  750. package/dist/agentv3/projectMemory.js.map +1 -0
  751. package/dist/agentv3/queryComplexityClassifier.d.ts +21 -0
  752. package/dist/agentv3/queryComplexityClassifier.d.ts.map +1 -0
  753. package/dist/agentv3/queryComplexityClassifier.js +196 -0
  754. package/dist/agentv3/queryComplexityClassifier.js.map +1 -0
  755. package/dist/agentv3/rawSqlNormalizer.d.ts +11 -0
  756. package/dist/agentv3/rawSqlNormalizer.d.ts.map +1 -0
  757. package/dist/agentv3/rawSqlNormalizer.js +649 -0
  758. package/dist/agentv3/rawSqlNormalizer.js.map +1 -0
  759. package/dist/agentv3/recoveryNoteBuilder.d.ts +51 -0
  760. package/dist/agentv3/recoveryNoteBuilder.d.ts.map +1 -0
  761. package/dist/agentv3/recoveryNoteBuilder.js +84 -0
  762. package/dist/agentv3/recoveryNoteBuilder.js.map +1 -0
  763. package/dist/agentv3/sceneClassifier.d.ts +11 -0
  764. package/dist/agentv3/sceneClassifier.d.ts.map +1 -0
  765. package/dist/agentv3/sceneClassifier.js +46 -0
  766. package/dist/agentv3/sceneClassifier.js.map +1 -0
  767. package/dist/agentv3/scenePlanTemplates.d.ts +80 -0
  768. package/dist/agentv3/scenePlanTemplates.d.ts.map +1 -0
  769. package/dist/agentv3/scenePlanTemplates.js +164 -0
  770. package/dist/agentv3/scenePlanTemplates.js.map +1 -0
  771. package/dist/agentv3/selfImprove/contentScanner.d.ts +44 -0
  772. package/dist/agentv3/selfImprove/contentScanner.d.ts.map +1 -0
  773. package/dist/agentv3/selfImprove/contentScanner.js +112 -0
  774. package/dist/agentv3/selfImprove/contentScanner.js.map +1 -0
  775. package/dist/agentv3/selfImprove/failureTaxonomy.d.ts +38 -0
  776. package/dist/agentv3/selfImprove/failureTaxonomy.d.ts.map +1 -0
  777. package/dist/agentv3/selfImprove/failureTaxonomy.js +102 -0
  778. package/dist/agentv3/selfImprove/failureTaxonomy.js.map +1 -0
  779. package/dist/agentv3/selfImprove/feedbackEnricher.d.ts +69 -0
  780. package/dist/agentv3/selfImprove/feedbackEnricher.d.ts.map +1 -0
  781. package/dist/agentv3/selfImprove/feedbackEnricher.js +135 -0
  782. package/dist/agentv3/selfImprove/feedbackEnricher.js.map +1 -0
  783. package/dist/agentv3/selfImprove/feedbackPipeline.d.ts +63 -0
  784. package/dist/agentv3/selfImprove/feedbackPipeline.d.ts.map +1 -0
  785. package/dist/agentv3/selfImprove/feedbackPipeline.js +239 -0
  786. package/dist/agentv3/selfImprove/feedbackPipeline.js.map +1 -0
  787. package/dist/agentv3/selfImprove/hintFingerprint.d.ts +14 -0
  788. package/dist/agentv3/selfImprove/hintFingerprint.d.ts.map +1 -0
  789. package/dist/agentv3/selfImprove/hintFingerprint.js +47 -0
  790. package/dist/agentv3/selfImprove/hintFingerprint.js.map +1 -0
  791. package/dist/agentv3/selfImprove/metricsAggregator.d.ts +46 -0
  792. package/dist/agentv3/selfImprove/metricsAggregator.d.ts.map +1 -0
  793. package/dist/agentv3/selfImprove/metricsAggregator.js +195 -0
  794. package/dist/agentv3/selfImprove/metricsAggregator.js.map +1 -0
  795. package/dist/agentv3/selfImprove/migrateFailureModeHash.d.ts +31 -0
  796. package/dist/agentv3/selfImprove/migrateFailureModeHash.d.ts.map +1 -0
  797. package/dist/agentv3/selfImprove/migrateFailureModeHash.js +220 -0
  798. package/dist/agentv3/selfImprove/migrateFailureModeHash.js.map +1 -0
  799. package/dist/agentv3/selfImprove/phaseHintsRenderer.d.ts +56 -0
  800. package/dist/agentv3/selfImprove/phaseHintsRenderer.d.ts.map +1 -0
  801. package/dist/agentv3/selfImprove/phaseHintsRenderer.js +202 -0
  802. package/dist/agentv3/selfImprove/phaseHintsRenderer.js.map +1 -0
  803. package/dist/agentv3/selfImprove/promoteSkillNote.d.ts +17 -0
  804. package/dist/agentv3/selfImprove/promoteSkillNote.d.ts.map +1 -0
  805. package/dist/agentv3/selfImprove/promoteSkillNote.js +146 -0
  806. package/dist/agentv3/selfImprove/promoteSkillNote.js.map +1 -0
  807. package/dist/agentv3/selfImprove/proposeStrategyPatch.d.ts +40 -0
  808. package/dist/agentv3/selfImprove/proposeStrategyPatch.d.ts.map +1 -0
  809. package/dist/agentv3/selfImprove/proposeStrategyPatch.js +115 -0
  810. package/dist/agentv3/selfImprove/proposeStrategyPatch.js.map +1 -0
  811. package/dist/agentv3/selfImprove/reviewAgentSdk.d.ts +32 -0
  812. package/dist/agentv3/selfImprove/reviewAgentSdk.d.ts.map +1 -0
  813. package/dist/agentv3/selfImprove/reviewAgentSdk.js +173 -0
  814. package/dist/agentv3/selfImprove/reviewAgentSdk.js.map +1 -0
  815. package/dist/agentv3/selfImprove/reviewOutbox.d.ts +128 -0
  816. package/dist/agentv3/selfImprove/reviewOutbox.d.ts.map +1 -0
  817. package/dist/agentv3/selfImprove/reviewOutbox.js +313 -0
  818. package/dist/agentv3/selfImprove/reviewOutbox.js.map +1 -0
  819. package/dist/agentv3/selfImprove/reviewWorker.d.ts +95 -0
  820. package/dist/agentv3/selfImprove/reviewWorker.d.ts.map +1 -0
  821. package/dist/agentv3/selfImprove/reviewWorker.js +172 -0
  822. package/dist/agentv3/selfImprove/reviewWorker.js.map +1 -0
  823. package/dist/agentv3/selfImprove/skillNotesInjector.d.ts +71 -0
  824. package/dist/agentv3/selfImprove/skillNotesInjector.d.ts.map +1 -0
  825. package/dist/agentv3/selfImprove/skillNotesInjector.js +214 -0
  826. package/dist/agentv3/selfImprove/skillNotesInjector.js.map +1 -0
  827. package/dist/agentv3/selfImprove/skillNotesWriter.d.ts +89 -0
  828. package/dist/agentv3/selfImprove/skillNotesWriter.d.ts.map +1 -0
  829. package/dist/agentv3/selfImprove/skillNotesWriter.js +274 -0
  830. package/dist/agentv3/selfImprove/skillNotesWriter.js.map +1 -0
  831. package/dist/agentv3/selfImprove/strategyFingerprint.d.ts +85 -0
  832. package/dist/agentv3/selfImprove/strategyFingerprint.d.ts.map +1 -0
  833. package/dist/agentv3/selfImprove/strategyFingerprint.js +189 -0
  834. package/dist/agentv3/selfImprove/strategyFingerprint.js.map +1 -0
  835. package/dist/agentv3/selfImprove/strategyPatchApplier.d.ts +15 -0
  836. package/dist/agentv3/selfImprove/strategyPatchApplier.d.ts.map +1 -0
  837. package/dist/agentv3/selfImprove/strategyPatchApplier.js +138 -0
  838. package/dist/agentv3/selfImprove/strategyPatchApplier.js.map +1 -0
  839. package/dist/agentv3/selfImprove/supersedeStore.d.ts +136 -0
  840. package/dist/agentv3/selfImprove/supersedeStore.d.ts.map +1 -0
  841. package/dist/agentv3/selfImprove/supersedeStore.js +386 -0
  842. package/dist/agentv3/selfImprove/supersedeStore.js.map +1 -0
  843. package/dist/agentv3/selfImprove/worktreeRunner.d.ts +49 -0
  844. package/dist/agentv3/selfImprove/worktreeRunner.d.ts.map +1 -0
  845. package/dist/agentv3/selfImprove/worktreeRunner.js +153 -0
  846. package/dist/agentv3/selfImprove/worktreeRunner.js.map +1 -0
  847. package/dist/agentv3/sessionStateSnapshot.d.ts +166 -0
  848. package/dist/agentv3/sessionStateSnapshot.d.ts.map +1 -0
  849. package/dist/agentv3/sessionStateSnapshot.js +6 -0
  850. package/dist/agentv3/sessionStateSnapshot.js.map +1 -0
  851. package/dist/agentv3/sqlIncludeInjector.d.ts +24 -0
  852. package/dist/agentv3/sqlIncludeInjector.d.ts.map +1 -0
  853. package/dist/agentv3/sqlIncludeInjector.js +78 -0
  854. package/dist/agentv3/sqlIncludeInjector.js.map +1 -0
  855. package/dist/agentv3/sqlSummarizer.d.ts +38 -0
  856. package/dist/agentv3/sqlSummarizer.d.ts.map +1 -0
  857. package/dist/agentv3/sqlSummarizer.js +101 -0
  858. package/dist/agentv3/sqlSummarizer.js.map +1 -0
  859. package/dist/agentv3/standaloneMcpServer.d.ts +96 -0
  860. package/dist/agentv3/standaloneMcpServer.d.ts.map +1 -0
  861. package/dist/agentv3/standaloneMcpServer.js +244 -0
  862. package/dist/agentv3/standaloneMcpServer.js.map +1 -0
  863. package/dist/agentv3/strategyLoader.d.ts +96 -0
  864. package/dist/agentv3/strategyLoader.d.ts.map +1 -0
  865. package/dist/agentv3/strategyLoader.js +204 -0
  866. package/dist/agentv3/strategyLoader.js.map +1 -0
  867. package/dist/agentv3/toolCallSummary.d.ts +15 -0
  868. package/dist/agentv3/toolCallSummary.d.ts.map +1 -0
  869. package/dist/agentv3/toolCallSummary.js +66 -0
  870. package/dist/agentv3/toolCallSummary.js.map +1 -0
  871. package/dist/agentv3/toolNarration.d.ts +4 -0
  872. package/dist/agentv3/toolNarration.d.ts.map +1 -0
  873. package/dist/agentv3/toolNarration.js +371 -0
  874. package/dist/agentv3/toolNarration.js.map +1 -0
  875. package/dist/agentv3/traceCompletenessProber.d.ts +56 -0
  876. package/dist/agentv3/traceCompletenessProber.d.ts.map +1 -0
  877. package/dist/agentv3/traceCompletenessProber.js +337 -0
  878. package/dist/agentv3/traceCompletenessProber.js.map +1 -0
  879. package/dist/agentv3/types.d.ts +443 -0
  880. package/dist/agentv3/types.d.ts.map +1 -0
  881. package/dist/agentv3/types.js +37 -0
  882. package/dist/agentv3/types.js.map +1 -0
  883. package/dist/assistant/application/agentAnalyzeSessionService.d.ts +130 -0
  884. package/dist/assistant/application/agentAnalyzeSessionService.d.ts.map +1 -0
  885. package/dist/assistant/application/agentAnalyzeSessionService.js +433 -0
  886. package/dist/assistant/application/agentAnalyzeSessionService.js.map +1 -0
  887. package/dist/assistant/application/assistantApplicationService.d.ts +39 -0
  888. package/dist/assistant/application/assistantApplicationService.d.ts.map +1 -0
  889. package/dist/assistant/application/assistantApplicationService.js +88 -0
  890. package/dist/assistant/application/assistantApplicationService.js.map +1 -0
  891. package/dist/assistant/contracts/assistantResultContract.d.ts +41 -0
  892. package/dist/assistant/contracts/assistantResultContract.d.ts.map +1 -0
  893. package/dist/assistant/contracts/assistantResultContract.js +145 -0
  894. package/dist/assistant/contracts/assistantResultContract.js.map +1 -0
  895. package/dist/assistant/stream/sessionSseReplay.d.ts +10 -0
  896. package/dist/assistant/stream/sessionSseReplay.d.ts.map +1 -0
  897. package/dist/assistant/stream/sessionSseReplay.js +42 -0
  898. package/dist/assistant/stream/sessionSseReplay.js.map +1 -0
  899. package/dist/assistant/stream/streamProjector.d.ts +53 -0
  900. package/dist/assistant/stream/streamProjector.d.ts.map +1 -0
  901. package/dist/assistant/stream/streamProjector.js +150 -0
  902. package/dist/assistant/stream/streamProjector.js.map +1 -0
  903. package/dist/cli/commands/coverage.d.ts +12 -0
  904. package/dist/cli/commands/coverage.d.ts.map +1 -0
  905. package/dist/cli/commands/coverage.js +106 -0
  906. package/dist/cli/commands/coverage.js.map +1 -0
  907. package/dist/cli/commands/list.d.ts +11 -0
  908. package/dist/cli/commands/list.d.ts.map +1 -0
  909. package/dist/cli/commands/list.js +169 -0
  910. package/dist/cli/commands/list.js.map +1 -0
  911. package/dist/cli/commands/smoke.d.ts +11 -0
  912. package/dist/cli/commands/smoke.d.ts.map +1 -0
  913. package/dist/cli/commands/smoke.js +215 -0
  914. package/dist/cli/commands/smoke.js.map +1 -0
  915. package/dist/cli/commands/test.d.ts +11 -0
  916. package/dist/cli/commands/test.d.ts.map +1 -0
  917. package/dist/cli/commands/test.js +183 -0
  918. package/dist/cli/commands/test.js.map +1 -0
  919. package/dist/cli/commands/validate.d.ts +26 -0
  920. package/dist/cli/commands/validate.d.ts.map +1 -0
  921. package/dist/cli/commands/validate.js +918 -0
  922. package/dist/cli/commands/validate.js.map +1 -0
  923. package/dist/cli/index.d.ts +3 -0
  924. package/dist/cli/index.d.ts.map +1 -0
  925. package/dist/cli/index.js +29 -0
  926. package/dist/cli/index.js.map +1 -0
  927. package/dist/cli-user/bin.d.ts +3 -0
  928. package/dist/cli-user/bin.d.ts.map +1 -0
  929. package/dist/cli-user/bin.js +490 -0
  930. package/dist/cli-user/bin.js.map +1 -0
  931. package/dist/cli-user/bootstrap.d.ts +12 -0
  932. package/dist/cli-user/bootstrap.d.ts.map +1 -0
  933. package/dist/cli-user/bootstrap.js +165 -0
  934. package/dist/cli-user/bootstrap.js.map +1 -0
  935. package/dist/cli-user/commands/analyze.d.ts +12 -0
  936. package/dist/cli-user/commands/analyze.d.ts.map +1 -0
  937. package/dist/cli-user/commands/analyze.js +83 -0
  938. package/dist/cli-user/commands/analyze.js.map +1 -0
  939. package/dist/cli-user/commands/capture.d.ts +12 -0
  940. package/dist/cli-user/commands/capture.d.ts.map +1 -0
  941. package/dist/cli-user/commands/capture.js +155 -0
  942. package/dist/cli-user/commands/capture.js.map +1 -0
  943. package/dist/cli-user/commands/compare.d.ts +13 -0
  944. package/dist/cli-user/commands/compare.d.ts.map +1 -0
  945. package/dist/cli-user/commands/compare.js +74 -0
  946. package/dist/cli-user/commands/compare.js.map +1 -0
  947. package/dist/cli-user/commands/config.d.ts +9 -0
  948. package/dist/cli-user/commands/config.d.ts.map +1 -0
  949. package/dist/cli-user/commands/config.js +109 -0
  950. package/dist/cli-user/commands/config.js.map +1 -0
  951. package/dist/cli-user/commands/doctor.d.ts +8 -0
  952. package/dist/cli-user/commands/doctor.d.ts.map +1 -0
  953. package/dist/cli-user/commands/doctor.js +37 -0
  954. package/dist/cli-user/commands/doctor.js.map +1 -0
  955. package/dist/cli-user/commands/list.d.ts +10 -0
  956. package/dist/cli-user/commands/list.d.ts.map +1 -0
  957. package/dist/cli-user/commands/list.js +79 -0
  958. package/dist/cli-user/commands/list.js.map +1 -0
  959. package/dist/cli-user/commands/provider.d.ts +12 -0
  960. package/dist/cli-user/commands/provider.d.ts.map +1 -0
  961. package/dist/cli-user/commands/provider.js +121 -0
  962. package/dist/cli-user/commands/provider.js.map +1 -0
  963. package/dist/cli-user/commands/query.d.ts +10 -0
  964. package/dist/cli-user/commands/query.d.ts.map +1 -0
  965. package/dist/cli-user/commands/query.js +128 -0
  966. package/dist/cli-user/commands/query.js.map +1 -0
  967. package/dist/cli-user/commands/report.d.ts +18 -0
  968. package/dist/cli-user/commands/report.d.ts.map +1 -0
  969. package/dist/cli-user/commands/report.js +225 -0
  970. package/dist/cli-user/commands/report.js.map +1 -0
  971. package/dist/cli-user/commands/resume.d.ts +12 -0
  972. package/dist/cli-user/commands/resume.d.ts.map +1 -0
  973. package/dist/cli-user/commands/resume.js +48 -0
  974. package/dist/cli-user/commands/resume.js.map +1 -0
  975. package/dist/cli-user/commands/rm.d.ts +8 -0
  976. package/dist/cli-user/commands/rm.d.ts.map +1 -0
  977. package/dist/cli-user/commands/rm.js +91 -0
  978. package/dist/cli-user/commands/rm.js.map +1 -0
  979. package/dist/cli-user/commands/show.d.ts +8 -0
  980. package/dist/cli-user/commands/show.d.ts.map +1 -0
  981. package/dist/cli-user/commands/show.js +84 -0
  982. package/dist/cli-user/commands/show.js.map +1 -0
  983. package/dist/cli-user/commands/skill.d.ts +11 -0
  984. package/dist/cli-user/commands/skill.d.ts.map +1 -0
  985. package/dist/cli-user/commands/skill.js +118 -0
  986. package/dist/cli-user/commands/skill.js.map +1 -0
  987. package/dist/cli-user/constants.d.ts +10 -0
  988. package/dist/cli-user/constants.d.ts.map +1 -0
  989. package/dist/cli-user/constants.js +16 -0
  990. package/dist/cli-user/constants.js.map +1 -0
  991. package/dist/cli-user/io/indexJson.d.ts +11 -0
  992. package/dist/cli-user/io/indexJson.d.ts.map +1 -0
  993. package/dist/cli-user/io/indexJson.js +79 -0
  994. package/dist/cli-user/io/indexJson.js.map +1 -0
  995. package/dist/cli-user/io/openFile.d.ts +8 -0
  996. package/dist/cli-user/io/openFile.d.ts.map +1 -0
  997. package/dist/cli-user/io/openFile.js +34 -0
  998. package/dist/cli-user/io/openFile.js.map +1 -0
  999. package/dist/cli-user/io/paths.d.ts +33 -0
  1000. package/dist/cli-user/io/paths.d.ts.map +1 -0
  1001. package/dist/cli-user/io/paths.js +149 -0
  1002. package/dist/cli-user/io/paths.js.map +1 -0
  1003. package/dist/cli-user/io/sessionStore.d.ts +17 -0
  1004. package/dist/cli-user/io/sessionStore.d.ts.map +1 -0
  1005. package/dist/cli-user/io/sessionStore.js +101 -0
  1006. package/dist/cli-user/io/sessionStore.js.map +1 -0
  1007. package/dist/cli-user/io/stdio.d.ts +8 -0
  1008. package/dist/cli-user/io/stdio.d.ts.map +1 -0
  1009. package/dist/cli-user/io/stdio.js +25 -0
  1010. package/dist/cli-user/io/stdio.js.map +1 -0
  1011. package/dist/cli-user/io/transcriptWriter.d.ts +5 -0
  1012. package/dist/cli-user/io/transcriptWriter.d.ts.map +1 -0
  1013. package/dist/cli-user/io/transcriptWriter.js +60 -0
  1014. package/dist/cli-user/io/transcriptWriter.js.map +1 -0
  1015. package/dist/cli-user/repl/index.d.ts +14 -0
  1016. package/dist/cli-user/repl/index.d.ts.map +1 -0
  1017. package/dist/cli-user/repl/index.js +301 -0
  1018. package/dist/cli-user/repl/index.js.map +1 -0
  1019. package/dist/cli-user/repl/renderer.d.ts +43 -0
  1020. package/dist/cli-user/repl/renderer.d.ts.map +1 -0
  1021. package/dist/cli-user/repl/renderer.js +210 -0
  1022. package/dist/cli-user/repl/renderer.js.map +1 -0
  1023. package/dist/cli-user/repl/slashCommands.d.ts +49 -0
  1024. package/dist/cli-user/repl/slashCommands.d.ts.map +1 -0
  1025. package/dist/cli-user/repl/slashCommands.js +65 -0
  1026. package/dist/cli-user/repl/slashCommands.js.map +1 -0
  1027. package/dist/cli-user/services/cliAnalyzeService.d.ts +73 -0
  1028. package/dist/cli-user/services/cliAnalyzeService.d.ts.map +1 -0
  1029. package/dist/cli-user/services/cliAnalyzeService.js +393 -0
  1030. package/dist/cli-user/services/cliAnalyzeService.js.map +1 -0
  1031. package/dist/cli-user/services/runtimeGuard.d.ts +46 -0
  1032. package/dist/cli-user/services/runtimeGuard.d.ts.map +1 -0
  1033. package/dist/cli-user/services/runtimeGuard.js +188 -0
  1034. package/dist/cli-user/services/runtimeGuard.js.map +1 -0
  1035. package/dist/cli-user/services/traceProcessorInstaller.d.ts +2 -0
  1036. package/dist/cli-user/services/traceProcessorInstaller.d.ts.map +1 -0
  1037. package/dist/cli-user/services/traceProcessorInstaller.js +241 -0
  1038. package/dist/cli-user/services/traceProcessorInstaller.js.map +1 -0
  1039. package/dist/cli-user/services/turnPersistence.d.ts +41 -0
  1040. package/dist/cli-user/services/turnPersistence.d.ts.map +1 -0
  1041. package/dist/cli-user/services/turnPersistence.js +55 -0
  1042. package/dist/cli-user/services/turnPersistence.js.map +1 -0
  1043. package/dist/cli-user/services/turnRunner.d.ts +49 -0
  1044. package/dist/cli-user/services/turnRunner.d.ts.map +1 -0
  1045. package/dist/cli-user/services/turnRunner.js +436 -0
  1046. package/dist/cli-user/services/turnRunner.js.map +1 -0
  1047. package/dist/cli-user/types.d.ts +62 -0
  1048. package/dist/cli-user/types.d.ts.map +1 -0
  1049. package/dist/cli-user/types.js +6 -0
  1050. package/dist/cli-user/types.js.map +1 -0
  1051. package/dist/config/index.d.ts +393 -0
  1052. package/dist/config/index.d.ts.map +1 -0
  1053. package/dist/config/index.js +334 -0
  1054. package/dist/config/index.js.map +1 -0
  1055. package/dist/config/prompts.d.ts +20 -0
  1056. package/dist/config/prompts.d.ts.map +1 -0
  1057. package/dist/config/prompts.js +74 -0
  1058. package/dist/config/prompts.js.map +1 -0
  1059. package/dist/config/teaching.config.d.ts +253 -0
  1060. package/dist/config/teaching.config.d.ts.map +1 -0
  1061. package/dist/config/teaching.config.js +203 -0
  1062. package/dist/config/teaching.config.js.map +1 -0
  1063. package/dist/config/thresholds.d.ts +300 -0
  1064. package/dist/config/thresholds.d.ts.map +1 -0
  1065. package/dist/config/thresholds.js +338 -0
  1066. package/dist/config/thresholds.js.map +1 -0
  1067. package/dist/controllers/skillAdminController.d.ts +62 -0
  1068. package/dist/controllers/skillAdminController.d.ts.map +1 -0
  1069. package/dist/controllers/skillAdminController.js +482 -0
  1070. package/dist/controllers/skillAdminController.js.map +1 -0
  1071. package/dist/controllers/skillController.d.ts +49 -0
  1072. package/dist/controllers/skillController.d.ts.map +1 -0
  1073. package/dist/controllers/skillController.js +246 -0
  1074. package/dist/controllers/skillController.js.map +1 -0
  1075. package/dist/controllers/sqlController.d.ts +9 -0
  1076. package/dist/controllers/sqlController.d.ts.map +1 -0
  1077. package/dist/controllers/sqlController.js +125 -0
  1078. package/dist/controllers/sqlController.js.map +1 -0
  1079. package/dist/controllers/traceController.d.ts +13 -0
  1080. package/dist/controllers/traceController.d.ts.map +1 -0
  1081. package/dist/controllers/traceController.js +209 -0
  1082. package/dist/controllers/traceController.js.map +1 -0
  1083. package/dist/controllers/traceProcessorController.d.ts +14 -0
  1084. package/dist/controllers/traceProcessorController.d.ts.map +1 -0
  1085. package/dist/controllers/traceProcessorController.js +222 -0
  1086. package/dist/controllers/traceProcessorController.js.map +1 -0
  1087. package/dist/data/perfettoSchema.d.ts +9 -0
  1088. package/dist/data/perfettoSchema.d.ts.map +1 -0
  1089. package/dist/data/perfettoSchema.js +286 -0
  1090. package/dist/data/perfettoSchema.js.map +1 -0
  1091. package/dist/index.d.ts +2 -0
  1092. package/dist/index.d.ts.map +1 -0
  1093. package/dist/index.js +251 -0
  1094. package/dist/index.js.map +1 -0
  1095. package/dist/middleware/auth.d.ts +37 -0
  1096. package/dist/middleware/auth.d.ts.map +1 -0
  1097. package/dist/middleware/auth.js +307 -0
  1098. package/dist/middleware/auth.js.map +1 -0
  1099. package/dist/middleware/legacyAgentApi.d.ts +8 -0
  1100. package/dist/middleware/legacyAgentApi.d.ts.map +1 -0
  1101. package/dist/middleware/legacyAgentApi.js +64 -0
  1102. package/dist/middleware/legacyAgentApi.js.map +1 -0
  1103. package/dist/middleware/workspaceRouteContext.d.ts +4 -0
  1104. package/dist/middleware/workspaceRouteContext.d.ts.map +1 -0
  1105. package/dist/middleware/workspaceRouteContext.js +44 -0
  1106. package/dist/middleware/workspaceRouteContext.js.map +1 -0
  1107. package/dist/models/sessionSchema.d.ts +106 -0
  1108. package/dist/models/sessionSchema.d.ts.map +1 -0
  1109. package/dist/models/sessionSchema.js +6 -0
  1110. package/dist/models/sessionSchema.js.map +1 -0
  1111. package/dist/routes/agentLogsRoutes.d.ts +3 -0
  1112. package/dist/routes/agentLogsRoutes.d.ts.map +1 -0
  1113. package/dist/routes/agentLogsRoutes.js +283 -0
  1114. package/dist/routes/agentLogsRoutes.js.map +1 -0
  1115. package/dist/routes/agentQuickSceneRoutes.d.ts +9 -0
  1116. package/dist/routes/agentQuickSceneRoutes.d.ts.map +1 -0
  1117. package/dist/routes/agentQuickSceneRoutes.js +51 -0
  1118. package/dist/routes/agentQuickSceneRoutes.js.map +1 -0
  1119. package/dist/routes/agentReportRoutes.d.ts +11 -0
  1120. package/dist/routes/agentReportRoutes.d.ts.map +1 -0
  1121. package/dist/routes/agentReportRoutes.js +100 -0
  1122. package/dist/routes/agentReportRoutes.js.map +1 -0
  1123. package/dist/routes/agentResumeRoutes.d.ts +14 -0
  1124. package/dist/routes/agentResumeRoutes.d.ts.map +1 -0
  1125. package/dist/routes/agentResumeRoutes.js +263 -0
  1126. package/dist/routes/agentResumeRoutes.js.map +1 -0
  1127. package/dist/routes/agentRoutes.d.ts +3 -0
  1128. package/dist/routes/agentRoutes.d.ts.map +1 -0
  1129. package/dist/routes/agentRoutes.js +4349 -0
  1130. package/dist/routes/agentRoutes.js.map +1 -0
  1131. package/dist/routes/agentSceneReconstructRoutes.d.ts +68 -0
  1132. package/dist/routes/agentSceneReconstructRoutes.d.ts.map +1 -0
  1133. package/dist/routes/agentSceneReconstructRoutes.js +448 -0
  1134. package/dist/routes/agentSceneReconstructRoutes.js.map +1 -0
  1135. package/dist/routes/agentSessionCatalogRoutes.d.ts +20 -0
  1136. package/dist/routes/agentSessionCatalogRoutes.d.ts.map +1 -0
  1137. package/dist/routes/agentSessionCatalogRoutes.js +90 -0
  1138. package/dist/routes/agentSessionCatalogRoutes.js.map +1 -0
  1139. package/dist/routes/agentTeachingRoutes.d.ts +3 -0
  1140. package/dist/routes/agentTeachingRoutes.d.ts.map +1 -0
  1141. package/dist/routes/agentTeachingRoutes.js +62 -0
  1142. package/dist/routes/agentTeachingRoutes.js.map +1 -0
  1143. package/dist/routes/analysisResultRoutes.d.ts +3 -0
  1144. package/dist/routes/analysisResultRoutes.d.ts.map +1 -0
  1145. package/dist/routes/analysisResultRoutes.js +216 -0
  1146. package/dist/routes/analysisResultRoutes.js.map +1 -0
  1147. package/dist/routes/baselineRoutes.d.ts +29 -0
  1148. package/dist/routes/baselineRoutes.d.ts.map +1 -0
  1149. package/dist/routes/baselineRoutes.js +123 -0
  1150. package/dist/routes/baselineRoutes.js.map +1 -0
  1151. package/dist/routes/caseRoutes.d.ts +29 -0
  1152. package/dist/routes/caseRoutes.d.ts.map +1 -0
  1153. package/dist/routes/caseRoutes.js +194 -0
  1154. package/dist/routes/caseRoutes.js.map +1 -0
  1155. package/dist/routes/ciGateRoutes.d.ts +11 -0
  1156. package/dist/routes/ciGateRoutes.d.ts.map +1 -0
  1157. package/dist/routes/ciGateRoutes.js +363 -0
  1158. package/dist/routes/ciGateRoutes.js.map +1 -0
  1159. package/dist/routes/comparisonRoutes.d.ts +3 -0
  1160. package/dist/routes/comparisonRoutes.d.ts.map +1 -0
  1161. package/dist/routes/comparisonRoutes.js +536 -0
  1162. package/dist/routes/comparisonRoutes.js.map +1 -0
  1163. package/dist/routes/criticalPathRoutes.d.ts +3 -0
  1164. package/dist/routes/criticalPathRoutes.d.ts.map +1 -0
  1165. package/dist/routes/criticalPathRoutes.js +88 -0
  1166. package/dist/routes/criticalPathRoutes.js.map +1 -0
  1167. package/dist/routes/enterpriseApiKeyRoutes.d.ts +9 -0
  1168. package/dist/routes/enterpriseApiKeyRoutes.d.ts.map +1 -0
  1169. package/dist/routes/enterpriseApiKeyRoutes.js +126 -0
  1170. package/dist/routes/enterpriseApiKeyRoutes.js.map +1 -0
  1171. package/dist/routes/enterpriseAuthRoutes.d.ts +18 -0
  1172. package/dist/routes/enterpriseAuthRoutes.d.ts.map +1 -0
  1173. package/dist/routes/enterpriseAuthRoutes.js +160 -0
  1174. package/dist/routes/enterpriseAuthRoutes.js.map +1 -0
  1175. package/dist/routes/enterpriseRuntimeDashboardRoutes.d.ts +6 -0
  1176. package/dist/routes/enterpriseRuntimeDashboardRoutes.d.ts.map +1 -0
  1177. package/dist/routes/enterpriseRuntimeDashboardRoutes.js +32 -0
  1178. package/dist/routes/enterpriseRuntimeDashboardRoutes.js.map +1 -0
  1179. package/dist/routes/enterpriseTenantRoutes.d.ts +4 -0
  1180. package/dist/routes/enterpriseTenantRoutes.d.ts.map +1 -0
  1181. package/dist/routes/enterpriseTenantRoutes.js +313 -0
  1182. package/dist/routes/enterpriseTenantRoutes.js.map +1 -0
  1183. package/dist/routes/exportRoutes.d.ts +3 -0
  1184. package/dist/routes/exportRoutes.d.ts.map +1 -0
  1185. package/dist/routes/exportRoutes.js +196 -0
  1186. package/dist/routes/exportRoutes.js.map +1 -0
  1187. package/dist/routes/flamegraphRoutes.d.ts +3 -0
  1188. package/dist/routes/flamegraphRoutes.d.ts.map +1 -0
  1189. package/dist/routes/flamegraphRoutes.js +99 -0
  1190. package/dist/routes/flamegraphRoutes.js.map +1 -0
  1191. package/dist/routes/memoryRoutes.d.ts +31 -0
  1192. package/dist/routes/memoryRoutes.d.ts.map +1 -0
  1193. package/dist/routes/memoryRoutes.js +150 -0
  1194. package/dist/routes/memoryRoutes.js.map +1 -0
  1195. package/dist/routes/narrativeSanitizer.d.ts +2 -0
  1196. package/dist/routes/narrativeSanitizer.d.ts.map +1 -0
  1197. package/dist/routes/narrativeSanitizer.js +167 -0
  1198. package/dist/routes/narrativeSanitizer.js.map +1 -0
  1199. package/dist/routes/perfettoLocalRoutes.d.ts +3 -0
  1200. package/dist/routes/perfettoLocalRoutes.d.ts.map +1 -0
  1201. package/dist/routes/perfettoLocalRoutes.js +222 -0
  1202. package/dist/routes/perfettoLocalRoutes.js.map +1 -0
  1203. package/dist/routes/perfettoSqlRoutes.d.ts +7 -0
  1204. package/dist/routes/perfettoSqlRoutes.d.ts.map +1 -0
  1205. package/dist/routes/perfettoSqlRoutes.js +738 -0
  1206. package/dist/routes/perfettoSqlRoutes.js.map +1 -0
  1207. package/dist/routes/providerRoutes.d.ts +3 -0
  1208. package/dist/routes/providerRoutes.d.ts.map +1 -0
  1209. package/dist/routes/providerRoutes.js +219 -0
  1210. package/dist/routes/providerRoutes.js.map +1 -0
  1211. package/dist/routes/ragAdminRoutes.d.ts +30 -0
  1212. package/dist/routes/ragAdminRoutes.d.ts.map +1 -0
  1213. package/dist/routes/ragAdminRoutes.js +93 -0
  1214. package/dist/routes/ragAdminRoutes.js.map +1 -0
  1215. package/dist/routes/reportRoutes.d.ts +17 -0
  1216. package/dist/routes/reportRoutes.d.ts.map +1 -0
  1217. package/dist/routes/reportRoutes.js +579 -0
  1218. package/dist/routes/reportRoutes.js.map +1 -0
  1219. package/dist/routes/sessionRoutes.d.ts +3 -0
  1220. package/dist/routes/sessionRoutes.d.ts.map +1 -0
  1221. package/dist/routes/sessionRoutes.js +144 -0
  1222. package/dist/routes/sessionRoutes.js.map +1 -0
  1223. package/dist/routes/simpleTraceRoutes.d.ts +3 -0
  1224. package/dist/routes/simpleTraceRoutes.d.ts.map +1 -0
  1225. package/dist/routes/simpleTraceRoutes.js +1131 -0
  1226. package/dist/routes/simpleTraceRoutes.js.map +1 -0
  1227. package/dist/routes/skillAdminRoutes.d.ts +3 -0
  1228. package/dist/routes/skillAdminRoutes.d.ts.map +1 -0
  1229. package/dist/routes/skillAdminRoutes.js +100 -0
  1230. package/dist/routes/skillAdminRoutes.js.map +1 -0
  1231. package/dist/routes/skillRoutes.d.ts +3 -0
  1232. package/dist/routes/skillRoutes.d.ts.map +1 -0
  1233. package/dist/routes/skillRoutes.js +88 -0
  1234. package/dist/routes/skillRoutes.js.map +1 -0
  1235. package/dist/routes/sql.d.ts +3 -0
  1236. package/dist/routes/sql.d.ts.map +1 -0
  1237. package/dist/routes/sql.js +19 -0
  1238. package/dist/routes/sql.js.map +1 -0
  1239. package/dist/routes/strategyAdminRoutes.d.ts +3 -0
  1240. package/dist/routes/strategyAdminRoutes.d.ts.map +1 -0
  1241. package/dist/routes/strategyAdminRoutes.js +65 -0
  1242. package/dist/routes/strategyAdminRoutes.js.map +1 -0
  1243. package/dist/routes/templateAnalysisRoutes.d.ts +3 -0
  1244. package/dist/routes/templateAnalysisRoutes.d.ts.map +1 -0
  1245. package/dist/routes/templateAnalysisRoutes.js +173 -0
  1246. package/dist/routes/templateAnalysisRoutes.js.map +1 -0
  1247. package/dist/routes/trace.d.ts +3 -0
  1248. package/dist/routes/trace.d.ts.map +1 -0
  1249. package/dist/routes/trace.js +48 -0
  1250. package/dist/routes/trace.js.map +1 -0
  1251. package/dist/routes/traceProcessorProxyRoutes.d.ts +6 -0
  1252. package/dist/routes/traceProcessorProxyRoutes.d.ts.map +1 -0
  1253. package/dist/routes/traceProcessorProxyRoutes.js +607 -0
  1254. package/dist/routes/traceProcessorProxyRoutes.js.map +1 -0
  1255. package/dist/routes/traceProcessorRoutes.d.ts +3 -0
  1256. package/dist/routes/traceProcessorRoutes.d.ts.map +1 -0
  1257. package/dist/routes/traceProcessorRoutes.js +40 -0
  1258. package/dist/routes/traceProcessorRoutes.js.map +1 -0
  1259. package/dist/routes/workspaceWindowRoutes.d.ts +3 -0
  1260. package/dist/routes/workspaceWindowRoutes.d.ts.map +1 -0
  1261. package/dist/routes/workspaceWindowRoutes.js +146 -0
  1262. package/dist/routes/workspaceWindowRoutes.js.map +1 -0
  1263. package/dist/runtimePaths.d.ts +3 -0
  1264. package/dist/runtimePaths.d.ts.map +1 -0
  1265. package/dist/runtimePaths.js +20 -0
  1266. package/dist/runtimePaths.js.map +1 -0
  1267. package/dist/scripts/analyzeComprehensiveTrace.d.ts +2 -0
  1268. package/dist/scripts/analyzeComprehensiveTrace.d.ts.map +1 -0
  1269. package/dist/scripts/analyzeComprehensiveTrace.js +210 -0
  1270. package/dist/scripts/analyzeComprehensiveTrace.js.map +1 -0
  1271. package/dist/scripts/analyzeUserTrace.d.ts +2 -0
  1272. package/dist/scripts/analyzeUserTrace.d.ts.map +1 -0
  1273. package/dist/scripts/analyzeUserTrace.js +170 -0
  1274. package/dist/scripts/analyzeUserTrace.js.map +1 -0
  1275. package/dist/scripts/auditTraceProcessorRssMatrix.d.ts +49 -0
  1276. package/dist/scripts/auditTraceProcessorRssMatrix.d.ts.map +1 -0
  1277. package/dist/scripts/auditTraceProcessorRssMatrix.js +390 -0
  1278. package/dist/scripts/auditTraceProcessorRssMatrix.js.map +1 -0
  1279. package/dist/scripts/benchmarkTraceProcessorRss.d.ts +96 -0
  1280. package/dist/scripts/benchmarkTraceProcessorRss.d.ts.map +1 -0
  1281. package/dist/scripts/benchmarkTraceProcessorRss.js +569 -0
  1282. package/dist/scripts/benchmarkTraceProcessorRss.js.map +1 -0
  1283. package/dist/scripts/captureContextEngineeringBaseline.d.ts +2 -0
  1284. package/dist/scripts/captureContextEngineeringBaseline.d.ts.map +1 -0
  1285. package/dist/scripts/captureContextEngineeringBaseline.js +271 -0
  1286. package/dist/scripts/captureContextEngineeringBaseline.js.map +1 -0
  1287. package/dist/scripts/checkTables.d.ts +2 -0
  1288. package/dist/scripts/checkTables.d.ts.map +1 -0
  1289. package/dist/scripts/checkTables.js +22 -0
  1290. package/dist/scripts/checkTables.js.map +1 -0
  1291. package/dist/scripts/diagnoseJankDetection.d.ts +2 -0
  1292. package/dist/scripts/diagnoseJankDetection.d.ts.map +1 -0
  1293. package/dist/scripts/diagnoseJankDetection.js +314 -0
  1294. package/dist/scripts/diagnoseJankDetection.js.map +1 -0
  1295. package/dist/scripts/diagnoseTrace.d.ts +2 -0
  1296. package/dist/scripts/diagnoseTrace.d.ts.map +1 -0
  1297. package/dist/scripts/diagnoseTrace.js +74 -0
  1298. package/dist/scripts/diagnoseTrace.js.map +1 -0
  1299. package/dist/scripts/enterpriseAcceptanceLoadTest.d.ts +193 -0
  1300. package/dist/scripts/enterpriseAcceptanceLoadTest.d.ts.map +1 -0
  1301. package/dist/scripts/enterpriseAcceptanceLoadTest.js +912 -0
  1302. package/dist/scripts/enterpriseAcceptanceLoadTest.js.map +1 -0
  1303. package/dist/scripts/enterpriseMigrationSnapshot.d.ts +3 -0
  1304. package/dist/scripts/enterpriseMigrationSnapshot.d.ts.map +1 -0
  1305. package/dist/scripts/enterpriseMigrationSnapshot.js +57 -0
  1306. package/dist/scripts/enterpriseMigrationSnapshot.js.map +1 -0
  1307. package/dist/scripts/enterpriseReadinessAudit.d.ts +30 -0
  1308. package/dist/scripts/enterpriseReadinessAudit.d.ts.map +1 -0
  1309. package/dist/scripts/enterpriseReadinessAudit.js +743 -0
  1310. package/dist/scripts/enterpriseReadinessAudit.js.map +1 -0
  1311. package/dist/scripts/enterpriseRssBenchmarkMatrix.d.ts +6 -0
  1312. package/dist/scripts/enterpriseRssBenchmarkMatrix.d.ts.map +1 -0
  1313. package/dist/scripts/enterpriseRssBenchmarkMatrix.js +20 -0
  1314. package/dist/scripts/enterpriseRssBenchmarkMatrix.js.map +1 -0
  1315. package/dist/scripts/enterpriseRuntimeIsolationChecklist.d.ts +22 -0
  1316. package/dist/scripts/enterpriseRuntimeIsolationChecklist.d.ts.map +1 -0
  1317. package/dist/scripts/enterpriseRuntimeIsolationChecklist.js +374 -0
  1318. package/dist/scripts/enterpriseRuntimeIsolationChecklist.js.map +1 -0
  1319. package/dist/scripts/enterpriseSecurityAuditChecklist.d.ts +20 -0
  1320. package/dist/scripts/enterpriseSecurityAuditChecklist.d.ts.map +1 -0
  1321. package/dist/scripts/enterpriseSecurityAuditChecklist.js +113 -0
  1322. package/dist/scripts/enterpriseSecurityAuditChecklist.js.map +1 -0
  1323. package/dist/scripts/probeStdlibSchema.d.ts +2 -0
  1324. package/dist/scripts/probeStdlibSchema.d.ts.map +1 -0
  1325. package/dist/scripts/probeStdlibSchema.js +209 -0
  1326. package/dist/scripts/probeStdlibSchema.js.map +1 -0
  1327. package/dist/scripts/runAgentTest.d.ts +2 -0
  1328. package/dist/scripts/runAgentTest.d.ts.map +1 -0
  1329. package/dist/scripts/runAgentTest.js +149 -0
  1330. package/dist/scripts/runAgentTest.js.map +1 -0
  1331. package/dist/scripts/runScrollingTest.d.ts +2 -0
  1332. package/dist/scripts/runScrollingTest.d.ts.map +1 -0
  1333. package/dist/scripts/runScrollingTest.js +199 -0
  1334. package/dist/scripts/runScrollingTest.js.map +1 -0
  1335. package/dist/scripts/runScrollingTestRealData.d.ts +2 -0
  1336. package/dist/scripts/runScrollingTestRealData.d.ts.map +1 -0
  1337. package/dist/scripts/runScrollingTestRealData.js +121 -0
  1338. package/dist/scripts/runScrollingTestRealData.js.map +1 -0
  1339. package/dist/scripts/testAndroidTrace.d.ts +2 -0
  1340. package/dist/scripts/testAndroidTrace.d.ts.map +1 -0
  1341. package/dist/scripts/testAndroidTrace.js +21 -0
  1342. package/dist/scripts/testAndroidTrace.js.map +1 -0
  1343. package/dist/scripts/testCrossDomainExpert.d.ts +2 -0
  1344. package/dist/scripts/testCrossDomainExpert.d.ts.map +1 -0
  1345. package/dist/scripts/testCrossDomainExpert.js +288 -0
  1346. package/dist/scripts/testCrossDomainExpert.js.map +1 -0
  1347. package/dist/scripts/testCrossDomainIntegration.d.ts +2 -0
  1348. package/dist/scripts/testCrossDomainIntegration.d.ts.map +1 -0
  1349. package/dist/scripts/testCrossDomainIntegration.js +282 -0
  1350. package/dist/scripts/testCrossDomainIntegration.js.map +1 -0
  1351. package/dist/scripts/testDeepLayerFix.d.ts +2 -0
  1352. package/dist/scripts/testDeepLayerFix.d.ts.map +1 -0
  1353. package/dist/scripts/testDeepLayerFix.js +137 -0
  1354. package/dist/scripts/testDeepLayerFix.js.map +1 -0
  1355. package/dist/scripts/testHtmlReportGen.d.ts +2 -0
  1356. package/dist/scripts/testHtmlReportGen.d.ts.map +1 -0
  1357. package/dist/scripts/testHtmlReportGen.js +148 -0
  1358. package/dist/scripts/testHtmlReportGen.js.map +1 -0
  1359. package/dist/scripts/verifyAgentSseScrolling.d.ts +2 -0
  1360. package/dist/scripts/verifyAgentSseScrolling.d.ts.map +1 -0
  1361. package/dist/scripts/verifyAgentSseScrolling.js +558 -0
  1362. package/dist/scripts/verifyAgentSseScrolling.js.map +1 -0
  1363. package/dist/scripts/verifyCriticalPathE2E.d.ts +2 -0
  1364. package/dist/scripts/verifyCriticalPathE2E.d.ts.map +1 -0
  1365. package/dist/scripts/verifyCriticalPathE2E.js +171 -0
  1366. package/dist/scripts/verifyCriticalPathE2E.js.map +1 -0
  1367. package/dist/scripts/verifyEnterpriseMultiTenantWindows.d.ts +24 -0
  1368. package/dist/scripts/verifyEnterpriseMultiTenantWindows.d.ts.map +1 -0
  1369. package/dist/scripts/verifyEnterpriseMultiTenantWindows.js +1363 -0
  1370. package/dist/scripts/verifyEnterpriseMultiTenantWindows.js.map +1 -0
  1371. package/dist/services/adb/adbContextDetector.d.ts +3 -0
  1372. package/dist/services/adb/adbContextDetector.d.ts.map +1 -0
  1373. package/dist/services/adb/adbContextDetector.js +151 -0
  1374. package/dist/services/adb/adbContextDetector.js.map +1 -0
  1375. package/dist/services/adb/adbService.d.ts +28 -0
  1376. package/dist/services/adb/adbService.d.ts.map +1 -0
  1377. package/dist/services/adb/adbService.js +238 -0
  1378. package/dist/services/adb/adbService.js.map +1 -0
  1379. package/dist/services/adb/index.d.ts +5 -0
  1380. package/dist/services/adb/index.d.ts.map +1 -0
  1381. package/dist/services/adb/index.js +24 -0
  1382. package/dist/services/adb/index.js.map +1 -0
  1383. package/dist/services/adb/traceDeviceMatcher.d.ts +12 -0
  1384. package/dist/services/adb/traceDeviceMatcher.d.ts.map +1 -0
  1385. package/dist/services/adb/traceDeviceMatcher.js +149 -0
  1386. package/dist/services/adb/traceDeviceMatcher.js.map +1 -0
  1387. package/dist/services/adb/types.d.ts +69 -0
  1388. package/dist/services/adb/types.d.ts.map +1 -0
  1389. package/dist/services/adb/types.js +6 -0
  1390. package/dist/services/adb/types.js.map +1 -0
  1391. package/dist/services/agentEventStore.d.ts +17 -0
  1392. package/dist/services/agentEventStore.d.ts.map +1 -0
  1393. package/dist/services/agentEventStore.js +139 -0
  1394. package/dist/services/agentEventStore.js.map +1 -0
  1395. package/dist/services/agentReportData.d.ts +42 -0
  1396. package/dist/services/agentReportData.d.ts.map +1 -0
  1397. package/dist/services/agentReportData.js +81 -0
  1398. package/dist/services/agentReportData.js.map +1 -0
  1399. package/dist/services/agentResultNormalizer.d.ts +33 -0
  1400. package/dist/services/agentResultNormalizer.d.ts.map +1 -0
  1401. package/dist/services/agentResultNormalizer.js +92 -0
  1402. package/dist/services/agentResultNormalizer.js.map +1 -0
  1403. package/dist/services/analysisResultSnapshotPipeline.d.ts +24 -0
  1404. package/dist/services/analysisResultSnapshotPipeline.d.ts.map +1 -0
  1405. package/dist/services/analysisResultSnapshotPipeline.js +466 -0
  1406. package/dist/services/analysisResultSnapshotPipeline.js.map +1 -0
  1407. package/dist/services/analysisResultSnapshotStore.d.ts +29 -0
  1408. package/dist/services/analysisResultSnapshotStore.d.ts.map +1 -0
  1409. package/dist/services/analysisResultSnapshotStore.js +457 -0
  1410. package/dist/services/analysisResultSnapshotStore.js.map +1 -0
  1411. package/dist/services/analysisResultWindowStateStore.d.ts +37 -0
  1412. package/dist/services/analysisResultWindowStateStore.d.ts.map +1 -0
  1413. package/dist/services/analysisResultWindowStateStore.js +190 -0
  1414. package/dist/services/analysisResultWindowStateStore.js.map +1 -0
  1415. package/dist/services/analysisRunStore.d.ts +38 -0
  1416. package/dist/services/analysisRunStore.d.ts.map +1 -0
  1417. package/dist/services/analysisRunStore.js +195 -0
  1418. package/dist/services/analysisRunStore.js.map +1 -0
  1419. package/dist/services/analysisTemplates/cpuCoreAnalysis.d.ts +70 -0
  1420. package/dist/services/analysisTemplates/cpuCoreAnalysis.d.ts.map +1 -0
  1421. package/dist/services/analysisTemplates/cpuCoreAnalysis.js +277 -0
  1422. package/dist/services/analysisTemplates/cpuCoreAnalysis.js.map +1 -0
  1423. package/dist/services/analysisTemplates/fourQuadrantAnalysis.d.ts +64 -0
  1424. package/dist/services/analysisTemplates/fourQuadrantAnalysis.d.ts.map +1 -0
  1425. package/dist/services/analysisTemplates/fourQuadrantAnalysis.js +288 -0
  1426. package/dist/services/analysisTemplates/fourQuadrantAnalysis.js.map +1 -0
  1427. package/dist/services/analysisTemplates/frameStatsAnalysis.d.ts +77 -0
  1428. package/dist/services/analysisTemplates/frameStatsAnalysis.d.ts.map +1 -0
  1429. package/dist/services/analysisTemplates/frameStatsAnalysis.js +232 -0
  1430. package/dist/services/analysisTemplates/frameStatsAnalysis.js.map +1 -0
  1431. package/dist/services/analysisTemplates/templateManager.d.ts +70 -0
  1432. package/dist/services/analysisTemplates/templateManager.d.ts.map +1 -0
  1433. package/dist/services/analysisTemplates/templateManager.js +293 -0
  1434. package/dist/services/analysisTemplates/templateManager.js.map +1 -0
  1435. package/dist/services/anonymizer.d.ts +61 -0
  1436. package/dist/services/anonymizer.d.ts.map +1 -0
  1437. package/dist/services/anonymizer.js +232 -0
  1438. package/dist/services/anonymizer.js.map +1 -0
  1439. package/dist/services/aospKnowledgeIngester.d.ts +67 -0
  1440. package/dist/services/aospKnowledgeIngester.d.ts.map +1 -0
  1441. package/dist/services/aospKnowledgeIngester.js +171 -0
  1442. package/dist/services/aospKnowledgeIngester.js.map +1 -0
  1443. package/dist/services/artifactCompression.d.ts +52 -0
  1444. package/dist/services/artifactCompression.d.ts.map +1 -0
  1445. package/dist/services/artifactCompression.js +215 -0
  1446. package/dist/services/artifactCompression.js.map +1 -0
  1447. package/dist/services/baselineDiffer.d.ts +85 -0
  1448. package/dist/services/baselineDiffer.d.ts.map +1 -0
  1449. package/dist/services/baselineDiffer.js +287 -0
  1450. package/dist/services/baselineDiffer.js.map +1 -0
  1451. package/dist/services/baselineStore.d.ts +52 -0
  1452. package/dist/services/baselineStore.d.ts.map +1 -0
  1453. package/dist/services/baselineStore.js +224 -0
  1454. package/dist/services/baselineStore.js.map +1 -0
  1455. package/dist/services/binderRootCauseChain.d.ts +38 -0
  1456. package/dist/services/binderRootCauseChain.d.ts.map +1 -0
  1457. package/dist/services/binderRootCauseChain.js +74 -0
  1458. package/dist/services/binderRootCauseChain.js.map +1 -0
  1459. package/dist/services/blogKnowledgeIngester.d.ts +89 -0
  1460. package/dist/services/blogKnowledgeIngester.d.ts.map +1 -0
  1461. package/dist/services/blogKnowledgeIngester.js +192 -0
  1462. package/dist/services/blogKnowledgeIngester.js.map +1 -0
  1463. package/dist/services/caseGraph.d.ts +55 -0
  1464. package/dist/services/caseGraph.d.ts.map +1 -0
  1465. package/dist/services/caseGraph.js +260 -0
  1466. package/dist/services/caseGraph.js.map +1 -0
  1467. package/dist/services/caseLibrary.d.ts +61 -0
  1468. package/dist/services/caseLibrary.d.ts.map +1 -0
  1469. package/dist/services/caseLibrary.js +269 -0
  1470. package/dist/services/caseLibrary.js.map +1 -0
  1471. package/dist/services/ciGateRunStore.d.ts +39 -0
  1472. package/dist/services/ciGateRunStore.d.ts.map +1 -0
  1473. package/dist/services/ciGateRunStore.js +208 -0
  1474. package/dist/services/ciGateRunStore.js.map +1 -0
  1475. package/dist/services/comparisonAiConclusionService.d.ts +23 -0
  1476. package/dist/services/comparisonAiConclusionService.d.ts.map +1 -0
  1477. package/dist/services/comparisonAiConclusionService.js +207 -0
  1478. package/dist/services/comparisonAiConclusionService.js.map +1 -0
  1479. package/dist/services/comparisonAppendixService.d.ts +50 -0
  1480. package/dist/services/comparisonAppendixService.d.ts.map +1 -0
  1481. package/dist/services/comparisonAppendixService.js +276 -0
  1482. package/dist/services/comparisonAppendixService.js.map +1 -0
  1483. package/dist/services/comparisonHtmlReportService.d.ts +20 -0
  1484. package/dist/services/comparisonHtmlReportService.d.ts.map +1 -0
  1485. package/dist/services/comparisonHtmlReportService.js +214 -0
  1486. package/dist/services/comparisonHtmlReportService.js.map +1 -0
  1487. package/dist/services/comparisonMatrixService.d.ts +7 -0
  1488. package/dist/services/comparisonMatrixService.d.ts.map +1 -0
  1489. package/dist/services/comparisonMatrixService.js +211 -0
  1490. package/dist/services/comparisonMatrixService.js.map +1 -0
  1491. package/dist/services/comparisonResultService.d.ts +13 -0
  1492. package/dist/services/comparisonResultService.d.ts.map +1 -0
  1493. package/dist/services/comparisonResultService.js +99 -0
  1494. package/dist/services/comparisonResultService.js.map +1 -0
  1495. package/dist/services/comparisonSignificance.d.ts +3 -0
  1496. package/dist/services/comparisonSignificance.d.ts.map +1 -0
  1497. package/dist/services/comparisonSignificance.js +42 -0
  1498. package/dist/services/comparisonSignificance.js.map +1 -0
  1499. package/dist/services/cpuThermalPmu.d.ts +38 -0
  1500. package/dist/services/cpuThermalPmu.d.ts.map +1 -0
  1501. package/dist/services/cpuThermalPmu.js +141 -0
  1502. package/dist/services/cpuThermalPmu.js.map +1 -0
  1503. package/dist/services/criticalPathAiSummary.d.ts +29 -0
  1504. package/dist/services/criticalPathAiSummary.d.ts.map +1 -0
  1505. package/dist/services/criticalPathAiSummary.js +310 -0
  1506. package/dist/services/criticalPathAiSummary.js.map +1 -0
  1507. package/dist/services/criticalPathAnalyzer.d.ts +108 -0
  1508. package/dist/services/criticalPathAnalyzer.d.ts.map +1 -0
  1509. package/dist/services/criticalPathAnalyzer.js +880 -0
  1510. package/dist/services/criticalPathAnalyzer.js.map +1 -0
  1511. package/dist/services/criticalPathQuantify.d.ts +70 -0
  1512. package/dist/services/criticalPathQuantify.d.ts.map +1 -0
  1513. package/dist/services/criticalPathQuantify.js +214 -0
  1514. package/dist/services/criticalPathQuantify.js.map +1 -0
  1515. package/dist/services/criticalPathSemantics.d.ts +95 -0
  1516. package/dist/services/criticalPathSemantics.d.ts.map +1 -0
  1517. package/dist/services/criticalPathSemantics.js +453 -0
  1518. package/dist/services/criticalPathSemantics.js.map +1 -0
  1519. package/dist/services/criticalPathWakerChain.d.ts +38 -0
  1520. package/dist/services/criticalPathWakerChain.d.ts.map +1 -0
  1521. package/dist/services/criticalPathWakerChain.js +144 -0
  1522. package/dist/services/criticalPathWakerChain.js.map +1 -0
  1523. package/dist/services/domainSkillEvalHarness.d.ts +51 -0
  1524. package/dist/services/domainSkillEvalHarness.d.ts.map +1 -0
  1525. package/dist/services/domainSkillEvalHarness.js +141 -0
  1526. package/dist/services/domainSkillEvalHarness.js.map +1 -0
  1527. package/dist/services/enhancedAIService.d.ts +81 -0
  1528. package/dist/services/enhancedAIService.d.ts.map +1 -0
  1529. package/dist/services/enhancedAIService.js +277 -0
  1530. package/dist/services/enhancedAIService.js.map +1 -0
  1531. package/dist/services/enterpriseAdminControlPlaneService.d.ts +124 -0
  1532. package/dist/services/enterpriseAdminControlPlaneService.d.ts.map +1 -0
  1533. package/dist/services/enterpriseAdminControlPlaneService.js +323 -0
  1534. package/dist/services/enterpriseAdminControlPlaneService.js.map +1 -0
  1535. package/dist/services/enterpriseApiKeyService.d.ts +56 -0
  1536. package/dist/services/enterpriseApiKeyService.d.ts.map +1 -0
  1537. package/dist/services/enterpriseApiKeyService.js +260 -0
  1538. package/dist/services/enterpriseApiKeyService.js.map +1 -0
  1539. package/dist/services/enterpriseAuditService.d.ts +30 -0
  1540. package/dist/services/enterpriseAuditService.d.ts.map +1 -0
  1541. package/dist/services/enterpriseAuditService.js +73 -0
  1542. package/dist/services/enterpriseAuditService.js.map +1 -0
  1543. package/dist/services/enterpriseDb.d.ts +5 -0
  1544. package/dist/services/enterpriseDb.d.ts.map +1 -0
  1545. package/dist/services/enterpriseDb.js +33 -0
  1546. package/dist/services/enterpriseDb.js.map +1 -0
  1547. package/dist/services/enterpriseMigration.d.ts +89 -0
  1548. package/dist/services/enterpriseMigration.d.ts.map +1 -0
  1549. package/dist/services/enterpriseMigration.js +506 -0
  1550. package/dist/services/enterpriseMigration.js.map +1 -0
  1551. package/dist/services/enterpriseOidcClient.d.ts +36 -0
  1552. package/dist/services/enterpriseOidcClient.d.ts.map +1 -0
  1553. package/dist/services/enterpriseOidcClient.js +124 -0
  1554. package/dist/services/enterpriseOidcClient.js.map +1 -0
  1555. package/dist/services/enterpriseQuotaPolicyService.d.ts +37 -0
  1556. package/dist/services/enterpriseQuotaPolicyService.d.ts.map +1 -0
  1557. package/dist/services/enterpriseQuotaPolicyService.js +198 -0
  1558. package/dist/services/enterpriseQuotaPolicyService.js.map +1 -0
  1559. package/dist/services/enterpriseRepository.d.ts +36 -0
  1560. package/dist/services/enterpriseRepository.d.ts.map +1 -0
  1561. package/dist/services/enterpriseRepository.js +208 -0
  1562. package/dist/services/enterpriseRepository.js.map +1 -0
  1563. package/dist/services/enterpriseRuntimeDashboardService.d.ts +114 -0
  1564. package/dist/services/enterpriseRuntimeDashboardService.d.ts.map +1 -0
  1565. package/dist/services/enterpriseRuntimeDashboardService.js +205 -0
  1566. package/dist/services/enterpriseRuntimeDashboardService.js.map +1 -0
  1567. package/dist/services/enterpriseSchema.d.ts +7 -0
  1568. package/dist/services/enterpriseSchema.d.ts.map +1 -0
  1569. package/dist/services/enterpriseSchema.js +688 -0
  1570. package/dist/services/enterpriseSchema.js.map +1 -0
  1571. package/dist/services/enterpriseSsoService.d.ts +99 -0
  1572. package/dist/services/enterpriseSsoService.d.ts.map +1 -0
  1573. package/dist/services/enterpriseSsoService.js +538 -0
  1574. package/dist/services/enterpriseSsoService.js.map +1 -0
  1575. package/dist/services/enterpriseTenantExportService.d.ts +58 -0
  1576. package/dist/services/enterpriseTenantExportService.d.ts.map +1 -0
  1577. package/dist/services/enterpriseTenantExportService.js +339 -0
  1578. package/dist/services/enterpriseTenantExportService.js.map +1 -0
  1579. package/dist/services/enterpriseTenantLifecycleService.d.ts +52 -0
  1580. package/dist/services/enterpriseTenantLifecycleService.d.ts.map +1 -0
  1581. package/dist/services/enterpriseTenantLifecycleService.js +323 -0
  1582. package/dist/services/enterpriseTenantLifecycleService.js.map +1 -0
  1583. package/dist/services/flamegraphAiSummary.d.ts +4 -0
  1584. package/dist/services/flamegraphAiSummary.d.ts.map +1 -0
  1585. package/dist/services/flamegraphAiSummary.js +172 -0
  1586. package/dist/services/flamegraphAiSummary.js.map +1 -0
  1587. package/dist/services/flamegraphAnalyzer.d.ts +14 -0
  1588. package/dist/services/flamegraphAnalyzer.d.ts.map +1 -0
  1589. package/dist/services/flamegraphAnalyzer.js +607 -0
  1590. package/dist/services/flamegraphAnalyzer.js.map +1 -0
  1591. package/dist/services/flamegraphTypes.d.ts +106 -0
  1592. package/dist/services/flamegraphTypes.d.ts.map +1 -0
  1593. package/dist/services/flamegraphTypes.js +6 -0
  1594. package/dist/services/flamegraphTypes.js.map +1 -0
  1595. package/dist/services/gpuSurfaceFlinger.d.ts +27 -0
  1596. package/dist/services/gpuSurfaceFlinger.d.ts.map +1 -0
  1597. package/dist/services/gpuSurfaceFlinger.js +68 -0
  1598. package/dist/services/gpuSurfaceFlinger.js.map +1 -0
  1599. package/dist/services/htmlReportGenerator.d.ts +425 -0
  1600. package/dist/services/htmlReportGenerator.d.ts.map +1 -0
  1601. package/dist/services/htmlReportGenerator.js +5110 -0
  1602. package/dist/services/htmlReportGenerator.js.map +1 -0
  1603. package/dist/services/ioNetworkWakeup.d.ts +27 -0
  1604. package/dist/services/ioNetworkWakeup.d.ts.map +1 -0
  1605. package/dist/services/ioNetworkWakeup.js +68 -0
  1606. package/dist/services/ioNetworkWakeup.js.map +1 -0
  1607. package/dist/services/jankDecisionTree.d.ts +39 -0
  1608. package/dist/services/jankDecisionTree.d.ts.map +1 -0
  1609. package/dist/services/jankDecisionTree.js +230 -0
  1610. package/dist/services/jankDecisionTree.js.map +1 -0
  1611. package/dist/services/legacyApiTelemetry.d.ts +28 -0
  1612. package/dist/services/legacyApiTelemetry.d.ts.map +1 -0
  1613. package/dist/services/legacyApiTelemetry.js +157 -0
  1614. package/dist/services/legacyApiTelemetry.js.map +1 -0
  1615. package/dist/services/memoryRootCause.d.ts +24 -0
  1616. package/dist/services/memoryRootCause.d.ts.map +1 -0
  1617. package/dist/services/memoryRootCause.js +70 -0
  1618. package/dist/services/memoryRootCause.js.map +1 -0
  1619. package/dist/services/multiTraceComparisonStore.d.ts +28 -0
  1620. package/dist/services/multiTraceComparisonStore.d.ts.map +1 -0
  1621. package/dist/services/multiTraceComparisonStore.js +220 -0
  1622. package/dist/services/multiTraceComparisonStore.js.map +1 -0
  1623. package/dist/services/oemSdkKnowledgeIngester.d.ts +62 -0
  1624. package/dist/services/oemSdkKnowledgeIngester.d.ts.map +1 -0
  1625. package/dist/services/oemSdkKnowledgeIngester.js +154 -0
  1626. package/dist/services/oemSdkKnowledgeIngester.js.map +1 -0
  1627. package/dist/services/perfettoLocalService.d.ts +25 -0
  1628. package/dist/services/perfettoLocalService.d.ts.map +1 -0
  1629. package/dist/services/perfettoLocalService.js +213 -0
  1630. package/dist/services/perfettoLocalService.js.map +1 -0
  1631. package/dist/services/perfettoService.d.ts +39 -0
  1632. package/dist/services/perfettoService.d.ts.map +1 -0
  1633. package/dist/services/perfettoService.js +330 -0
  1634. package/dist/services/perfettoService.js.map +1 -0
  1635. package/dist/services/perfettoSqlDocs.d.ts +94 -0
  1636. package/dist/services/perfettoSqlDocs.d.ts.map +1 -0
  1637. package/dist/services/perfettoSqlDocs.js +222 -0
  1638. package/dist/services/perfettoSqlDocs.js.map +1 -0
  1639. package/dist/services/perfettoSqlSkill.d.ts +263 -0
  1640. package/dist/services/perfettoSqlSkill.d.ts.map +1 -0
  1641. package/dist/services/perfettoSqlSkill.js +3731 -0
  1642. package/dist/services/perfettoSqlSkill.js.map +1 -0
  1643. package/dist/services/perfettoStdlibScanner.d.ts +66 -0
  1644. package/dist/services/perfettoStdlibScanner.d.ts.map +1 -0
  1645. package/dist/services/perfettoStdlibScanner.js +345 -0
  1646. package/dist/services/perfettoStdlibScanner.js.map +1 -0
  1647. package/dist/services/persistAgentSession.d.ts +43 -0
  1648. package/dist/services/persistAgentSession.d.ts.map +1 -0
  1649. package/dist/services/persistAgentSession.js +146 -0
  1650. package/dist/services/persistAgentSession.js.map +1 -0
  1651. package/dist/services/pipelineDocService.d.ts +83 -0
  1652. package/dist/services/pipelineDocService.d.ts.map +1 -0
  1653. package/dist/services/pipelineDocService.js +417 -0
  1654. package/dist/services/pipelineDocService.js.map +1 -0
  1655. package/dist/services/pipelineSkillLoader.d.ts +173 -0
  1656. package/dist/services/pipelineSkillLoader.d.ts.map +1 -0
  1657. package/dist/services/pipelineSkillLoader.js +301 -0
  1658. package/dist/services/pipelineSkillLoader.js.map +1 -0
  1659. package/dist/services/portPool.d.ts +85 -0
  1660. package/dist/services/portPool.d.ts.map +1 -0
  1661. package/dist/services/portPool.js +221 -0
  1662. package/dist/services/portPool.js.map +1 -0
  1663. package/dist/services/processIdentity/identityGate.d.ts +27 -0
  1664. package/dist/services/processIdentity/identityGate.d.ts.map +1 -0
  1665. package/dist/services/processIdentity/identityGate.js +284 -0
  1666. package/dist/services/processIdentity/identityGate.js.map +1 -0
  1667. package/dist/services/processIdentity/types.d.ts +49 -0
  1668. package/dist/services/processIdentity/types.d.ts.map +1 -0
  1669. package/dist/services/processIdentity/types.js +16 -0
  1670. package/dist/services/processIdentity/types.js.map +1 -0
  1671. package/dist/services/processRss.d.ts +10 -0
  1672. package/dist/services/processRss.d.ts.map +1 -0
  1673. package/dist/services/processRss.js +78 -0
  1674. package/dist/services/processRss.js.map +1 -0
  1675. package/dist/services/promptTemplateService.d.ts +68 -0
  1676. package/dist/services/promptTemplateService.d.ts.map +1 -0
  1677. package/dist/services/promptTemplateService.js +196 -0
  1678. package/dist/services/promptTemplateService.js.map +1 -0
  1679. package/dist/services/providerManager/connectionTester.d.ts +3 -0
  1680. package/dist/services/providerManager/connectionTester.d.ts.map +1 -0
  1681. package/dist/services/providerManager/connectionTester.js +479 -0
  1682. package/dist/services/providerManager/connectionTester.js.map +1 -0
  1683. package/dist/services/providerManager/envIsolation.d.ts +3 -0
  1684. package/dist/services/providerManager/envIsolation.d.ts.map +1 -0
  1685. package/dist/services/providerManager/envIsolation.js +31 -0
  1686. package/dist/services/providerManager/envIsolation.js.map +1 -0
  1687. package/dist/services/providerManager/index.d.ts +9 -0
  1688. package/dist/services/providerManager/index.d.ts.map +1 -0
  1689. package/dist/services/providerManager/index.js +40 -0
  1690. package/dist/services/providerManager/index.js.map +1 -0
  1691. package/dist/services/providerManager/localSecretStore.d.ts +32 -0
  1692. package/dist/services/providerManager/localSecretStore.d.ts.map +1 -0
  1693. package/dist/services/providerManager/localSecretStore.js +338 -0
  1694. package/dist/services/providerManager/localSecretStore.js.map +1 -0
  1695. package/dist/services/providerManager/providerService.d.ts +31 -0
  1696. package/dist/services/providerManager/providerService.d.ts.map +1 -0
  1697. package/dist/services/providerManager/providerService.js +460 -0
  1698. package/dist/services/providerManager/providerService.js.map +1 -0
  1699. package/dist/services/providerManager/providerSnapshot.d.ts +30 -0
  1700. package/dist/services/providerManager/providerSnapshot.d.ts.map +1 -0
  1701. package/dist/services/providerManager/providerSnapshot.js +224 -0
  1702. package/dist/services/providerManager/providerSnapshot.js.map +1 -0
  1703. package/dist/services/providerManager/providerStore.d.ts +31 -0
  1704. package/dist/services/providerManager/providerStore.d.ts.map +1 -0
  1705. package/dist/services/providerManager/providerStore.js +553 -0
  1706. package/dist/services/providerManager/providerStore.js.map +1 -0
  1707. package/dist/services/providerManager/templates.d.ts +3 -0
  1708. package/dist/services/providerManager/templates.d.ts.map +1 -0
  1709. package/dist/services/providerManager/templates.js +328 -0
  1710. package/dist/services/providerManager/templates.js.map +1 -0
  1711. package/dist/services/providerManager/types.d.ts +119 -0
  1712. package/dist/services/providerManager/types.d.ts.map +1 -0
  1713. package/dist/services/providerManager/types.js +5 -0
  1714. package/dist/services/providerManager/types.js.map +1 -0
  1715. package/dist/services/ragStore.d.ts +60 -0
  1716. package/dist/services/ragStore.d.ts.map +1 -0
  1717. package/dist/services/ragStore.js +297 -0
  1718. package/dist/services/ragStore.js.map +1 -0
  1719. package/dist/services/rbac.d.ts +19 -0
  1720. package/dist/services/rbac.d.ts.map +1 -0
  1721. package/dist/services/rbac.js +153 -0
  1722. package/dist/services/rbac.js.map +1 -0
  1723. package/dist/services/renderingPipelineDetectionSkillGenerator.d.ts +3 -0
  1724. package/dist/services/renderingPipelineDetectionSkillGenerator.d.ts.map +1 -0
  1725. package/dist/services/renderingPipelineDetectionSkillGenerator.js +1120 -0
  1726. package/dist/services/renderingPipelineDetectionSkillGenerator.js.map +1 -0
  1727. package/dist/services/renderingPipelineTeachingService.d.ts +33 -0
  1728. package/dist/services/renderingPipelineTeachingService.d.ts.map +1 -0
  1729. package/dist/services/renderingPipelineTeachingService.js +1312 -0
  1730. package/dist/services/renderingPipelineTeachingService.js.map +1 -0
  1731. package/dist/services/reportCausalMapAssets.d.ts +3 -0
  1732. package/dist/services/reportCausalMapAssets.d.ts.map +1 -0
  1733. package/dist/services/reportCausalMapAssets.js +898 -0
  1734. package/dist/services/reportCausalMapAssets.js.map +1 -0
  1735. package/dist/services/reportGenerator.d.ts +54 -0
  1736. package/dist/services/reportGenerator.d.ts.map +1 -0
  1737. package/dist/services/reportGenerator.js +241 -0
  1738. package/dist/services/reportGenerator.js.map +1 -0
  1739. package/dist/services/resourceOwnership.d.ts +21 -0
  1740. package/dist/services/resourceOwnership.d.ts.map +1 -0
  1741. package/dist/services/resourceOwnership.js +50 -0
  1742. package/dist/services/resourceOwnership.js.map +1 -0
  1743. package/dist/services/resultExportService.d.ts +66 -0
  1744. package/dist/services/resultExportService.d.ts.map +1 -0
  1745. package/dist/services/resultExportService.js +170 -0
  1746. package/dist/services/resultExportService.js.map +1 -0
  1747. package/dist/services/runtimeSnapshotStore.d.ts +19 -0
  1748. package/dist/services/runtimeSnapshotStore.d.ts.map +1 -0
  1749. package/dist/services/runtimeSnapshotStore.js +222 -0
  1750. package/dist/services/runtimeSnapshotStore.js.map +1 -0
  1751. package/dist/services/sceneReport/sceneReportMemoryCache.d.ts +38 -0
  1752. package/dist/services/sceneReport/sceneReportMemoryCache.d.ts.map +1 -0
  1753. package/dist/services/sceneReport/sceneReportMemoryCache.js +55 -0
  1754. package/dist/services/sceneReport/sceneReportMemoryCache.js.map +1 -0
  1755. package/dist/services/sceneReport/sceneReportStore.d.ts +41 -0
  1756. package/dist/services/sceneReport/sceneReportStore.d.ts.map +1 -0
  1757. package/dist/services/sceneReport/sceneReportStore.js +248 -0
  1758. package/dist/services/sceneReport/sceneReportStore.js.map +1 -0
  1759. package/dist/services/scopedKnowledgeStore.d.ts +45 -0
  1760. package/dist/services/scopedKnowledgeStore.d.ts.map +1 -0
  1761. package/dist/services/scopedKnowledgeStore.js +225 -0
  1762. package/dist/services/scopedKnowledgeStore.js.map +1 -0
  1763. package/dist/services/sessionLogger.d.ts +142 -0
  1764. package/dist/services/sessionLogger.d.ts.map +1 -0
  1765. package/dist/services/sessionLogger.js +566 -0
  1766. package/dist/services/sessionLogger.js.map +1 -0
  1767. package/dist/services/sessionPersistenceService.d.ts +190 -0
  1768. package/dist/services/sessionPersistenceService.d.ts.map +1 -0
  1769. package/dist/services/sessionPersistenceService.js +737 -0
  1770. package/dist/services/sessionPersistenceService.js.map +1 -0
  1771. package/dist/services/skillEngine/answerGenerator.d.ts +102 -0
  1772. package/dist/services/skillEngine/answerGenerator.d.ts.map +1 -0
  1773. package/dist/services/skillEngine/answerGenerator.js +508 -0
  1774. package/dist/services/skillEngine/answerGenerator.js.map +1 -0
  1775. package/dist/services/skillEngine/displayContractValidator.d.ts +26 -0
  1776. package/dist/services/skillEngine/displayContractValidator.d.ts.map +1 -0
  1777. package/dist/services/skillEngine/displayContractValidator.js +232 -0
  1778. package/dist/services/skillEngine/displayContractValidator.js.map +1 -0
  1779. package/dist/services/skillEngine/eventCollector.d.ts +96 -0
  1780. package/dist/services/skillEngine/eventCollector.d.ts.map +1 -0
  1781. package/dist/services/skillEngine/eventCollector.js +226 -0
  1782. package/dist/services/skillEngine/eventCollector.js.map +1 -0
  1783. package/dist/services/skillEngine/expressionUtils.d.ts +25 -0
  1784. package/dist/services/skillEngine/expressionUtils.d.ts.map +1 -0
  1785. package/dist/services/skillEngine/expressionUtils.js +66 -0
  1786. package/dist/services/skillEngine/expressionUtils.js.map +1 -0
  1787. package/dist/services/skillEngine/index.d.ts +25 -0
  1788. package/dist/services/skillEngine/index.d.ts.map +1 -0
  1789. package/dist/services/skillEngine/index.js +98 -0
  1790. package/dist/services/skillEngine/index.js.map +1 -0
  1791. package/dist/services/skillEngine/skillAnalysisAdapter.d.ts +149 -0
  1792. package/dist/services/skillEngine/skillAnalysisAdapter.d.ts.map +1 -0
  1793. package/dist/services/skillEngine/skillAnalysisAdapter.js +752 -0
  1794. package/dist/services/skillEngine/skillAnalysisAdapter.js.map +1 -0
  1795. package/dist/services/skillEngine/skillExecutor.d.ts +371 -0
  1796. package/dist/services/skillEngine/skillExecutor.d.ts.map +1 -0
  1797. package/dist/services/skillEngine/skillExecutor.js +4129 -0
  1798. package/dist/services/skillEngine/skillExecutor.js.map +1 -0
  1799. package/dist/services/skillEngine/skillLoader.d.ts +163 -0
  1800. package/dist/services/skillEngine/skillLoader.d.ts.map +1 -0
  1801. package/dist/services/skillEngine/skillLoader.js +840 -0
  1802. package/dist/services/skillEngine/skillLoader.js.map +1 -0
  1803. package/dist/services/skillEngine/skillValidator.d.ts +53 -0
  1804. package/dist/services/skillEngine/skillValidator.d.ts.map +1 -0
  1805. package/dist/services/skillEngine/skillValidator.js +274 -0
  1806. package/dist/services/skillEngine/skillValidator.js.map +1 -0
  1807. package/dist/services/skillEngine/smartSummaryGenerator.d.ts +70 -0
  1808. package/dist/services/skillEngine/smartSummaryGenerator.d.ts.map +1 -0
  1809. package/dist/services/skillEngine/smartSummaryGenerator.js +324 -0
  1810. package/dist/services/skillEngine/smartSummaryGenerator.js.map +1 -0
  1811. package/dist/services/skillEngine/types.d.ts +584 -0
  1812. package/dist/services/skillEngine/types.d.ts.map +1 -0
  1813. package/dist/services/skillEngine/types.js +6 -0
  1814. package/dist/services/skillEngine/types.js.map +1 -0
  1815. package/dist/services/smartperfettoSqlPackage.d.ts +11 -0
  1816. package/dist/services/smartperfettoSqlPackage.d.ts.map +1 -0
  1817. package/dist/services/smartperfettoSqlPackage.js +168 -0
  1818. package/dist/services/smartperfettoSqlPackage.js.map +1 -0
  1819. package/dist/services/sqlGuardrailAnalyzer.d.ts +24 -0
  1820. package/dist/services/sqlGuardrailAnalyzer.d.ts.map +1 -0
  1821. package/dist/services/sqlGuardrailAnalyzer.js +362 -0
  1822. package/dist/services/sqlGuardrailAnalyzer.js.map +1 -0
  1823. package/dist/services/sqlKnowledgeBase.d.ts +236 -0
  1824. package/dist/services/sqlKnowledgeBase.d.ts.map +1 -0
  1825. package/dist/services/sqlKnowledgeBase.js +1109 -0
  1826. package/dist/services/sqlKnowledgeBase.js.map +1 -0
  1827. package/dist/services/sqlStdlibDependencyAnalyzer.d.ts +26 -0
  1828. package/dist/services/sqlStdlibDependencyAnalyzer.d.ts.map +1 -0
  1829. package/dist/services/sqlStdlibDependencyAnalyzer.js +486 -0
  1830. package/dist/services/sqlStdlibDependencyAnalyzer.js.map +1 -0
  1831. package/dist/services/sqlTemplateEngine.d.ts +134 -0
  1832. package/dist/services/sqlTemplateEngine.d.ts.map +1 -0
  1833. package/dist/services/sqlTemplateEngine.js +430 -0
  1834. package/dist/services/sqlTemplateEngine.js.map +1 -0
  1835. package/dist/services/sqlValidator.d.ts +21 -0
  1836. package/dist/services/sqlValidator.d.ts.map +1 -0
  1837. package/dist/services/sqlValidator.js +175 -0
  1838. package/dist/services/sqlValidator.js.map +1 -0
  1839. package/dist/services/standardMetricBackfillService.d.ts +23 -0
  1840. package/dist/services/standardMetricBackfillService.d.ts.map +1 -0
  1841. package/dist/services/standardMetricBackfillService.js +196 -0
  1842. package/dist/services/standardMetricBackfillService.js.map +1 -0
  1843. package/dist/services/startupAnrMethodGraph.d.ts +20 -0
  1844. package/dist/services/startupAnrMethodGraph.d.ts.map +1 -0
  1845. package/dist/services/startupAnrMethodGraph.js +70 -0
  1846. package/dist/services/startupAnrMethodGraph.js.map +1 -0
  1847. package/dist/services/stdlibSkillCoverage.d.ts +23 -0
  1848. package/dist/services/stdlibSkillCoverage.d.ts.map +1 -0
  1849. package/dist/services/stdlibSkillCoverage.js +289 -0
  1850. package/dist/services/stdlibSkillCoverage.js.map +1 -0
  1851. package/dist/services/threadSchedContext.d.ts +49 -0
  1852. package/dist/services/threadSchedContext.d.ts.map +1 -0
  1853. package/dist/services/threadSchedContext.js +84 -0
  1854. package/dist/services/threadSchedContext.js.map +1 -0
  1855. package/dist/services/timelineBinning.d.ts +44 -0
  1856. package/dist/services/timelineBinning.d.ts.map +1 -0
  1857. package/dist/services/timelineBinning.js +150 -0
  1858. package/dist/services/timelineBinning.js.map +1 -0
  1859. package/dist/services/traceConfigGenerator.d.ts +36 -0
  1860. package/dist/services/traceConfigGenerator.d.ts.map +1 -0
  1861. package/dist/services/traceConfigGenerator.js +110 -0
  1862. package/dist/services/traceConfigGenerator.js.map +1 -0
  1863. package/dist/services/traceFormatDetector.d.ts +39 -0
  1864. package/dist/services/traceFormatDetector.d.ts.map +1 -0
  1865. package/dist/services/traceFormatDetector.js +287 -0
  1866. package/dist/services/traceFormatDetector.js.map +1 -0
  1867. package/dist/services/traceMetadataStore.d.ts +32 -0
  1868. package/dist/services/traceMetadataStore.d.ts.map +1 -0
  1869. package/dist/services/traceMetadataStore.js +375 -0
  1870. package/dist/services/traceMetadataStore.js.map +1 -0
  1871. package/dist/services/traceProcessorConnectionModel.d.ts +32 -0
  1872. package/dist/services/traceProcessorConnectionModel.d.ts.map +1 -0
  1873. package/dist/services/traceProcessorConnectionModel.js +38 -0
  1874. package/dist/services/traceProcessorConnectionModel.js.map +1 -0
  1875. package/dist/services/traceProcessorHttpRpcClient.d.ts +22 -0
  1876. package/dist/services/traceProcessorHttpRpcClient.d.ts.map +1 -0
  1877. package/dist/services/traceProcessorHttpRpcClient.js +89 -0
  1878. package/dist/services/traceProcessorHttpRpcClient.js.map +1 -0
  1879. package/dist/services/traceProcessorLeaseModeDecision.d.ts +52 -0
  1880. package/dist/services/traceProcessorLeaseModeDecision.d.ts.map +1 -0
  1881. package/dist/services/traceProcessorLeaseModeDecision.js +150 -0
  1882. package/dist/services/traceProcessorLeaseModeDecision.js.map +1 -0
  1883. package/dist/services/traceProcessorLeaseStore.d.ts +88 -0
  1884. package/dist/services/traceProcessorLeaseStore.d.ts.map +1 -0
  1885. package/dist/services/traceProcessorLeaseStore.js +463 -0
  1886. package/dist/services/traceProcessorLeaseStore.js.map +1 -0
  1887. package/dist/services/traceProcessorProtobuf.d.ts +56 -0
  1888. package/dist/services/traceProcessorProtobuf.d.ts.map +1 -0
  1889. package/dist/services/traceProcessorProtobuf.js +442 -0
  1890. package/dist/services/traceProcessorProtobuf.js.map +1 -0
  1891. package/dist/services/traceProcessorRamBudget.d.ts +55 -0
  1892. package/dist/services/traceProcessorRamBudget.d.ts.map +1 -0
  1893. package/dist/services/traceProcessorRamBudget.js +140 -0
  1894. package/dist/services/traceProcessorRamBudget.js.map +1 -0
  1895. package/dist/services/traceProcessorService.d.ts +223 -0
  1896. package/dist/services/traceProcessorService.d.ts.map +1 -0
  1897. package/dist/services/traceProcessorService.js +838 -0
  1898. package/dist/services/traceProcessorService.js.map +1 -0
  1899. package/dist/services/traceProcessorSqlWorker.d.ts +49 -0
  1900. package/dist/services/traceProcessorSqlWorker.d.ts.map +1 -0
  1901. package/dist/services/traceProcessorSqlWorker.js +218 -0
  1902. package/dist/services/traceProcessorSqlWorker.js.map +1 -0
  1903. package/dist/services/traceProcessorSqlWorkerThread.d.ts +2 -0
  1904. package/dist/services/traceProcessorSqlWorkerThread.d.ts.map +1 -0
  1905. package/dist/services/traceProcessorSqlWorkerThread.js +35 -0
  1906. package/dist/services/traceProcessorSqlWorkerThread.js.map +1 -0
  1907. package/dist/services/traceSummaryV2.d.ts +47 -0
  1908. package/dist/services/traceSummaryV2.d.ts.map +1 -0
  1909. package/dist/services/traceSummaryV2.js +241 -0
  1910. package/dist/services/traceSummaryV2.js.map +1 -0
  1911. package/dist/services/traceUploadLimit.d.ts +3 -0
  1912. package/dist/services/traceUploadLimit.d.ts.map +1 -0
  1913. package/dist/services/traceUploadLimit.js +24 -0
  1914. package/dist/services/traceUploadLimit.js.map +1 -0
  1915. package/dist/services/workingTraceProcessor.d.ts +226 -0
  1916. package/dist/services/workingTraceProcessor.d.ts.map +1 -0
  1917. package/dist/services/workingTraceProcessor.js +1093 -0
  1918. package/dist/services/workingTraceProcessor.js.map +1 -0
  1919. package/dist/trace-processor-pin.env +39 -0
  1920. package/dist/types/analysis.d.ts +511 -0
  1921. package/dist/types/analysis.d.ts.map +1 -0
  1922. package/dist/types/analysis.js +112 -0
  1923. package/dist/types/analysis.js.map +1 -0
  1924. package/dist/types/ciGateContracts.d.ts +63 -0
  1925. package/dist/types/ciGateContracts.d.ts.map +1 -0
  1926. package/dist/types/ciGateContracts.js +6 -0
  1927. package/dist/types/ciGateContracts.js.map +1 -0
  1928. package/dist/types/dataContract.d.ts +624 -0
  1929. package/dist/types/dataContract.d.ts.map +1 -0
  1930. package/dist/types/dataContract.js +775 -0
  1931. package/dist/types/dataContract.js.map +1 -0
  1932. package/dist/types/index.d.ts +40 -0
  1933. package/dist/types/index.d.ts.map +1 -0
  1934. package/dist/types/index.js +21 -0
  1935. package/dist/types/index.js.map +1 -0
  1936. package/dist/types/multiTraceComparison.d.ts +215 -0
  1937. package/dist/types/multiTraceComparison.d.ts.map +1 -0
  1938. package/dist/types/multiTraceComparison.js +33 -0
  1939. package/dist/types/multiTraceComparison.js.map +1 -0
  1940. package/dist/types/perfettoSql.d.ts +596 -0
  1941. package/dist/types/perfettoSql.d.ts.map +1 -0
  1942. package/dist/types/perfettoSql.js +28 -0
  1943. package/dist/types/perfettoSql.js.map +1 -0
  1944. package/dist/types/sparkContracts.d.ts +1642 -0
  1945. package/dist/types/sparkContracts.d.ts.map +1 -0
  1946. package/dist/types/sparkContracts.js +25 -0
  1947. package/dist/types/sparkContracts.js.map +1 -0
  1948. package/dist/types/teaching.types.d.ts +395 -0
  1949. package/dist/types/teaching.types.d.ts.map +1 -0
  1950. package/dist/types/teaching.types.js +300 -0
  1951. package/dist/types/teaching.types.js.map +1 -0
  1952. package/dist/utils/analysisNarrative.d.ts +24 -0
  1953. package/dist/utils/analysisNarrative.d.ts.map +1 -0
  1954. package/dist/utils/analysisNarrative.js +101 -0
  1955. package/dist/utils/analysisNarrative.js.map +1 -0
  1956. package/dist/utils/atomicFileWriter.d.ts +5 -0
  1957. package/dist/utils/atomicFileWriter.d.ts.map +1 -0
  1958. package/dist/utils/atomicFileWriter.js +90 -0
  1959. package/dist/utils/atomicFileWriter.js.map +1 -0
  1960. package/dist/utils/epipeGuard.d.ts +10 -0
  1961. package/dist/utils/epipeGuard.d.ts.map +1 -0
  1962. package/dist/utils/epipeGuard.js +40 -0
  1963. package/dist/utils/epipeGuard.js.map +1 -0
  1964. package/dist/utils/httpValue.d.ts +2 -0
  1965. package/dist/utils/httpValue.d.ts.map +1 -0
  1966. package/dist/utils/httpValue.js +24 -0
  1967. package/dist/utils/httpValue.js.map +1 -0
  1968. package/dist/utils/llmJson.d.ts +33 -0
  1969. package/dist/utils/llmJson.d.ts.map +1 -0
  1970. package/dist/utils/llmJson.js +148 -0
  1971. package/dist/utils/llmJson.js.map +1 -0
  1972. package/dist/utils/llmPrivacy.d.ts +15 -0
  1973. package/dist/utils/llmPrivacy.d.ts.map +1 -0
  1974. package/dist/utils/llmPrivacy.js +126 -0
  1975. package/dist/utils/llmPrivacy.js.map +1 -0
  1976. package/dist/utils/logger.d.ts +24 -0
  1977. package/dist/utils/logger.d.ts.map +1 -0
  1978. package/dist/utils/logger.js +68 -0
  1979. package/dist/utils/logger.js.map +1 -0
  1980. package/dist/utils/traceProcessorRowUtils.d.ts +11 -0
  1981. package/dist/utils/traceProcessorRowUtils.d.ts.map +1 -0
  1982. package/dist/utils/traceProcessorRowUtils.js +64 -0
  1983. package/dist/utils/traceProcessorRowUtils.js.map +1 -0
  1984. package/dist/utils/uuid.d.ts +3 -0
  1985. package/dist/utils/uuid.d.ts.map +1 -0
  1986. package/dist/utils/uuid.js +7 -0
  1987. package/dist/utils/uuid.js.map +1 -0
  1988. package/dist/version.d.ts +2 -0
  1989. package/dist/version.d.ts.map +1 -0
  1990. package/dist/version.js +53 -0
  1991. package/dist/version.js.map +1 -0
  1992. package/package.json +128 -0
  1993. package/prebuilts/trace_processor/README.md +20 -0
  1994. package/prebuilts/trace_processor/darwin-arm64/trace_processor_shell +0 -0
  1995. package/prebuilts/trace_processor/linux-x64/trace_processor_shell +0 -0
  1996. package/prebuilts/trace_processor/win32-x64/trace_processor_shell.exe +0 -0
  1997. package/skills/README.md +686 -0
  1998. package/skills/_template/README.md +43 -0
  1999. package/skills/_template/atomic_A_template.skill.yaml +79 -0
  2000. package/skills/_template/atomic_B_template.skill.yaml +61 -0
  2001. package/skills/_template/atomic_S_template.skill.yaml +92 -0
  2002. package/skills/_template/composite_S_template.skill.yaml +198 -0
  2003. package/skills/_template/vendor_override_template.yaml +72 -0
  2004. package/skills/atomic/android_bitmap_memory_per_process.skill.yaml +203 -0
  2005. package/skills/atomic/android_dvfs_counter_stats.skill.yaml +60 -0
  2006. package/skills/atomic/android_gpu_work_period_track.skill.yaml +55 -0
  2007. package/skills/atomic/android_heap_graph_summary.skill.yaml +232 -0
  2008. package/skills/atomic/android_job_scheduler_events.skill.yaml +58 -0
  2009. package/skills/atomic/android_kernel_wakelock_summary.skill.yaml +57 -0
  2010. package/skills/atomic/anr_context_in_range.skill.yaml +99 -0
  2011. package/skills/atomic/anr_main_thread_blocking.skill.yaml +513 -0
  2012. package/skills/atomic/app_frame_production.skill.yaml +147 -0
  2013. package/skills/atomic/app_lifecycle_in_range.skill.yaml +142 -0
  2014. package/skills/atomic/app_process_starts_summary.skill.yaml +75 -0
  2015. package/skills/atomic/battery_charge_timeline.skill.yaml +72 -0
  2016. package/skills/atomic/battery_doze_state_timeline.skill.yaml +83 -0
  2017. package/skills/atomic/binder_blocking_in_range.skill.yaml +99 -0
  2018. package/skills/atomic/binder_in_range.skill.yaml +86 -0
  2019. package/skills/atomic/binder_root_cause.skill.yaml +191 -0
  2020. package/skills/atomic/binder_storm_detection.skill.yaml +394 -0
  2021. package/skills/atomic/blocking_chain_analysis.skill.yaml +316 -0
  2022. package/skills/atomic/buffer_transaction_lifecycle.skill.yaml +256 -0
  2023. package/skills/atomic/cache_miss_impact.skill.yaml +115 -0
  2024. package/skills/atomic/chrome_scroll_jank_frame_timeline.skill.yaml +337 -0
  2025. package/skills/atomic/compose_recomposition_hotspot.skill.yaml +403 -0
  2026. package/skills/atomic/consumer_jank_detection.skill.yaml +556 -0
  2027. package/skills/atomic/cpu_cluster_load_in_range.skill.yaml +138 -0
  2028. package/skills/atomic/cpu_cluster_mapping_view.skill.yaml +47 -0
  2029. package/skills/atomic/cpu_freq_timeline.skill.yaml +143 -0
  2030. package/skills/atomic/cpu_idle_analysis.skill.yaml +101 -0
  2031. package/skills/atomic/cpu_idle_state_residency.skill.yaml +54 -0
  2032. package/skills/atomic/cpu_load_in_range.skill.yaml +145 -0
  2033. package/skills/atomic/cpu_process_utilization_period.skill.yaml +51 -0
  2034. package/skills/atomic/cpu_slice_analysis.skill.yaml +118 -0
  2035. package/skills/atomic/cpu_thread_utilization_period.skill.yaml +68 -0
  2036. package/skills/atomic/cpu_throttling_in_range.skill.yaml +131 -0
  2037. package/skills/atomic/cpu_time_per_frame.skill.yaml +59 -0
  2038. package/skills/atomic/cpu_topology_detection.skill.yaml +233 -0
  2039. package/skills/atomic/cpu_topology_view.skill.yaml +272 -0
  2040. package/skills/atomic/cpu_utilization_per_period.skill.yaml +55 -0
  2041. package/skills/atomic/device_state_snapshot.skill.yaml +171 -0
  2042. package/skills/atomic/device_state_timeline.skill.yaml +308 -0
  2043. package/skills/atomic/fence_wait_decomposition.skill.yaml +314 -0
  2044. package/skills/atomic/fpsgo_analysis.skill.yaml +80 -0
  2045. package/skills/atomic/frame_blocking_calls.skill.yaml +215 -0
  2046. package/skills/atomic/frame_overrun_summary.skill.yaml +68 -0
  2047. package/skills/atomic/frame_pipeline_variance.skill.yaml +124 -0
  2048. package/skills/atomic/frame_production_gap.skill.yaml +337 -0
  2049. package/skills/atomic/frame_ui_time_breakdown.skill.yaml +58 -0
  2050. package/skills/atomic/futex_wait_distribution.skill.yaml +117 -0
  2051. package/skills/atomic/game_fps_analysis.skill.yaml +385 -0
  2052. package/skills/atomic/game_main_loop_jank.skill.yaml +309 -0
  2053. package/skills/atomic/gc_events_in_range.skill.yaml +118 -0
  2054. package/skills/atomic/gl_standalone_swap_jank.skill.yaml +259 -0
  2055. package/skills/atomic/gpu_freq_in_range.skill.yaml +99 -0
  2056. package/skills/atomic/gpu_frequency_analysis.skill.yaml +94 -0
  2057. package/skills/atomic/gpu_metrics.skill.yaml +411 -0
  2058. package/skills/atomic/gpu_power_state_analysis.skill.yaml +117 -0
  2059. package/skills/atomic/gpu_render_in_range.skill.yaml +104 -0
  2060. package/skills/atomic/input_events_in_range.skill.yaml +130 -0
  2061. package/skills/atomic/input_to_frame_latency.skill.yaml +436 -0
  2062. package/skills/atomic/linux_irq_summary.skill.yaml +66 -0
  2063. package/skills/atomic/linux_perf_counter_hotspots.skill.yaml +108 -0
  2064. package/skills/atomic/linux_process_rss_swap_timeline.skill.yaml +96 -0
  2065. package/skills/atomic/linux_runqueue_depth_timeline.skill.yaml +132 -0
  2066. package/skills/atomic/linux_sched_latency_distribution.skill.yaml +130 -0
  2067. package/skills/atomic/lmk_kill_attribution.skill.yaml +72 -0
  2068. package/skills/atomic/lock_contention_in_range.skill.yaml +402 -0
  2069. package/skills/atomic/logcat_analysis.skill.yaml +85 -0
  2070. package/skills/atomic/main_thread_file_io_in_range.skill.yaml +116 -0
  2071. package/skills/atomic/main_thread_sched_latency_in_range.skill.yaml +91 -0
  2072. package/skills/atomic/main_thread_slices_in_range.skill.yaml +129 -0
  2073. package/skills/atomic/main_thread_states_in_range.skill.yaml +105 -0
  2074. package/skills/atomic/mali_gpu_power_state.skill.yaml +54 -0
  2075. package/skills/atomic/media_codec_activity.skill.yaml +236 -0
  2076. package/skills/atomic/memory_growth_detector.skill.yaml +146 -0
  2077. package/skills/atomic/memory_pressure_in_range.skill.yaml +382 -0
  2078. package/skills/atomic/memory_rss_high_watermark.skill.yaml +62 -0
  2079. package/skills/atomic/native_heap_breakdown.skill.yaml +80 -0
  2080. package/skills/atomic/oom_adjuster_score_timeline.skill.yaml +77 -0
  2081. package/skills/atomic/page_fault_in_range.skill.yaml +113 -0
  2082. package/skills/atomic/pipeline_4feature_scoring.skill.yaml +299 -0
  2083. package/skills/atomic/pipeline_key_slices_overlay.skill.yaml +108 -0
  2084. package/skills/atomic/present_fence_timing.skill.yaml +156 -0
  2085. package/skills/atomic/process_identity_resolver.skill.yaml +503 -0
  2086. package/skills/atomic/render_pipeline_latency.skill.yaml +120 -0
  2087. package/skills/atomic/render_thread_slices.skill.yaml +107 -0
  2088. package/skills/atomic/rendering_pipeline_detection.skill.yaml +770 -0
  2089. package/skills/atomic/rn_bridge_to_frame_jank.skill.yaml +209 -0
  2090. package/skills/atomic/rn_fabric_render_jank.skill.yaml +213 -0
  2091. package/skills/atomic/sched_latency_in_range.skill.yaml +94 -0
  2092. package/skills/atomic/scheduling_analysis.skill.yaml +103 -0
  2093. package/skills/atomic/scroll_response_latency.skill.yaml +131 -0
  2094. package/skills/atomic/sf_composition_in_range.skill.yaml +99 -0
  2095. package/skills/atomic/sf_frame_consumption.skill.yaml +133 -0
  2096. package/skills/atomic/sf_layer_count_in_range.skill.yaml +155 -0
  2097. package/skills/atomic/startup_binder_in_range.skill.yaml +106 -0
  2098. package/skills/atomic/startup_binder_pool_analysis.skill.yaml +115 -0
  2099. package/skills/atomic/startup_breakdown_in_range.skill.yaml +115 -0
  2100. package/skills/atomic/startup_class_loading_in_range.skill.yaml +93 -0
  2101. package/skills/atomic/startup_cpu_placement_timeline.skill.yaml +135 -0
  2102. package/skills/atomic/startup_critical_tasks.skill.yaml +247 -0
  2103. package/skills/atomic/startup_events_in_range.skill.yaml +251 -0
  2104. package/skills/atomic/startup_freq_rampup.skill.yaml +110 -0
  2105. package/skills/atomic/startup_gc_in_range.skill.yaml +97 -0
  2106. package/skills/atomic/startup_hot_slice_states.skill.yaml +116 -0
  2107. package/skills/atomic/startup_jit_analysis.skill.yaml +158 -0
  2108. package/skills/atomic/startup_main_thread_binder_blocking_in_range.skill.yaml +114 -0
  2109. package/skills/atomic/startup_main_thread_file_io_in_range.skill.yaml +117 -0
  2110. package/skills/atomic/startup_main_thread_slices_in_range.skill.yaml +138 -0
  2111. package/skills/atomic/startup_main_thread_states_in_range.skill.yaml +100 -0
  2112. package/skills/atomic/startup_main_thread_sync_binder_in_range.skill.yaml +103 -0
  2113. package/skills/atomic/startup_sched_latency_in_range.skill.yaml +93 -0
  2114. package/skills/atomic/startup_slow_reasons.skill.yaml +625 -0
  2115. package/skills/atomic/startup_thread_blocking_graph.skill.yaml +181 -0
  2116. package/skills/atomic/system_load_in_range.skill.yaml +95 -0
  2117. package/skills/atomic/task_migration_in_range.skill.yaml +115 -0
  2118. package/skills/atomic/textureview_producer_frame_timing.skill.yaml +302 -0
  2119. package/skills/atomic/thermal_predictor.skill.yaml +182 -0
  2120. package/skills/atomic/thread_affinity_violation.skill.yaml +139 -0
  2121. package/skills/atomic/touch_to_display_latency.skill.yaml +130 -0
  2122. package/skills/atomic/util_tracking_analysis.skill.yaml +89 -0
  2123. package/skills/atomic/vrr_detection.skill.yaml +301 -0
  2124. package/skills/atomic/vsync_alignment_in_range.skill.yaml +116 -0
  2125. package/skills/atomic/vsync_config.skill.yaml +147 -0
  2126. package/skills/atomic/vsync_period_detection.skill.yaml +178 -0
  2127. package/skills/atomic/vsync_phase_alignment.skill.yaml +255 -0
  2128. package/skills/atomic/wakelock_tracking.skill.yaml +276 -0
  2129. package/skills/atomic/wattson_app_startup_power.skill.yaml +66 -0
  2130. package/skills/atomic/wattson_rails_power_breakdown.skill.yaml +70 -0
  2131. package/skills/atomic/wattson_thread_power_attribution.skill.yaml +74 -0
  2132. package/skills/atomic/webview_v8_analysis.skill.yaml +297 -0
  2133. package/skills/comparison/multi_trace_result_comparison.skill.yaml +60 -0
  2134. package/skills/composite/anr_analysis.skill.yaml +889 -0
  2135. package/skills/composite/anr_detail.skill.yaml +796 -0
  2136. package/skills/composite/battery_drain_attribution.skill.yaml +134 -0
  2137. package/skills/composite/binder_analysis.skill.yaml +742 -0
  2138. package/skills/composite/binder_detail.skill.yaml +388 -0
  2139. package/skills/composite/block_io_analysis.skill.yaml +559 -0
  2140. package/skills/composite/click_response_analysis.skill.yaml +915 -0
  2141. package/skills/composite/click_response_detail.skill.yaml +800 -0
  2142. package/skills/composite/cpu_analysis.skill.yaml +960 -0
  2143. package/skills/composite/dmabuf_analysis.skill.yaml +622 -0
  2144. package/skills/composite/flutter_scrolling_analysis.skill.yaml +443 -0
  2145. package/skills/composite/gc_analysis.skill.yaml +744 -0
  2146. package/skills/composite/global_trace_sanity_check.skill.yaml +716 -0
  2147. package/skills/composite/gpu_analysis.skill.yaml +700 -0
  2148. package/skills/composite/io_pressure.skill.yaml +654 -0
  2149. package/skills/composite/irq_analysis.skill.yaml +696 -0
  2150. package/skills/composite/jank_frame_detail.skill.yaml +2065 -0
  2151. package/skills/composite/lmk_analysis.skill.yaml +626 -0
  2152. package/skills/composite/lock_binder_wait.skill.yaml +95 -0
  2153. package/skills/composite/lock_contention_analysis.skill.yaml +878 -0
  2154. package/skills/composite/memory_analysis.skill.yaml +718 -0
  2155. package/skills/composite/navigation_analysis.skill.yaml +901 -0
  2156. package/skills/composite/network_analysis.skill.yaml +760 -0
  2157. package/skills/composite/power_consumption_overview.skill.yaml +143 -0
  2158. package/skills/composite/scene_reconstruction.skill.yaml +2788 -0
  2159. package/skills/composite/scroll_session_analysis.skill.yaml +496 -0
  2160. package/skills/composite/scrolling_analysis.skill.yaml +3295 -0
  2161. package/skills/composite/startup_analysis.skill.yaml +1172 -0
  2162. package/skills/composite/startup_detail.skill.yaml +1339 -0
  2163. package/skills/composite/state_timeline.skill.yaml +1021 -0
  2164. package/skills/composite/surfaceflinger_analysis.skill.yaml +808 -0
  2165. package/skills/composite/suspend_wakeup_analysis.skill.yaml +698 -0
  2166. package/skills/composite/thermal_throttling.skill.yaml +964 -0
  2167. package/skills/composite/thermal_throttling_chain.skill.yaml +147 -0
  2168. package/skills/composite/webview_drawfunctor_jank_chain.skill.yaml +343 -0
  2169. package/skills/config/conclusion_scene_templates.base.yaml +181 -0
  2170. package/skills/config/conclusion_scene_templates.yaml +17 -0
  2171. package/skills/deep/callstack_analysis.skill.yaml +436 -0
  2172. package/skills/deep/cpu_profiling.skill.yaml +617 -0
  2173. package/skills/docs/scrolling.sop.md +312 -0
  2174. package/skills/docs/startup.sop.md +382 -0
  2175. package/skills/docs/upstream-perfetto-ai-skill-translation.sop.md +50 -0
  2176. package/skills/fragments/target_threads.sql +34 -0
  2177. package/skills/fragments/thread_states_quadrant.sql +26 -0
  2178. package/skills/fragments/vsync_config.sql +32 -0
  2179. package/skills/modules/app/launcher_module.skill.yaml +473 -0
  2180. package/skills/modules/app/systemui_module.skill.yaml +565 -0
  2181. package/skills/modules/app/third_party_module.skill.yaml +275 -0
  2182. package/skills/modules/framework/ams_module.skill.yaml +239 -0
  2183. package/skills/modules/framework/art_module.skill.yaml +266 -0
  2184. package/skills/modules/framework/choreographer_module.skill.yaml +419 -0
  2185. package/skills/modules/framework/input_module.skill.yaml +219 -0
  2186. package/skills/modules/framework/surfaceflinger_module.skill.yaml +343 -0
  2187. package/skills/modules/framework/wms_module.skill.yaml +356 -0
  2188. package/skills/modules/hardware/cpu_module.skill.yaml +300 -0
  2189. package/skills/modules/hardware/gpu_module.skill.yaml +229 -0
  2190. package/skills/modules/hardware/memory_module.skill.yaml +443 -0
  2191. package/skills/modules/hardware/power_module.skill.yaml +377 -0
  2192. package/skills/modules/hardware/thermal_module.skill.yaml +410 -0
  2193. package/skills/modules/kernel/binder_module.skill.yaml +223 -0
  2194. package/skills/modules/kernel/filesystem_module.skill.yaml +423 -0
  2195. package/skills/modules/kernel/lock_contention_module.skill.yaml +424 -0
  2196. package/skills/modules/kernel/scheduler_module.skill.yaml +247 -0
  2197. package/skills/pipelines/_base.skill.yaml +103 -0
  2198. package/skills/pipelines/android_pip_freeform.skill.yaml +224 -0
  2199. package/skills/pipelines/android_view_mixed.skill.yaml +305 -0
  2200. package/skills/pipelines/android_view_multi_window.skill.yaml +271 -0
  2201. package/skills/pipelines/android_view_software.skill.yaml +172 -0
  2202. package/skills/pipelines/android_view_standard_blast.skill.yaml +357 -0
  2203. package/skills/pipelines/android_view_standard_legacy.skill.yaml +233 -0
  2204. package/skills/pipelines/angle_gles_vulkan.skill.yaml +178 -0
  2205. package/skills/pipelines/camera_pipeline.skill.yaml +215 -0
  2206. package/skills/pipelines/chrome_browser_viz.skill.yaml +288 -0
  2207. package/skills/pipelines/compose_standard.skill.yaml +250 -0
  2208. package/skills/pipelines/flutter_surfaceview_impeller.skill.yaml +233 -0
  2209. package/skills/pipelines/flutter_surfaceview_skia.skill.yaml +194 -0
  2210. package/skills/pipelines/flutter_textureview.skill.yaml +219 -0
  2211. package/skills/pipelines/game_engine.skill.yaml +311 -0
  2212. package/skills/pipelines/hardware_buffer_renderer.skill.yaml +205 -0
  2213. package/skills/pipelines/imagereader_pipeline.skill.yaml +237 -0
  2214. package/skills/pipelines/index.yaml +122 -0
  2215. package/skills/pipelines/opengl_es.skill.yaml +185 -0
  2216. package/skills/pipelines/rn_new_arch.skill.yaml +126 -0
  2217. package/skills/pipelines/rn_old_arch.skill.yaml +137 -0
  2218. package/skills/pipelines/rn_skia.skill.yaml +115 -0
  2219. package/skills/pipelines/software_compositing.skill.yaml +203 -0
  2220. package/skills/pipelines/surface_control_api.skill.yaml +208 -0
  2221. package/skills/pipelines/surfaceview_blast.skill.yaml +210 -0
  2222. package/skills/pipelines/textureview_standard.skill.yaml +301 -0
  2223. package/skills/pipelines/variable_refresh_rate.skill.yaml +264 -0
  2224. package/skills/pipelines/video_overlay_hwc.skill.yaml +193 -0
  2225. package/skills/pipelines/vulkan_native.skill.yaml +215 -0
  2226. package/skills/pipelines/webview_gl_functor.skill.yaml +232 -0
  2227. package/skills/pipelines/webview_surface_control.skill.yaml +187 -0
  2228. package/skills/pipelines/webview_surfaceview_wrapper.skill.yaml +196 -0
  2229. package/skills/pipelines/webview_textureview_custom.skill.yaml +201 -0
  2230. package/skills/vendors/honor/startup.override.yaml +117 -0
  2231. package/skills/vendors/mtk/startup.override.yaml +133 -0
  2232. package/skills/vendors/oppo/startup.override.yaml +188 -0
  2233. package/skills/vendors/pixel/startup.override.yaml +163 -0
  2234. package/skills/vendors/qualcomm/startup.override.yaml +175 -0
  2235. package/skills/vendors/samsung/startup.override.yaml +161 -0
  2236. package/skills/vendors/vivo/startup.override.yaml +144 -0
  2237. package/skills/vendors/xiaomi/startup.override.yaml +120 -0
  2238. package/sql/smartperfetto/PACKAGE.json +24 -0
  2239. package/sql/smartperfetto/binder/victim_to_server.sql +36 -0
  2240. package/sql/smartperfetto/scrolling/jank_frames.sql +55 -0
  2241. package/strategies/anr.strategy.md +200 -0
  2242. package/strategies/arch-compose.template.md +10 -0
  2243. package/strategies/arch-flutter.template.md +17 -0
  2244. package/strategies/arch-standard.template.md +31 -0
  2245. package/strategies/arch-webview.template.md +9 -0
  2246. package/strategies/comparison-conclusion.template.md +36 -0
  2247. package/strategies/comparison-methodology.template.md +41 -0
  2248. package/strategies/comparison-result-methodology.template.md +35 -0
  2249. package/strategies/game.strategy.md +121 -0
  2250. package/strategies/general.strategy.md +48 -0
  2251. package/strategies/interaction.strategy.md +149 -0
  2252. package/strategies/knowledge-binder-ipc.template.md +59 -0
  2253. package/strategies/knowledge-cpu-scheduler.template.md +67 -0
  2254. package/strategies/knowledge-data-sources.template.md +738 -0
  2255. package/strategies/knowledge-gc-dynamics.template.md +65 -0
  2256. package/strategies/knowledge-harmonyos-rendering.template.md +54 -0
  2257. package/strategies/knowledge-harmonyos-tools.template.md +73 -0
  2258. package/strategies/knowledge-lock-contention.template.md +61 -0
  2259. package/strategies/knowledge-pipeline-anchors.template.md +136 -0
  2260. package/strategies/knowledge-pipeline-fences.template.md +158 -0
  2261. package/strategies/knowledge-rendering-pipeline.template.md +170 -0
  2262. package/strategies/knowledge-startup-root-causes.template.md +951 -0
  2263. package/strategies/knowledge-thermal-throttling.template.md +53 -0
  2264. package/strategies/linux.strategy.md +86 -0
  2265. package/strategies/media.strategy.md +75 -0
  2266. package/strategies/memory.strategy.md +94 -0
  2267. package/strategies/multi-trace-result-comparison.strategy.md +96 -0
  2268. package/strategies/network.strategy.md +80 -0
  2269. package/strategies/overview.strategy.md +139 -0
  2270. package/strategies/phase_hint_templates/misdiagnosis_vsync_vrr.template.yaml +37 -0
  2271. package/strategies/pipeline.strategy.md +208 -0
  2272. package/strategies/power.strategy.md +165 -0
  2273. package/strategies/prompt-complexity-classifier.template.md +26 -0
  2274. package/strategies/prompt-language-en.template.md +9 -0
  2275. package/strategies/prompt-language-zh.template.md +8 -0
  2276. package/strategies/prompt-methodology.template.md +183 -0
  2277. package/strategies/prompt-output-format.template.md +115 -0
  2278. package/strategies/prompt-quick.template.md +44 -0
  2279. package/strategies/prompt-role.template.md +13 -0
  2280. package/strategies/runtime-correctness.strategy.md +73 -0
  2281. package/strategies/scroll-response.strategy.md +236 -0
  2282. package/strategies/scrolling.strategy.md +467 -0
  2283. package/strategies/selection-area.template.md +46 -0
  2284. package/strategies/selection-slice.template.md +126 -0
  2285. package/strategies/startup.strategy.md +694 -0
  2286. package/strategies/teaching.strategy.md +176 -0
  2287. package/strategies/touch-tracking.strategy.md +213 -0
@@ -0,0 +1,2788 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-or-later
2
+ # Copyright (C) 2024-2026 Gracker (Chris)
3
+ # This file is part of SmartPerfetto. See LICENSE for details.
4
+
5
+ name: scene_reconstruction
6
+ version: "1.0"
7
+ type: composite
8
+ category: interaction
9
+ tier: S
10
+
11
+ meta:
12
+ display_name: "场景还原"
13
+ description: "通过用户输入和屏幕状态还原用户操作场景"
14
+ icon: "movie_creation"
15
+ tags: [scene, input, screen, composite]
16
+
17
+ prerequisites:
18
+ modules:
19
+ - android.input
20
+ - android.binder
21
+ - android.screen_state
22
+ - android.battery_stats
23
+ - android.startup.startups
24
+ - android.frames.timeline
25
+ - android.anrs
26
+
27
+ triggers:
28
+ keywords:
29
+ zh: [场景还原, 还原场景, 发生了什么, 用户操作, 操作场景, 用户行为, 操作记录]
30
+ en: [scene, reconstruct, what happened, user action, user behavior]
31
+ patterns:
32
+ - ".*场景.*还原.*"
33
+ - ".*发生.*什么.*"
34
+ - ".*用户.*操作.*"
35
+
36
+ inputs:
37
+ - name: trace_id
38
+ type: string
39
+ required: true
40
+
41
+ steps:
42
+ # ==========================================================================
43
+ # L1: Trace 时间范围
44
+ # ==========================================================================
45
+ - id: trace_time_range
46
+ type: atomic
47
+ name: "Trace 时间范围"
48
+ display:
49
+ level: summary
50
+ layer: overview
51
+ title: "Trace 概览"
52
+ columns:
53
+ - name: start_ts_str
54
+ label: "开始时间"
55
+ type: timestamp
56
+ unit: ns
57
+ clickAction: navigate_timeline
58
+ - name: end_ts_str
59
+ label: "结束时间"
60
+ type: timestamp
61
+ unit: ns
62
+ clickAction: navigate_timeline
63
+ - name: duration_sec
64
+ label: "时长(秒)"
65
+ type: number
66
+ sql: |
67
+ SELECT
68
+ MIN(ts) AS start_ts,
69
+ MAX(ts) AS end_ts,
70
+ printf('%d', MIN(ts)) AS start_ts_str,
71
+ printf('%d', MAX(ts)) AS end_ts_str,
72
+ ROUND((MAX(ts) - MIN(ts)) / 1e9, 2) AS duration_sec
73
+ FROM (
74
+ SELECT ts FROM slice WHERE dur > 0
75
+ UNION ALL
76
+ SELECT ts FROM counter WHERE value IS NOT NULL
77
+ )
78
+ save_as: time_range
79
+
80
+ # ==========================================================================
81
+ # L1: 可用数据表探测(用于门禁可选步骤,避免缺表报错)
82
+ # ==========================================================================
83
+ - id: table_availability
84
+ type: atomic
85
+ name: "可用数据表探测"
86
+ display:
87
+ level: hidden
88
+ sql: |
89
+ SELECT
90
+ CASE
91
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_screen_state') THEN 1
92
+ ELSE 0
93
+ END AS has_screen_state,
94
+ CASE
95
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_battery_stats_event_slices') THEN 1
96
+ ELSE 0
97
+ END AS has_battery_top,
98
+ CASE
99
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_input_events') THEN 1
100
+ ELSE 0
101
+ END AS has_input_events,
102
+ CASE
103
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_startups') THEN 1
104
+ ELSE 0
105
+ END AS has_startups,
106
+ CASE
107
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='actual_frame_timeline_slice') THEN 1
108
+ ELSE 0
109
+ END AS has_frame_timeline,
110
+ CASE
111
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='process_counter_track') THEN 1
112
+ ELSE 0
113
+ END AS has_process_counter_track,
114
+ CASE
115
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_key_events') THEN 1
116
+ ELSE 0
117
+ END AS has_key_events,
118
+ CASE
119
+ WHEN EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table', 'view') AND name='android_anrs') THEN 1
120
+ ELSE 0
121
+ END AS has_anrs
122
+ save_as: table_availability
123
+
124
+ # ==========================================================================
125
+ # L2: 屏幕状态变化
126
+ # ==========================================================================
127
+ - id: screen_state_changes
128
+ type: atomic
129
+ name: "屏幕状态变化"
130
+ condition: table_availability.data[0]?.has_screen_state === 1
131
+ display:
132
+ level: hidden
133
+ layer: list
134
+ title: "屏幕状态"
135
+ columns:
136
+ - name: ts
137
+ label: "时间"
138
+ type: timestamp
139
+ unit: ns
140
+ clickAction: navigate_timeline
141
+ - name: dur
142
+ label: "持续"
143
+ type: duration
144
+ format: duration_ms
145
+ unit: ns
146
+ - name: event
147
+ label: "状态"
148
+ type: string
149
+ - name: category
150
+ label: "类别"
151
+ type: string
152
+ sql: |
153
+ WITH RECURSIVE screen_data AS (
154
+ SELECT 1 AS dummy WHERE EXISTS (SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_screen_state')
155
+ )
156
+ SELECT
157
+ printf('%d', ts) AS ts,
158
+ printf('%d', dur) AS dur,
159
+ CASE screen_state
160
+ WHEN 1 THEN '屏幕熄灭'
161
+ WHEN 2 THEN '屏幕点亮'
162
+ WHEN 3 THEN '屏幕休眠'
163
+ ELSE '屏幕状态 ' || screen_state
164
+ END AS event,
165
+ 'screen' AS category
166
+ FROM android_screen_state
167
+ WHERE dur > 0
168
+ ORDER BY ts
169
+ LIMIT 100
170
+ save_as: screen_events
171
+ optional: true
172
+
173
+ # ==========================================================================
174
+ # L2: Top App 切换
175
+ # ==========================================================================
176
+ - id: top_app_changes
177
+ type: atomic
178
+ name: "Top App 切换"
179
+ condition: table_availability.data[0]?.has_battery_top === 1
180
+ display:
181
+ level: hidden
182
+ layer: list
183
+ title: "应用切换"
184
+ columns:
185
+ - name: ts
186
+ label: "时间"
187
+ type: timestamp
188
+ unit: ns
189
+ clickAction: navigate_timeline
190
+ - name: dur
191
+ label: "持续"
192
+ type: duration
193
+ format: duration_ms
194
+ unit: ns
195
+ - name: event
196
+ label: "事件"
197
+ type: string
198
+ - name: app_package
199
+ label: "包名"
200
+ type: string
201
+ - name: category
202
+ label: "类别"
203
+ type: string
204
+ sql: |
205
+ WITH RECURSIVE battery_check AS (
206
+ SELECT 1 AS dummy WHERE EXISTS (
207
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_battery_stats_event_slices'
208
+ )
209
+ )
210
+ SELECT
211
+ printf('%d', ts) AS ts,
212
+ printf('%d', safe_dur) AS dur,
213
+ '切换到 ' || REPLACE(REPLACE(str_value, 'com.', ''), 'android.', '') AS event,
214
+ str_value AS app_package,
215
+ 'app_switch' AS category
216
+ FROM android_battery_stats_event_slices
217
+ WHERE track_name = 'battery_stats.top'
218
+ AND safe_dur > 50000000
219
+ ORDER BY ts
220
+ LIMIT 100
221
+ save_as: app_switches
222
+ optional: true
223
+
224
+ # ==========================================================================
225
+ # L2: Activity 生命周期事件
226
+ # ==========================================================================
227
+ - id: activity_lifecycle
228
+ type: atomic
229
+ name: "Activity 生命周期"
230
+ display:
231
+ level: hidden
232
+ layer: list
233
+ title: "Activity 生命周期"
234
+ columns:
235
+ - name: ts
236
+ label: "时间"
237
+ type: timestamp
238
+ unit: ns
239
+ clickAction: navigate_timeline
240
+ - name: activity_name
241
+ label: "Activity"
242
+ type: string
243
+ - name: lifecycle_event
244
+ label: "生命周期事件"
245
+ type: string
246
+ - name: dur_ms
247
+ label: "耗时(ms)"
248
+ type: number
249
+ sql: |
250
+ WITH lifecycle_slices AS (
251
+ SELECT
252
+ s.ts,
253
+ s.dur,
254
+ s.name,
255
+ CASE
256
+ WHEN s.name GLOB '*activityStart*' THEN 'activityStart'
257
+ WHEN s.name GLOB '*activityResume*' THEN 'activityResume'
258
+ WHEN s.name GLOB '*activityPause*' THEN 'activityPause'
259
+ WHEN s.name GLOB '*activityStop*' THEN 'activityStop'
260
+ WHEN s.name GLOB '*activityDestroy*' THEN 'activityDestroy'
261
+ WHEN s.name GLOB '*performCreate*' THEN 'performCreate'
262
+ WHEN s.name GLOB '*performResume*' THEN 'performResume'
263
+ WHEN s.name GLOB '*performPause*' THEN 'performPause'
264
+ WHEN s.name GLOB '*performStop*' THEN 'performStop'
265
+ WHEN s.name GLOB '*performDestroy*' THEN 'performDestroy'
266
+ ELSE NULL
267
+ END AS lifecycle_event,
268
+ CASE
269
+ WHEN s.name LIKE '%:%' THEN SUBSTR(s.name, INSTR(s.name, ':') + 1)
270
+ ELSE s.name
271
+ END AS activity_name
272
+ FROM slice s
273
+ JOIN thread_track tt ON s.track_id = tt.id
274
+ JOIN thread t ON tt.utid = t.utid
275
+ WHERE t.is_main_thread = 1
276
+ AND (
277
+ s.name GLOB '*activityStart*'
278
+ OR s.name GLOB '*activityResume*'
279
+ OR s.name GLOB '*activityPause*'
280
+ OR s.name GLOB '*activityStop*'
281
+ OR s.name GLOB '*activityDestroy*'
282
+ OR s.name GLOB '*performCreate*'
283
+ OR s.name GLOB '*performResume*'
284
+ OR s.name GLOB '*performPause*'
285
+ OR s.name GLOB '*performStop*'
286
+ OR s.name GLOB '*performDestroy*'
287
+ )
288
+ AND s.dur > 0
289
+ ),
290
+ startup_activities AS (
291
+ SELECT
292
+ s.ts,
293
+ s.dur,
294
+ s.package AS activity_name,
295
+ 'startup (' ||
296
+ CASE
297
+ WHEN EXISTS (
298
+ SELECT 1 FROM android_startup_threads st
299
+ JOIN thread_track tt ON tt.utid = st.utid
300
+ JOIN slice sl ON sl.track_id = tt.id
301
+ WHERE st.startup_id = s.startup_id
302
+ AND st.is_main_thread = 1
303
+ AND sl.name = 'bindApplication'
304
+ AND sl.ts + sl.dur > st.ts AND sl.ts < st.ts + st.dur
305
+ ) THEN 'cold'
306
+ ELSE s.startup_type
307
+ END
308
+ || ')' AS lifecycle_event
309
+ FROM android_startups s
310
+ WHERE s.dur > 0
311
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_startups')
312
+ )
313
+ SELECT
314
+ printf('%d', ts) AS ts,
315
+ activity_name,
316
+ lifecycle_event,
317
+ ROUND(dur / 1e6, 1) AS dur_ms
318
+ FROM (
319
+ SELECT ts, activity_name, lifecycle_event, dur FROM lifecycle_slices WHERE lifecycle_event IS NOT NULL
320
+ UNION ALL
321
+ SELECT ts, activity_name, lifecycle_event, dur FROM startup_activities
322
+ )
323
+ ORDER BY ts
324
+ LIMIT 200
325
+ save_as: activity_lifecycle
326
+ optional: true
327
+
328
+ # ==========================================================================
329
+ # L2: 用户手势识别 (点击/滑动/长按)
330
+ # ==========================================================================
331
+ - id: user_gestures
332
+ type: atomic
333
+ name: "用户手势识别"
334
+ condition: table_availability.data[0]?.has_input_events === 1 && table_availability.data[0]?.has_startups === 1 && table_availability.data[0]?.has_frame_timeline === 1
335
+ display:
336
+ level: hidden
337
+ layer: list
338
+ title: "用户操作"
339
+ columns:
340
+ - name: ts
341
+ label: "时间"
342
+ type: timestamp
343
+ unit: ns
344
+ clickAction: navigate_range
345
+ durationColumn: dur
346
+ - name: dur
347
+ label: "持续"
348
+ type: duration
349
+ format: duration_ms
350
+ unit: ns
351
+ - name: event
352
+ label: "操作"
353
+ type: string
354
+ - name: gesture_type
355
+ label: "类型"
356
+ type: string
357
+ - name: confidence
358
+ label: "置信度"
359
+ type: string
360
+ - name: move_count
361
+ label: "移动次数"
362
+ type: number
363
+ - name: app_package
364
+ label: "应用"
365
+ type: string
366
+ - name: category
367
+ label: "类别"
368
+ type: string
369
+ sql: |
370
+ WITH RECURSIVE input_check AS (
371
+ SELECT 1 AS dummy WHERE EXISTS (
372
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_input_events'
373
+ )
374
+ ),
375
+ startup_check AS (
376
+ SELECT 1 AS dummy WHERE EXISTS (
377
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_startups'
378
+ )
379
+ ),
380
+ frame_check AS (
381
+ SELECT 1 AS dummy WHERE EXISTS (
382
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='actual_frame_timeline_slice'
383
+ )
384
+ ),
385
+ startup_spans AS (
386
+ SELECT
387
+ ts AS start_ts,
388
+ ts + dur AS end_ts,
389
+ package AS app_package
390
+ FROM android_startups
391
+ WHERE dur > 0
392
+ ),
393
+ frame_apps AS (
394
+ SELECT
395
+ a.ts,
396
+ a.ts + a.dur AS end_ts,
397
+ COALESCE(
398
+ NULLIF(p.name, ''),
399
+ CASE
400
+ WHEN a.layer_name IS NOT NULL AND instr(a.layer_name, '/') > 1
401
+ THEN substr(a.layer_name, 1, instr(a.layer_name, '/') - 1)
402
+ ELSE NULL
403
+ END
404
+ ) AS app_package
405
+ FROM actual_frame_timeline_slice a
406
+ LEFT JOIN process p ON p.upid = a.upid
407
+ WHERE a.dur > 0
408
+ AND a.surface_frame_token IS NOT NULL
409
+ ),
410
+ gesture_events AS (
411
+ SELECT
412
+ read_time AS ts,
413
+ event_action,
414
+ process_name,
415
+ CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END AS is_start
416
+ FROM android_input_events
417
+ WHERE event_type = 'MOTION'
418
+ AND process_name NOT IN ('system_server', '/system/bin/inputflinger')
419
+ AND process_name NOT GLOB 'com.android.systemui*'
420
+ ),
421
+ gesture_groups AS (
422
+ SELECT ts, event_action, process_name,
423
+ SUM(is_start) OVER (ORDER BY ts) AS gesture_id
424
+ FROM gesture_events
425
+ ),
426
+ gestures AS (
427
+ SELECT
428
+ gesture_id,
429
+ MIN(ts) AS ts,
430
+ MAX(ts) AS end_ts,
431
+ MAX(ts) - MIN(ts) AS dur,
432
+ MAX(CASE WHEN event_action = 'UP' THEN ts END) AS up_ts,
433
+ COUNT(*) AS event_count,
434
+ COUNT(CASE WHEN event_action = 'MOVE' THEN 1 END) AS move_count,
435
+ MAX(process_name) AS raw_process_name
436
+ FROM gesture_groups
437
+ WHERE gesture_id > 0
438
+ GROUP BY gesture_id
439
+ ),
440
+ gesture_with_app AS (
441
+ SELECT
442
+ g.*,
443
+ (SELECT MIN(g2.ts) FROM gestures g2 WHERE g2.ts > g.ts) AS next_gesture_ts,
444
+ CASE
445
+ WHEN g.raw_process_name GLOB 'com.*'
446
+ OR g.raw_process_name GLOB 'org.*'
447
+ OR g.raw_process_name GLOB 'io.*'
448
+ OR g.raw_process_name GLOB 'net.*'
449
+ THEN g.raw_process_name
450
+ ELSE COALESCE(
451
+ (SELECT f.app_package
452
+ FROM frame_apps f
453
+ WHERE f.app_package IS NOT NULL
454
+ AND f.app_package != ''
455
+ AND f.app_package NOT GLOB 'surfaceflinger*'
456
+ AND f.app_package NOT GLOB 'system_server*'
457
+ AND f.app_package NOT GLOB 'com.android.systemui*'
458
+ AND f.ts >= g.ts - 300000000
459
+ AND f.end_ts <= g.end_ts + 800000000
460
+ GROUP BY f.app_package
461
+ ORDER BY COUNT(*) DESC
462
+ LIMIT 1),
463
+ (SELECT s.app_package
464
+ FROM startup_spans s
465
+ WHERE g.ts BETWEEN s.start_ts AND s.end_ts
466
+ ORDER BY s.start_ts DESC
467
+ LIMIT 1),
468
+ g.raw_process_name
469
+ )
470
+ END AS app_package
471
+ FROM gestures g
472
+ ),
473
+ gesture_with_window AS (
474
+ SELECT
475
+ g.*,
476
+ CASE
477
+ WHEN g.up_ts IS NOT NULL THEN
478
+ MIN(
479
+ COALESCE(g.next_gesture_ts, g.up_ts + 3000000000),
480
+ g.up_ts + 3000000000
481
+ )
482
+ ELSE g.end_ts
483
+ END AS scroll_window_end
484
+ FROM gesture_with_app g
485
+ ),
486
+ gesture_with_duration AS (
487
+ SELECT
488
+ g.*,
489
+ CASE
490
+ -- For scroll gestures, extend duration to the last rendered frame after UP
491
+ -- (bounded by next gesture or 3s) to match user-perceived scroll length.
492
+ WHEN g.move_count >= 3 AND g.up_ts IS NOT NULL THEN
493
+ MAX(
494
+ g.dur,
495
+ COALESCE(
496
+ (SELECT MAX(f.end_ts)
497
+ FROM frame_apps f
498
+ WHERE f.ts >= g.up_ts
499
+ AND f.ts < g.scroll_window_end
500
+ AND (
501
+ g.app_package IS NULL
502
+ OR g.app_package = ''
503
+ OR f.app_package = g.app_package
504
+ )),
505
+ (SELECT MAX(f.end_ts)
506
+ FROM frame_apps f
507
+ WHERE f.ts >= g.up_ts
508
+ AND f.ts < g.scroll_window_end),
509
+ MIN(
510
+ COALESCE(g.next_gesture_ts, g.up_ts + 1800000000),
511
+ g.up_ts + 1800000000
512
+ )
513
+ ) - g.ts
514
+ )
515
+ ELSE g.dur
516
+ END AS scene_dur
517
+ FROM gesture_with_window g
518
+ )
519
+ SELECT
520
+ printf('%d', ts) AS ts,
521
+ printf('%d', scene_dur) AS dur,
522
+ CASE
523
+ WHEN move_count >= 3 THEN '滑动 (' || move_count || '次移动, ' || CAST(scene_dur / 1000000 AS INT) || 'ms)'
524
+ WHEN dur > 500000000 AND move_count <= 2 THEN '长按 (' || CAST(dur / 1000000 AS INT) || 'ms)'
525
+ ELSE '点击'
526
+ END ||
527
+ CASE
528
+ WHEN app_package IS NOT NULL AND app_package != ''
529
+ THEN ' [' || REPLACE(REPLACE(app_package, 'com.', ''), 'android.', '') || ']'
530
+ ELSE ''
531
+ END AS event,
532
+ CASE
533
+ WHEN move_count >= 3 THEN 'scroll'
534
+ WHEN dur > 500000000 AND move_count <= 2 THEN 'long_press'
535
+ ELSE 'tap'
536
+ END AS gesture_type,
537
+ CASE
538
+ WHEN move_count >= 10 THEN '高'
539
+ WHEN move_count >= 5 THEN '中'
540
+ WHEN move_count >= 3 THEN '低'
541
+ ELSE '高'
542
+ END AS confidence,
543
+ move_count,
544
+ app_package,
545
+ 'gesture' AS category
546
+ FROM gesture_with_duration
547
+ WHERE event_count >= 2
548
+ ORDER BY ts
549
+ LIMIT 200
550
+ save_as: gestures
551
+ optional: true
552
+
553
+ # ==========================================================================
554
+ # L2: 滑动启动检测 (面向初学者:精确定位滑动开始时刻)
555
+ # ==========================================================================
556
+ - id: scroll_initiation
557
+ type: atomic
558
+ name: "滑动启动时刻"
559
+ condition: table_availability.data[0]?.has_input_events === 1
560
+ display:
561
+ level: hidden
562
+ layer: list
563
+ title: "滑动启动"
564
+ columns:
565
+ - name: ts
566
+ label: "时间"
567
+ type: timestamp
568
+ unit: ns
569
+ clickAction: navigate_timeline
570
+ - name: event
571
+ label: "事件"
572
+ type: string
573
+ - name: gesture_id
574
+ label: "手势ID"
575
+ type: number
576
+ - name: category
577
+ label: "类别"
578
+ type: string
579
+ - name: explanation
580
+ label: "说明"
581
+ type: string
582
+ sql: |
583
+ -- 此 step 检测滑动开始的精确时刻
584
+ -- 原理:当手指 DOWN 后连续出现 2 个 MOVE 事件时,认为滑动启动
585
+ WITH RECURSIVE input_check AS (
586
+ SELECT 1 AS dummy WHERE EXISTS (
587
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_input_events'
588
+ )
589
+ ),
590
+ motion_base AS (
591
+ SELECT
592
+ event_action,
593
+ read_time AS ts,
594
+ process_name,
595
+ SUM(CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END)
596
+ OVER (ORDER BY read_time) AS gesture_id
597
+ FROM android_input_events
598
+ WHERE event_type = 'MOTION'
599
+ AND event_action IN ('DOWN', 'MOVE', 'UP')
600
+ ),
601
+ motion_with_seq AS (
602
+ SELECT
603
+ event_action,
604
+ ts,
605
+ process_name,
606
+ gesture_id,
607
+ SUM(CASE WHEN event_action = 'MOVE' THEN 1 ELSE 0 END)
608
+ OVER (
609
+ PARTITION BY gesture_id
610
+ ORDER BY ts
611
+ ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
612
+ ) AS move_seq
613
+ FROM motion_base
614
+ ),
615
+ scroll_starts AS (
616
+ SELECT
617
+ MIN(ts) AS scroll_start_ts,
618
+ gesture_id,
619
+ MAX(process_name) AS app
620
+ FROM motion_with_seq
621
+ WHERE event_action = 'MOVE'
622
+ AND move_seq >= 2
623
+ AND gesture_id > 0
624
+ GROUP BY gesture_id
625
+ )
626
+ SELECT
627
+ printf('%d', scroll_start_ts) AS ts,
628
+ '0' AS dur,
629
+ '滑动启动' ||
630
+ CASE
631
+ WHEN app IS NOT NULL AND app != ''
632
+ THEN ' [' || REPLACE(REPLACE(app, 'com.', ''), 'android.', '') || ']'
633
+ ELSE ''
634
+ END AS event,
635
+ gesture_id,
636
+ 'scroll_start' AS category,
637
+ '💡 此时刻手指已移动足够距离,系统开始响应滑动' AS explanation
638
+ FROM scroll_starts
639
+ ORDER BY scroll_start_ts
640
+ LIMIT 100
641
+ save_as: scroll_starts
642
+ optional: true
643
+
644
+ # ==========================================================================
645
+ # L2: 导航按键事件 (Back/Home/Recents — 三键导航)
646
+ # ==========================================================================
647
+ - id: navigation_keys
648
+ type: atomic
649
+ name: "导航按键"
650
+ condition: table_availability.data[0]?.has_key_events === 1
651
+ display:
652
+ level: hidden
653
+ layer: list
654
+ title: "导航按键"
655
+ columns:
656
+ - name: ts
657
+ label: "时间"
658
+ type: timestamp
659
+ unit: ns
660
+ clickAction: navigate_timeline
661
+ - name: dur
662
+ label: "持续"
663
+ type: duration
664
+ format: duration_ms
665
+ unit: ns
666
+ - name: event
667
+ label: "事件"
668
+ type: string
669
+ - name: key_name
670
+ label: "按键"
671
+ type: string
672
+ - name: category
673
+ label: "类别"
674
+ type: string
675
+ sql: |
676
+ -- Pair DOWN → nearest UP per key_code using ROW_NUMBER for strict matching.
677
+ -- Handles repeats/double-taps by assigning each DOWN its own ordinal.
678
+ WITH downs AS (
679
+ SELECT
680
+ ts, key_code,
681
+ ROW_NUMBER() OVER (PARTITION BY key_code ORDER BY ts) AS rn
682
+ FROM android_key_events
683
+ WHERE action = 0 AND key_code IN (3, 4, 187)
684
+ ),
685
+ ups AS (
686
+ SELECT
687
+ ts AS up_ts, key_code,
688
+ ROW_NUMBER() OVER (PARTITION BY key_code ORDER BY ts) AS rn
689
+ FROM android_key_events
690
+ WHERE action = 1 AND key_code IN (3, 4, 187)
691
+ )
692
+ SELECT
693
+ printf('%d', d.ts) AS ts,
694
+ printf('%d', COALESCE(u.up_ts - d.ts, 0)) AS dur,
695
+ CASE d.key_code
696
+ WHEN 4 THEN '返回键'
697
+ WHEN 3 THEN 'Home键'
698
+ WHEN 187 THEN '最近任务键'
699
+ END AS event,
700
+ CASE d.key_code
701
+ WHEN 4 THEN 'back_key'
702
+ WHEN 3 THEN 'home_key'
703
+ WHEN 187 THEN 'recents_key'
704
+ END AS key_name,
705
+ 'navigation_key' AS category
706
+ FROM downs d
707
+ LEFT JOIN ups u ON u.key_code = d.key_code AND u.rn = d.rn AND u.up_ts >= d.ts
708
+ WHERE COALESCE(u.up_ts - d.ts, 0) >= 0
709
+ ORDER BY d.ts
710
+ LIMIT 100
711
+ save_as: nav_keys
712
+ optional: true
713
+
714
+ # ==========================================================================
715
+ # L2: 手势导航 (Back gesture / SwipeToHome — 手势导航模式)
716
+ # ==========================================================================
717
+ - id: gesture_navigation
718
+ type: atomic
719
+ name: "手势导航"
720
+ display:
721
+ level: hidden
722
+ layer: list
723
+ title: "手势导航"
724
+ columns:
725
+ - name: ts
726
+ label: "时间"
727
+ type: timestamp
728
+ unit: ns
729
+ clickAction: navigate_range
730
+ durationColumn: dur
731
+ - name: dur
732
+ label: "持续"
733
+ type: duration
734
+ format: duration_ms
735
+ unit: ns
736
+ - name: event
737
+ label: "事件"
738
+ type: string
739
+ - name: key_name
740
+ label: "类型"
741
+ type: string
742
+ - name: category
743
+ label: "类别"
744
+ type: string
745
+ sql: |
746
+ SELECT
747
+ printf('%d', s.ts) AS ts,
748
+ printf('%d', s.dur) AS dur,
749
+ CASE
750
+ WHEN s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*'
751
+ OR s.name GLOB '*BackPanel*' THEN '返回手势'
752
+ WHEN s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*'
753
+ OR s.name GLOB '*launcher*goHome*' THEN 'Home手势'
754
+ WHEN s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*'
755
+ THEN '最近任务手势'
756
+ ELSE NULL
757
+ END AS event,
758
+ CASE
759
+ WHEN s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*'
760
+ OR s.name GLOB '*BackPanel*' THEN 'back_key'
761
+ WHEN s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*'
762
+ OR s.name GLOB '*launcher*goHome*' THEN 'home_key'
763
+ WHEN s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*'
764
+ THEN 'recents_key'
765
+ END AS key_name,
766
+ 'navigation_key' AS category
767
+ FROM slice s
768
+ JOIN thread_track tt ON s.track_id = tt.id
769
+ JOIN thread t ON tt.utid = t.utid
770
+ JOIN process p ON t.upid = p.upid
771
+ WHERE (p.name GLOB 'com.android.systemui*' OR p.name GLOB '*launcher*')
772
+ AND s.dur > 10000000
773
+ AND (
774
+ s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*'
775
+ OR s.name GLOB '*BackPanel*'
776
+ OR s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*'
777
+ OR s.name GLOB '*launcher*goHome*'
778
+ OR s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*'
779
+ )
780
+ ORDER BY s.ts
781
+ LIMIT 100
782
+ save_as: gesture_nav
783
+ optional: true
784
+
785
+ # ==========================================================================
786
+ # L2: 窗口转场动画
787
+ # ==========================================================================
788
+ - id: window_transitions
789
+ type: atomic
790
+ name: "窗口转场"
791
+ display:
792
+ level: hidden
793
+ layer: list
794
+ title: "窗口转场"
795
+ columns:
796
+ - name: ts
797
+ label: "时间"
798
+ type: timestamp
799
+ unit: ns
800
+ clickAction: navigate_range
801
+ durationColumn: dur
802
+ - name: dur
803
+ label: "持续"
804
+ type: duration
805
+ format: duration_ms
806
+ unit: ns
807
+ - name: event
808
+ label: "事件"
809
+ type: string
810
+ - name: transition_type
811
+ label: "转场类型"
812
+ type: string
813
+ - name: category
814
+ label: "类别"
815
+ type: string
816
+ sql: |
817
+ SELECT
818
+ printf('%d', s.ts) AS ts,
819
+ printf('%d', s.dur) AS dur,
820
+ CASE
821
+ WHEN s.name GLOB '*openAnimation*' OR s.name GLOB '*AppTransitionReady*'
822
+ THEN '窗口打开 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
823
+ WHEN s.name GLOB '*closeAnimation*'
824
+ THEN '窗口关闭 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
825
+ WHEN s.name GLOB '*Shell transition*'
826
+ THEN 'Shell转场 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
827
+ WHEN s.name GLOB '*startingWindow*'
828
+ THEN '启动窗口 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
829
+ ELSE '窗口转场 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
830
+ END AS event,
831
+ CASE
832
+ WHEN s.name GLOB '*openAnimation*' OR s.name GLOB '*AppTransitionReady*' THEN 'open'
833
+ WHEN s.name GLOB '*closeAnimation*' THEN 'close'
834
+ WHEN s.name GLOB '*Shell transition*' THEN 'shell'
835
+ WHEN s.name GLOB '*startingWindow*' THEN 'starting_window'
836
+ ELSE 'other'
837
+ END AS transition_type,
838
+ 'window_transition' AS category
839
+ FROM slice s
840
+ JOIN thread_track tt ON s.track_id = tt.id
841
+ JOIN thread t ON tt.utid = t.utid
842
+ JOIN process p ON t.upid = p.upid
843
+ WHERE (p.name = 'system_server' OR p.name GLOB 'com.android.wm.shell*')
844
+ AND s.dur > 50000000
845
+ AND (
846
+ s.name GLOB '*AppTransition*'
847
+ OR s.name GLOB '*openAnimation*'
848
+ OR s.name GLOB '*closeAnimation*'
849
+ OR s.name GLOB '*Shell transition*'
850
+ OR s.name GLOB '*startingWindow*'
851
+ )
852
+ ORDER BY s.ts
853
+ LIMIT 100
854
+ save_as: win_transitions
855
+ optional: true
856
+
857
+ # ==========================================================================
858
+ # L2: ANR 检测
859
+ # ==========================================================================
860
+ - id: anr_events
861
+ type: atomic
862
+ name: "ANR 事件"
863
+ condition: table_availability.data[0]?.has_anrs === 1
864
+ display:
865
+ level: hidden
866
+ layer: list
867
+ title: "ANR 事件"
868
+ columns:
869
+ - name: ts
870
+ label: "时间"
871
+ type: timestamp
872
+ unit: ns
873
+ clickAction: navigate_timeline
874
+ - name: dur
875
+ label: "持续"
876
+ type: duration
877
+ format: duration_ms
878
+ unit: ns
879
+ - name: event
880
+ label: "事件"
881
+ type: string
882
+ - name: process_name
883
+ label: "进程"
884
+ type: string
885
+ - name: anr_type
886
+ label: "ANR类型"
887
+ type: string
888
+ - name: category
889
+ label: "类别"
890
+ type: string
891
+ sql: |
892
+ -- ts in android_anrs is the detection moment (when timeout expired).
893
+ -- The actual blocking period is [ts - timeout, ts].
894
+ -- Use anr_dur_ms → default_anr_dur_ms fallback for the blocking window.
895
+ SELECT
896
+ printf('%d', ts - CAST(COALESCE(anr_dur_ms, default_anr_dur_ms, 5000) AS INTEGER) * 1000000) AS ts,
897
+ printf('%d', CAST(COALESCE(anr_dur_ms, default_anr_dur_ms, 5000) AS INTEGER) * 1000000) AS dur,
898
+ 'ANR: ' || REPLACE(REPLACE(process_name, 'com.', ''), 'android.', '') ||
899
+ ' (' || COALESCE(anr_type, 'unknown') || ')' AS event,
900
+ process_name,
901
+ COALESCE(anr_type, 'unknown') AS anr_type,
902
+ 'anr' AS category
903
+ FROM android_anrs
904
+ ORDER BY ts
905
+ LIMIT 50
906
+ save_as: anr_events
907
+ optional: true
908
+
909
+ # ==========================================================================
910
+ # L2: 输入法 (键盘) 显示/隐藏
911
+ # ==========================================================================
912
+ - id: ime_events
913
+ type: atomic
914
+ name: "输入法事件"
915
+ display:
916
+ level: hidden
917
+ layer: list
918
+ title: "输入法"
919
+ columns:
920
+ - name: ts
921
+ label: "时间"
922
+ type: timestamp
923
+ unit: ns
924
+ clickAction: navigate_range
925
+ durationColumn: dur
926
+ - name: dur
927
+ label: "持续"
928
+ type: duration
929
+ format: duration_ms
930
+ unit: ns
931
+ - name: event
932
+ label: "事件"
933
+ type: string
934
+ - name: ime_action
935
+ label: "操作"
936
+ type: string
937
+ - name: category
938
+ label: "类别"
939
+ type: string
940
+ sql: |
941
+ SELECT
942
+ printf('%d', s.ts) AS ts,
943
+ printf('%d', s.dur) AS dur,
944
+ CASE
945
+ WHEN s.name GLOB '*showSoftInput*'
946
+ OR s.name GLOB '*InputMethodService*show*'
947
+ OR s.name GLOB '*InputMethodManager*show*'
948
+ THEN '键盘弹出 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
949
+ WHEN s.name GLOB '*hideSoftInput*'
950
+ OR s.name GLOB '*InputMethodService*hide*'
951
+ OR s.name GLOB '*InputMethodManager*hide*'
952
+ THEN '键盘收起 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
953
+ ELSE NULL
954
+ END AS event,
955
+ CASE
956
+ WHEN s.name GLOB '*show*' THEN 'ime_show'
957
+ ELSE 'ime_hide'
958
+ END AS ime_action,
959
+ 'ime' AS category
960
+ FROM slice s
961
+ WHERE s.dur > 5000000
962
+ AND (
963
+ s.name GLOB '*showSoftInput*'
964
+ OR s.name GLOB '*hideSoftInput*'
965
+ OR s.name GLOB '*InputMethodService*show*'
966
+ OR s.name GLOB '*InputMethodService*hide*'
967
+ OR s.name GLOB '*InputMethodManager*show*'
968
+ OR s.name GLOB '*InputMethodManager*hide*'
969
+ )
970
+ ORDER BY s.ts
971
+ LIMIT 100
972
+ save_as: ime_events
973
+ optional: true
974
+
975
+ # ==========================================================================
976
+ # L2: 惯性滑动检测 (UP 后仍持续渲染)
977
+ # ==========================================================================
978
+ - id: inertial_scrolls
979
+ type: atomic
980
+ name: "惯性滑动"
981
+ condition: table_availability.data[0]?.has_input_events === 1 && table_availability.data[0]?.has_frame_timeline === 1
982
+ display:
983
+ level: hidden
984
+ layer: list
985
+ title: "惯性滑动"
986
+ columns:
987
+ - name: ts
988
+ label: "开始时间"
989
+ type: timestamp
990
+ unit: ns
991
+ clickAction: navigate_range
992
+ durationColumn: dur
993
+ - name: dur
994
+ label: "持续"
995
+ type: duration
996
+ format: duration_ms
997
+ unit: ns
998
+ - name: event
999
+ label: "事件"
1000
+ type: string
1001
+ - name: frame_count
1002
+ label: "帧数"
1003
+ type: number
1004
+ - name: jank_frames
1005
+ label: "掉帧数"
1006
+ type: number
1007
+ - name: app_package
1008
+ label: "应用"
1009
+ type: string
1010
+ - name: category
1011
+ label: "类别"
1012
+ type: string
1013
+ sql: |
1014
+ WITH RECURSIVE input_check AS (
1015
+ SELECT 1 AS dummy WHERE EXISTS (
1016
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_input_events'
1017
+ )
1018
+ ),
1019
+ frame_check AS (
1020
+ SELECT 1 AS dummy WHERE EXISTS (
1021
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='actual_frame_timeline_slice'
1022
+ )
1023
+ ),
1024
+ frame_apps AS (
1025
+ SELECT
1026
+ a.ts,
1027
+ a.dur,
1028
+ a.ts + a.dur AS end_ts,
1029
+ a.jank_type,
1030
+ COALESCE(
1031
+ NULLIF(p.name, ''),
1032
+ CASE
1033
+ WHEN a.layer_name IS NOT NULL AND instr(a.layer_name, '/') > 1
1034
+ THEN substr(a.layer_name, 1, instr(a.layer_name, '/') - 1)
1035
+ ELSE NULL
1036
+ END
1037
+ ) AS app_package
1038
+ FROM actual_frame_timeline_slice a
1039
+ LEFT JOIN process p ON p.upid = a.upid
1040
+ WHERE a.dur > 0
1041
+ AND a.surface_frame_token IS NOT NULL
1042
+ ),
1043
+ motion_base AS (
1044
+ SELECT
1045
+ read_time AS ts,
1046
+ event_action,
1047
+ process_name,
1048
+ SUM(CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END)
1049
+ OVER (ORDER BY read_time) AS gesture_id
1050
+ FROM android_input_events
1051
+ WHERE event_type = 'MOTION'
1052
+ ),
1053
+ gesture_stats AS (
1054
+ SELECT
1055
+ gesture_id,
1056
+ MIN(ts) AS down_ts,
1057
+ MAX(CASE WHEN event_action = 'UP' THEN ts END) AS up_ts,
1058
+ COUNT(*) AS event_count,
1059
+ SUM(CASE WHEN event_action = 'MOVE' THEN 1 ELSE 0 END) AS move_count,
1060
+ MAX(process_name) AS raw_process_name
1061
+ FROM motion_base
1062
+ WHERE gesture_id > 0
1063
+ GROUP BY gesture_id
1064
+ HAVING COUNT(*) >= 4 AND SUM(CASE WHEN event_action = 'MOVE' THEN 1 ELSE 0 END) >= 3
1065
+ ),
1066
+ fling_windows AS (
1067
+ SELECT
1068
+ g.gesture_id,
1069
+ g.down_ts,
1070
+ g.up_ts AS inertial_start,
1071
+ MIN(
1072
+ COALESCE(LEAD(g.down_ts) OVER (ORDER BY g.down_ts), g.up_ts + 3000000000),
1073
+ g.up_ts + 3000000000
1074
+ ) AS inertial_window_end,
1075
+ g.raw_process_name
1076
+ FROM gesture_stats g
1077
+ WHERE g.up_ts IS NOT NULL
1078
+ ),
1079
+ resolved_windows AS (
1080
+ SELECT
1081
+ w.*,
1082
+ CASE
1083
+ WHEN w.raw_process_name GLOB 'com.*'
1084
+ OR w.raw_process_name GLOB 'org.*'
1085
+ OR w.raw_process_name GLOB 'io.*'
1086
+ OR w.raw_process_name GLOB 'net.*'
1087
+ THEN w.raw_process_name
1088
+ ELSE COALESCE(
1089
+ (SELECT f.app_package
1090
+ FROM frame_apps f
1091
+ WHERE f.app_package IS NOT NULL
1092
+ AND f.app_package != ''
1093
+ AND f.app_package NOT GLOB 'surfaceflinger*'
1094
+ AND f.app_package NOT GLOB 'system_server*'
1095
+ AND f.app_package NOT GLOB 'com.android.systemui*'
1096
+ AND f.ts >= w.down_ts - 300000000
1097
+ AND f.end_ts <= w.inertial_window_end + 800000000
1098
+ GROUP BY f.app_package
1099
+ ORDER BY COUNT(*) DESC
1100
+ LIMIT 1),
1101
+ w.raw_process_name
1102
+ )
1103
+ END AS app_package
1104
+ FROM fling_windows w
1105
+ ),
1106
+ inertial_frames AS (
1107
+ SELECT
1108
+ w.gesture_id,
1109
+ w.inertial_start,
1110
+ w.inertial_window_end,
1111
+ w.app_package,
1112
+ MAX(CASE
1113
+ WHEN f.ts IS NOT NULL
1114
+ AND (w.app_package IS NULL OR w.app_package = '' OR f.app_package = w.app_package)
1115
+ THEN f.end_ts
1116
+ ELSE NULL
1117
+ END) AS matched_inertial_end,
1118
+ MAX(f.end_ts) AS fallback_inertial_end,
1119
+ SUM(CASE
1120
+ WHEN f.ts IS NOT NULL
1121
+ AND (w.app_package IS NULL OR w.app_package = '' OR f.app_package = w.app_package)
1122
+ THEN 1 ELSE 0 END
1123
+ ) AS matched_frame_count,
1124
+ COUNT(f.ts) AS fallback_frame_count,
1125
+ SUM(CASE
1126
+ WHEN f.ts IS NOT NULL
1127
+ AND (w.app_package IS NULL OR w.app_package = '' OR f.app_package = w.app_package)
1128
+ AND f.jank_type IS NOT NULL
1129
+ AND f.jank_type != 'None'
1130
+ AND f.jank_type != ''
1131
+ THEN 1 ELSE 0 END
1132
+ ) AS matched_jank_frames,
1133
+ SUM(CASE
1134
+ WHEN f.jank_type IS NOT NULL
1135
+ AND f.jank_type != 'None'
1136
+ AND f.jank_type != ''
1137
+ THEN 1 ELSE 0 END
1138
+ ) AS fallback_jank_frames
1139
+ FROM resolved_windows w
1140
+ LEFT JOIN frame_apps f
1141
+ ON f.ts >= w.inertial_start
1142
+ AND f.ts < w.inertial_window_end
1143
+ WHERE w.inertial_window_end > w.inertial_start + 80000000
1144
+ GROUP BY w.gesture_id, w.inertial_start, w.inertial_window_end, w.app_package
1145
+ ),
1146
+ resolved_inertial AS (
1147
+ SELECT
1148
+ gesture_id,
1149
+ inertial_start,
1150
+ MIN(
1151
+ COALESCE(
1152
+ CASE
1153
+ WHEN matched_frame_count >= 4 THEN matched_inertial_end
1154
+ ELSE fallback_inertial_end
1155
+ END,
1156
+ inertial_window_end
1157
+ ),
1158
+ inertial_window_end
1159
+ ) AS inertial_end,
1160
+ app_package,
1161
+ CASE
1162
+ WHEN matched_frame_count >= 4 THEN matched_frame_count
1163
+ ELSE fallback_frame_count
1164
+ END AS frame_count,
1165
+ CASE
1166
+ WHEN matched_frame_count >= 4 THEN matched_jank_frames
1167
+ ELSE fallback_jank_frames
1168
+ END AS jank_frames
1169
+ FROM inertial_frames
1170
+ )
1171
+ SELECT
1172
+ printf('%d', inertial_start) AS ts,
1173
+ printf('%d', inertial_end - inertial_start) AS dur,
1174
+ '惯性滑动' ||
1175
+ CASE
1176
+ WHEN app_package IS NOT NULL AND app_package != ''
1177
+ THEN ' [' || REPLACE(REPLACE(app_package, 'com.', ''), 'android.', '') || ']'
1178
+ ELSE ''
1179
+ END ||
1180
+ ' (' || CAST((inertial_end - inertial_start) / 1000000 AS INT) || 'ms, ' || frame_count || '帧)' AS event,
1181
+ frame_count,
1182
+ jank_frames,
1183
+ app_package,
1184
+ 'inertial_scroll' AS category
1185
+ FROM resolved_inertial
1186
+ WHERE frame_count >= 4
1187
+ AND inertial_end > inertial_start + 80000000
1188
+ ORDER BY inertial_start
1189
+ LIMIT 100
1190
+ save_as: inertial_scrolls
1191
+ optional: true
1192
+
1193
+ # ==========================================================================
1194
+ # L2: Idle 区间检测 (用户无交互)
1195
+ # ==========================================================================
1196
+ - id: idle_periods
1197
+ type: atomic
1198
+ name: "Idle 区间"
1199
+ condition: table_availability.data[0]?.has_input_events === 1 && table_availability.data[0]?.has_startups === 1
1200
+ display:
1201
+ level: hidden
1202
+ layer: list
1203
+ title: "空闲区间"
1204
+ columns:
1205
+ - name: ts
1206
+ label: "开始时间"
1207
+ type: timestamp
1208
+ unit: ns
1209
+ clickAction: navigate_range
1210
+ durationColumn: dur
1211
+ - name: dur
1212
+ label: "持续"
1213
+ type: duration
1214
+ format: duration_ms
1215
+ unit: ns
1216
+ - name: event
1217
+ label: "事件"
1218
+ type: string
1219
+ - name: confidence
1220
+ label: "置信度"
1221
+ type: string
1222
+ - name: category
1223
+ label: "类别"
1224
+ type: string
1225
+ sql: |
1226
+ WITH key_events AS (
1227
+ SELECT read_time AS ts
1228
+ FROM android_input_events
1229
+ WHERE event_type = 'MOTION'
1230
+ AND event_action = 'DOWN'
1231
+ AND process_name NOT IN ('system_server', '/system/bin/inputflinger')
1232
+ AND process_name NOT GLOB 'com.android.systemui*'
1233
+
1234
+ UNION ALL
1235
+
1236
+ SELECT ts
1237
+ FROM android_startups
1238
+ WHERE dur > 0
1239
+
1240
+ UNION ALL
1241
+
1242
+ SELECT ts
1243
+ FROM slice
1244
+ WHERE dur > 0
1245
+ AND (
1246
+ -- Screen unlock signals: keep lock-screen related patterns only.
1247
+ -- Avoid generic '*unlock*' to prevent false positives (e.g. render/mutex unlock slices).
1248
+ LOWER(name) LIKE '%keyguard%dismiss%'
1249
+ OR LOWER(name) LIKE '%keyguard%unlock%'
1250
+ OR LOWER(name) LIKE '%lockscreen%unlock%'
1251
+ OR LOWER(name) LIKE '%unlock%screen%'
1252
+ OR LOWER(name) LIKE '%notificationpanel%expand%'
1253
+ OR LOWER(name) LIKE '%notificationpanel%collapse%'
1254
+ OR (LOWER(name) LIKE '%splitscreen%' AND dur > 500000000)
1255
+ )
1256
+ AND LOWER(name) NOT LIKE '%unlockcanvasandpost%'
1257
+ AND LOWER(name) NOT LIKE '%unlockandpost%'
1258
+ AND LOWER(name) != 'unlock'
1259
+ ),
1260
+ ordered_events AS (
1261
+ SELECT
1262
+ ts,
1263
+ LEAD(ts) OVER (ORDER BY ts) AS next_ts
1264
+ FROM key_events
1265
+ ),
1266
+ idle_windows AS (
1267
+ SELECT
1268
+ ts AS start_ts,
1269
+ next_ts AS end_ts,
1270
+ next_ts - ts AS gap_ns
1271
+ FROM ordered_events
1272
+ WHERE next_ts IS NOT NULL
1273
+ AND next_ts - ts >= 800000000
1274
+ )
1275
+ SELECT
1276
+ printf('%d', start_ts) AS ts,
1277
+ printf('%d', gap_ns) AS dur,
1278
+ '空闲 (' || CAST(gap_ns / 1000000 AS INT) || 'ms)' AS event,
1279
+ CASE
1280
+ WHEN gap_ns >= 3000000000 THEN '高'
1281
+ WHEN gap_ns >= 1500000000 THEN '中'
1282
+ ELSE '低'
1283
+ END AS confidence,
1284
+ 'idle' AS category
1285
+ FROM idle_windows
1286
+ ORDER BY start_ts
1287
+ LIMIT 120
1288
+ save_as: idle_periods
1289
+ optional: true
1290
+
1291
+ # ==========================================================================
1292
+ # L2: App 启动事件
1293
+ # ==========================================================================
1294
+ - id: app_launches
1295
+ type: atomic
1296
+ name: "App 启动事件"
1297
+ condition: table_availability.data[0]?.has_startups === 1
1298
+ display:
1299
+ level: hidden
1300
+ layer: list
1301
+ title: "App 启动"
1302
+ columns:
1303
+ - name: startup_id
1304
+ label: "ID"
1305
+ type: number
1306
+ - name: ts
1307
+ label: "时间"
1308
+ type: timestamp
1309
+ unit: ns
1310
+ clickAction: navigate_range
1311
+ durationColumn: dur
1312
+ - name: dur
1313
+ label: "耗时"
1314
+ type: duration
1315
+ format: duration_ms
1316
+ unit: ns
1317
+ - name: event
1318
+ label: "事件"
1319
+ type: string
1320
+ - name: startup_type
1321
+ label: "类型"
1322
+ type: string
1323
+ - name: package
1324
+ label: "包名"
1325
+ type: string
1326
+ - name: category
1327
+ label: "类别"
1328
+ type: string
1329
+ sql: |
1330
+ WITH RECURSIVE startup_check AS (
1331
+ SELECT 1 AS dummy WHERE EXISTS (
1332
+ SELECT 1 FROM sqlite_master WHERE type='table' AND name='android_startups'
1333
+ )
1334
+ ),
1335
+ -- Reclassify startup_type: platform may report 'warm' even when
1336
+ -- bindApplication exists (process killed + ActivityRecord survives).
1337
+ -- bindApplication on main thread = cold start, period.
1338
+ validated_startups AS (
1339
+ SELECT
1340
+ s.*,
1341
+ CASE
1342
+ WHEN EXISTS (
1343
+ SELECT 1 FROM android_startup_threads st
1344
+ JOIN thread_track tt ON tt.utid = st.utid
1345
+ JOIN slice sl ON sl.track_id = tt.id
1346
+ WHERE st.startup_id = s.startup_id
1347
+ AND st.is_main_thread = 1
1348
+ AND sl.name = 'bindApplication'
1349
+ AND sl.ts + sl.dur > st.ts AND sl.ts < st.ts + st.dur
1350
+ ) THEN 'cold'
1351
+ ELSE s.startup_type
1352
+ END AS validated_type
1353
+ FROM android_startups s
1354
+ WHERE s.dur > 0
1355
+ )
1356
+ SELECT
1357
+ s.startup_id,
1358
+ printf('%d', s.ts) AS ts,
1359
+ printf('%d', s.dur) AS dur,
1360
+ CASE s.validated_type
1361
+ WHEN 'cold' THEN '冷启动'
1362
+ WHEN 'warm' THEN '温启动'
1363
+ WHEN 'hot' THEN '热启动'
1364
+ ELSE '启动'
1365
+ END || ' ' ||
1366
+ REPLACE(REPLACE(s.package, 'com.', ''), 'android.', '') ||
1367
+ ' [' || CAST(s.dur / 1000000 AS INT) || 'ms]' AS event,
1368
+ s.validated_type AS startup_type,
1369
+ s.package,
1370
+ NULL AS ttid_ms,
1371
+ NULL AS ttfd_ms,
1372
+ 'app_launch' AS category
1373
+ FROM validated_startups s
1374
+ ORDER BY s.ts
1375
+ LIMIT 50
1376
+ save_as: launches
1377
+ optional: true
1378
+
1379
+ # ==========================================================================
1380
+ # L2: 系统事件 (解锁/通知栏/分屏等)
1381
+ # ==========================================================================
1382
+ - id: system_events
1383
+ type: atomic
1384
+ name: "系统事件"
1385
+ display:
1386
+ level: hidden
1387
+ layer: list
1388
+ title: "系统事件"
1389
+ columns:
1390
+ - name: ts
1391
+ label: "时间"
1392
+ type: timestamp
1393
+ unit: ns
1394
+ clickAction: navigate_range
1395
+ durationColumn: dur
1396
+ - name: dur
1397
+ label: "持续"
1398
+ type: duration
1399
+ format: duration_ms
1400
+ unit: ns
1401
+ - name: event
1402
+ label: "事件"
1403
+ type: string
1404
+ - name: event_type
1405
+ label: "类型"
1406
+ type: string
1407
+ - name: category
1408
+ label: "类别"
1409
+ type: string
1410
+ sql: |
1411
+ SELECT
1412
+ printf('%d', ts) AS ts,
1413
+ printf('%d', dur) AS dur,
1414
+ CASE
1415
+ WHEN LOWER(name) LIKE '%keyguard%dismiss%'
1416
+ OR LOWER(name) LIKE '%keyguard%unlock%'
1417
+ OR LOWER(name) LIKE '%lockscreen%unlock%'
1418
+ OR LOWER(name) LIKE '%unlock%screen%'
1419
+ THEN '解锁屏幕'
1420
+ WHEN LOWER(name) LIKE '%notificationpanel%expand%' THEN '下拉通知栏'
1421
+ WHEN LOWER(name) LIKE '%notificationpanel%collapse%' THEN '收起通知栏'
1422
+ WHEN LOWER(name) LIKE '%splitscreen%' THEN '分屏操作'
1423
+ WHEN LOWER(name) LIKE '%enterpictureinpicture%' THEN '进入画中画'
1424
+ WHEN LOWER(name) LIKE '%exitpictureinpicture%' THEN '退出画中画'
1425
+ ELSE NULL
1426
+ END AS event,
1427
+ CASE
1428
+ WHEN LOWER(name) LIKE '%keyguard%dismiss%'
1429
+ OR LOWER(name) LIKE '%keyguard%unlock%'
1430
+ OR LOWER(name) LIKE '%lockscreen%unlock%'
1431
+ OR LOWER(name) LIKE '%unlock%screen%'
1432
+ THEN 'screen_unlock'
1433
+ WHEN LOWER(name) LIKE '%notificationpanel%' THEN 'notification'
1434
+ WHEN LOWER(name) LIKE '%splitscreen%' THEN 'split_screen'
1435
+ WHEN LOWER(name) LIKE '%pictureinpicture%' THEN 'pip'
1436
+ ELSE 'system'
1437
+ END AS event_type,
1438
+ 'system' AS category
1439
+ FROM slice
1440
+ WHERE (
1441
+ -- 解锁: 真实解锁 >= 100ms
1442
+ (LOWER(name) LIKE '%keyguard%dismiss%' AND dur > 100000000)
1443
+ OR (LOWER(name) LIKE '%keyguard%unlock%' AND dur > 100000000)
1444
+ OR (LOWER(name) LIKE '%lockscreen%unlock%' AND dur > 100000000)
1445
+ OR (LOWER(name) LIKE '%unlock%screen%' AND dur > 100000000)
1446
+ -- 通知栏: 面板动画 >= 200ms
1447
+ OR (LOWER(name) LIKE '%notificationpanel%expand%' AND dur > 200000000)
1448
+ OR (LOWER(name) LIKE '%notificationpanel%collapse%' AND dur > 200000000)
1449
+ -- 分屏: 用户可感知操作 >= 500ms
1450
+ OR (LOWER(name) LIKE '%splitscreen%' AND dur > 500000000)
1451
+ -- 画中画: 过渡动画 >= 300ms
1452
+ OR (LOWER(name) LIKE '%enterpictureinpicture%' AND dur > 300000000)
1453
+ OR (LOWER(name) LIKE '%exitpictureinpicture%' AND dur > 300000000)
1454
+ )
1455
+ -- 排除干扰项
1456
+ AND LOWER(name) NOT LIKE '%unlockcanvasandpost%'
1457
+ AND LOWER(name) NOT LIKE '%unlockandpost%'
1458
+ AND LOWER(name) != 'unlock'
1459
+ ORDER BY ts
1460
+ LIMIT 100
1461
+ save_as: sys_events
1462
+ optional: true
1463
+
1464
+ # ==========================================================================
1465
+ # L2: 广播事件 (Broadcast/Alarm)
1466
+ # ==========================================================================
1467
+ - id: broadcast_events
1468
+ type: atomic
1469
+ name: "广播事件"
1470
+ display:
1471
+ level: hidden
1472
+ layer: list
1473
+ title: "广播事件"
1474
+ columns:
1475
+ - name: ts
1476
+ label: "时间"
1477
+ type: timestamp
1478
+ unit: ns
1479
+ clickAction: navigate_timeline
1480
+ - name: receiver_name
1481
+ label: "接收者"
1482
+ type: string
1483
+ - name: broadcast_action
1484
+ label: "广播类型"
1485
+ type: string
1486
+ - name: dur_ms
1487
+ label: "耗时(ms)"
1488
+ type: number
1489
+ sql: |
1490
+ SELECT
1491
+ printf('%d', s.ts) AS ts,
1492
+ CASE
1493
+ WHEN s.name LIKE '%:%' THEN SUBSTR(s.name, INSTR(s.name, ':') + 1)
1494
+ WHEN s.name LIKE '% %' THEN SUBSTR(s.name, INSTR(s.name, ' ') + 1)
1495
+ ELSE p.name
1496
+ END AS receiver_name,
1497
+ CASE
1498
+ WHEN s.name GLOB '*BroadcastQueue*' THEN 'BroadcastQueue'
1499
+ WHEN s.name GLOB '*broadcastReceive*' THEN 'broadcastReceive'
1500
+ WHEN s.name GLOB '*AlarmManager*' THEN 'AlarmManager'
1501
+ ELSE s.name
1502
+ END AS broadcast_action,
1503
+ ROUND(s.dur / 1e6, 1) AS dur_ms
1504
+ FROM slice s
1505
+ JOIN thread_track tt ON s.track_id = tt.id
1506
+ JOIN thread t ON tt.utid = t.utid
1507
+ JOIN process p ON t.upid = p.upid
1508
+ WHERE (
1509
+ s.name GLOB '*BroadcastQueue*'
1510
+ OR s.name GLOB '*broadcastReceive*'
1511
+ OR s.name GLOB '*AlarmManager*'
1512
+ )
1513
+ AND s.dur > 1000000
1514
+ ORDER BY s.ts
1515
+ LIMIT 200
1516
+ save_as: broadcast_events
1517
+ optional: true
1518
+
1519
+ # ==========================================================================
1520
+ # L2: 跨进程交互 (显著 Binder 事务 >10ms)
1521
+ # ==========================================================================
1522
+ - id: cross_process_interactions
1523
+ type: atomic
1524
+ name: "跨进程交互"
1525
+ display:
1526
+ level: hidden
1527
+ layer: list
1528
+ title: "跨进程交互"
1529
+ columns:
1530
+ - name: ts
1531
+ label: "时间"
1532
+ type: timestamp
1533
+ unit: ns
1534
+ clickAction: navigate_timeline
1535
+ - name: client_process
1536
+ label: "客户端进程"
1537
+ type: string
1538
+ - name: server_process
1539
+ label: "服务端进程"
1540
+ type: string
1541
+ - name: dur_ms
1542
+ label: "耗时(ms)"
1543
+ type: number
1544
+ - name: interface_name
1545
+ label: "接口名"
1546
+ type: string
1547
+ sql: |
1548
+ -- 使用 stdlib android_binder_txns 替代手动 7-table JOIN
1549
+ SELECT
1550
+ printf('%d', bt.client_ts) AS ts,
1551
+ bt.client_process,
1552
+ bt.server_process,
1553
+ ROUND(bt.client_dur / 1e6, 1) AS dur_ms,
1554
+ COALESCE(bt.aidl_name, 'binder transaction') AS interface_name
1555
+ FROM android_binder_txns bt
1556
+ WHERE bt.client_dur > 10000000
1557
+ AND bt.client_process IS NOT NULL
1558
+ AND bt.server_process IS NOT NULL
1559
+ AND bt.client_process != bt.server_process
1560
+ ORDER BY bt.client_dur DESC
1561
+ LIMIT 100
1562
+ save_as: cross_process_interactions
1563
+ optional: true
1564
+
1565
+ # ==========================================================================
1566
+ # L2: 性能事件 (掉帧)
1567
+ # ==========================================================================
1568
+ - id: jank_events
1569
+ type: atomic
1570
+ name: "掉帧事件"
1571
+ condition: table_availability.data[0]?.has_frame_timeline === 1
1572
+ display:
1573
+ level: hidden
1574
+ layer: list
1575
+ title: "性能事件"
1576
+ columns:
1577
+ - name: ts
1578
+ label: "时间"
1579
+ type: timestamp
1580
+ unit: ns
1581
+ clickAction: navigate_timeline
1582
+ - name: dur
1583
+ label: "帧耗时"
1584
+ type: duration
1585
+ format: duration_ms
1586
+ unit: ns
1587
+ - name: event
1588
+ label: "事件"
1589
+ type: string
1590
+ - name: jank_type
1591
+ label: "掉帧类型"
1592
+ type: string
1593
+ - name: jank_severity_type
1594
+ label: "严重程度"
1595
+ type: string
1596
+ - name: category
1597
+ label: "类别"
1598
+ type: string
1599
+ sql: |
1600
+ SELECT
1601
+ printf('%d', ts) AS ts,
1602
+ printf('%d', dur) AS dur,
1603
+ CASE
1604
+ WHEN jank_type LIKE '%App Deadline%' OR jank_type = 'Self Jank' THEN 'App掉帧'
1605
+ WHEN jank_type LIKE '%SurfaceFlinger%' THEN '合成器掉帧'
1606
+ WHEN jank_type LIKE '%Buffer Stuffing%' THEN '缓冲区积压'
1607
+ ELSE '掉帧'
1608
+ END ||
1609
+ CASE jank_severity_type
1610
+ WHEN 'Partial' THEN ' (轻微)'
1611
+ WHEN 'Full' THEN ' (严重)'
1612
+ ELSE ''
1613
+ END ||
1614
+ ' [' || CAST(dur / 1000000 AS INT) || 'ms]' AS event,
1615
+ jank_type,
1616
+ jank_severity_type,
1617
+ 'performance' AS category
1618
+ FROM actual_frame_timeline_slice
1619
+ WHERE jank_type IS NOT NULL
1620
+ AND jank_type != 'None'
1621
+ AND jank_type != ''
1622
+ ORDER BY ts
1623
+ LIMIT 200
1624
+ save_as: janks
1625
+ optional: true
1626
+
1627
+ # ==========================================================================
1628
+ # L2: 设备状态(CPU频率/内存压力/温度/充电)
1629
+ # ==========================================================================
1630
+ - id: device_state
1631
+ type: atomic
1632
+ name: "设备状态"
1633
+ display:
1634
+ level: detail
1635
+ layer: list
1636
+ title: "设备状态"
1637
+ columns:
1638
+ - name: ts
1639
+ label: "时间"
1640
+ type: timestamp
1641
+ unit: ns
1642
+ clickAction: navigate_timeline
1643
+ - name: event
1644
+ label: "状态"
1645
+ type: string
1646
+ - name: value
1647
+ label: "值"
1648
+ type: string
1649
+ - name: category
1650
+ label: "类别"
1651
+ type: string
1652
+ sql: |
1653
+ WITH time_bounds AS (
1654
+ SELECT MIN(ts) AS t_start, MAX(ts) AS t_end
1655
+ FROM (
1656
+ SELECT ts FROM slice WHERE dur > 0
1657
+ UNION ALL
1658
+ SELECT ts FROM counter WHERE value IS NOT NULL
1659
+ )
1660
+ ),
1661
+ -- CPU frequency ranges: report min/max freq per CPU cluster
1662
+ cpu_freq AS (
1663
+ SELECT
1664
+ printf('%d', MIN(c.ts)) AS ts,
1665
+ 'CPU ' || ct.cpu || ' 频率范围' AS event,
1666
+ CAST(CAST(MIN(c.value) / 1000 AS INT) AS TEXT) || ' - ' ||
1667
+ CAST(CAST(MAX(c.value) / 1000 AS INT) AS TEXT) || ' MHz' AS value,
1668
+ 'cpu_freq' AS category
1669
+ FROM counter c
1670
+ JOIN cpu_counter_track ct ON c.track_id = ct.id
1671
+ WHERE ct.name = 'cpufreq'
1672
+ GROUP BY ct.cpu
1673
+ ),
1674
+ -- Memory pressure (low memory killer / pressure stall)
1675
+ mem_pressure AS (
1676
+ SELECT
1677
+ printf('%d', c.ts) AS ts,
1678
+ 'MemPressure: ' || ct.name AS event,
1679
+ CAST(ROUND(c.value) AS TEXT) AS value,
1680
+ 'memory' AS category
1681
+ FROM counter c
1682
+ JOIN counter_track ct ON c.track_id = ct.id
1683
+ WHERE (ct.name LIKE '%mem%pressure%'
1684
+ OR ct.name LIKE '%MemFree%'
1685
+ OR ct.name LIKE '%SwapFree%'
1686
+ OR ct.name = 'oom_score_adj')
1687
+ AND c.value IS NOT NULL
1688
+ ORDER BY c.ts
1689
+ LIMIT 1
1690
+ ),
1691
+ -- Thermal zones
1692
+ thermal AS (
1693
+ SELECT
1694
+ printf('%d', c.ts) AS ts,
1695
+ '温度: ' || ct.name AS event,
1696
+ CAST(ROUND(c.value / 1000.0, 1) AS TEXT) || ' °C' AS value,
1697
+ 'thermal' AS category
1698
+ FROM counter c
1699
+ JOIN counter_track ct ON c.track_id = ct.id
1700
+ WHERE ct.name LIKE '%thermal_zone%'
1701
+ AND c.value IS NOT NULL
1702
+ GROUP BY ct.name
1703
+ HAVING c.ts = MAX(c.ts)
1704
+ LIMIT 10
1705
+ ),
1706
+ -- Battery / charging status from counter tracks
1707
+ battery AS (
1708
+ SELECT
1709
+ printf('%d', c.ts) AS ts,
1710
+ CASE
1711
+ WHEN ct.name LIKE '%charge%' THEN '电池电量'
1712
+ WHEN ct.name LIKE '%plugged%' THEN '充电状态'
1713
+ WHEN ct.name LIKE '%voltage%' THEN '电池电压'
1714
+ WHEN ct.name LIKE '%current%' THEN '电池电流'
1715
+ ELSE ct.name
1716
+ END AS event,
1717
+ CASE
1718
+ WHEN ct.name LIKE '%plugged%' THEN
1719
+ CASE CAST(c.value AS INT)
1720
+ WHEN 0 THEN '未充电'
1721
+ WHEN 1 THEN 'AC 充电'
1722
+ WHEN 2 THEN 'USB 充电'
1723
+ WHEN 4 THEN '无线充电'
1724
+ ELSE '充电(' || CAST(CAST(c.value AS INT) AS TEXT) || ')'
1725
+ END
1726
+ WHEN ct.name LIKE '%charge%' AND c.value <= 100 THEN CAST(CAST(c.value AS INT) AS TEXT) || '%'
1727
+ ELSE CAST(ROUND(c.value) AS TEXT)
1728
+ END AS value,
1729
+ 'battery' AS category
1730
+ FROM counter c
1731
+ JOIN counter_track ct ON c.track_id = ct.id
1732
+ WHERE (ct.name LIKE '%battery%charge%'
1733
+ OR ct.name LIKE '%battery%plugged%'
1734
+ OR ct.name LIKE 'batt.%')
1735
+ AND c.value IS NOT NULL
1736
+ GROUP BY ct.name
1737
+ HAVING c.ts = MIN(c.ts)
1738
+ ORDER BY c.ts
1739
+ LIMIT 10
1740
+ ),
1741
+ -- Foreground apps (oom_adj <= 0)
1742
+ fg_apps AS (
1743
+ SELECT
1744
+ printf('%d', c.ts) AS ts,
1745
+ '前台进程: ' || p.name AS event,
1746
+ 'oom_adj=' || CAST(CAST(c.value AS INT) AS TEXT) AS value,
1747
+ 'foreground_app' AS category
1748
+ FROM counter c
1749
+ JOIN process_counter_track pct ON c.track_id = pct.id
1750
+ JOIN process p ON pct.upid = p.upid
1751
+ WHERE pct.name = 'oom_score_adj'
1752
+ AND c.value <= 0
1753
+ AND p.name IS NOT NULL
1754
+ AND p.name != ''
1755
+ AND p.name NOT LIKE '%system_server%'
1756
+ AND p.name NOT LIKE '%surfaceflinger%'
1757
+ AND p.name NOT LIKE '%zygote%'
1758
+ GROUP BY p.name
1759
+ HAVING c.ts = MIN(c.ts)
1760
+ ORDER BY c.ts
1761
+ LIMIT 20
1762
+ )
1763
+ SELECT * FROM cpu_freq
1764
+ UNION ALL SELECT * FROM mem_pressure
1765
+ UNION ALL SELECT * FROM thermal
1766
+ UNION ALL SELECT * FROM battery
1767
+ UNION ALL SELECT * FROM fg_apps
1768
+ ORDER BY ts
1769
+ LIMIT 100
1770
+ save_as: device_state
1771
+ optional: true
1772
+
1773
+ # ==========================================================================
1774
+ # L2: App 前后台状态跟踪(oom_adj 变化 + 进程生死)
1775
+ # ==========================================================================
1776
+ - id: app_state_tracking
1777
+ type: atomic
1778
+ name: "App 状态跟踪"
1779
+ display:
1780
+ level: detail
1781
+ layer: list
1782
+ title: "App 前后台状态"
1783
+ columns:
1784
+ - name: ts
1785
+ label: "时间"
1786
+ type: timestamp
1787
+ unit: ns
1788
+ clickAction: navigate_timeline
1789
+ - name: event
1790
+ label: "事件"
1791
+ type: string
1792
+ - name: app_package
1793
+ label: "应用"
1794
+ type: string
1795
+ - name: oom_adj
1796
+ label: "oom_adj"
1797
+ type: number
1798
+ - name: state_label
1799
+ label: "状态"
1800
+ type: string
1801
+ - name: category
1802
+ label: "类别"
1803
+ type: string
1804
+ sql: |
1805
+ WITH oom_changes AS (
1806
+ SELECT
1807
+ c.ts,
1808
+ p.name AS app_package,
1809
+ CAST(c.value AS INT) AS oom_adj,
1810
+ LAG(CAST(c.value AS INT)) OVER (PARTITION BY p.name ORDER BY c.ts) AS prev_oom_adj
1811
+ FROM counter c
1812
+ JOIN process_counter_track pct ON c.track_id = pct.id
1813
+ JOIN process p ON pct.upid = p.upid
1814
+ WHERE pct.name = 'oom_score_adj'
1815
+ AND p.name IS NOT NULL
1816
+ AND p.name != ''
1817
+ AND p.name NOT LIKE '%system_server%'
1818
+ AND p.name NOT LIKE '%surfaceflinger%'
1819
+ AND p.name NOT LIKE '%servicemanager%'
1820
+ AND p.name NOT LIKE '%zygote%'
1821
+ AND p.name NOT LIKE '%init%'
1822
+ AND p.name NOT LIKE '%logd%'
1823
+ AND p.name NOT LIKE '%vold%'
1824
+ AND p.name NOT LIKE '%lmkd%'
1825
+ ),
1826
+ -- Filter to only significant transitions (foreground/visible/background boundaries)
1827
+ significant_changes AS (
1828
+ SELECT
1829
+ ts, app_package, oom_adj, prev_oom_adj,
1830
+ CASE
1831
+ WHEN oom_adj <= 0 THEN '前台'
1832
+ WHEN oom_adj <= 200 THEN '可见'
1833
+ WHEN oom_adj <= 700 THEN '后台'
1834
+ ELSE '缓存/即将回收'
1835
+ END AS state_label,
1836
+ CASE
1837
+ WHEN prev_oom_adj IS NULL THEN '进程出现'
1838
+ WHEN prev_oom_adj > 0 AND oom_adj <= 0 THEN '进入前台'
1839
+ WHEN prev_oom_adj <= 0 AND oom_adj > 0 THEN '离开前台'
1840
+ WHEN prev_oom_adj <= 200 AND oom_adj > 200 THEN '进入后台'
1841
+ WHEN prev_oom_adj > 700 AND oom_adj <= 200 THEN '恢复可见'
1842
+ ELSE NULL
1843
+ END AS transition
1844
+ FROM oom_changes
1845
+ WHERE prev_oom_adj IS NULL
1846
+ OR (prev_oom_adj > 0 AND oom_adj <= 0)
1847
+ OR (prev_oom_adj <= 0 AND oom_adj > 0)
1848
+ OR (prev_oom_adj <= 200 AND oom_adj > 200)
1849
+ OR (prev_oom_adj > 700 AND oom_adj <= 200)
1850
+ ),
1851
+ -- Process start events (from process table start_ts)
1852
+ proc_starts AS (
1853
+ SELECT
1854
+ p.start_ts AS ts,
1855
+ p.name AS app_package,
1856
+ -1000 AS oom_adj,
1857
+ '进程创建' AS state_label,
1858
+ '进程创建' AS transition
1859
+ FROM process p
1860
+ WHERE p.start_ts IS NOT NULL
1861
+ AND p.start_ts > 0
1862
+ AND p.name IS NOT NULL
1863
+ AND p.name GLOB '*.*'
1864
+ AND p.name NOT LIKE '%system_server%'
1865
+ AND p.name NOT LIKE '%zygote%'
1866
+ )
1867
+ SELECT
1868
+ printf('%d', ts) AS ts,
1869
+ COALESCE(transition, state_label) AS event,
1870
+ app_package,
1871
+ oom_adj,
1872
+ state_label,
1873
+ 'app_state' AS category
1874
+ FROM (
1875
+ SELECT ts, app_package, oom_adj, state_label, transition
1876
+ FROM significant_changes
1877
+ WHERE transition IS NOT NULL
1878
+ UNION ALL
1879
+ SELECT ts, app_package, oom_adj, state_label, transition
1880
+ FROM proc_starts
1881
+ )
1882
+ ORDER BY ts
1883
+ LIMIT 200
1884
+ save_as: app_states
1885
+ optional: true
1886
+
1887
+ # ==========================================================================
1888
+ # L2: 操作链(按时间顺序合并所有用户可感知事件)
1889
+ # ==========================================================================
1890
+ - id: operation_chain
1891
+ type: atomic
1892
+ name: "操作链"
1893
+ display:
1894
+ level: hidden
1895
+ layer: list
1896
+ title: "操作链"
1897
+ columns:
1898
+ - name: time_offset
1899
+ label: "时间偏移"
1900
+ type: string
1901
+ - name: ts
1902
+ label: "时间戳"
1903
+ type: timestamp
1904
+ unit: ns
1905
+ clickAction: navigate_timeline
1906
+ - name: event
1907
+ label: "事件"
1908
+ type: string
1909
+ - name: category
1910
+ label: "类别"
1911
+ type: string
1912
+ - name: priority
1913
+ label: "优先级"
1914
+ type: number
1915
+ sql: |
1916
+ WITH time_bounds AS (
1917
+ SELECT MIN(ts) AS t_start
1918
+ FROM (
1919
+ SELECT ts FROM slice WHERE dur > 0
1920
+ UNION ALL
1921
+ SELECT ts FROM counter WHERE value IS NOT NULL
1922
+ )
1923
+ ),
1924
+ -- Screen on/off
1925
+ screen_ev AS (
1926
+ SELECT ts,
1927
+ CASE screen_state WHEN 1 THEN '屏幕熄灭' WHEN 2 THEN '屏幕点亮' WHEN 3 THEN '屏幕休眠'
1928
+ ELSE '屏幕状态 ' || screen_state END AS event,
1929
+ 'screen' AS category, 1 AS priority
1930
+ FROM android_screen_state WHERE dur > 0
1931
+ LIMIT 30
1932
+ ),
1933
+ -- App launches (reclassify: bindApplication on main thread → cold)
1934
+ launch_validated AS (
1935
+ SELECT s.ts, s.dur, s.package, s.startup_id,
1936
+ CASE
1937
+ WHEN EXISTS (
1938
+ SELECT 1 FROM android_startup_threads st
1939
+ JOIN thread_track tt ON tt.utid = st.utid
1940
+ JOIN slice sl ON sl.track_id = tt.id
1941
+ WHERE st.startup_id = s.startup_id
1942
+ AND st.is_main_thread = 1
1943
+ AND sl.name = 'bindApplication'
1944
+ AND sl.ts + sl.dur > st.ts AND sl.ts < st.ts + st.dur
1945
+ ) THEN 'cold'
1946
+ ELSE s.startup_type
1947
+ END AS startup_type
1948
+ FROM android_startups s WHERE s.dur > 0
1949
+ ),
1950
+ launch_ev AS (
1951
+ SELECT ts,
1952
+ CASE startup_type WHEN 'cold' THEN '冷启动' WHEN 'warm' THEN '温启动' WHEN 'hot' THEN '热启动'
1953
+ ELSE '启动' END || ' ' || package || ' [' || CAST(dur / 1000000 AS INT) || 'ms]' AS event,
1954
+ 'app_launch' AS category, 2 AS priority
1955
+ FROM launch_validated
1956
+ LIMIT 30
1957
+ ),
1958
+ -- Top-app switches
1959
+ topapp_ev AS (
1960
+ SELECT ts,
1961
+ '切换前台: ' || str_value AS event,
1962
+ 'app_switch' AS category, 3 AS priority
1963
+ FROM android_battery_stats_event_slices
1964
+ WHERE track_name = 'battery_stats.top' AND safe_dur > 100000000
1965
+ LIMIT 30
1966
+ ),
1967
+ -- Gestures (simplified from input events)
1968
+ gesture_base AS (
1969
+ SELECT
1970
+ read_time AS ts, event_action,
1971
+ SUM(CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END) OVER (ORDER BY read_time) AS gid
1972
+ FROM android_input_events
1973
+ WHERE event_type = 'MOTION'
1974
+ AND process_name NOT IN ('system_server', '/system/bin/inputflinger')
1975
+ AND process_name NOT GLOB 'com.android.systemui*'
1976
+ ),
1977
+ gesture_agg AS (
1978
+ SELECT gid, MIN(ts) AS ts, MAX(ts) - MIN(ts) AS dur,
1979
+ COUNT(CASE WHEN event_action = 'MOVE' THEN 1 END) AS mc
1980
+ FROM gesture_base WHERE gid > 0 GROUP BY gid HAVING COUNT(*) >= 2
1981
+ ),
1982
+ gesture_ev AS (
1983
+ SELECT ts,
1984
+ CASE
1985
+ WHEN mc >= 3 THEN '滑动列表 (' || mc || '次移动, ' || CAST(dur / 1000000 AS INT) || 'ms)'
1986
+ WHEN dur > 500000000 AND mc <= 2 THEN '长按 (' || CAST(dur / 1000000 AS INT) || 'ms)'
1987
+ ELSE '点击'
1988
+ END AS event,
1989
+ 'gesture' AS category, 4 AS priority
1990
+ FROM gesture_agg
1991
+ LIMIT 60
1992
+ ),
1993
+ -- Foreground transitions (oom_adj crossing 0)
1994
+ fg_transitions AS (
1995
+ SELECT c.ts,
1996
+ CASE
1997
+ WHEN CAST(c.value AS INT) <= 0 THEN '进入前台: ' || p.name
1998
+ ELSE '离开前台: ' || p.name
1999
+ END AS event,
2000
+ 'app_state' AS category, 5 AS priority
2001
+ FROM counter c
2002
+ JOIN process_counter_track pct ON c.track_id = pct.id
2003
+ JOIN process p ON pct.upid = p.upid
2004
+ WHERE pct.name = 'oom_score_adj'
2005
+ AND p.name GLOB '*.*'
2006
+ AND p.name NOT LIKE '%system_server%'
2007
+ AND p.name NOT LIKE '%zygote%'
2008
+ AND (
2009
+ (CAST(c.value AS INT) <= 0
2010
+ AND COALESCE(
2011
+ (SELECT CAST(c2.value AS INT) FROM counter c2
2012
+ WHERE c2.track_id = c.track_id AND c2.ts < c.ts
2013
+ ORDER BY c2.ts DESC LIMIT 1), 999) > 0)
2014
+ OR
2015
+ (CAST(c.value AS INT) > 0
2016
+ AND COALESCE(
2017
+ (SELECT CAST(c2.value AS INT) FROM counter c2
2018
+ WHERE c2.track_id = c.track_id AND c2.ts < c.ts
2019
+ ORDER BY c2.ts DESC LIMIT 1), 999) <= 0)
2020
+ )
2021
+ LIMIT 30
2022
+ ),
2023
+ -- System events (quality-gated: per-event duration thresholds)
2024
+ sys_ev AS (
2025
+ SELECT ts,
2026
+ CASE
2027
+ WHEN LOWER(name) LIKE '%keyguard%dismiss%' OR LOWER(name) LIKE '%keyguard%unlock%'
2028
+ OR LOWER(name) LIKE '%lockscreen%unlock%' OR LOWER(name) LIKE '%unlock%screen%'
2029
+ THEN '解锁屏幕'
2030
+ WHEN LOWER(name) LIKE '%notificationpanel%expand%' THEN '下拉通知栏'
2031
+ WHEN LOWER(name) LIKE '%notificationpanel%collapse%' THEN '收起通知栏'
2032
+ WHEN LOWER(name) LIKE '%splitscreen%' THEN '分屏操作'
2033
+ WHEN LOWER(name) LIKE '%enterpictureinpicture%' THEN '进入画中画'
2034
+ WHEN LOWER(name) LIKE '%exitpictureinpicture%' THEN '退出画中画'
2035
+ ELSE NULL
2036
+ END AS event,
2037
+ 'system' AS category, 2 AS priority
2038
+ FROM slice
2039
+ WHERE (
2040
+ (LOWER(name) LIKE '%keyguard%dismiss%' AND dur > 100000000)
2041
+ OR (LOWER(name) LIKE '%keyguard%unlock%' AND dur > 100000000)
2042
+ OR (LOWER(name) LIKE '%lockscreen%unlock%' AND dur > 100000000)
2043
+ OR (LOWER(name) LIKE '%unlock%screen%' AND dur > 100000000)
2044
+ OR (LOWER(name) LIKE '%notificationpanel%expand%' AND dur > 200000000)
2045
+ OR (LOWER(name) LIKE '%notificationpanel%collapse%' AND dur > 200000000)
2046
+ OR (LOWER(name) LIKE '%splitscreen%' AND dur > 500000000)
2047
+ OR (LOWER(name) LIKE '%enterpictureinpicture%' AND dur > 300000000)
2048
+ OR (LOWER(name) LIKE '%exitpictureinpicture%' AND dur > 300000000)
2049
+ )
2050
+ AND LOWER(name) NOT LIKE '%unlockcanvasandpost%'
2051
+ AND LOWER(name) NOT LIKE '%unlockandpost%'
2052
+ AND LOWER(name) != 'unlock'
2053
+ LIMIT 20
2054
+ ),
2055
+ all_chain AS (
2056
+ SELECT * FROM screen_ev
2057
+ UNION ALL SELECT * FROM launch_ev
2058
+ UNION ALL SELECT * FROM topapp_ev
2059
+ UNION ALL SELECT * FROM gesture_ev
2060
+ UNION ALL SELECT * FROM fg_transitions
2061
+ UNION ALL SELECT * FROM sys_ev WHERE event IS NOT NULL
2062
+ )
2063
+ SELECT
2064
+ printf('%02d:%02d.%03d',
2065
+ CAST((ts - (SELECT t_start FROM time_bounds)) / 60000000000 AS INT),
2066
+ CAST(((ts - (SELECT t_start FROM time_bounds)) / 1000000000) % 60 AS INT),
2067
+ CAST(((ts - (SELECT t_start FROM time_bounds)) / 1000000) % 1000 AS INT)
2068
+ ) AS time_offset,
2069
+ printf('%d', ts) AS ts,
2070
+ event,
2071
+ category,
2072
+ priority
2073
+ FROM all_chain
2074
+ ORDER BY ts, priority
2075
+ LIMIT 200
2076
+ save_as: operation_chain
2077
+ optional: true
2078
+
2079
+ # ==========================================================================
2080
+ # 干净时间线 — 用户看到的主要输出
2081
+ # ==========================================================================
2082
+ - id: clean_timeline
2083
+ type: atomic
2084
+ name: "场景时间线"
2085
+ condition: table_availability.data[0]?.has_input_events === 1 || table_availability.data[0]?.has_startups === 1 || table_availability.data[0]?.has_key_events === 1 || table_availability.data[0]?.has_anrs === 1
2086
+ display:
2087
+ level: detail
2088
+ layer: list
2089
+ title: "场景时间线"
2090
+ columns:
2091
+ - name: event_id
2092
+ label: "ID"
2093
+ type: string
2094
+ hidden: true
2095
+ - name: time_offset
2096
+ label: "时间"
2097
+ type: string
2098
+ - name: ts
2099
+ label: "时间戳"
2100
+ type: timestamp
2101
+ unit: ns
2102
+ clickAction: navigate_range
2103
+ durationColumn: dur
2104
+ - name: dur
2105
+ label: "持续"
2106
+ type: duration
2107
+ format: duration_ms
2108
+ unit: ns
2109
+ hidden: true
2110
+ - name: dur_ms
2111
+ label: "耗时(ms)"
2112
+ type: number
2113
+ - name: event_type
2114
+ label: "类型"
2115
+ type: string
2116
+ hidden: true
2117
+ - name: event
2118
+ label: "事件"
2119
+ type: string
2120
+ - name: app_package
2121
+ label: "应用"
2122
+ type: string
2123
+ - name: rating
2124
+ label: "评级"
2125
+ type: string
2126
+ sql: |
2127
+ WITH time_bounds AS (
2128
+ SELECT MIN(ts) AS t_start
2129
+ FROM (
2130
+ SELECT ts FROM slice WHERE dur > 0
2131
+ UNION ALL
2132
+ SELECT ts FROM counter WHERE value IS NOT NULL
2133
+ )
2134
+ ),
2135
+ -- Screen state removed: now shown in dedicated Device State lane (state_timeline skill)
2136
+ -- ========== 数据源 1: App 启动 (reclassify: bindApplication → cold) ==========
2137
+ launch_type_validated AS (
2138
+ SELECT
2139
+ s.ts, s.dur, s.package, s.startup_id,
2140
+ CASE
2141
+ WHEN EXISTS (
2142
+ SELECT 1 FROM android_startup_threads st
2143
+ JOIN thread_track tt ON tt.utid = st.utid
2144
+ JOIN slice sl ON sl.track_id = tt.id
2145
+ WHERE st.startup_id = s.startup_id
2146
+ AND st.is_main_thread = 1
2147
+ AND sl.name = 'bindApplication'
2148
+ AND sl.ts + sl.dur > st.ts AND sl.ts < st.ts + st.dur
2149
+ ) THEN 'cold'
2150
+ ELSE s.startup_type
2151
+ END AS startup_type
2152
+ FROM android_startups s
2153
+ WHERE s.dur > 0
2154
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_startups')
2155
+ ),
2156
+ launch_ev AS (
2157
+ SELECT
2158
+ s.ts,
2159
+ s.dur,
2160
+ CASE s.startup_type
2161
+ WHEN 'cold' THEN '冷启动'
2162
+ WHEN 'warm' THEN '温启动'
2163
+ WHEN 'hot' THEN '热启动'
2164
+ ELSE '启动'
2165
+ END || ' ' ||
2166
+ REPLACE(REPLACE(s.package, 'com.', ''), 'android.', '') ||
2167
+ ' [' || CAST(s.dur / 1000000 AS INT) || 'ms]' AS event,
2168
+ CASE s.startup_type
2169
+ WHEN 'cold' THEN 'cold_start'
2170
+ WHEN 'warm' THEN 'warm_start'
2171
+ WHEN 'hot' THEN 'hot_start'
2172
+ ELSE 'cold_start'
2173
+ END AS event_type,
2174
+ s.package AS app_package,
2175
+ 'app_launch' AS category,
2176
+ 2 AS priority
2177
+ FROM launch_type_validated s
2178
+ LIMIT 30
2179
+ ),
2180
+ -- ========== 数据源 3: 用户手势 (tap/scroll/long_press) ==========
2181
+ gesture_base AS (
2182
+ SELECT
2183
+ read_time AS ts, event_action, process_name,
2184
+ SUM(CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END) OVER (ORDER BY read_time) AS gid
2185
+ FROM android_input_events
2186
+ WHERE event_type = 'MOTION'
2187
+ AND process_name NOT IN ('system_server', '/system/bin/inputflinger')
2188
+ AND process_name NOT GLOB 'com.android.systemui*'
2189
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_input_events')
2190
+ ),
2191
+ gesture_agg AS (
2192
+ SELECT
2193
+ gid,
2194
+ MIN(ts) AS ts,
2195
+ MAX(ts) - MIN(ts) AS dur,
2196
+ COUNT(*) AS event_count,
2197
+ COUNT(CASE WHEN event_action = 'MOVE' THEN 1 END) AS move_count,
2198
+ MAX(process_name) AS app
2199
+ FROM gesture_base
2200
+ WHERE gid > 0
2201
+ GROUP BY gid
2202
+ HAVING COUNT(*) >= 2
2203
+ ),
2204
+ gesture_ev AS (
2205
+ SELECT
2206
+ ts,
2207
+ dur,
2208
+ CASE
2209
+ WHEN move_count >= 3 THEN '滑动 (' || move_count || '次移动, ' || CAST(dur / 1000000 AS INT) || 'ms)'
2210
+ WHEN dur > 500000000 AND move_count <= 2 THEN '长按 (' || CAST(dur / 1000000 AS INT) || 'ms)'
2211
+ ELSE '点击'
2212
+ END ||
2213
+ CASE
2214
+ WHEN app IS NOT NULL AND app != ''
2215
+ THEN ' [' || REPLACE(REPLACE(app, 'com.', ''), 'android.', '') || ']'
2216
+ ELSE ''
2217
+ END AS event,
2218
+ CASE
2219
+ WHEN move_count >= 3 THEN 'scroll'
2220
+ WHEN dur > 500000000 AND move_count <= 2 THEN 'long_press'
2221
+ ELSE 'tap'
2222
+ END AS event_type,
2223
+ CASE
2224
+ WHEN app IS NOT NULL AND app != '' THEN app
2225
+ ELSE NULL
2226
+ END AS app_package,
2227
+ 'gesture' AS category,
2228
+ 3 AS priority
2229
+ FROM gesture_agg
2230
+ LIMIT 60
2231
+ ),
2232
+ -- ========== 数据源 4: Top App 切换 ==========
2233
+ topapp_ev AS (
2234
+ SELECT
2235
+ ts,
2236
+ safe_dur AS dur,
2237
+ '切换到 ' || REPLACE(REPLACE(str_value, 'com.', ''), 'android.', '') AS event,
2238
+ CASE
2239
+ WHEN LOWER(str_value) LIKE '%launcher%' OR LOWER(str_value) LIKE '%miui.home%'
2240
+ OR LOWER(str_value) LIKE '%trebuchet%' OR LOWER(str_value) LIKE '%nexuslauncher%'
2241
+ OR LOWER(str_value) LIKE '%lawnchair%' OR LOWER(str_value) LIKE '%.home%'
2242
+ THEN 'home_screen'
2243
+ ELSE 'app_foreground'
2244
+ END AS event_type,
2245
+ str_value AS app_package,
2246
+ 'app_switch' AS category,
2247
+ 4 AS priority
2248
+ FROM android_battery_stats_event_slices
2249
+ WHERE track_name = 'battery_stats.top'
2250
+ AND safe_dur > 100000000
2251
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_battery_stats_event_slices')
2252
+ LIMIT 30
2253
+ ),
2254
+ -- ========== 数据源 5: 系统事件 (quality-gated) ==========
2255
+ system_ev AS (
2256
+ SELECT
2257
+ ts,
2258
+ dur,
2259
+ CASE
2260
+ WHEN LOWER(name) LIKE '%keyguard%dismiss%'
2261
+ OR LOWER(name) LIKE '%keyguard%unlock%'
2262
+ OR LOWER(name) LIKE '%lockscreen%unlock%'
2263
+ OR LOWER(name) LIKE '%unlock%screen%'
2264
+ THEN '解锁屏幕'
2265
+ WHEN LOWER(name) LIKE '%notificationpanel%expand%' THEN '下拉通知栏'
2266
+ WHEN LOWER(name) LIKE '%notificationpanel%collapse%' THEN '收起通知栏'
2267
+ WHEN LOWER(name) LIKE '%splitscreen%' THEN '分屏操作'
2268
+ WHEN LOWER(name) LIKE '%enterpictureinpicture%' THEN '进入画中画'
2269
+ WHEN LOWER(name) LIKE '%exitpictureinpicture%' THEN '退出画中画'
2270
+ ELSE NULL
2271
+ END AS event,
2272
+ CASE
2273
+ WHEN LOWER(name) LIKE '%keyguard%' OR LOWER(name) LIKE '%lockscreen%'
2274
+ OR LOWER(name) LIKE '%unlock%screen%' THEN 'screen_unlock'
2275
+ WHEN LOWER(name) LIKE '%notificationpanel%' THEN 'notification'
2276
+ WHEN LOWER(name) LIKE '%splitscreen%' THEN 'split_screen'
2277
+ WHEN LOWER(name) LIKE '%pictureinpicture%' THEN 'pip'
2278
+ ELSE 'system'
2279
+ END AS event_type,
2280
+ NULL AS app_package,
2281
+ 'system' AS category,
2282
+ 2 AS priority
2283
+ FROM slice
2284
+ WHERE (
2285
+ (LOWER(name) LIKE '%keyguard%dismiss%' AND dur > 100000000)
2286
+ OR (LOWER(name) LIKE '%keyguard%unlock%' AND dur > 100000000)
2287
+ OR (LOWER(name) LIKE '%lockscreen%unlock%' AND dur > 100000000)
2288
+ OR (LOWER(name) LIKE '%unlock%screen%' AND dur > 100000000)
2289
+ OR (LOWER(name) LIKE '%notificationpanel%expand%' AND dur > 200000000)
2290
+ OR (LOWER(name) LIKE '%notificationpanel%collapse%' AND dur > 200000000)
2291
+ OR (LOWER(name) LIKE '%splitscreen%' AND dur > 500000000)
2292
+ OR (LOWER(name) LIKE '%enterpictureinpicture%' AND dur > 300000000)
2293
+ OR (LOWER(name) LIKE '%exitpictureinpicture%' AND dur > 300000000)
2294
+ )
2295
+ AND LOWER(name) NOT LIKE '%unlockcanvasandpost%'
2296
+ AND LOWER(name) NOT LIKE '%unlockandpost%'
2297
+ AND LOWER(name) != 'unlock'
2298
+ LIMIT 20
2299
+ ),
2300
+ -- ========== 数据源 6: Idle 空闲 ==========
2301
+ idle_ev AS (
2302
+ SELECT
2303
+ ts,
2304
+ gap_ns AS dur,
2305
+ '空闲 (' || CAST(gap_ns / 1000000 AS INT) || 'ms)' AS event,
2306
+ 'idle' AS event_type,
2307
+ NULL AS app_package,
2308
+ 'idle' AS category,
2309
+ 5 AS priority
2310
+ FROM (
2311
+ SELECT
2312
+ ts,
2313
+ LEAD(ts) OVER (ORDER BY ts) AS next_ts,
2314
+ LEAD(ts) OVER (ORDER BY ts) - ts AS gap_ns
2315
+ FROM (
2316
+ SELECT read_time AS ts FROM android_input_events
2317
+ WHERE event_type = 'MOTION' AND event_action = 'DOWN'
2318
+ AND process_name NOT IN ('system_server', '/system/bin/inputflinger')
2319
+ AND process_name NOT GLOB 'com.android.systemui*'
2320
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_input_events')
2321
+ UNION ALL
2322
+ SELECT ts FROM android_startups WHERE dur > 0
2323
+ AND EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_startups')
2324
+ )
2325
+ )
2326
+ WHERE gap_ns >= 800000000
2327
+ LIMIT 30
2328
+ ),
2329
+ -- ========== 数据源 7: 导航按键 + 手势导航 ==========
2330
+ nav_key_ev AS (
2331
+ SELECT ts, dur, event, key_name AS event_type, NULL AS app_package,
2332
+ 'navigation_key' AS category, 2 AS priority
2333
+ FROM (
2334
+ -- Source A: android_key_events (三键导航)
2335
+ SELECT printf('%d', d.ts) AS ts, printf('%d', COALESCE(u.up_ts - d.ts, 0)) AS dur,
2336
+ CASE d.key_code WHEN 4 THEN '返回键' WHEN 3 THEN 'Home键' WHEN 187 THEN '最近任务键' END AS event,
2337
+ CASE d.key_code WHEN 4 THEN 'back_key' WHEN 3 THEN 'home_key' WHEN 187 THEN 'recents_key' END AS key_name
2338
+ FROM (SELECT ts, key_code, ROW_NUMBER() OVER (PARTITION BY key_code ORDER BY ts) AS rn
2339
+ FROM android_key_events WHERE action = 0 AND key_code IN (3,4,187)) d
2340
+ LEFT JOIN (SELECT ts AS up_ts, key_code, ROW_NUMBER() OVER (PARTITION BY key_code ORDER BY ts) AS rn
2341
+ FROM android_key_events WHERE action = 1 AND key_code IN (3,4,187)) u
2342
+ ON u.key_code = d.key_code AND u.rn = d.rn AND u.up_ts >= d.ts
2343
+ WHERE EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_key_events')
2344
+ UNION ALL
2345
+ -- Source B: gesture navigation slices (手势导航)
2346
+ SELECT printf('%d', s.ts) AS ts, printf('%d', s.dur) AS dur,
2347
+ CASE
2348
+ WHEN s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*' OR s.name GLOB '*BackPanel*' THEN '返回手势'
2349
+ WHEN s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*'
2350
+ OR s.name GLOB '*launcher*goHome*' THEN 'Home手势'
2351
+ WHEN s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*' THEN '最近任务手势'
2352
+ END AS event,
2353
+ CASE
2354
+ WHEN s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*' OR s.name GLOB '*BackPanel*' THEN 'back_key'
2355
+ WHEN s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*'
2356
+ OR s.name GLOB '*launcher*goHome*' THEN 'home_key'
2357
+ WHEN s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*' THEN 'recents_key'
2358
+ END AS key_name
2359
+ FROM slice s
2360
+ JOIN thread_track tt ON s.track_id = tt.id JOIN thread t ON tt.utid = t.utid JOIN process p ON t.upid = p.upid
2361
+ WHERE (p.name GLOB 'com.android.systemui*' OR p.name GLOB '*launcher*')
2362
+ AND s.dur > 10000000
2363
+ AND (s.name GLOB '*BackGesture*' OR s.name GLOB '*onBackGesture*' OR s.name GLOB '*BackPanel*'
2364
+ OR s.name GLOB '*SwipeToHome*' OR s.name GLOB '*goToHome*' OR s.name GLOB '*launcher*goHome*'
2365
+ OR s.name GLOB '*RecentsAnimation*' OR s.name GLOB '*startRecentsActivity*')
2366
+ ) sub
2367
+ WHERE event IS NOT NULL
2368
+ LIMIT 60
2369
+ ),
2370
+ -- ========== 数据源 8: ANR ==========
2371
+ anr_ev AS (
2372
+ SELECT
2373
+ printf('%d', ts - CAST(COALESCE(anr_dur_ms, default_anr_dur_ms, 5000) AS INTEGER) * 1000000) AS ts,
2374
+ printf('%d', CAST(COALESCE(anr_dur_ms, default_anr_dur_ms, 5000) AS INTEGER) * 1000000) AS dur,
2375
+ 'ANR: ' || REPLACE(REPLACE(process_name, 'com.', ''), 'android.', '') ||
2376
+ ' (' || COALESCE(anr_type, 'unknown') || ')' AS event,
2377
+ 'anr' AS event_type,
2378
+ process_name AS app_package,
2379
+ 'anr' AS category,
2380
+ 1 AS priority
2381
+ FROM android_anrs
2382
+ WHERE EXISTS (SELECT 1 FROM sqlite_master WHERE type IN ('table','view') AND name='android_anrs')
2383
+ LIMIT 20
2384
+ ),
2385
+ -- ========== 数据源 9: 输入法 ==========
2386
+ ime_ev AS (
2387
+ SELECT printf('%d', s.ts) AS ts, printf('%d', s.dur) AS dur,
2388
+ CASE WHEN s.name GLOB '*show*' THEN '键盘弹出 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
2389
+ ELSE '键盘收起 [' || CAST(s.dur / 1000000 AS INT) || 'ms]'
2390
+ END AS event,
2391
+ CASE WHEN s.name GLOB '*show*' THEN 'ime_show' ELSE 'ime_hide' END AS event_type,
2392
+ NULL AS app_package, 'ime' AS category, 4 AS priority
2393
+ FROM slice s
2394
+ WHERE s.dur > 5000000
2395
+ AND (s.name GLOB '*showSoftInput*' OR s.name GLOB '*hideSoftInput*'
2396
+ OR s.name GLOB '*InputMethodService*show*' OR s.name GLOB '*InputMethodService*hide*'
2397
+ OR s.name GLOB '*InputMethodManager*show*' OR s.name GLOB '*InputMethodManager*hide*')
2398
+ LIMIT 30
2399
+ ),
2400
+ -- ========== 数据源 10: 窗口转场 ==========
2401
+ win_trans_ev AS (
2402
+ SELECT printf('%d', s.ts) AS ts, printf('%d', s.dur) AS dur,
2403
+ CASE
2404
+ WHEN s.name GLOB '*openAnimation*' THEN '窗口打开'
2405
+ WHEN s.name GLOB '*closeAnimation*' THEN '窗口关闭'
2406
+ WHEN s.name GLOB '*Shell transition*' THEN 'Shell转场'
2407
+ ELSE '窗口转场'
2408
+ END || ' [' || CAST(s.dur / 1000000 AS INT) || 'ms]' AS event,
2409
+ 'window_transition' AS event_type,
2410
+ NULL AS app_package, 'window_transition' AS category, 4 AS priority
2411
+ FROM slice s
2412
+ JOIN thread_track tt ON s.track_id = tt.id JOIN thread t ON tt.utid = t.utid JOIN process p ON t.upid = p.upid
2413
+ WHERE (p.name = 'system_server' OR p.name GLOB 'com.android.wm.shell*')
2414
+ AND s.dur > 50000000
2415
+ AND (s.name GLOB '*AppTransition*' OR s.name GLOB '*openAnimation*'
2416
+ OR s.name GLOB '*closeAnimation*' OR s.name GLOB '*Shell transition*'
2417
+ OR s.name GLOB '*startingWindow*')
2418
+ LIMIT 30
2419
+ ),
2420
+ -- ========== 合并 + 过滤 + 排序 ==========
2421
+ all_events AS (
2422
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM launch_ev
2423
+ UNION ALL
2424
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM gesture_ev
2425
+ UNION ALL
2426
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM topapp_ev
2427
+ UNION ALL
2428
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM system_ev WHERE event IS NOT NULL
2429
+ UNION ALL
2430
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM idle_ev
2431
+ UNION ALL
2432
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM nav_key_ev
2433
+ UNION ALL
2434
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM anr_ev
2435
+ UNION ALL
2436
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM ime_ev
2437
+ UNION ALL
2438
+ SELECT ts, dur, event, event_type, app_package, category, priority FROM win_trans_ev
2439
+ ),
2440
+ -- ========== 格式化输出 ==========
2441
+ ranked AS (
2442
+ SELECT *,
2443
+ ROW_NUMBER() OVER (ORDER BY ts, priority) AS rn
2444
+ FROM all_events
2445
+ )
2446
+ SELECT
2447
+ 'evt_' || rn AS event_id,
2448
+ printf('%02d:%02d.%03d',
2449
+ CAST((ts - (SELECT t_start FROM time_bounds)) / 60000000000 AS INT),
2450
+ CAST(((ts - (SELECT t_start FROM time_bounds)) / 1000000000) % 60 AS INT),
2451
+ CAST(((ts - (SELECT t_start FROM time_bounds)) / 1000000) % 1000 AS INT)
2452
+ ) AS time_offset,
2453
+ printf('%d', ts) AS ts,
2454
+ printf('%d', dur) AS dur,
2455
+ CAST(dur / 1000000 AS INT) AS dur_ms,
2456
+ event_type,
2457
+ event,
2458
+ app_package,
2459
+ CASE
2460
+ -- 启动评级
2461
+ WHEN event_type = 'cold_start' AND dur / 1e6 < 500 THEN '🟢 优秀'
2462
+ WHEN event_type = 'cold_start' AND dur / 1e6 < 1000 THEN '🟡 良好'
2463
+ WHEN event_type = 'cold_start' THEN '🔴 需优化'
2464
+ WHEN event_type = 'warm_start' AND dur / 1e6 < 300 THEN '🟢 优秀'
2465
+ WHEN event_type = 'warm_start' AND dur / 1e6 < 600 THEN '🟡 良好'
2466
+ WHEN event_type = 'warm_start' THEN '🔴 需优化'
2467
+ WHEN event_type = 'hot_start' AND dur / 1e6 < 100 THEN '🟢 优秀'
2468
+ WHEN event_type = 'hot_start' AND dur / 1e6 < 200 THEN '🟡 良好'
2469
+ WHEN event_type = 'hot_start' THEN '🔴 需优化'
2470
+ -- 点击评级
2471
+ WHEN event_type = 'tap' AND dur / 1e6 < 100 THEN '🟢'
2472
+ WHEN event_type = 'tap' AND dur / 1e6 < 200 THEN '🟡'
2473
+ WHEN event_type = 'tap' AND dur / 1e6 > 200 THEN '🔴'
2474
+ -- ANR 固定严重
2475
+ WHEN event_type = 'anr' THEN '🔴 ANR'
2476
+ -- 窗口转场评级
2477
+ WHEN event_type = 'window_transition' AND dur / 1e6 < 300 THEN '🟢'
2478
+ WHEN event_type = 'window_transition' AND dur / 1e6 < 500 THEN '🟡'
2479
+ WHEN event_type = 'window_transition' THEN '🔴'
2480
+ -- 其他事件不评级
2481
+ ELSE ''
2482
+ END AS rating
2483
+ FROM ranked
2484
+ ORDER BY ts, priority
2485
+ LIMIT 200
2486
+ save_as: clean_timeline
2487
+ optional: true
2488
+
2489
+ # ==========================================================================
2490
+ # 合并所有事件生成时间线 (deprecated — superseded by clean_timeline)
2491
+ # ==========================================================================
2492
+ - id: merged_timeline
2493
+ type: atomic
2494
+ name: "合并时间线"
2495
+ condition: table_availability.data[0]?.has_screen_state === 1 || table_availability.data[0]?.has_input_events === 1 || table_availability.data[0]?.has_startups === 1 || table_availability.data[0]?.has_frame_timeline === 1
2496
+ display:
2497
+ level: hidden
2498
+ layer: list
2499
+ title: "操作时间线"
2500
+ columns:
2501
+ - name: ts
2502
+ label: "时间"
2503
+ type: timestamp
2504
+ unit: ns
2505
+ clickAction: navigate_range
2506
+ durationColumn: dur
2507
+ - name: dur
2508
+ label: "持续"
2509
+ type: duration
2510
+ format: duration_ms
2511
+ unit: ns
2512
+ - name: time_offset_sec
2513
+ label: "时间偏移(s)"
2514
+ type: number
2515
+ - name: event
2516
+ label: "事件"
2517
+ type: string
2518
+ - name: category
2519
+ label: "类别"
2520
+ type: string
2521
+ - name: priority
2522
+ label: "优先级"
2523
+ type: number
2524
+ sql: |
2525
+ WITH all_events AS (
2526
+ -- 屏幕状态
2527
+ SELECT
2528
+ CAST(ts AS INTEGER) AS ts,
2529
+ CAST(dur AS INTEGER) AS dur,
2530
+ event,
2531
+ 'screen' AS category,
2532
+ 1 AS priority
2533
+ FROM (
2534
+ SELECT
2535
+ printf('%d', ts) AS ts,
2536
+ printf('%d', dur) AS dur,
2537
+ CASE screen_state
2538
+ WHEN 1 THEN '屏幕熄灭'
2539
+ WHEN 2 THEN '屏幕点亮'
2540
+ WHEN 3 THEN '屏幕休眠'
2541
+ ELSE '屏幕状态 ' || screen_state
2542
+ END AS event
2543
+ FROM android_screen_state
2544
+ WHERE dur > 0
2545
+ LIMIT 50
2546
+ )
2547
+
2548
+ UNION ALL
2549
+
2550
+ -- Top App 切换
2551
+ SELECT
2552
+ CAST(ts AS INTEGER) AS ts,
2553
+ CAST(dur AS INTEGER) AS dur,
2554
+ event,
2555
+ 'app_switch' AS category,
2556
+ 2 AS priority
2557
+ FROM (
2558
+ SELECT
2559
+ printf('%d', ts) AS ts,
2560
+ printf('%d', safe_dur) AS dur,
2561
+ '切换到 ' || REPLACE(REPLACE(str_value, 'com.', ''), 'android.', '') AS event
2562
+ FROM android_battery_stats_event_slices
2563
+ WHERE track_name = 'battery_stats.top' AND safe_dur > 100000000
2564
+ LIMIT 50
2565
+ )
2566
+
2567
+ UNION ALL
2568
+
2569
+ -- 用户手势
2570
+ SELECT
2571
+ ts, dur, event, 'gesture' AS category, 3 AS priority
2572
+ FROM (
2573
+ WITH gesture_events AS (
2574
+ SELECT
2575
+ read_time AS ts,
2576
+ event_action,
2577
+ process_name,
2578
+ CASE WHEN event_action = 'DOWN' THEN 1 ELSE 0 END AS is_start
2579
+ FROM android_input_events
2580
+ WHERE event_type = 'MOTION'
2581
+ ),
2582
+ gesture_groups AS (
2583
+ SELECT ts, event_action, process_name,
2584
+ SUM(is_start) OVER (ORDER BY ts) AS gesture_id
2585
+ FROM gesture_events
2586
+ ),
2587
+ gestures AS (
2588
+ SELECT
2589
+ gesture_id,
2590
+ MIN(ts) AS ts,
2591
+ MAX(ts) - MIN(ts) AS dur,
2592
+ COUNT(*) AS event_count,
2593
+ COUNT(CASE WHEN event_action = 'MOVE' THEN 1 END) AS move_count,
2594
+ MAX(process_name) AS app
2595
+ FROM gesture_groups
2596
+ WHERE gesture_id > 0
2597
+ GROUP BY gesture_id
2598
+ HAVING COUNT(*) >= 2
2599
+ )
2600
+ SELECT
2601
+ CAST(ts AS INTEGER) AS ts,
2602
+ CAST(dur AS INTEGER) AS dur,
2603
+ CASE
2604
+ WHEN move_count >= 3 THEN '滑动 (' || move_count || '次移动)'
2605
+ WHEN dur > 500000000 AND move_count <= 2 THEN '长按'
2606
+ ELSE '点击'
2607
+ END ||
2608
+ CASE
2609
+ WHEN app IS NOT NULL AND app != ''
2610
+ THEN ' [' || REPLACE(REPLACE(app, 'com.', ''), 'android.', '') || ']'
2611
+ ELSE ''
2612
+ END AS event
2613
+ FROM gestures
2614
+ LIMIT 100
2615
+ )
2616
+
2617
+ UNION ALL
2618
+
2619
+ -- App 启动
2620
+ SELECT
2621
+ CAST(ts AS INTEGER) AS ts,
2622
+ CAST(dur AS INTEGER) AS dur,
2623
+ event,
2624
+ 'app_launch' AS category,
2625
+ 4 AS priority
2626
+ FROM (
2627
+ SELECT
2628
+ printf('%d', ts) AS ts,
2629
+ printf('%d', dur) AS dur,
2630
+ CASE startup_type
2631
+ WHEN 'cold' THEN '冷启动'
2632
+ WHEN 'warm' THEN '温启动'
2633
+ WHEN 'hot' THEN '热启动'
2634
+ ELSE '启动'
2635
+ END || ' ' ||
2636
+ REPLACE(REPLACE(package, 'com.', ''), 'android.', '') ||
2637
+ ' [' || CAST(dur / 1000000 AS INT) || 'ms]' AS event
2638
+ FROM android_startups
2639
+ WHERE dur > 0
2640
+ LIMIT 30
2641
+ )
2642
+
2643
+ UNION ALL
2644
+
2645
+ -- 掉帧事件
2646
+ SELECT
2647
+ CAST(ts AS INTEGER) AS ts,
2648
+ CAST(dur AS INTEGER) AS dur,
2649
+ event,
2650
+ 'performance' AS category,
2651
+ 5 AS priority
2652
+ FROM (
2653
+ SELECT
2654
+ printf('%d', ts) AS ts,
2655
+ printf('%d', dur) AS dur,
2656
+ CASE
2657
+ WHEN jank_type LIKE '%App Deadline%' OR jank_type = 'Self Jank' THEN 'App掉帧'
2658
+ WHEN jank_type LIKE '%SurfaceFlinger%' THEN '合成器掉帧'
2659
+ ELSE '掉帧'
2660
+ END || ' [' || CAST(dur / 1000000 AS INT) || 'ms]' AS event
2661
+ FROM actual_frame_timeline_slice
2662
+ WHERE jank_type IS NOT NULL AND jank_type != 'None' AND jank_type != ''
2663
+ LIMIT 50
2664
+ )
2665
+ ),
2666
+ time_range AS (
2667
+ SELECT MIN(ts) AS start_ts FROM all_events
2668
+ )
2669
+ SELECT
2670
+ printf('%d', ts) AS ts,
2671
+ printf('%d', dur) AS dur,
2672
+ ROUND((ts - (SELECT start_ts FROM time_range)) / 1e9, 2) AS time_offset_sec,
2673
+ event,
2674
+ category,
2675
+ priority
2676
+ FROM all_events
2677
+ ORDER BY ts, priority
2678
+ LIMIT 300
2679
+ save_as: timeline
2680
+ optional: true
2681
+
2682
+ # ==========================================================================
2683
+ # AI 场景综合分析
2684
+ # ==========================================================================
2685
+ - id: scene_summary
2686
+ type: ai_summary
2687
+ name: "场景还原报告"
2688
+ display:
2689
+ level: summary
2690
+ layer: overview
2691
+ title: "场景还原报告"
2692
+ inputs:
2693
+ - trace_time_range
2694
+ - clean_timeline
2695
+ - screen_state_changes
2696
+ - top_app_changes
2697
+ - user_gestures
2698
+ - scroll_initiation
2699
+ - inertial_scrolls
2700
+ - idle_periods
2701
+ - app_launches
2702
+ - system_events
2703
+ - jank_events
2704
+ - device_state
2705
+ - app_state_tracking
2706
+ - operation_chain
2707
+ prompt: |
2708
+ 你是一位 Android 性能分析专家,你的任务是帮助初学者理解 Trace 数据。
2709
+ 请基于以下数据还原用户的完整操作场景,并用通俗易懂的语言解释。
2710
+
2711
+ ## Trace 时间范围
2712
+ ${trace_time_range}
2713
+
2714
+ ## 干净时间线(主要参考)
2715
+ ${clean_timeline}
2716
+ 说明:这是经过质量过滤的事件时间线,请优先参考此数据构建叙述
2717
+
2718
+ ## 屏幕状态变化
2719
+ ${screen_state_changes}
2720
+
2721
+ ## 应用切换记录
2722
+ ${top_app_changes}
2723
+
2724
+ ## 用户手势操作
2725
+ ${user_gestures}
2726
+
2727
+ ## 滑动启动时刻
2728
+ ${scroll_initiation}
2729
+ 说明:这里记录了每次滑动开始的精确时刻(手指按下后移动到第2个点时)
2730
+
2731
+ ## 惯性滑动区间
2732
+ ${inertial_scrolls}
2733
+ 说明:这里记录手指抬起(UP)后界面仍在滚动的区间,通常对应 Fling 惯性滚动
2734
+
2735
+ ## 空闲区间(Idle)
2736
+ ${idle_periods}
2737
+ 说明:这里记录较长时间没有明显用户交互/切换的区间
2738
+
2739
+ ## App 启动事件
2740
+ ${app_launches}
2741
+
2742
+ ## 系统事件
2743
+ ${system_events}
2744
+
2745
+ ## 掉帧/性能事件
2746
+ ${jank_events}
2747
+
2748
+ ## 设备状态
2749
+ ${device_state}
2750
+ 说明:设备硬件状态快照,包括 CPU 频率范围、内存压力、温度、充电状态和前台应用
2751
+
2752
+ ## App 前后台状态变化
2753
+ ${app_state_tracking}
2754
+ 说明:应用的 oom_adj 变化记录,反映前台/可见/后台/缓存状态转换和进程创建事件
2755
+
2756
+ ## 操作链
2757
+ ${operation_chain}
2758
+ 说明:按时间顺序排列的所有用户可感知事件,用于构建完整操作时间线
2759
+
2760
+ 请按以下格式输出分析报告:
2761
+
2762
+ ## 场景概述
2763
+ 用一段自然、流畅的中文描述用户在这段 Trace 期间做了什么。描述应该像讲故事一样,让读者能够清晰地想象用户的操作过程。
2764
+
2765
+ ## 操作时间线
2766
+ 按时间顺序列出关键操作,格式:
2767
+ 1. **0.0s** - 事件描述
2768
+ 2. **1.2s** - 事件描述
2769
+ ...
2770
+ (请合并相近的同类事件,避免过于琐碎)
2771
+
2772
+ ## 性能问题诊断
2773
+ 如果发现掉帧或性能问题,请分析:
2774
+ - 问题发生在什么场景下
2775
+ - 可能的原因是什么
2776
+ - 对用户体验的影响
2777
+
2778
+ 如果没有明显性能问题,请说明"整体流畅度良好"。
2779
+
2780
+ ## 使用意图推断
2781
+ 基于以上分析,推断用户可能的使用意图和目的。例如:
2782
+ - 用户可能在浏览社交媒体
2783
+ - 用户可能在查找某个联系人
2784
+ - 用户可能在切换应用完成某个任务
2785
+
2786
+ output:
2787
+ format: layered
2788
+ default_expanded: [L1, L2]