@thinkingai/ae-cli 6.1.20 → 6.1.21

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 (338) hide show
  1. package/README.md +2 -1
  2. package/README.zh.md +2 -1
  3. package/dist/{auth-FUM37MHF.js → auth-XZNXFRJS.js} +5 -5
  4. package/dist/{capability-AXFQW5WM.js → capability-FYTU3X6L.js} +42 -12
  5. package/dist/{chunk-LNZBEQXW.js → chunk-4NRCTUZJ.js} +27041 -474
  6. package/dist/{chunk-VXNMYUXU.js → chunk-57RRFUEZ.js} +23 -7
  7. package/dist/{chunk-WZ6YVQSF.js → chunk-7FTTULED.js} +1 -1
  8. package/dist/{chunk-ATSM5XAW.js → chunk-7XGFSUOM.js} +2 -2
  9. package/dist/chunk-CCS66K4K.js +155 -0
  10. package/dist/{chunk-I4WQAEYB.js → chunk-DVMLWQD4.js} +8 -186
  11. package/dist/{chunk-CZU3V3DQ.js → chunk-DX5CDO34.js} +27 -6
  12. package/dist/chunk-EQ255HKO.js +38248 -0
  13. package/dist/{chunk-BBEFP4SB.js → chunk-HBGADCKA.js} +3 -3
  14. package/dist/{chunk-QJQZH5GQ.js → chunk-HFGZGYCG.js} +10 -6
  15. package/dist/{chunk-ECBLHAZO.js → chunk-JOCDD4ON.js} +1 -1
  16. package/dist/{chunk-TKHSULJT.js → chunk-KPQY44JQ.js} +6 -0
  17. package/dist/{chunk-4P355ZWB.js → chunk-MAPZ7VB6.js} +21 -1
  18. package/dist/chunk-V2NUHPXF.js +196 -0
  19. package/dist/{chunk-RSG4ONOI.js → chunk-VYXXOKYS.js} +5 -5
  20. package/dist/{community-report-client-XXWGSBSD.js → community-report-client-CU22W53K.js} +1 -1
  21. package/dist/{config-EXUGQN5T.js → config-XO3LI3SA.js} +4 -4
  22. package/dist/context-IFJI3LIT.js +46 -0
  23. package/dist/{data-integration-4NZ53OMT.js → data-integration-HNGUKFIC.js} +44 -35
  24. package/dist/index.js +101 -64
  25. package/dist/{local-data-upload-client-KYOKVYZV.js → local-data-upload-client-GTRIT64F.js} +3 -2
  26. package/dist/{memory-ATNKZNW5.js → memory-QGPSNCQS.js} +4 -4
  27. package/dist/{metadata-VZVC7YMH.js → metadata-DI5BMYFU.js} +8 -8
  28. package/dist/{model-E4JMQ4V2.js → model-RNPQXIBI.js} +4 -4
  29. package/dist/{personal-semantic-preference-7S2SQ3UV.js → personal-semantic-preference-5C3WUXFI.js} +11 -8
  30. package/dist/{project-semantic-2SZP2OPO.js → project-semantic-3LF6Q6JZ.js} +27 -21
  31. package/dist/{sync-YV3E66IF.js → sync-O45NXEQY.js} +7 -6
  32. package/dist/{te-agent-JB5T3PO7.js → te-agent-K5MSPNHJ.js} +5 -5
  33. package/dist/{te-analysis-3YJAAT2D.js → te-analysis-AISWCOOZ.js} +1086 -354
  34. package/dist/{te-community-UDBI672N.js → te-community-4OYU3BDA.js} +4 -4
  35. package/dist/{te-dataops-ZLYOCXZ4.js → te-dataops-NFIPB6FX.js} +5 -5
  36. package/dist/{te-engage-4XG6OJML.js → te-engage-BAM3GBFX.js} +7 -7
  37. package/dist/{te-experiment-VXUWPINJ.js → te-experiment-GUTZXZ5Z.js} +132 -14
  38. package/dist/{te-kb-WYQWHFSC.js → te-kb-3TS73NO6.js} +454 -194
  39. package/dist/{te-system-7G6F2LJA.js → te-system-STMHLS5J.js} +12 -7
  40. package/dist/{te-team-E7FBBXMQ.js → te-team-3I5AOX3N.js} +6 -6
  41. package/dist/{update-D47BUG25.js → update-RZXLPCRH.js} +4 -4
  42. package/package.json +21 -14
  43. package/skills/ae-analysis/SKILL.md +91 -78
  44. package/skills/ae-analysis/references/adhoc_export.md +11 -18
  45. package/skills/ae-analysis/references/adhoc_run.md +15 -7
  46. package/skills/ae-analysis/references/agent_review_detail.md +11 -0
  47. package/skills/ae-analysis/references/agent_review_evidence.md +46 -0
  48. package/skills/ae-analysis/references/agent_review_list.md +9 -0
  49. package/skills/ae-analysis/references/agent_review_preflight.md +96 -0
  50. package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +76 -0
  51. package/skills/ae-analysis/references/agent_review_records.md +9 -0
  52. package/skills/ae-analysis/references/agent_review_retry.md +12 -0
  53. package/skills/ae-analysis/references/agent_review_review.md +16 -0
  54. package/skills/ae-analysis/references/agent_review_submit_to_page.md +184 -0
  55. package/skills/ae-analysis/references/ai_models/attribution.md +29 -0
  56. package/skills/ae-analysis/references/ai_models/distribution.md +40 -0
  57. package/skills/ae-analysis/references/ai_models/event.md +108 -0
  58. package/skills/ae-analysis/references/ai_models/funnel.md +46 -0
  59. package/skills/ae-analysis/references/ai_models/heat_map.md +26 -0
  60. package/skills/ae-analysis/references/ai_models/interval.md +20 -0
  61. package/skills/ae-analysis/references/ai_models/path.md +38 -0
  62. package/skills/ae-analysis/references/ai_models/prop_analysis.md +39 -0
  63. package/skills/ae-analysis/references/ai_models/rank_list.md +25 -0
  64. package/skills/ae-analysis/references/ai_models/retention.md +70 -0
  65. package/skills/ae-analysis/references/ai_models/revenue.md +28 -0
  66. package/skills/ae-analysis/references/ai_models/sql.md +74 -0
  67. package/skills/ae-analysis/references/ai_models/tag.md +19 -0
  68. package/skills/ae-analysis/references/ai_models.md +32 -473
  69. package/skills/ae-analysis/references/alert_create.md +7 -7
  70. package/skills/ae-analysis/references/alert_delete.md +4 -6
  71. package/skills/ae-analysis/references/alert_detail_list.md +7 -9
  72. package/skills/ae-analysis/references/alert_get.md +5 -7
  73. package/skills/ae-analysis/references/alert_job_list.md +4 -6
  74. package/skills/ae-analysis/references/alert_list.md +6 -8
  75. package/skills/ae-analysis/references/alert_notice_config_list.md +4 -6
  76. package/skills/ae-analysis/references/alert_start.md +5 -7
  77. package/skills/ae-analysis/references/alert_stop.md +5 -7
  78. package/skills/ae-analysis/references/alert_update.md +8 -8
  79. package/skills/ae-analysis/references/analysis_data_export.md +72 -0
  80. package/skills/ae-analysis/references/analysis_data_retrieval.md +32 -196
  81. package/skills/ae-analysis/references/analysis_gateway_assets.md +23 -180
  82. package/skills/ae-analysis/references/analysis_interpretation.md +37 -17
  83. package/skills/ae-analysis/references/asset_abnormal_get.md +0 -1
  84. package/skills/ae-analysis/references/asset_abnormal_list.md +0 -1
  85. package/skills/ae-analysis/references/asset_authentication_export.md +4 -0
  86. package/skills/ae-analysis/references/asset_authentication_list.md +7 -1
  87. package/skills/ae-analysis/references/asset_authentication_update.md +5 -1
  88. package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +8 -6
  89. package/skills/ae-analysis/references/asset_batch_delete.md +6 -6
  90. package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +4 -5
  91. package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +5 -6
  92. package/skills/ae-analysis/references/asset_batch_handover.md +4 -5
  93. package/skills/ae-analysis/references/asset_batch_info_export.md +4 -5
  94. package/skills/ae-analysis/references/asset_batch_sql_export.md +5 -6
  95. package/skills/ae-analysis/references/asset_dependency_list.md +4 -5
  96. package/skills/ae-analysis/references/asset_export.md +4 -5
  97. package/skills/ae-analysis/references/asset_impact_list.md +5 -9
  98. package/skills/ae-analysis/references/asset_lineage_get.md +5 -6
  99. package/skills/ae-analysis/references/asset_list.md +4 -5
  100. package/skills/ae-analysis/references/asset_query_history_list.md +4 -8
  101. package/skills/ae-analysis/references/asset_recent_list.md +0 -1
  102. package/skills/ae-analysis/references/asset_search.md +12 -9
  103. package/skills/ae-analysis/references/asset_url_get.md +3 -4
  104. package/skills/ae-analysis/references/bi_panel_copy.md +2 -2
  105. package/skills/ae-analysis/references/bi_panel_page_data_export.md +4 -12
  106. package/skills/ae-analysis/references/bi_panel_page_data_run.md +2 -0
  107. package/skills/ae-analysis/references/catalog_export.md +4 -17
  108. package/skills/ae-analysis/references/catalog_list.md +4 -4
  109. package/skills/ae-analysis/references/check_delete.md +5 -7
  110. package/skills/ae-analysis/references/check_export.md +11 -11
  111. package/skills/ae-analysis/references/check_get.md +8 -10
  112. package/skills/ae-analysis/references/check_list.md +4 -6
  113. package/skills/ae-analysis/references/check_retry.md +8 -10
  114. package/skills/ae-analysis/references/check_run.md +2 -4
  115. package/skills/ae-analysis/references/command_index.md +44 -26
  116. package/skills/ae-analysis/references/dashboard_report_data_export.md +5 -13
  117. package/skills/ae-analysis/references/dashboard_report_data_run.md +1 -1
  118. package/skills/ae-analysis/references/dashboard_update.md +14 -3
  119. package/skills/ae-analysis/references/datatable_columns_get.md +0 -1
  120. package/skills/ae-analysis/references/datatable_influence_list.md +0 -1
  121. package/skills/ae-analysis/references/datatable_version_get.md +0 -1
  122. package/skills/ae-analysis/references/datatable_version_list.md +0 -1
  123. package/skills/ae-analysis/references/debug_device_add.md +1 -2
  124. package/skills/ae-analysis/references/drilldown_entities_export.md +3 -3
  125. package/skills/ae-analysis/references/drilldown_events_export.md +3 -2
  126. package/skills/ae-analysis/references/drilldown_user_events_export.md +2 -2
  127. package/skills/ae-analysis/references/entity_detail_export.md +3 -2
  128. package/skills/ae-analysis/references/entity_detail_run.md +1 -0
  129. package/skills/ae-analysis/references/event_blacklist_add.md +5 -7
  130. package/skills/ae-analysis/references/event_blacklist_list.md +4 -6
  131. package/skills/ae-analysis/references/event_blacklist_update.md +6 -8
  132. package/skills/ae-analysis/references/event_changelog_list.md +0 -1
  133. package/skills/ae-analysis/references/event_create.md +0 -1
  134. package/skills/ae-analysis/references/event_detail_export.md +3 -2
  135. package/skills/ae-analysis/references/event_detail_run.md +1 -0
  136. package/skills/ae-analysis/references/event_export.md +0 -1
  137. package/skills/ae-analysis/references/event_get.md +0 -1
  138. package/skills/ae-analysis/references/event_hide_update.md +0 -1
  139. package/skills/ae-analysis/references/event_influence_list.md +0 -1
  140. package/skills/ae-analysis/references/event_list.md +0 -1
  141. package/skills/ae-analysis/references/event_property_bundle_export.md +5 -14
  142. package/skills/ae-analysis/references/event_property_bundle_import.md +2 -6
  143. package/skills/ae-analysis/references/event_relation_update.md +0 -1
  144. package/skills/ae-analysis/references/event_update.md +0 -1
  145. package/skills/ae-analysis/references/exchange_config_update.md +0 -1
  146. package/skills/ae-analysis/references/exchange_rate_refresh.md +0 -1
  147. package/skills/ae-analysis/references/exchange_rule_list.md +0 -1
  148. package/skills/ae-analysis/references/exchange_rule_update.md +0 -1
  149. package/skills/ae-analysis/references/exchange_rule_validate.md +0 -1
  150. package/skills/ae-analysis/references/governance_recommendation_decisions.md +23 -0
  151. package/skills/ae-analysis/references/governance_recommendation_export.md +108 -0
  152. package/skills/ae-analysis/references/governance_recommendation_submit.md +41 -0
  153. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -4
  154. package/skills/ae-analysis/references/history_tag_data_export.md +3 -3
  155. package/skills/ae-analysis/references/ingest_error_list.md +7 -9
  156. package/skills/ae-analysis/references/ingest_summary.md +6 -8
  157. package/skills/ae-analysis/references/live_data_export.md +10 -10
  158. package/skills/ae-analysis/references/live_data_list.md +7 -9
  159. package/skills/ae-analysis/references/metadata_resolution.md +78 -0
  160. package/skills/ae-analysis/references/metric_export.md +0 -1
  161. package/skills/ae-analysis/references/metric_get.md +0 -1
  162. package/skills/ae-analysis/references/metric_list.md +4 -5
  163. package/skills/ae-analysis/references/metric_update.md +0 -1
  164. package/skills/ae-analysis/references/operation_record_export.md +4 -5
  165. package/skills/ae-analysis/references/operation_record_list.md +4 -5
  166. package/skills/ae-analysis/references/personal_semantic_preference_list.md +18 -1
  167. package/skills/ae-analysis/references/plan_change_log_export.md +10 -10
  168. package/skills/ae-analysis/references/plan_change_log_list.md +4 -6
  169. package/skills/ae-analysis/references/plan_delete_items.md +2 -4
  170. package/skills/ae-analysis/references/plan_export.md +9 -9
  171. package/skills/ae-analysis/references/plan_generate.md +2 -4
  172. package/skills/ae-analysis/references/plan_get.md +4 -6
  173. package/skills/ae-analysis/references/plan_import_excel.md +6 -8
  174. package/skills/ae-analysis/references/plan_save_items.md +2 -4
  175. package/skills/ae-analysis/references/plan_sync_from_meta.md +4 -6
  176. package/skills/ae-analysis/references/project_access_detail_get.md +0 -1
  177. package/skills/ae-analysis/references/project_data_power_get.md +0 -1
  178. package/skills/ae-analysis/references/project_data_power_list.md +0 -1
  179. package/skills/ae-analysis/references/project_data_power_upsert.md +0 -1
  180. package/skills/ae-analysis/references/project_entity_create.md +0 -1
  181. package/skills/ae-analysis/references/project_entity_event_list.md +0 -1
  182. package/skills/ae-analysis/references/project_entity_get.md +0 -1
  183. package/skills/ae-analysis/references/project_entity_list.md +0 -1
  184. package/skills/ae-analysis/references/project_entity_update.md +0 -1
  185. package/skills/ae-analysis/references/project_function_list.md +0 -1
  186. package/skills/ae-analysis/references/project_info_get.md +0 -1
  187. package/skills/ae-analysis/references/project_info_list.md +0 -1
  188. package/skills/ae-analysis/references/project_info_update.md +0 -1
  189. package/skills/ae-analysis/references/project_mark_time_create.md +0 -1
  190. package/skills/ae-analysis/references/project_mark_time_list.md +0 -1
  191. package/skills/ae-analysis/references/project_mark_time_update.md +0 -1
  192. package/skills/ae-analysis/references/project_member_add.md +6 -5
  193. package/skills/ae-analysis/references/project_member_batch_update.md +0 -1
  194. package/skills/ae-analysis/references/project_member_candidate_list.md +4 -3
  195. package/skills/ae-analysis/references/project_member_handover_run.md +2 -3
  196. package/skills/ae-analysis/references/project_member_list.md +0 -1
  197. package/skills/ae-analysis/references/project_member_receiver_list.md +0 -1
  198. package/skills/ae-analysis/references/project_member_update.md +0 -1
  199. package/skills/ae-analysis/references/project_owner_update.md +0 -1
  200. package/skills/ae-analysis/references/project_permission_binding_list.md +0 -1
  201. package/skills/ae-analysis/references/project_role_function_list.md +0 -1
  202. package/skills/ae-analysis/references/project_role_get.md +0 -1
  203. package/skills/ae-analysis/references/project_role_list.md +0 -1
  204. package/skills/ae-analysis/references/project_role_upsert.md +32 -2
  205. package/skills/ae-analysis/references/project_role_user_list.md +0 -1
  206. package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +214 -0
  207. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +93 -0
  208. package/skills/ae-analysis/references/project_timezone_get.md +0 -1
  209. package/skills/ae-analysis/references/project_timezone_overview.md +0 -1
  210. package/skills/ae-analysis/references/project_timezone_update.md +0 -1
  211. package/skills/ae-analysis/references/project_user_id_items_update.md +0 -1
  212. package/skills/ae-analysis/references/property_changelog_list.md +0 -1
  213. package/skills/ae-analysis/references/property_create.md +0 -1
  214. package/skills/ae-analysis/references/property_export.md +0 -1
  215. package/skills/ae-analysis/references/property_get.md +0 -1
  216. package/skills/ae-analysis/references/property_hide_update.md +0 -1
  217. package/skills/ae-analysis/references/property_influence_list.md +0 -1
  218. package/skills/ae-analysis/references/property_list.md +3 -4
  219. package/skills/ae-analysis/references/property_related_events.md +0 -1
  220. package/skills/ae-analysis/references/property_relation_update.md +0 -1
  221. package/skills/ae-analysis/references/property_update.md +0 -1
  222. package/skills/ae-analysis/references/report_create.md +4 -2
  223. package/skills/ae-analysis/references/report_data_export.md +11 -9
  224. package/skills/ae-analysis/references/report_data_run.md +14 -7
  225. package/skills/ae-analysis/references/report_get.md +5 -3
  226. package/skills/ae-analysis/references/report_list.md +2 -0
  227. package/skills/ae-analysis/references/report_update.md +5 -3
  228. package/skills/ae-analysis/references/rule_create.md +5 -6
  229. package/skills/ae-analysis/references/rule_delete.md +5 -5
  230. package/skills/ae-analysis/references/rule_list.md +3 -4
  231. package/skills/ae-analysis/references/rule_schema.md +3 -4
  232. package/skills/ae-analysis/references/rule_update.md +5 -6
  233. package/skills/ae-analysis/references/sdk_sample_generate.md +2 -4
  234. package/skills/ae-analysis/references/sql_table_columns.md +1 -1
  235. package/skills/ae-analysis/references/super_metadata_batch_create.md +1 -1
  236. package/skills/ae-analysis/references/super_metadata_batch_edit.md +1 -1
  237. package/skills/ae-analysis/references/system_member_add.md +1 -2
  238. package/skills/ae-analysis/references/system_member_status_update.md +1 -1
  239. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +1 -1
  240. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +0 -1
  241. package/skills/ae-analysis/references/system_query_monitor_overview.md +3 -3
  242. package/skills/ae-analysis/references/system_query_task_export.md +4 -14
  243. package/skills/ae-analysis/references/system_query_task_get.md +1 -1
  244. package/skills/ae-analysis/references/system_query_task_list.md +5 -6
  245. package/skills/ae-analysis/references/system_receiver_address_upsert.md +3 -3
  246. package/skills/ae-analysis/references/system_receiver_detection_get.md +1 -1
  247. package/skills/ae-analysis/references/system_third_party_login_disable.md +1 -1
  248. package/skills/ae-analysis/references/system_usage_trend_export.md +3 -12
  249. package/skills/ae-analysis/references/user_cluster_list.md +1 -1
  250. package/skills/ae-analysis/references/user_cluster_member_export.md +4 -4
  251. package/skills/ae-analysis/references/user_tag_list.md +1 -1
  252. package/skills/ae-analysis/references/user_tag_member_export.md +4 -4
  253. package/skills/ae-analysis/references/virtual_event_create.md +10 -5
  254. package/skills/ae-analysis/references/virtual_event_get.md +0 -1
  255. package/skills/ae-analysis/references/virtual_property_create.md +0 -1
  256. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +0 -1
  257. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +1054 -0
  258. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +112 -0
  259. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +30 -0
  260. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +2735 -0
  261. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +376 -0
  262. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +264 -0
  263. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +49 -0
  264. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/upload-kb-sources-concurrently.mjs +200 -0
  265. package/skills/ae-analysis/scripts/read_results.py +197 -0
  266. package/skills/ae-analysis-global/SKILL.md +1 -1
  267. package/skills/ae-capability/SKILL.md +1 -1
  268. package/skills/ae-community/SKILL.md +1 -1
  269. package/skills/ae-current-context/SKILL.md +53 -0
  270. package/skills/ae-data-integration/SKILL.md +5 -4
  271. package/skills/ae-data-integration/references/lark-bitable-source.md +288 -0
  272. package/skills/ae-data-integration/references/lark-sheet-source.md +130 -0
  273. package/skills/ae-data-integration/references/manual-export-source.md +83 -0
  274. package/skills/ae-data-integration/references/reuse.md +2 -0
  275. package/skills/ae-data-integration/references/sink-upload.md +32 -0
  276. package/skills/ae-data-integration/references/tracking-plan.md +4 -1
  277. package/skills/ae-data-integration/references/ue-mapping.md +2 -2
  278. package/skills/ae-data-integration-helper/SKILL.md +5 -5
  279. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +3 -3
  280. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +3 -3
  281. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +1 -1
  282. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +3 -3
  283. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +1 -1
  284. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +3 -3
  285. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +1 -1
  286. package/skills/ae-data-integration-helper/references/logbus2_guide.md +1 -1
  287. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +2 -2
  288. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +2 -2
  289. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +1 -1
  290. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +2 -2
  291. package/skills/ae-data-integration-helper/references/restful_api_notes.md +2 -2
  292. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +3 -3
  293. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +11 -11
  294. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +1 -1
  295. package/skills/ae-dataops/SKILL.md +1 -1
  296. package/skills/ae-engage/SKILL.md +4 -3
  297. package/skills/ae-engage/references/build-task-save-guide.md +3 -0
  298. package/skills/ae-engage/references/flow-metric-update.md +115 -1
  299. package/skills/ae-engage/references/save-flow.md +3 -0
  300. package/skills/ae-engage/references/save-task.md +21 -0
  301. package/skills/ae-engage/references/task-metric-update.md +151 -0
  302. package/skills/ae-experiment/SKILL.md +14 -7
  303. package/skills/ae-experiment/references/save_submit_external_experiment.md +52 -0
  304. package/skills/ae-experiment-design/SKILL.md +3 -3
  305. package/skills/ae-experiment-design/references/platform-operations.md +1 -1
  306. package/skills/ae-experiment-insight/SKILL.md +2 -2
  307. package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
  308. package/skills/ae-generate-tracking-code/SKILL.md +2 -1
  309. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  310. package/skills/ae-generate-tracking-code/references/datax-config.md +1 -1
  311. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  312. package/skills/ae-generate-tracking-code/references/modes.md +1 -1
  313. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +5 -5
  314. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +3 -3
  315. package/skills/ae-generate-tracking-plan/SKILL.md +2 -2
  316. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -0
  317. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +3 -2
  318. package/skills/ae-kb/SKILL.md +41 -2
  319. package/skills/ae-kb/references/analysis-workflow.md +292 -0
  320. package/skills/ae-kb/references/source-mutations.md +95 -0
  321. package/skills/ae-kb-discovery/SKILL.md +5 -1
  322. package/skills/ae-metadata/SKILL.md +1 -1
  323. package/skills/ae-migrate-tracking-code/SKILL.md +195 -0
  324. package/skills/ae-migrate-tracking-code/references/ae-preset-properties.md +76 -0
  325. package/skills/ae-migrate-tracking-code/references/ir.md +167 -0
  326. package/skills/ae-migrate-tracking-code/references/mapping-framework.md +112 -0
  327. package/skills/ae-migrate-tracking-code/references/providers/README.md +58 -0
  328. package/skills/ae-migrate-tracking-code/references/providers/amplitude.md +208 -0
  329. package/skills/ae-migrate-tracking-code/references/providers/firebase.md +160 -0
  330. package/skills/ae-migrate-tracking-code/references/providers/ga4.md +92 -0
  331. package/skills/ae-migrate-tracking-code/references/providers/mixpanel.md +150 -0
  332. package/skills/ae-migrate-tracking-code/references/providers/sensors-data.md +146 -0
  333. package/skills/ae-project-semantic/SKILL.md +1 -1
  334. package/skills/ae-system/SKILL.md +4 -4
  335. package/skills/ae-team/SKILL.md +2 -2
  336. package/skills/ae-use-agent/references/local-agent.md +1 -1
  337. package/dist/chunk-TAL6CZH6.js +0 -72
  338. package/skills/ae-analysis/metadata_resolution.md +0 -184
@@ -0,0 +1,214 @@
1
+ # Project Semantic Knowledge Base Wiki
2
+
3
+ Requires `project_semantic_enable=on` for the target project. If export returns `PROJECT_SEMANTIC_DISABLED`, report that this project must enable `project_semantic_enable` and stop this workflow. Do not bypass the disabled entry point with other export, metadata, or capability commands.
4
+
5
+ Build one server-consumable project semantic source Wiki from one immutable Common asset-package snapshot and prove that the KB-compiled knowledge base can be browsed and consumed correctly. The asset package is the raw truth source. Default to a governed package; use an `all_visible` package only when the user explicitly asks for all assets or for uncertified assets to be included. The Agent summarizes the asset semantics once into editable Markdown sources; KB owns schema generation, final compilation, source lifecycle, and incremental maintenance.
6
+
7
+ ## Boundary
8
+
9
+ - This command reference covers asset-package download, one Agent semantic-planning pass, deterministic Wiki-source rendering, validation, editable ZIP source upload, schema generation, compilation, server readback, and retrieval acceptance.
10
+ - The default source scope is `governed`. If and only if the user explicitly requests all assets, use `all_visible`; keep uncertified assets visible but marked `certification_state=uncertified`, and do not present uncertified or conflicting assets as governed definitions.
11
+ - The retired governed project-semantic candidate/review/enable/release lifecycle is not part of this workflow. A retrieval taxonomy or Wiki page is not automatically a governed project semantic.
12
+ - The generated Wiki is a retrieval and evidence layer. Current counts, recent customers, and live usage still require report execution.
13
+ - Do not use `kb +import` for this loop. `kb +import` imports an already compiled read-only snapshot; this workflow needs source upload followed by `kb +schema` and `kb +compile`.
14
+
15
+
16
+ ## Usage and Intake Gate
17
+
18
+ When the user asks to build, update, refresh, rebuild, or sync a project semantic knowledge base from project assets, open this reference from `ae-analysis` and run the full loop here. Do not use this workflow for asset-certification or metric recommendations; those use `analysis-meta governance-recommendation export`.
19
+
20
+ CLI Agent performs the main semantic precompilation: understand definitions and SQL, author complete asset meanings, domain relationships, recall boundaries, SQL business summaries, and evidence-backed conflicts, then render Markdown sources. Scripts only handle deterministic work: validation, IDs, links, packaging, source-tree diffs, and removal of parser/placeholder noise. They must not author business purpose, domain intent, SQL applicable questions, conflict interpretation, or visible rationale from templates. Upload those sources as an editable ZIP and let KB compile the final Wiki, integrate human context, maintain citations/navigation, and incrementally update affected pages. Never use `kb +import` for this workflow: a read-only snapshot cannot provide this source lifecycle.
21
+
22
+ ## Company-only target and permission boundary
23
+
24
+ Use the `company-kb.mjs` wrapper below for project KB operations. It fixes scope to company, filters discovery to company results, verifies ZIP ownership before directory operations, and exits on any failed command. A company permission denial is terminal: report the server error and stop. Never create a personal KB, reuse a same-name personal KB, retry without scope, or continue to upload/schema/compile after failed creation.
25
+
26
+ Resolve host and project first. Search company KBs across `compiled`, `idle`, `pending`, `compiling`, and `failed` build states with `+list --build-status <state>`. Deduplicate by identity. Prefer an exact project binding, otherwise the deterministic name `<project_name> 项目语义知识库`. If several company KBs match, ask for the exact target. Personal KBs are never candidates. If no company target exists, create one with the project binding. Do not ask the user to choose between "existing" and "new" when the target is unambiguous. Once target resolution succeeds, do not stop after local generation.
27
+
28
+ The KB description is part of Agent auto-loading and source selection, not a casual note. Always write a normal business-facing description that states the project, asset scope, and intended Agent use. Do not mention temporary implementation details such as ZIP, test version numbers, source-tree packaging, or local build names in the description. Use this template:
29
+
30
+ ```text
31
+ <project_name><asset_scope_label>项目语义知识库,用于辅助 Agent 在分析前召回业务域、资产口径、SQL 报表语义和治理边界。
32
+ ```
33
+
34
+ For example:
35
+
36
+ ```text
37
+ 产品雷达已认证资产项目语义知识库,用于辅助 Agent 在分析前召回业务域、资产口径、SQL 报表语义和治理边界。
38
+ ```
39
+
40
+ ```bash
41
+ KB_RUN=skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs
42
+ node "$KB_RUN" +list --build-status compiled --host <host>
43
+ node "$KB_RUN" +new --name '<company_kb_name>' \
44
+ --description '<project_name><asset_scope_label>项目语义知识库,用于辅助 Agent 在分析前召回业务域、资产口径、SQL 报表语义和治理边界。' \
45
+ --project-id <project_id> --project-name '<project_name>' --host <host>
46
+ ```
47
+
48
+ The wrapper executes the installed `ae-cli`. Directory APIs lack a scope parameter, so it verifies the ZIP source belongs to the company KB before mutation. Permission denial stops the flow. An explicitly requested personal test uses the project CLI directly with `--scope personal` on scope-aware commands; this is never a permission fallback. Personal test KB creation follows the same description rule and must still use a business-facing description.
49
+
50
+ ## User-selected model
51
+
52
+ Resolve the requested model with `ae-cli agent +list-models --host <host>` and retain its exact Model.id. Pass the same `--model <model_ref>` to Schema and compile, including incremental refreshes. Stop if the requested model is unavailable or ambiguous.
53
+
54
+ ## Source directory contract
55
+
56
+ The first upload ZIP must create a real source tree. Empty directories are not a reliable contract, so each durable category contains a small `README.md` that declares filing rules and states that README files are not business evidence.
57
+
58
+ ```text
59
+ sources/
60
+ README.md
61
+ project/
62
+ assets/
63
+ dashboards/
64
+ reports/
65
+ metrics/
66
+ metadata/
67
+ business/
68
+ meetings/
69
+ decisions/
70
+ corrections/
71
+ references/
72
+ ```
73
+
74
+ CLI-managed asset facts go only under `sources/assets/**`. Human material goes under the other top-level categories. Asset refreshes may add, replace, or remove files owned by the generated asset package; they must not delete user material in `project/`, `business/`, `meetings/`, `decisions/`, `corrections/`, or `references/`.
75
+
76
+ The intended compiled Wiki is organized by consumption, not by raw file shape:
77
+
78
+ ```text
79
+ index.md
80
+ wiki/project/
81
+ wiki/domains/
82
+ wiki/semantics/
83
+ wiki/assets/
84
+ wiki/decisions/
85
+ wiki/review/
86
+ ```
87
+
88
+ The source tree only classifies material. Authority still comes from explicit facts: decisions require confirmer, status, date, and scope; corrections require target, corrected content, reason, date, and scope.
89
+
90
+ ## First build: precompiled Markdown sources and KB compilation
91
+
92
+ 1. Export one complete schema 3.0 governed asset package with `ae-cli project-semantic asset-package export --project-id <project_id> --asset-scope governed --output <package> --host <host>`. Require `truncated=false` and authenticated entry/dependency closure. Use `all_visible` only on explicit user request.
93
+ 2. Preserve the local planning and rendering stages. Read the compact knowledge indexes, including dashboard notes, and only the normalized details needed for ambiguous grouping, conflicts, SQL semantics, and recall-card choices. Author one snapshot-bound plan using [`project_semantic_knowledge_wiki_plan_schema.md`](project_semantic_knowledge_wiki_plan_schema.md). This is the run's only Agent synthesis pass. Do not create the plan with a generic script. If many summaries share the same template with only names or fields changed, discard the plan and have the Agent reread the relevant asset definitions.
94
+ 3. Render the locally precompiled material for review and generate Markdown sources. The review ZIP is a local artifact; upload the source ZIP from the next step:
95
+
96
+ ```bash
97
+ node skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs \
98
+ --asset-package <tmp>/project-assets \
99
+ --semantic-plan <tmp>/project-semantic-wiki-plan.json \
100
+ --output <tmp>/project-semantic-wiki \
101
+ --archive <tmp>/project-semantic-wiki.zip \
102
+ --project-name '<project_name>'
103
+ ```
104
+
105
+ When the exported package is `asset_scope=all_visible`, pass `--allow-all-visible` to the builder. Do not pass this flag unless the user explicitly requested all visible assets.
106
+ 4. Review the local asset meanings, SQL summaries, domains, conflicts, and recall cards. Business-domain sources must contain the short `Agent 使用摘要` for first-hop routing: primary analysis goals, preferred entries, main events, main metrics, drilldown dimensions, and boundaries. SQL report sources must also use one `Agent 使用摘要`, but that single section must contain the complete Agent-authored SQL semantics: purpose, parameters, output fields, grain, filters, limits, question boundaries, and evidence locator. This section must be business language an Agent can use directly, not parser labels such as `SQL 输出字段`, `来源表达式`, `${Selector:...}`, `${PartDate:...}`, `C00`, or raw SQL fragments. All business analysis should be completed here; missing evidence remains explicitly unknown. Precompile affected assets and their dependent domains/cards only on refresh; reuse unchanged semantic plan entries.
107
+ 5. Package the builder's Markdown sources. Raw JSON indexes and raw SQL remain in the local review/evidence package; the KB input contains the precompiled meanings and structured calculation facts.
108
+
109
+ Package the builder's prepared Markdown sources into the source tree:
110
+
111
+ ```bash
112
+ node skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs \
113
+ --source-dir <output>-kb-upload-sources \
114
+ --tree-output <output>-kb-source-tree \
115
+ --manifest-output <output>-kb-source-tree-manifest.json \
116
+ --output <new-archive>.zip
117
+ ```
118
+
119
+ Then upload and run KB compilation:
120
+
121
+ ```bash
122
+ node "$KB_RUN" +add --name '<company_kb_name>' --files '["<new-archive>.zip"]' --host <host>
123
+ node "$KB_RUN" +schema --name '<company_kb_name>' --model <model_ref> \
124
+ --custom-instructions-file skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md --host <host>
125
+ node "$KB_RUN" +status --name '<company_kb_name>' --host <host>
126
+ # Run only after schema generation succeeds.
127
+ node "$KB_RUN" +compile --name '<company_kb_name>' --mode full --model <model_ref> --host <host>
128
+ ```
129
+
130
+ Poll `+status`; never poll by resubmitting Schema. Schema/compile failure stops the flow; do not switch to snapshot import. Start with a few representative assets before attempting the complete package.
131
+
132
+ ## Refresh: update changed Markdown sources
133
+
134
+ Regenerate the local Wiki using the existing semantic-plan contract. Use normalized content hashes from the builder's upload manifests so snapshot-only header changes do not rewrite every asset:
135
+
136
+ ```bash
137
+ node skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs \
138
+ --source-dir <next>-kb-upload-sources \
139
+ --tree-output <next>-kb-source-tree \
140
+ --manifest-output <next>-kb-source-tree-manifest.json \
141
+ --previous-manifest <previous>-kb-source-tree-manifest.json
142
+ ```
143
+
144
+ The returned plan contains add/replace/remove actions and unchanged paths under `sources/...`, with `skip` or `incremental` compilation. Do not replace an existing ZIP parent. Before each write, verify the remote bytes still match the last applied local baseline; preserve unexpected manual edits and stop on conflicts. Retain unchanged baseline bytes and update the persisted source-tree manifest only after successful application. If interrupted, reconcile remote bytes before resuming. Compare by the stable ZIP-relative `sources/...` path; when the previous local files are unavailable, discover current paths with paginated `+source-ls` and compare via `+source-read`. Do not replace the ZIP parent or re-upload every file. Do not run the old flat-source uploader or `plan-kb-source-sync.mjs`.
145
+
146
+ For each changed path, obtain the current revision and perform one existing command through the wrapper:
147
+
148
+ ```bash
149
+ node "$KB_RUN" +source-ls --name '<company_kb_name>' --id <zip_source_id> --path '' --host <host>
150
+ node "$KB_RUN" +source-put --name '<company_kb_name>' --id <zip_source_id> \
151
+ --path sources/assets/reports/pskb-p5-report-123.md --file <local-file> --action replace --expected-revision <revision> --host <host>
152
+ node "$KB_RUN" +source-rm --name '<company_kb_name>' --id <zip_source_id> \
153
+ --path <removed-generated-path> --expected-revision <revision> --host <host>
154
+ ```
155
+
156
+ Only remove files owned by this generated asset package. Preserve unrelated source material and unexpected manual edits; stop on conflicts. Keep deletion confirmation unless the exact refresh deletion scope is already authorized. Execute sequentially using returned revisions; a 409 requires fresh discovery and review, not blind retry. Failed writes stop compilation. On resume, compare current remote bytes again so already successful writes are not replayed. Unchanged files are not written. Apply changed Markdown manifest/index sources from the plan too; keep the JSON sync manifest local.
157
+
158
+ After all source-tree changes succeed, call `+compile --mode incremental --model <model_ref>` exactly once. Reuse the existing Schema. Do not force full compilation based only on file count or percentage. No file changes means skip compilation unless the user explicitly requests rebuilding or compiler rules have changed. Schema/authority/taxonomy rule changes require an explicit rebuild decision; normal source updates do not.
159
+
160
+ Compiled navigation must stay decision-oriented. The generated Wiki homepage should not list every report/dashboard file or bare numeric IDs. It should link to modules, business domains, recall cards, category indexes, governance/review pages, and a small set of representative titled entries only. Individual assets belong in their category index or domain context, with title-first link text and IDs as supporting identity.
161
+
162
+ ## Acceptance and readback
163
+
164
+ Completion requires `status=wiki_compiled`, `buildStatus=compiled`, no failed or partial sources, and complete publication when exposed. Verify both a first build and an actual changed-source incremental compile; a local preview or successful upload is not acceptance.
165
+
166
+ Use company-scoped retrieval through the wrapper:
167
+
168
+ ```bash
169
+ node "$KB_RUN" +index --name '<company_kb_name>' --host <host>
170
+ node "$KB_RUN" +grep --name '<company_kb_name>' --query '<business question or marker>' --paths '["<path copied from index>"]' --host <host>
171
+ node "$KB_RUN" +read --name '<company_kb_name>' --path '<path copied from index or grep>' --host <host>
172
+ ```
173
+
174
+ Do not assume the old local Wiki layout. Inspect actual server paths. Check asset IDs, SQL/calculation fidelity, certification, missing facts, cross-source conflict handling and provenance. Smoke-test a representative reusable asset. After refresh, verify additions, changed current definitions, removal of obsolete assertions and preservation of unchanged facts. Historical definitions may remain only when explicitly marked historical and evidenced. Publish statistics such as `reusedPages` are evidence; incremental mode alone does not prove lower model cost.
175
+
176
+ Report target scope/name, requested model, ZIP source ID/revision, compile status/version, source counts and quality findings. Record observed compile duration and usage; small-sample success does not prove a full package will stay below turn limits.
177
+
178
+ ## Authority and retrieval rules
179
+
180
+ Each asset page must expose:
181
+
182
+ ```yaml
183
+ authority_role: canonical | dependency_only | appendix
184
+ certification_state: certified | uncertified
185
+ definition_state: valid | conflict | unknown
186
+ runtime_policy: allow | warn | block
187
+ standalone_recall: true | false
188
+ canonical_asset_id: report:1234 | null
189
+ ```
190
+
191
+ - `authenticated=true` maps only to `certification_state=certified`; it never overrides a definition conflict. In explicit `all_visible` mode, unauthenticated assets remain visible as `certification_state=uncertified` and must not be described as approved/governed semantics.
192
+ - A detectable conflict always yields `runtime_policy=block` and `standalone_recall=false` until reviewed.
193
+ - An unauthenticated child retained through a certified parent is `dependency_only`; it can support its parent but cannot independently become the answer.
194
+ - Technical appendix, duplicate, demo, reproduction, and targeted-diagnostic assets are blocked from standalone recall.
195
+ - Ranking order is: project/permission/status filter -> recall card -> canonical and valid assets -> certification -> semantic relevance and usage. Raw evidence never participates in first-round broad recall.
196
+
197
+ ## SQL report rules
198
+
199
+ Every SQL report requires structured semantics grounded in the packaged SQL and parameters. The compiled Wiki must include one CLI Agent-authored `## Agent 使用摘要` for every SQL report. That single section is the primary SQL business source; do not create a second SQL-specific summary section. The local review retains `sql_semantic_facts` and raw SQL for audit. KB consumes the precompiled meanings and only reopens analysis for concrete inconsistencies or new human evidence. Apply `default-compile-rules.md` to preserve:
200
+ - business purpose;
201
+ - input parameters and their meaning;
202
+ - output fields;
203
+ - statistical grain;
204
+ - key filters and exclusions;
205
+ - default limits or saved time constraints;
206
+ - applicable questions;
207
+ - non-applicable questions;
208
+ - evidence locator.
209
+
210
+ The builder rejects a plan that omits any SQL report or contains mechanically generated SQL summaries that expose parser placeholders instead of Agent-authored business semantics. If the evidence cannot support one of these fields, state `unknown` explicitly and set the report to `definition_state=unknown`; the report cannot be presented as a determined business caliber. Never infer a formula, unit, join relationship, or parameter meaning from a report title alone. CLI owns the main semantic analysis; KB owns final integration and incremental maintenance. Preserve unknown and blocked authority states unless explicit evidence resolves them.
211
+
212
+ ## Existing flat-source knowledge bases
213
+
214
+ Do not automatically migrate existing flat sources or read-only snapshots. Keep existing user material and resolve a separate migration scope when necessary. Source-tree refresh uses the recorded ZIP source ID and directory mutations above.
@@ -0,0 +1,93 @@
1
+ # Project semantic knowledge Wiki plan
2
+
3
+ The Agent authors exactly one plan per asset-package snapshot. The builder validates every referenced asset against the package.
4
+
5
+ ```json
6
+ {
7
+ "schema_version": "2.0",
8
+ "source_snapshot_hash": "<asset package snapshot_hash>",
9
+ "generation_method": "agent_semantic_synthesis",
10
+ "domains": [
11
+ {
12
+ "domain_id": "stable-lowercase-id",
13
+ "title": "业务域名称",
14
+ "summary": "这个业务域主要解决什么问题",
15
+ "primary_questions": ["用户会怎样提问"],
16
+ "primary_metrics": [
17
+ "Agent 总结的核心指标、口径作用和适用问题;不要写脚本占位词,例如“自定义指标”。"
18
+ ],
19
+ "drilldown_dimensions": [
20
+ "Agent 总结的常用下钻维度、字段 key 和使用场景;不要写缺少业务解释的技术字段。"
21
+ ],
22
+ "merge_rationale": "跨物理空间归并或拆分的证据",
23
+ "dashboard_ids": ["dashboard resource_key"],
24
+ "recall_cards": [
25
+ {
26
+ "card_id": "stable-card-id",
27
+ "questions": ["主问法", "同义问法"],
28
+ "intent": "要解决的业务决策",
29
+ "preferred_asset_refs": [
30
+ {
31
+ "resource_type": "dashboard",
32
+ "resource_key": "1234",
33
+ "reason": "为什么它是首选入口"
34
+ }
35
+ ],
36
+ "fallback_asset_refs": [],
37
+ "excluded_asset_refs": [
38
+ {
39
+ "resource_type": "report",
40
+ "resource_key": "5678",
41
+ "reason": "副本、冲突或仅依赖使用",
42
+ "canonical_resource_key": "5677"
43
+ }
44
+ ],
45
+ "requires_live_execution": true,
46
+ "live_execution_reason": "需要当前客户或数量时必须执行报表"
47
+ }
48
+ ]
49
+ }
50
+ ],
51
+ "appendices": [
52
+ {
53
+ "appendix_id": "technical-or-temporary-assets",
54
+ "title": "测试、演示与临时探索资产",
55
+ "summary": "保留用途",
56
+ "selection_rationale": "为什么不能进入主召回",
57
+ "dashboard_ids": ["dashboard resource_key"]
58
+ }
59
+ ],
60
+ "sql_report_semantics": [
61
+ {
62
+ "report_id": "SQL report resource_key",
63
+ "business_purpose": "这张 SQL 报表解决什么业务问题",
64
+ "input_parameters": [
65
+ {"name": "parameter", "meaning": "业务含义", "required": true}
66
+ ],
67
+ "output_fields": [
68
+ {"name": "field", "meaning": "业务含义"}
69
+ ],
70
+ "statistical_grain": "一行或一次聚合代表什么",
71
+ "key_filters": ["关键过滤和排除条件"],
72
+ "default_limits": ["默认时间、行数或范围限制;没有则写 none"],
73
+ "applicable_questions": ["适用问题"],
74
+ "non_applicable_questions": ["不适用问题"],
75
+ "evidence_locator": "asset package detail locator",
76
+ "definition_state": "valid | unknown"
77
+ }
78
+ ]
79
+ }
80
+ ```
81
+
82
+ ## Rules
83
+
84
+ - Every dashboard occurs exactly once across `domains[].dashboard_ids` and `appendices[].dashboard_ids`.
85
+ - Domain titles represent business retrieval topics, not physical dashboard-space names.
86
+ - Every domain has at least one recall card. Preferred and fallback refs must belong to that domain's dashboard/report closure or be a reusable metric directly referenced by it.
87
+ - Every excluded ref names a concrete reason. A duplicate should name its canonical resource when known.
88
+ - Every SQL report in the package has exactly one `sql_report_semantics` row. Unknown evidence is represented explicitly; it is never filled from the title.
89
+ - SQL semantics are Agent-authored after reading the report definition and SQL. Do not populate them by reusable sentence templates or deterministic parser output alone.
90
+ - `sql_report_semantics[].evidence_locator` exactly equals that report's packaged `source_detail_path`; never cite an external or guessed SQL definition.
91
+ - A SQL report with `definition_state=valid` has at least one output field, one applicable question and one non-applicable question. Use `unknown` when those boundaries cannot be proven.
92
+ - Visible SQL fields must use business names and meanings. Do not expose parser/debug terms such as `SQL 输出字段`, `来源表达式`, `${Selector:...}`, `${PartDate:...}`, `where 条件`, `order by`, or operator codes.
93
+ - The plan contains no query results, customer rows, users, tokens, credentials, or conversation text.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli project timezone get --project-id <project_id>
11
- ae-cli project timezone get --dry-run --project-id <project_id>
12
11
  ```
13
12
 
14
13
  Capability id: `project.timezone.get`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli project timezone overview --project-id <project_id>
11
- ae-cli project timezone overview --dry-run --project-id <project_id>
12
11
  ```
13
12
 
14
13
  Capability id: `project.timezone.overview`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli project timezone update --project-id <project_id> --item timezone_toggle --payload '{"toggle":true}'
11
- ae-cli project timezone update --project-id <project_id> --item timezone_toggle --payload '{"toggle":true}' --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `project.timezone.update`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli project user-id-items update --project-id <project_id> --payload <payload>
11
- ae-cli project user-id-items update --dry-run --project-id <project_id> --payload <payload>
12
11
  ```
13
12
 
14
13
  Capability id: `project.user_id_items.update`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property changelog-list --project-id <project_id> --table-type <table_type> --prop-name <prop_name>
11
- ae-cli analysis-meta property changelog-list --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.changelog_list`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property create --project-id <project_id> --table-type event --payload '{"prop_name":"amount","prop_desc":"Amount","select_type":"number","common_prop":false,"super_event_ids":[<event_id>]}'
11
- ae-cli analysis-meta property create --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.create`.
@@ -9,7 +9,6 @@ Command:
9
9
  ```bash
10
10
  ae-cli analysis-meta property export --project-id <project_id> --scope event --output <temporary_path>/properties.json
11
11
  ae-cli analysis-meta property export --project-id <project_id> --scope event --event-name purchase --queries '["amount"]' --fields '["prop_name","prop_desc"]' --output <temporary_path>/properties.json
12
- ae-cli analysis-meta property export --dry-run
13
12
  ```
14
13
 
15
14
  Capability id: `metadata.property.export`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property get --project-id <project_id> --table-type <table_type> --prop-name <prop_name>
11
- ae-cli analysis-meta property get --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.get`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property hide-update --project-id <project_id> --table-type event --prop-names '["amount"]' --is-hide true
11
- ae-cli analysis-meta property hide-update --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.hide_update`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property influence-list --project-id <project_id> --table-type <table_type> --prop-name <prop_name>
11
- ae-cli analysis-meta property influence-list --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.influence_list`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Use when the user needs to browse or search event/user property metadata, including dimension-table and complex child properties.
4
4
 
5
- Do not use it for property values. Use this command only when the user explicitly wants to inspect metadata or when a prior compiler error asks for disambiguation.
5
+ Do not use it for property values. Use it when the task needs property metadata that is not already available from a verified definition or prior response.
6
6
 
7
7
  Command:
8
8
 
@@ -10,14 +10,13 @@ Command:
10
10
  ae-cli analysis-meta property list --project-id <project_id>
11
11
  ae-cli analysis-meta property list --project-id <project_id> --scope event --event-name purchase --queries '["demo","sample"]'
12
12
  ae-cli analysis-meta property list --project-id <project_id> --queries '["demo","sample"]' --fields '["prop_id","prop_name","prop_desc","prop_remark","select_type","table_type","authentication_status"]' --limit 50 --offset 0
13
- ae-cli analysis-meta property list --dry-run
14
13
  ```
15
14
 
16
15
  Capability id: `metadata.property.list`.
17
16
 
18
17
  Input sends `project_id` and optional `table_type`, `scope`, `event_name`, `queries`, `fields`, `limit`, `offset`, and `authenticated_only`.
19
18
 
20
- Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`. Dimension-table and complex child properties are returned as independent flat rows, so keyword search, field projection, and pagination apply to them in the same way as top-level properties.
19
+ Output always uses the directory envelope: `data.properties[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`. Dimension-table and complex child properties are returned as independent flat rows, so keyword search, field projection, and pagination apply to them in the same way as top-level properties.
21
20
 
22
21
  ## Parameters
23
22
  | Parameter | Required | Description |
@@ -36,5 +35,5 @@ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `of
36
35
 
37
36
  - Prefer `--scope event` or `--scope user` when the user needs a specific table type.
38
37
  - Use `--authenticated-only true` only when the user explicitly asks for authenticated assets.
39
- - For ad-hoc analysis, pass the user's property wording in the AI-facing `definition` instead of pre-querying property metadata.
38
+ - For a missing event property, use `--scope event --event-name <verified_event_name>`; reuse properties already known from selected definitions.
40
39
  - For a complete result, use `analysis-meta property export`; do not page repeatedly to synthesize an export.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property related-events --project-id <project_id> --prop-name <prop_name>
11
- ae-cli analysis-meta property related-events --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.related_events`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property relation-update --project-id <project_id> --table-type event --payload '{"prop_name":"amount","select_type":"number","super_event_ids":[<event_id>]}'
11
- ae-cli analysis-meta property relation-update --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.relation_update`.
@@ -8,7 +8,6 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property update --project-id <project_id> --table-type <table_type> --prop-name <prop_name> --prop-desc <prop_desc> --prop-remark <prop_remark>
11
- ae-cli analysis-meta property update --dry-run
12
11
  ```
13
12
 
14
13
  Capability id: `metadata.property.update`.
@@ -12,11 +12,13 @@ Command:
12
12
  ae-cli analysis report create --project-id <project_id> --report-name "Demo" --model-type event --definition '{...}' [--resolutions '<confirmed_resolution_json>'] [--report-desc "..."] [--dashboard-ids "[1001]"]
13
13
  ```
14
14
 
15
+ When the caller supplies an existing snapshot, optional `--intent-snapshot` accepts `schema_version: 1`, non-empty `requirement`, `definition` and `model_type`. The CLI checks that its definition and model match the submitted values locally; the snapshot is never sent to Gateway.
16
+
15
17
  Input sends `project_id`, `report_name`, `model_type`, `definition`, optional user-confirmed `resolutions`, `report_desc`, `cache_seconds`, `query_duration_ms`, and `dashboard_ids`. `--resolutions` is not supported with `--model-type tag`.
16
18
 
17
19
  Output is the gateway envelope. `data` contains the created `report_id`, creation status, normalized `model_type`, AI QP `definition`, and optional resolution warnings.
18
20
 
19
- Report creation and its `--validate` / `--dry-run` paths use the same compiler contract. `AI_QP_COMPILE_FAILED` preserves the full structured error array. No report is created on this failure; follow [`../metadata_resolution.md`](../metadata_resolution.md), keep the definition unchanged, and pass `--resolutions` only after user confirmation.
21
+ Report creation and its `--validate` / `--dry-run` paths use the same compiler contract. `AI_QP_COMPILE_FAILED` preserves the full structured error array. No report is created on this failure; follow [`metadata_resolution.md`](metadata_resolution.md), keep each bound field's path and original wording, fill confirmed model parameters, and pass `--resolutions` only after user confirmation.
20
22
 
21
23
  ## SQL dynamic parameter shortest path
22
24
 
@@ -28,6 +30,6 @@ ae-cli analysis report create --project-id <project_id> --report-name "Recent SQ
28
30
 
29
31
  `use_timezone` is an optional boolean definition field only for `part_date`; it defaults to `false`. `true` makes that parameter use the query's effective timezone. It is a saved definition field, so change it through report create/update `--definition`, never through report-data `--sql-params`.
30
32
 
31
- After creation, keep the `report_id` returned by this exact create response. To verify the report, query the saved default first with `analysis report-data run` and omit `--sql-params`; then make one second query with a value-only `--sql-params` override. Do not rebuild internal `sqlViewParams` or guess an ID.
33
+ After creation, keep the `report_id` returned by this exact create response. If the user also requests report data, call `analysis report-data run` directly with the requested value-only `--sql-params` overrides, or omit that flag to use saved defaults. Do not rebuild internal `sqlViewParams` or guess an ID.
32
34
 
33
35
  After any successful report create, call `analysis-meta asset url-get` with that returned `report_id` and output its `markdown_link`.
@@ -2,11 +2,11 @@
2
2
 
3
3
  Submit saved report data as a downloadable async artifact. It covers the 12 analysis report models from `ai_models.md` plus tag report data; tags are report-data only and are not ad-hoc `model_type` values.
4
4
 
5
- Typical closed loop: verify saved report definition -> resolve exact filter values and physical query route when needed -> submit export -> preserve the returned run/artifact pair -> inspect to a successful terminal state -> download and verify artifact content.
5
+ Reuse the verified report definition; resolve unknown filter values or an explicitly requested physical route, then export once with `--output <file>`.
6
6
 
7
- Before adding overrides, call `analysis report get` for every report. The model matrix is the same as `report-data run`: SQL accepts only saved `definition.params` names through `--sql-params`; non-SQL analysis models accept filters/group/time overrides; tag executes its saved definition. Never put generic overrides and `--sql-params` in one homogeneous-model request.
7
+ Before adding overrides, read any target report definition not already verified in the current task with `analysis report get`. The model matrix is the same as `report-data run`: SQL accepts only saved `definition.params` names through `--sql-params`; non-SQL analysis models accept filters/group/time overrides; tag executes its saved definition. Never put generic overrides and `--sql-params` in one homogeneous-model request.
8
8
 
9
- Routing: read [`analysis_data_retrieval.md`](analysis_data_retrieval.md) before choosing this `export` command instead of `report-data run`.
9
+ For full data, read [export handling](analysis_data_export.md) and use this `export` command instead of `report-data run`.
10
10
 
11
11
  Do not use this command for bounded inline previews; use `report-data run` when the requested result fits the sync data retrieval rule.
12
12
 
@@ -14,13 +14,13 @@ Command:
14
14
 
15
15
  ```bash
16
16
  # Non-SQL analysis report
17
- ae-cli analysis report-data export --project-id <project_id> --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --artifact-format jsonl
17
+ ae-cli analysis report-data export --project-id <project_id> --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --artifact-format jsonl --output <file>
18
18
 
19
- # SQL report
20
- ae-cli analysis report-data export --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --artifact-format jsonl
19
+ # SQL report, after report get confirms options[].name=Production
20
+ ae-cli analysis report-data export --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"environment","value":"Production"}]' --artifact-format jsonl --output <file>
21
21
 
22
22
  # Global cross-cluster export for a supported non-SQL report
23
- ae-cli analysis report-data export --project-id <project_id> --report-ids '[1001]' --cluster-query-scope GLOBAL --artifact-format jsonl
23
+ ae-cli analysis report-data export --project-id <project_id> --report-ids '[1001]' --cluster-query-scope GLOBAL --artifact-format jsonl --output <file>
24
24
  ```
25
25
 
26
26
  Input also accepts optional `cluster_query_scope` and conditional `slave_cluster_id`. Omit both for current-self data. Resolve allowed physical routes with `analysis query-cluster list`; SQL reports reject `GLOBAL`. Async export has no inline row limit. Runtime defaults to and is capped at 21600 seconds (6 hours); cancel earlier with `analysis query cancel --run-id <run_id>`.
@@ -35,11 +35,13 @@ Override model:
35
35
  - `group-by`: AI-facing intent array `[{field:{name,type?}}]`. Use the same field model as report definitions. Do not pass raw `TaGroupByVo`. Time granularity is controlled by `--time-granularity`, not by `--group-by`.
36
36
  - `sql-params`: SQL report dynamic parameter value overrides. First read `analysis report get`; every name must exist in every target SQL report's `definition.params`. Time fields require a saved `part_date` or time parameter. Send only override values; do not send definition fields such as `type`, `options`, or `use_timezone`.
37
37
 
38
+ For a selector, the override object's `value` must contain the exact UI option label from the live selector definition's `options[].name`. Never pass `options[].value`; it is the saved SQL expansion fragment. If `{"name":"Production","value":"AND is_dev = false"}` is one saved option, the runtime override is `{"name":"environment","value":"Production"}`. Re-read `analysis report get` instead of guessing or automatically rewriting an ambiguous label. Treat `INVALID_REPORT_DEFINITION` with `selectorName invalid` as an override-name diagnostic and do not repeat the unchanged export.
39
+
38
40
  Mixed-model export batches are best-effort rather than rejected only for being mixed. Prefer one model per overridden export because artifact formats cannot surface submission-time warnings as prominently as inline `meta.warnings`.
39
41
 
40
- Output is the gateway envelope. `data` contains opaque `run_id` and `artifact_id`, lifecycle status and expiration, and effective timeout/deadline fields. Exports do not create `query_context_id`. Inspect/download through the dedicated CLI commands using the IDs.
42
+ Output is the gateway envelope. `data` contains opaque `run_id` and `artifact_id`, lifecycle status and expiration, and effective timeout/deadline fields. Exports do not create `query_context_id`. The CLI handles waiting and download with `--output`.
41
43
 
42
- Keep `run_id` and `artifact_id` from the same export response. Inspect that exact `run_id`, then download only that paired `artifact_id`; never combine IDs from different exports.
44
+ To resume an interrupted export, use `ae-cli analysis run wait --run-id <run_id> --output <file>` with the `run_id` from the same export response; see [`run_wait.md`](run_wait.md).
43
45
 
44
46
  An empty artifact is a successful query and means the requested time range has no data. If every requested report explicitly fails, the run reaches `FAILED` instead of completing an error-only artifact. Mixed exports may contain explicit per-report error markers alongside successful report data.
45
47
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Execute bounded inline data from one or more saved reports.
4
4
 
5
- Typical closed loop: discover a saved report -> verify its definition -> resolve any unknown exact filter value with `analysis filter-value list` -> optionally resolve a physical route with `analysis query-cluster list` -> run -> inspect actual scope and warnings -> use the returned synchronous query context for drilldown.
5
+ Typical closed loop: discover a saved report -> verify its definition -> resolve any unknown exact filter value with `analysis filter-value list` -> optionally resolve a physical route with `analysis query-cluster list` -> run -> inspect actual scope and warnings. Use query context only for a requested, supported follow-up action.
6
6
 
7
7
  Routing: read [`analysis_data_retrieval.md`](analysis_data_retrieval.md) before choosing this `run` command instead of `report-data export`.
8
8
 
@@ -10,7 +10,7 @@ Do not use this command for full, unknown-size, larger than the current runtime
10
10
 
11
11
  This gateway report-data capability executes saved reports with model-specific overrides. It covers the 12 analysis report models from `ai_models.md` plus tag report data; tags are report-data only and are not ad-hoc `model_type` values.
12
12
 
13
- Before adding any query-condition override, call `analysis report get` for every `report_id` and branch on `data.model_type`:
13
+ Before adding any query-condition override, reuse each report definition already read or call `analysis report get` for the missing `report_id` and branch on `data.model_type`:
14
14
 
15
15
  | Saved report model | Valid query-condition overrides |
16
16
  |---|---|
@@ -24,8 +24,8 @@ Command:
24
24
  # Non-SQL analysis report
25
25
  ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --start-time 2026-07-01 --end-time 2026-07-09 --preview-rows 20
26
26
 
27
- # SQL report, after analysis report get confirms definition.params contains platform
28
- ae-cli analysis report-data run --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --preview-rows 20
27
+ # SQL report, after analysis report get confirms a selector option has options[].name=Production
28
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"environment","value":"Production"}]' --preview-rows 20
29
29
 
30
30
  # Explicit local-time mode (not UTC+99)
31
31
  ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --zone-offset 99 --preview-rows 20
@@ -47,14 +47,21 @@ Override model:
47
47
 
48
48
  - `filters`: AI-facing intent object `{relation:"and|or", items:[{field:{name,type?}, operator, values?}]}`. `field.type` supports `event_property`, `user_property`, `cluster`, and `tag`; omit it only when the field name is unambiguous. Use field names from `analysis report get` definition output or metadata commands. Do not pass raw QP fields such as `taFilters`, `junctionKind`, `columnName`, `tableType`, or `selectType`.
49
49
  - `group-by`: AI-facing intent array `[{field:{name,type?}}]`. Use the same field model as report definitions. Do not pass raw `TaGroupByVo`. Time granularity is controlled by `--time-granularity`, not by `--group-by`.
50
- - `sql-params`: SQL report dynamic parameter value overrides. First read `analysis report get`; saved SQL params are exposed as AI-facing `definition.params`. Every name must exist in every target SQL report because one batch shares the override. Send only override values for existing parameter names: `[{"name":"platform","value":"ios"}]`, `[{"name":"server_id","operator":"contains","value":"s1"}]`, `[{"name":"level","operator":"eq","values":["42"]}]`, `[{"name":"amount","operator":"between","values":["10","20"]}]`, `[{"name":"part_date","start_time":"2026-07-01 00:00:00","end_time":"2026-07-09 23:59:59"}]`, or `[{"name":"part_date","recent_day":"1-7"}]`. Time fields require a saved `part_date` or time parameter. Operators `eq`/`in`, `neq`/`not_in`, and `between` use `values`; comparison/like/contains operators use single `value`. Do not send definition fields such as `type`, `options`, or `use_timezone`; change them through report update.
50
+ - `sql-params`: SQL report dynamic parameter value overrides. First read `analysis report get`; saved SQL params are exposed as AI-facing `definition.params`. Every name must exist in every target SQL report because one batch shares the override. Send only override values for existing parameter names: `[{"name":"environment","value":"Production"}]`, `[{"name":"server_id","operator":"contains","value":"s1"}]`, `[{"name":"level","operator":"eq","values":["42"]}]`, `[{"name":"amount","operator":"between","values":["10","20"]}]`, `[{"name":"part_date","start_time":"2026-07-01 00:00:00","end_time":"2026-07-09 23:59:59"}]`, or `[{"name":"part_date","recent_day":"1-7"}]`. Time fields require a saved `part_date` or time parameter. Operators `eq`/`in`, `neq`/`not_in`, and `between` use `values`; comparison/like/contains operators use single `value`. Do not send definition fields such as `type`, `options`, or `use_timezone`; change them through report update.
51
+
52
+ Selector runtime contract:
53
+
54
+ - Find the matching selector in the live `data.definition.params` returned by `analysis report get`.
55
+ - The override object still uses the field named `value`, but its content must be the exact UI label from that selector's `options[].name`, including case and punctuation.
56
+ - Never put `options[].value` in the runtime override. That field is the saved SQL expansion fragment, not the runtime selector name. For example, if an option is `{"name":"Production","value":"AND is_dev = false"}`, send `{"name":"environment","value":"Production"}`, not the SQL fragment.
57
+ - Do not guess from a stale knowledge-base snapshot and do not automatically translate ambiguous labels. Re-read the live report definition. If execution returns `INVALID_REPORT_DEFINITION` with `selectorName invalid`, correct the override from `options[].name`; do not repeat the unchanged request.
51
58
 
52
59
  A homogeneous SQL request that includes `filters`, `group_by`, `start_time`, `end_time`, or `time_granularity` fails with `INVALID_OVERRIDE_FOR_MODEL`. A homogeneous non-SQL request with `sql_params` also fails. Mixed-model batches are best-effort: data still returns and `meta.warnings[]` uses `OVERRIDE_IGNORED_FOR_MODEL`, `model_type`, `report_ids`, and `ignored_fields` to identify fields that did not apply. Do not discard these warnings.
53
60
 
54
- For a newly created or updated dynamic SQL report, omit `--sql-params` to execute the saved default first. After that succeeds, then make one second call with `--sql-params` to change only the requested value. This separates a broken saved default from a broken override and avoids repeating the same query.
61
+ For a SQL report query, pass the requested value overrides directly through `--sql-params`; omit it when the saved defaults are requested.
55
62
 
56
63
  Output is the gateway envelope. When at least one report exposes a follow-up action, `data` contains bounded inline report result items plus `query_context_id` and compact `sources[]` summaries. Each source includes `effective_zone_offset`, the timezone value actually used for that query. When `zone_offset` is omitted, this is the resolved current-user timezone when available, otherwise the project default; when `zone_offset` is explicit, this is its resolved effective value. SQL-only and otherwise non-drillable results omit query context entirely. Use `analysis query-context get` to read the selected source's full coordinate options.
57
64
 
58
65
  `meta.actual_cluster_query_scope`, optional `meta.actual_slave_cluster_id`, and `meta.cluster_query_scope_source` describe the actual physical route. Verify them before comparing or drilling down. An empty batch or report result with no rows is a successful query: it means the requested time range has no data. The command fails only when every returned report entry contains an explicit execution error.
59
66
 
60
- Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Call `analysis query-context get`, select only its returned row/column/metric options, and call only the advertised event, entity, or result-cluster action. Do not pass raw QP.
67
+ Only when the user requests a supported follow-up action, read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Call `analysis query-context get`, select only its returned row/column/metric options, and call only the advertised event, entity, or result-cluster action. Do not pass raw QP.