@thinkingai/ae-cli 6.0.31 → 6.0.33

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 (255) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{auth-MEJ642P4.js → auth-ENM3FE6L.js} +3 -2
  4. package/dist/{auth-7H3HAAJ3.js → auth-UPGUOKTW.js} +13 -6
  5. package/dist/{capability-SEH3JWLN.js → capability-AJC5CBRT.js} +50 -18
  6. package/dist/{capability-SQ2IWKP3.js → capability-TQ5KU5Q6.js} +50 -18
  7. package/dist/chunk-24BAVOX3.js +51 -0
  8. package/dist/{chunk-MDJGDI6K.js → chunk-3KI3RRXX.js} +5 -5
  9. package/dist/{chunk-PKRD2IEM.js → chunk-3P3562ZX.js} +9 -7
  10. package/dist/{chunk-R77JT7XD.js → chunk-4Q5TNP4Q.js} +4 -4
  11. package/dist/{chunk-TKQJQXWT.js → chunk-6CHYBI64.js} +7 -4
  12. package/dist/{chunk-6LEYLOV3.js → chunk-CPVTECJ3.js} +9 -7
  13. package/dist/{chunk-KCA6BA5D.js → chunk-DB4Q3ANU.js} +5 -3
  14. package/dist/{chunk-2NDGFQHW.js → chunk-E7UXXHO3.js} +11 -3
  15. package/dist/{chunk-I4A62X3N.js → chunk-HQ2A7ITL.js} +23 -14
  16. package/dist/chunk-IMMGMU54.js +674 -0
  17. package/dist/{chunk-AJTH7LT3.js → chunk-IR4ZLVPW.js} +4 -2
  18. package/dist/{chunk-N2QORU5D.js → chunk-ISY6HMHM.js} +7 -4
  19. package/dist/{chunk-KGJQCYVC.js → chunk-LCXU3AAT.js} +4 -2
  20. package/dist/chunk-LYVNONC4.js +86 -0
  21. package/dist/{chunk-DYOS6YY7.js → chunk-RGXCNC4N.js} +23 -14
  22. package/dist/{chunk-YCLVYFK7.js → chunk-V6FR6WTW.js} +45 -87
  23. package/dist/chunk-VTWMIC5L.js +27 -0
  24. package/dist/{cli-token-TVQRSE46.js → cli-token-4SBMXAUK.js} +6 -3
  25. package/dist/{client-2643Z5AG.js → client-PP5FETMW.js} +4 -3
  26. package/dist/community-report-client-KK2QBANO.js +145 -0
  27. package/dist/{config-7UZWDE74.js → config-RCCGHHYA.js} +6 -3
  28. package/dist/index.js +541 -234
  29. package/dist/{metadata-W6JFFMBA.js → metadata-3M5F2AED.js} +15 -14
  30. package/dist/{metadata-X62TKIVK.js → metadata-W2MEOI4Z.js} +15 -14
  31. package/dist/{model-T3KZJWLW.js → model-OYQLXCQY.js} +3 -2
  32. package/dist/{raw-CN542NGT.js → raw-TPB7KSZO.js} +6 -4
  33. package/dist/{sync-ERNHDPB5.js → sync-EFJKFZK2.js} +6 -3
  34. package/dist/{te-agent-FCCWUDTJ.js → te-agent-K2OWMZXT.js} +3 -2
  35. package/dist/{te-analysis-NJGNWZFC.js → te-analysis-I73ZS4NK.js} +2196 -120
  36. package/dist/{te-analysis-YGV5V5EX.js → te-analysis-Q7AZCDU4.js} +2196 -120
  37. package/dist/te-common-ST3QPSXJ.js +61 -0
  38. package/dist/te-common-WSLIKKPC.js +61 -0
  39. package/dist/te-community-WXGB6IOX.js +1659 -0
  40. package/dist/te-community-X2AHXGCA.js +1659 -0
  41. package/dist/{te-dataops-ZNJBQ6VT.js → te-dataops-MJV54MNY.js} +10 -8
  42. package/dist/{te-dataops-F36T656A.js → te-dataops-OA7I6HBG.js} +10 -8
  43. package/dist/te-engage-GJRVQMK3.js +3895 -0
  44. package/dist/te-engage-JIXX3WBI.js +3895 -0
  45. package/dist/{te-kb-NT33UHAE.js → te-kb-CIZXRWMO.js} +105 -23
  46. package/dist/{te-meta-VKWNAWO4.js → te-meta-Q4L6EE3Q.js} +8 -240
  47. package/dist/{te-meta-MAAUHFQO.js → te-meta-VHCN4Q62.js} +8 -240
  48. package/dist/{te-team-OKCOX7OE.js → te-team-PDKKW7Q5.js} +7 -6
  49. package/dist/tracking/i18n/resources/cli/en.json +4 -3
  50. package/dist/tracking/i18n/resources/cli/ja.json +4 -3
  51. package/dist/tracking/i18n/resources/cli/ko.json +4 -3
  52. package/dist/tracking/i18n/resources/cli/zh.json +4 -3
  53. package/package.json +6 -2
  54. package/skills/ae-agent/SKILL.md +2 -1
  55. package/skills/ae-analysis/SKILL.md +21 -7
  56. package/skills/ae-analysis/references/adhoc_export.md +5 -6
  57. package/skills/ae-analysis/references/adhoc_run.md +7 -9
  58. package/skills/ae-analysis/references/ai_models.md +17 -1
  59. package/skills/ae-analysis/references/alert_create.md +25 -0
  60. package/skills/ae-analysis/references/alert_definition_schema_get.md +24 -0
  61. package/skills/ae-analysis/references/alert_delete.md +26 -0
  62. package/skills/ae-analysis/references/alert_detail_list.md +27 -0
  63. package/skills/ae-analysis/references/alert_get.md +25 -0
  64. package/skills/ae-analysis/references/alert_job_list.md +24 -0
  65. package/skills/ae-analysis/references/alert_list.md +27 -0
  66. package/skills/ae-analysis/references/alert_notice_config_list.md +24 -0
  67. package/skills/ae-analysis/references/alert_start.md +25 -0
  68. package/skills/ae-analysis/references/alert_stop.md +25 -0
  69. package/skills/ae-analysis/references/alert_update.md +26 -0
  70. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  71. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  72. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  73. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  74. package/skills/ae-analysis/references/bi_panel_create.md +3 -3
  75. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  76. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  77. package/skills/ae-analysis/references/check_delete.md +27 -0
  78. package/skills/ae-analysis/references/check_export.md +27 -0
  79. package/skills/ae-analysis/references/check_get.md +27 -0
  80. package/skills/ae-analysis/references/check_list.md +24 -0
  81. package/skills/ae-analysis/references/check_retry.md +27 -0
  82. package/skills/ae-analysis/references/check_run.md +25 -0
  83. package/skills/ae-analysis/references/command_index.md +114 -46
  84. package/skills/ae-analysis/references/create_entity.md +2 -2
  85. package/skills/ae-analysis/references/dashboard_create.md +3 -3
  86. package/skills/ae-analysis/references/dashboard_daily_report_send.md +1 -0
  87. package/skills/ae-analysis/references/dashboard_daily_report_update.md +2 -0
  88. package/skills/ae-analysis/references/dashboard_report_data_export.md +4 -4
  89. package/skills/ae-analysis/references/dashboard_report_data_run.md +4 -4
  90. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  91. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  92. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  93. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  94. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  95. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  96. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  97. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  98. package/skills/ae-analysis/references/event_blacklist_add.md +25 -0
  99. package/skills/ae-analysis/references/event_blacklist_list.md +24 -0
  100. package/skills/ae-analysis/references/event_blacklist_update.md +26 -0
  101. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  102. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  103. package/skills/ae-analysis/references/event_list.md +10 -2
  104. package/skills/ae-analysis/references/ingest_error_list.md +27 -0
  105. package/skills/ae-analysis/references/ingest_summary.md +26 -0
  106. package/skills/ae-analysis/references/list_entities.md +1 -1
  107. package/skills/ae-analysis/references/live_data_export.md +27 -0
  108. package/skills/ae-analysis/references/live_data_list.md +27 -0
  109. package/skills/ae-analysis/references/metric_create.md +13 -4
  110. package/skills/ae-analysis/references/metric_delete.md +7 -0
  111. package/skills/ae-analysis/references/metric_get.md +6 -0
  112. package/skills/ae-analysis/references/metric_list.md +16 -3
  113. package/skills/ae-analysis/references/metric_update.md +12 -1
  114. package/skills/ae-analysis/references/plan_change_log_export.md +27 -0
  115. package/skills/ae-analysis/references/plan_change_log_list.md +24 -0
  116. package/skills/ae-analysis/references/plan_delete_items.md +30 -0
  117. package/skills/ae-analysis/references/plan_export.md +26 -0
  118. package/skills/ae-analysis/references/plan_generate.md +27 -0
  119. package/skills/ae-analysis/references/plan_get.md +24 -0
  120. package/skills/ae-analysis/references/plan_import_excel.md +26 -0
  121. package/skills/ae-analysis/references/plan_save_items.md +27 -0
  122. package/skills/ae-analysis/references/plan_sync_from_meta.md +24 -0
  123. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  124. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  125. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  126. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  127. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  128. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  129. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  130. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  131. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  132. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  133. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  134. package/skills/ae-analysis/references/project_function_list.md +24 -0
  135. package/skills/ae-analysis/references/project_info_get.md +23 -0
  136. package/skills/ae-analysis/references/project_info_list.md +26 -0
  137. package/skills/ae-analysis/references/project_info_update.md +25 -0
  138. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  139. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  140. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  141. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  142. package/skills/ae-analysis/references/project_member_add.md +25 -0
  143. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  144. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  145. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  146. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  147. package/skills/ae-analysis/references/project_member_import.md +25 -0
  148. package/skills/ae-analysis/references/project_member_list.md +23 -0
  149. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  150. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  151. package/skills/ae-analysis/references/project_member_update.md +25 -0
  152. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  153. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  154. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  155. package/skills/ae-analysis/references/project_role_delete.md +26 -0
  156. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  157. package/skills/ae-analysis/references/project_role_get.md +24 -0
  158. package/skills/ae-analysis/references/project_role_list.md +25 -0
  159. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  160. package/skills/ae-analysis/references/project_role_user_list.md +24 -0
  161. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  162. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  163. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  164. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  165. package/skills/ae-analysis/references/property_list.md +21 -6
  166. package/skills/ae-analysis/references/public_link_create.md +1 -1
  167. package/skills/ae-analysis/references/query_create_result_cluster.md +15 -32
  168. package/skills/ae-analysis/references/report_create.md +1 -1
  169. package/skills/ae-analysis/references/report_data_export.md +5 -3
  170. package/skills/ae-analysis/references/report_data_run.md +13 -3
  171. package/skills/ae-analysis/references/report_get.md +2 -0
  172. package/skills/ae-analysis/references/report_update.md +1 -1
  173. package/skills/ae-analysis/references/sdk_sample_generate.md +24 -0
  174. package/skills/ae-analysis/references/user_cluster_create.md +5 -1
  175. package/skills/ae-analysis/references/user_cluster_create_id.md +2 -0
  176. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  177. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  178. package/skills/ae-analysis/references/user_cluster_update.md +5 -1
  179. package/skills/ae-analysis/references/user_cluster_update_id.md +2 -0
  180. package/skills/ae-analysis/references/user_tag_create.md +5 -1
  181. package/skills/ae-analysis/references/user_tag_create_id.md +2 -0
  182. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  183. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  184. package/skills/ae-analysis/references/user_tag_update.md +5 -1
  185. package/skills/ae-analysis/references/user_tag_update_id.md +2 -0
  186. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  187. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  188. package/skills/ae-analysis-global/SKILL.md +2 -0
  189. package/skills/ae-capability/SKILL.md +7 -5
  190. package/skills/ae-community/SKILL.md +72 -8
  191. package/skills/ae-community/references/community-chat-analysis.md +341 -0
  192. package/skills/ae-community/references/community-data-report.md +301 -0
  193. package/skills/ae-dataops/SKILL.md +2 -1
  194. package/skills/ae-engage/SKILL.md +204 -8
  195. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  196. package/skills/ae-engage/references/activity-activity.md +70 -0
  197. package/skills/ae-engage/references/activity-approval.md +53 -0
  198. package/skills/ae-engage/references/activity-task.md +87 -0
  199. package/skills/ae-engage/references/activity-topic.md +98 -0
  200. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  201. package/skills/ae-engage/references/channel-test-send.md +37 -0
  202. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  203. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  204. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  205. package/skills/ae-engage/references/channel-update-config.md +36 -0
  206. package/skills/ae-engage/references/client-param.md +58 -0
  207. package/skills/ae-engage/references/common-metric.md +75 -0
  208. package/skills/ae-engage/references/config-table.md +92 -0
  209. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  210. package/skills/ae-engage/references/operation-log-query.md +1 -1
  211. package/skills/ae-engage/references/preset-event.md +42 -0
  212. package/skills/ae-engage/references/push-language.md +39 -0
  213. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  214. package/skills/ae-engage/references/scene-config-group.md +62 -0
  215. package/skills/ae-engage/references/scene-config-item.md +68 -0
  216. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  217. package/skills/ae-engage/references/scene-config-param.md +72 -0
  218. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  219. package/skills/ae-engage/references/scene-strategy.md +47 -0
  220. package/skills/ae-engage/references/scene-template.md +71 -0
  221. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  222. package/skills/ae-engage/references/whitelist.md +72 -0
  223. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  224. package/skills/ae-generate-tracking-code/SKILL.md +4 -4
  225. package/skills/ae-generate-tracking-plan/SKILL.md +140 -16
  226. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +98 -33
  227. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  228. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +16 -14
  229. package/skills/ae-kb/SKILL.md +36 -9
  230. package/skills/ae-metadata/SKILL.md +3 -2
  231. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  232. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  233. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  234. package/skills/ae-team/SKILL.md +2 -1
  235. package/dist/chunk-NOO24N7W.js +0 -11
  236. package/dist/chunk-TNW2CI4W.js +0 -129
  237. package/dist/te-common-5NJLF3XG.js +0 -130
  238. package/dist/te-common-7VTJZPII.js +0 -130
  239. package/dist/te-community-PEZ2VEF7.js +0 -687
  240. package/dist/te-community-TSKJ652U.js +0 -687
  241. package/dist/te-engage-BUWVSSSK.js +0 -1912
  242. package/dist/te-engage-EPE3QKDE.js +0 -1912
  243. package/skills/ae-analysis/references/create_metric.md +0 -58
  244. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  245. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  246. package/skills/ae-analysis/references/delete_metric.md +0 -32
  247. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  248. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  249. package/skills/ae-analysis/references/get_metric.md +0 -38
  250. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  251. package/skills/ae-analysis/references/list_events.md +0 -46
  252. package/skills/ae-analysis/references/list_metrics.md +0 -52
  253. package/skills/ae-analysis/references/list_properties.md +0 -47
  254. package/skills/ae-analysis/references/update_metric.md +0 -58
  255. package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
@@ -139,6 +139,12 @@ Formula metric example:
139
139
  }
140
140
  ```
141
141
 
142
+ Formula rules:
143
+
144
+ - Write **bare aliases** only in `formula` (e.g. `"revenue / users"` or `"pay / dau"`).
145
+ - **Do not** write `alias.Axxx` (e.g. `"pay.A103"` / `"revenue.A103"`). Aggregation codes come from each dependency's `aggregation`; the builder expands aliases to real event tokens such as `purchase.amount.A103/login.A101`.
146
+ - After the builder returns `status=generated`, hard-validate by querying (`analysis adhoc run` / report-data / dashboard-report-data). Do not save a report or dashboard from an unqueried formula QP.
147
+
142
148
  ### `retention`
143
149
 
144
150
  Use for retained/lost users from an initial event to a return event.
@@ -277,6 +283,16 @@ Use for behavior paths before or after a source event.
277
283
 
278
284
  Path `filters` are global member filters compiled to the original QP `user_filter`. They support `user_property`, `cluster`, and `tag`, but not `event_property`. Do not move a user filter into the source event's event-property filter.
279
285
 
286
+ Path session timeout accepts only these unit/value ranges:
287
+
288
+ - `second`: `1..999`
289
+ - `minute`: `1..999`
290
+ - `hour`: `1..24`
291
+
292
+ Do not use `day`. Express one day as `session_interval=24` with `session_unit=hour`.
293
+
294
+ Property types come from project metadata. If resolution says a field is an `event_property`, never relabel it as `user_property` just to satisfy the path schema. Remove the unsupported global filter, choose a model that supports event-property filtering, or ask the user to clarify the intended constraint. A familiar name such as `channel` is not universally an event or user property across projects.
295
+
280
296
  For every non-SQL intent model, do not call `list_events` or `list_properties` as an execution prerequisite. The successful response must expose every internally resolved event/property in `resolved`, including `input`, `resolved_name`, `match_type`, and `path`. Use metadata discovery only after a structured `need_clarification` response or an explicit resolution capability error.
281
297
 
282
298
  ### `prop_analysis`
@@ -373,7 +389,7 @@ Rules:
373
389
  - Do not pass SQL-IDE internals such as `sqlVoParams`, `sqlViewParams`, `paramType`, `paramName`, `paramExpress`, `commonFilter`, or `requiredEvents`.
374
390
  - Delimit any Trino identifier containing `#`, `$`, `@`, spaces, or punctuation with double quotes, for example `"#user_id"` and `"$part_event"`. Single quotes create string literals, not identifiers. Escape a literal double quote inside an identifier by doubling it. The CLI preserves the submitted SQL and does not rewrite identifiers.
375
391
  - For an event table, include a date-partition predicate on the discovered `"$part_date"` column, for example `WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'`. The backend rejects event-table SQL without this condition.
376
- - Do not invent table or column names. If the table is unknown, call `analysis sql-table list --project-id <project_id>` and select an exact returned `table_ref`. Then use `analysis sql-table columns --project-id <project_id> --table-ref <table_ref>` before writing SQL. Ask the user only when multiple authorized tables remain semantically plausible after discovery.
392
+ - Do not invent table or column names. If the user already provides a concrete table reference, use `analysis-meta datatable columns-get --project-id <project_id> --table-ref <table_ref>` to inspect columns before writing SQL. If the table itself is unknown, call `analysis sql-table list --project-id <project_id>` when available and select an exact returned `table_ref`; otherwise stop and ask for the table/data source. Ask the user only when multiple authorized tables remain semantically plausible after discovery.
377
393
  - For a saved dynamic SQL report, put the default values in `analysis report create/update --definition`. Verify the default once with `analysis report-data run` without `--sql-params`, then verify a changed value with one value-only `--sql-params` override.
378
394
  - SQL tags and SQL clusters do not use this general parameter contract. They accept only `${PartDate:name}` with `type=part_date`, and their tables must be discovered with `analysis sql-table list/columns --usage tag_cluster`; see `user_tag_models.md` and `user_cluster_models.md`.
379
395
 
@@ -0,0 +1,25 @@
1
+ # analysis alert create
2
+
3
+ Use when create an alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert create [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.create`
14
+
15
+ Input sends `project_id` and `definition`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--definition` | See command help | Yes |
25
+
@@ -0,0 +1,24 @@
1
+ # analysis alert-definition-schema get
2
+
3
+ Use when get the alert definition schema.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert-definition-schema get
11
+ ```
12
+
13
+ Capability id: `analysis.alert_definition_schema.get`
14
+
15
+ Input sends No input. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | None | - | - |
24
+
@@ -0,0 +1,26 @@
1
+ # analysis alert delete
2
+
3
+ Use when delete an alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert delete --project-id <project_id> --alert-id <alert_id> --dry-run
11
+ # Summarize the target and impact, then wait for explicit user confirmation.
12
+ ae-cli analysis alert delete --project-id <project_id> --alert-id <alert_id> --yes
13
+ ```
14
+
15
+ Capability id: `analysis.alert.delete`
16
+
17
+ Input sends `project_id` and `alert_id`. Do not send camelCase aliases.
18
+
19
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
20
+
21
+ Parameters:
22
+
23
+ | Parameter | Description | Required |
24
+ | --- | --- | --- |
25
+ | `--project-id` | See command help | Yes |
26
+ | `--alert-id` | See command help | Yes |
@@ -0,0 +1,27 @@
1
+ # analysis alert-detail list
2
+
3
+ Use when list alert delivery details.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert-detail list [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert_detail.list`
14
+
15
+ Input sends `project_id`, `alert_id`, optional `start_time`, and optional `end_time`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--alert-id` | See command help | Yes |
25
+ | `--start-time` | See command help | No |
26
+ | `--end-time` | See command help | No |
27
+
@@ -0,0 +1,25 @@
1
+ # analysis alert get
2
+
3
+ Use when get one alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert get [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.get`
14
+
15
+ Input sends `project_id` and `alert_id`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--alert-id` | See command help | Yes |
25
+
@@ -0,0 +1,24 @@
1
+ # analysis alert-job list
2
+
3
+ Use when list alert job status.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert-job list [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert_job.list`
14
+
15
+ Input sends `project_id`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+
@@ -0,0 +1,27 @@
1
+ # analysis alert list
2
+
3
+ Use when list project alerts.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert list [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.list`
14
+
15
+ Input sends `project_id`, optional `query`, `limit`, and `offset`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--query` | See command help | No |
25
+ | `--limit` | See command help | No |
26
+ | `--offset` | See command help | No |
27
+
@@ -0,0 +1,24 @@
1
+ # analysis alert-notice-config list
2
+
3
+ Use when list alert notice configs.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert-notice-config list [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert_notice_config.list`
14
+
15
+ Input sends `project_id`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+
@@ -0,0 +1,25 @@
1
+ # analysis alert start
2
+
3
+ Use when start an alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert start [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.start`
14
+
15
+ Input sends `project_id` and `alert_id`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--alert-id` | See command help | Yes |
25
+
@@ -0,0 +1,25 @@
1
+ # analysis alert stop
2
+
3
+ Use when stop an alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert stop [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.stop`
14
+
15
+ Input sends `project_id` and `alert_id`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--alert-id` | See command help | Yes |
25
+
@@ -0,0 +1,26 @@
1
+ # analysis alert update
2
+
3
+ Use when update an alert.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis alert update [options]
11
+ ```
12
+
13
+ Capability id: `analysis.alert.update`
14
+
15
+ Input sends `project_id`, `alert_id`, and `definition`. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | See command help | Yes |
24
+ | `--alert-id` | See command help | Yes |
25
+ | `--definition` | See command help | Yes |
26
+
@@ -12,7 +12,8 @@ This policy applies to:
12
12
  - `analysis bi-panel-page-data run` / `analysis bi-panel-page-data export`
13
13
  - `analysis event-detail run` / `analysis event-detail export`
14
14
  - `analysis entity-detail run` / `analysis entity-detail export`
15
- - `analysis drilldown-users run` / `analysis drilldown-users export`
15
+ - `analysis drilldown-events run` / `analysis drilldown-events export`
16
+ - `analysis drilldown-entities run` / `analysis drilldown-entities export`
16
17
  - `analysis drilldown-user-events run` / `analysis drilldown-user-events export`
17
18
  - `analysis user-cluster-member list` / `analysis user-cluster-member export`
18
19
  - `analysis user-tag-member list` / `analysis user-tag-member export`
@@ -39,7 +40,7 @@ The dashboard report-data sync timeout defaults to 180 seconds because one call
39
40
 
40
41
  Detail `run` commands (`event-detail run` and `entity-detail run`) return only the first bounded preview rows. They do not support `--offset` or stable pagination. If the response has `truncated=true`, switch to the matching `export` command instead of trying to fetch later pages. For detail run, `truncated=true` can mean the preview hit its row cap even when the backend total is not an exact full count.
41
42
 
42
- User member, history-tag drilldown, and result drilldown `list/run` commands are bounded previews. They do not expose pagination. Use the matching `export` command for full or unknown-size data; Common advances backend batches internally and writes one artifact.
43
+ User member, history-tag drilldown, and result drilldown `list/run` commands are bounded previews. They do not expose pagination. Use the matching `export` command for full or unknown-size data.
43
44
 
44
45
  Use `export` when any condition is true:
45
46
 
@@ -71,26 +72,25 @@ If `analysis run inspect` or `analysis artifact download` returns HTTP 404 for a
71
72
 
72
73
  If the current host returns `CAPABILITY_NOT_FOUND` for a documented command, treat it as host/backend capability unavailability. Do not retry with different JSON shapes or flags; choose another supported path only when it satisfies the user's request, otherwise report the backend gap.
73
74
 
74
- Detail, drilldown, user-member, and history-tag exports read backend batches until completion. Backend paging is an implementation detail and must not appear as `offset`, `page_num`, or `page_size` in the caller contract. Do not collect full data by repeated `list/run` calls.
75
+ Drilldown event/entity/user-event exports use Common's full-download stream and write `csv.gz` directly; they do not collect synchronous preview pages. They accept no `limit`, `offset`, `page_num`, or `page_size`, and remain bounded by `model_full_download_limit`. Other detail, user-member, and history-tag exports may advance backend batches internally, but paging is never part of the caller contract. Do not collect full data by repeated `list/run` calls.
75
76
 
76
77
  ## Follow-up context
77
78
 
78
- Analysis data `run` responses, export submit responses, and JSONL export artifact metadata may include `query_context_id` and `sources` when Redis context creation succeeds. Follow-up commands are allowed only when `drilldown_available=true` and the selected source includes `target_contract`; otherwise read `drilldown_unavailable_reason` and do not infer source IDs, dates, groups, or model fields from display text.
79
+ Only synchronous `adhoc run`, `report-data run`, and `dashboard-report-data run` previews create `query_context_id`, `sources`, and selectable `sources[].drilldown` options. Exports and downloaded artifacts never create this context and never expand the selectable result. The sync `--limit` is the drilldown boundary.
79
80
 
80
- For date-based drilldown, copy the stable machine field `drilldown_date`, never parse `display_date`. The machine format follows the query particle: day/week `yyyy-MM-dd`, month/quarter `yyyy-MM`, year `yyyy`, hour/minute `yyyy-MM-dd HH:mm`, and millisecond `yyyy-MM-dd HH:mm:ss.SSS`.
81
+ Follow-up commands are allowed only when the selected source/metric advertises the exact action. Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md), select only returned row/column/metric options, and never infer source IDs, dates, groups, model fields, or analysis angles from display text.
81
82
 
82
83
  When present, compare `effective_time_range` with `data_time_range`. `effective_time_range` is the resolved query scope, while `data_time_range` is the observed returned-row range. `clipping_reasons=[]` means the gateway applied no silent range cap; a narrower `data_time_range` then reflects available/returned data rather than a gateway range clamp.
83
84
 
84
- Use that `query_context_id` for:
85
+ Use that synchronous `query_context_id` for the advertised action only:
85
86
 
86
- - `analysis drilldown-users run` or `analysis drilldown-users export`
87
+ - `analysis drilldown-events run` or `analysis drilldown-events export`
88
+ - `analysis drilldown-entities run` or `analysis drilldown-entities export`
87
89
  - `analysis query create-result-cluster`
88
90
 
89
91
  Do not reconstruct or pass raw QP for follow-up drilldown or result-cluster creation.
90
92
 
91
- CSV artifacts intentionally contain only CSV data; obtain `query_context_id` and `sources` from the export submit response instead of looking for a metadata line in CSV.
92
-
93
- If the response does not include `query_context_id` and does not explicitly expose `drilldown_available=true`, stop before drilldown/result-cluster commands. Report that this result cannot be followed up with context-based drilldown in the current response.
93
+ If the synchronous response does not include `query_context_id`, source options, and the required action, stop before drilldown/result-cluster commands. Report that this preview does not expose that follow-up.
94
94
 
95
95
  For sync `run`, ae-cli may add `_cli_inline_limit` and `_cli_truncation` metadata when it has to truncate returned `rows` arrays locally to enforce the requested inline limit. Use `export` for full data.
96
96
 
@@ -98,4 +98,4 @@ For sync `run`, ae-cli may add `_cli_inline_limit` and `_cli_truncation` metadat
98
98
 
99
99
  For `analysis bi-panel-page-data`, `--row-limit`, `--row-offset`, `--block-limit`, and `--block-offset` are BI page/chart/summary window controls. They are not the generic sync-vs-async routing policy and do not change the rule above: use `run` for bounded inline results, and `export` for full, unknown-size, larger than 1000-row, or long-running data retrieval.
100
100
 
101
- BI page `charts` results may return `query_context_id` for SQL chart-source traceability. Treat it as drilldown-capable only when `drilldown_available=true`; BI SQL chart contexts normally return `drilldown_available=false` and `result_cluster_available=false`.
101
+ BI SQL page/chart data does not support this analysis drilldown contract.
@@ -0,0 +1,93 @@
1
+ # analysis drilldown contract
2
+
3
+ This contract controls every follow-up from an analysis result. Read it before composing `drilldown-events`, `drilldown-entities`, or `query create-result-cluster`.
4
+
5
+ ## Hard boundary
6
+
7
+ Only a synchronous `adhoc run`, `report-data run`, or `dashboard-report-data run` preview can create `query_context_id` and selectable drilldown coordinates. The selectable population is exactly the returned preview, after its `--limit` is applied. If `--limit 10` returns ten rows, only coordinates represented by those ten rows may be selected.
8
+
9
+ Exports never create a query context. A downloaded file, export submit response, or export artifact must never be used to invent or extend drilldown coordinates. To drill into a large result, first run a bounded synchronous preview containing the desired row; do not raise the limit merely to manufacture a complete target catalog.
10
+
11
+ SQL, `heat_map`, `rank_list`, `revenue`, and scenario models do not support this analysis drilldown contract. Stop when `source.drilldown.actions` is empty or `unavailable_reason` is present.
12
+
13
+ ## Select a cell without `target_id`
14
+
15
+ The response contains `sources[]`. Select the source that owns the visible result. When more than one source exists, pass the source selector returned there, normally `{"report_id":...}` or `{"chart_id":...}`. Never put source IDs inside `coordinate`.
16
+
17
+ Each source has `drilldown`:
18
+
19
+ - `selection_boundary` must be `synchronous_preview_only`.
20
+ - `row_options[]` contains only rows from this preview. Match the user's row by `values`, then copy that option's `coordinate` fragment.
21
+ - `column_options[]` contains only drillable result columns. Match the requested visible column by `label`/`column_index`, then copy its `coordinate` fragment.
22
+ - `metric_options[]` describes the analysis angle and allowed `actions`. For event analysis, select the metric by `metric_index`; different metrics in one result may allow different actions.
23
+ - `coordinate_fields` is the allowlist for the final coordinate.
24
+
25
+ Build one coordinate by shallow-merging the selected row, column, and metric coordinate fragments. Identical keys must have identical values. Use the returned snake_case keys and values exactly. Do not send `row_index`, `column_index`, `values`, `label`, `target_id`, display-only dates, raw QP, or any inferred value.
26
+
27
+ An event-analysis phase-summary row is metric-dependent. The same visible row may therefore appear more than once in `row_options`, with a different `metric_index` in each coordinate fragment. Select the option whose `metric_index` matches the chosen metric column; never remove or replace that field. The backend advertises only these valid combinations:
28
+
29
+ | Phase calculation | Drillable metric angle |
30
+ |---|---|
31
+ | `sum` (`PERIOD_TOTAL`) | `EVENT_LIST` only |
32
+ | `dist` (`PERIOD_DISTINCT`) | `EVENT_LIST`, `USER_LIST`, or `ENTITY_LIST` |
33
+ | averages, integer averages, min/max, weighted averages, and every `intact_*` calculation | none |
34
+
35
+ This distinction is mathematical: event counts are additive across date buckets, while bucket-level distinct subject counts are not. A `dist` value is recomputed for the complete phase and can therefore identify one event/entity population. `intact_*` values exclude incomplete periods, but the current total drilldown query does not carry that reduced time range.
36
+
37
+ `time_granularity=T5` is not a phase-summary calculation. Its single returned row is the native full-range metric and remains selectable when the metric advertises `EVENT_LIST`, `USER_LIST`, or `ENTITY_LIST`.
38
+
39
+ Example:
40
+
41
+ ```json
42
+ {
43
+ "source": {"report_id": 1001},
44
+ "coordinate": {
45
+ "group_values": ["Beijing"],
46
+ "date": "2026-07-16",
47
+ "metric_index": 1
48
+ }
49
+ }
50
+ ```
51
+
52
+ This represents one visible cell: the returned Beijing/date row plus metric column 1. It is not a server-generated ID for every possible cell.
53
+
54
+ ## Choose the action from the analysis angle
55
+
56
+ Never infer an action from the model name or the numeric cell value. Use the selected `metric_options[].actions` for event analysis and `source.drilldown.actions` for other supported models.
57
+
58
+ | `analysis_angle` | Allowed next action |
59
+ |---|---|
60
+ | `EVENT_LIST` | `analysis drilldown-events run|export` only |
61
+ | `USER_LIST` | `analysis drilldown-entities run|export`; `analysis query create-result-cluster` |
62
+ | `ENTITY_LIST` | The same entity commands; `subject` identifies the analysis entity, which may be a custom entity rather than a user |
63
+ | `NONE` | No drilldown or result-cluster action |
64
+
65
+ `USER_LIST` is one special case of entity drilldown. A custom `ENTITY_LIST` result must be returned and saved as that entity type, not silently converted to users.
66
+
67
+ ## Model coordinate meanings
68
+
69
+ Use only fragments actually returned in options; the table explains their business meaning and must not be used to synthesize missing choices.
70
+
71
+ | Model | Coordinate fields and special values |
72
+ |---|---|
73
+ | `event` | `group_values`, optional machine `date`, `metric_index`, optional `compare_index`, optional `scope=total`. Phase-summary row options already contain the only allowed `metric_index`; T5 total rows use `scope=total` without phase restrictions. The main time range omits `compare_index`; comparison block 1 uses `compare_index=0`. The chosen metric's `analysis_angle` decides events versus entities. |
74
+ | `retention` | `group_values`, machine `cohort_date`, `period_index`, `population=retained|lost`, optional `relation`. Only returned cohort rows and population-count period columns are selectable; average/rate/simultaneous-metric rows are not coordinates. |
75
+ | `funnel` | `group_values`, optional `date`, one-based `step`, `population=completed|churned`. Only returned step-population columns are selectable; conversion-rate columns are not. |
76
+ | `distribution` | `group_values`, machine `date`, optional raw `bucket`, `scope=total|bucket`. Bucket values are backend interval values returned by the contract, not localized column labels. Percentage and comparison rows are not selectable populations. |
77
+ | `interval` | `group_values`, optional machine `date`; the aggregate entity-count column returns `scope=total`. A raw `interval_bucket` is valid only when a returned column option explicitly contains it. Never infer a bucket from a displayed duration; descriptive interval statistics are not selectable populations. |
78
+ | `prop_analysis` | `group_values`, `population_index`. With configured user/entity populations, the row chooses `population_index`; otherwise it is `0`. |
79
+ | `path` | `session_level`, `current_nodes`, optional `next_nodes`, `relation=total|with_next|without_next|with_next_specific`, `current_is_more`, `next_is_more`. Copy the returned node objects; event names and group values are machine values. |
80
+ | `attribution` | `attribution_event_id`, `source_group_values`, `target_group_values`. The event ID is returned machine metadata for that row; never derive it from the displayed event name. |
81
+
82
+ ## Entity result and user-event continuation
83
+
84
+ `analysis drilldown-entities run` returns `subject` and normalized `items[]`.
85
+
86
+ - For `subject.type=user`, each item contains canonical `user_id`. The response may also return `drilldown_context_id` and a user-event follow-up action. Only then may the Agent call `analysis drilldown-user-events run|export` with that exact context and returned `user_id`.
87
+ - For `subject.type=entity`, items contain `entity_value` and attributes. Custom entities do not have user event sequences, so no user-event context or follow-up is valid.
88
+ - `subject.column_name` is the authoritative machine identity column used to normalize `entity_value`; never substitute `#user_id` for a custom entity.
89
+ - `analysis query create-result-cluster` saves the selected subject as the corresponding entity's result cluster.
90
+
91
+ The entity export is for complete member data only. It does not create a new context for another drilldown step.
92
+
93
+ All three drilldown exports are full-download streams, not paging APIs. They accept no limit/offset/page controls and produce `csv.gz`; the platform `model_full_download_limit` remains the safety ceiling. Export artifacts never add selectable coordinates or user-event continuation identities.
@@ -67,17 +67,18 @@ Artifact workflow:
67
67
  4. Download with `ae-cli analysis artifact download --run-id <run_id> --artifact-id <artifact_id> --output <file>`.
68
68
  5. Cancel long or abandoned exports with `ae-cli analysis query cancel --run-id <run_id>`.
69
69
 
70
- Prefer the run/artifact commands over hand-written HTTP, Python, or curl. For analysis data exports, the descriptor and first artifact metadata line may also contain `query_context_id` when Redis context creation succeeds.
70
+ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. Analysis exports never create interactive `query_context_id`; drilldown coordinates exist only in bounded synchronous previews.
71
71
 
72
72
  ## Command matrix
73
73
 
74
74
  | Command | Capability ID | Use for | Key input | Output |
75
75
  | --- | --- | --- | --- | --- |
76
76
  | `adhoc run` | `analysis.adhoc.run` | Unified ad-hoc inline query for 12 AI models: 9 common + 3 scenario models | `--project-id`, `--model-type`, AI-facing `--definition` | Inline data plus optional `query_context_id` |
77
- | `adhoc export` | `analysis.adhoc.export` | Unified ad-hoc async export for 12 AI models: 9 common + 3 scenario models | same as run, plus optional `--artifact-format`; no inline `--limit` | Async artifact descriptor; artifact metadata may include `query_context_id` |
78
- | `query drilldown-users` | `analysis.query.drilldown_users` | Drill down to users from an analysis data query context | `--query-context-id`, `--target` | User rows plus `drilldown_context_id` |
77
+ | `adhoc export` | `analysis.adhoc.export` | Unified ad-hoc async export for 12 AI models: 9 common + 3 scenario models | same as run, plus optional `--artifact-format`; no inline `--limit` | Async artifact descriptor; no drilldown context |
78
+ | `drilldown-events run/export` | `analysis.query.drilldown_events` / `analysis.query.drilldown_events_export` | Preview or full-stream events for an advertised `EVENT_LIST` cell | `--query-context-id`, optional `--source`, `--coordinate` | Bounded event rows or `csv.gz` artifact |
79
+ | `drilldown-entities run/export` | `analysis.query.drilldown_entities` / `analysis.query.drilldown_entities_export` | Preview/export users or custom entities for an advertised entity cell | `--query-context-id`, optional `--source`, `--coordinate` | Subject plus entity rows/artifact |
79
80
  | `query drilldown-user-events` | `analysis.query.drilldown_user_events` | Query one drilldown user's event sequence | `--drilldown-context-id`, `--user-id` | Event sequence rows |
80
- | `query create-result-cluster` | `analysis.query.create_result_cluster` | Save users matched by an analysis result target as a result cluster | `--query-context-id`, `--target`, `--cluster-name` | Result cluster creation result |
81
+ | `query create-result-cluster` | `analysis.query.create_result_cluster` | Save the advertised user/custom-entity cell population as its result cluster | `--query-context-id`, optional `--source`, `--coordinate`, `--cluster-name` | Result cluster creation result |
81
82
  | `report list` | `analysis.report.list` | Find accessible reports | `--project-id`, optional `--query`, `--fields`, `--limit`, `--offset` | Paginated report summaries |
82
83
  | `report list-export` | `analysis.report.list_export` | Export report catalog | same as list, plus optional `--artifact-format`, `--request-id` | Async artifact descriptor |
83
84
  | `report get` | `analysis.report.get` | Inspect current report definition as AI QP | `--project-id`, `--report-id` | Report metadata plus `model_type` and `definition` |
@@ -85,7 +86,7 @@ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. For an
85
86
  | `report update` | `analysis.report.update` | Update metadata or AI QP definition | `--report-id`, `--report-version`, update fields | Update result |
86
87
  | `report delete` | `analysis.report.delete` | Delete reports | `--report-ids '[...]'` | Delete result |
87
88
  | `report-data run` | `analysis.report_data.run` | Bounded inline report data | `--report-ids`, optional AI-facing `--filters`, `--group-by`, SQL dynamic parameter value-only `--sql-params`, time/limit | Inline data plus optional `query_context_id` |
88
- | `report-data export` | `analysis.report_data.export` | Large/long report data | same as run, plus optional `--artifact-format` | Async artifact descriptor; artifact metadata may include `query_context_id` |
89
+ | `report-data export` | `analysis.report_data.export` | Large/long report data | same as run, plus optional `--artifact-format` | Async artifact descriptor; no drilldown context |
89
90
  | `query cancel` | `analysis.query.cancel` | Cancel any async analysis export | `--run-id`, optional `--reason` | Cancellation result |
90
91
  | `report-change-log list` | `analysis.report_change_log.list` | List one report's change logs | `--report-id` | Change log summaries |
91
92
  | `report-change-log get` | `analysis.report_change_log.get` | Inspect one change log detail | `--report-id`, optional `--history-version` | Change log detail with AI QP definition when available |
@@ -105,7 +106,7 @@ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. For an
105
106
  | `dashboard abnormal-get` | `analysis.dashboard.abnormal_get` | Inspect abnormal dependencies | `--dashboard-id` | Abnormal info |
106
107
  | `dashboard task-status` | `analysis.dashboard.task_status` | Inspect scheduled task status | `--dashboard-id` | Task status |
107
108
  | `dashboard-report-data run` | `analysis.dashboard_report_data.run` | Bounded inline dashboard report data; `--filters` is analysis Filter JSON from `+get_filter_schema` | `--dashboard-id`, optional `--report-ids`, `--filters`, `--start-time`, `--end-time`, `--limit` | Inline data plus optional `query_context_id` |
108
- | `dashboard-report-data export` | `analysis.dashboard_report_data.export` | Large/long dashboard report data | same as run, plus optional `--artifact-format jsonl` | Async artifact descriptor; artifact metadata may include `query_context_id` |
109
+ | `dashboard-report-data export` | `analysis.dashboard_report_data.export` | Large/long dashboard report data | same as run, plus optional `--artifact-format jsonl` | Async artifact descriptor; no drilldown context |
109
110
  | `run inspect` | `analysis.run.inspect` | Poll async export status | `--run-id` | Run and artifact status |
110
111
  | `artifact download` | `analysis.artifact.download` | Download run-bound export artifact | `--run-id`, `--artifact-id`, `--output` | Local output file info |
111
112
  | `query cancel` | `analysis.query.cancel` | Cancel gateway run/export | `--run-id`, optional `--reason` | Cancellation result |
@@ -212,8 +213,8 @@ ae-cli analysis adhoc export --project-id 1 --model-type sql --definition '{"sql
212
213
  ae-cli analysis report list --project-id 1 --query revenue --limit 50
213
214
  ae-cli analysis report-data run --project-id 1 --report-ids '[1001]' --limit 50
214
215
  ae-cli analysis report-data run --project-id 1 --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --group-by '[{"field":{"name":"country","type":"user_property"}}]' --sql-params '[{"name":"platform","value":"ios"}]' --limit 50
215
- ae-cli analysis query drilldown-users --query-context-id ctx_0123456789abcdef0123456789abcdef --target '{"report_id":1001,"drilldown_date":"2026-07-01"}'
216
- ae-cli analysis query create-result-cluster --query-context-id ctx_0123456789abcdef0123456789abcdef --target '{"report_id":1001,"drilldown_date":"2026-07-01"}' --cluster-name retained_users
216
+ ae-cli analysis drilldown-entities run --query-context-id ctx_0123456789abcdef0123456789abcdef --source '{"report_id":1001}' --coordinate '{"cohort_date":"2026-07-01","group_values":[],"period_index":1,"population":"retained"}'
217
+ ae-cli analysis query create-result-cluster --query-context-id ctx_0123456789abcdef0123456789abcdef --source '{"report_id":1001}' --coordinate '{"cohort_date":"2026-07-01","group_values":[],"period_index":1,"population":"retained"}' --cluster-name retained_users
217
218
  ae-cli analysis dashboard update --project-id 1 --operation note-upsert --dashboard-id 1001 --note-title "Summary" --description "Weekly note"
218
219
  ae-cli analysis dashboard-definition export --project-id 1 --dashboard-id 1001 --export-file-name retention_dashboard
219
220
  ae-cli analysis dashboard-definition import --project-id 1 --definition '{"dashboard_folders":[],"shared_spaces":[]}' --validate-only true
@@ -1,13 +1,14 @@
1
1
  # analysis-meta asset url-get
2
2
 
3
- Use when the user needs to get or normalize an asset governance resource link payload through the capability gateway.
3
+ Use when the user needs to get a clickable resource link through the capability gateway, including post-write resource link completion.
4
4
 
5
- Do not use it to discover assets or query asset data; resolve a real asset first, then use this command only to turn its governance identity into a link.
5
+ Do not use it to discover assets or query asset data; resolve a real asset first, then use this command only to turn its governance identity or resource ID into a link.
6
6
 
7
7
  Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta asset url-get --project-id <project_id> --payload '{}'
11
+ ae-cli analysis-meta asset url-get --project-id <project_id> --resource-type dashboard --resource-id 1
11
12
  ae-cli analysis-meta asset url-get --dry-run --project-id <project_id>
12
13
  ```
13
14
 
@@ -15,7 +16,7 @@ Capability id: analysis_meta.asset_url.get.
15
16
 
16
17
  Input sends project_id, payload, node_id, resource_id, resource_type, link_info. Payload keys must follow the common-service snake_case input schema; do not send camelCase aliases.
17
18
 
18
- Output `data` identifies the normalized asset and returns `raw_url` plus `markdown_link` when the resource type supports a link; `status=ok` without a URL means no URL mapping was available.
19
+ Output `data` identifies the normalized asset and returns `raw_url` plus `markdown_link` when the resource type supports a link. ae-cli rewrites relative URL/link fields into absolute URLs using the current host. `status=ok` without a URL means no URL mapping was available.
19
20
 
20
21
  ## Parameters
21
22
  | Parameter | Required | Description |
@@ -1,8 +1,8 @@
1
1
  # analysis bi-panel create
2
2
 
3
- Use when the user explicitly wants to create a BI panel.
3
+ Use when the user explicitly wants to create the product's BI dashboard (`仪表盘`), including requests phrased as `BI 仪表盘`.
4
4
 
5
- Do not use to copy an existing BI panel. Use `bi-panel copy`.
5
+ Do not use for an analysis board (`看板`); use `analysis dashboard create` instead. Do not use to copy an existing BI dashboard; use `bi-panel copy`.
6
6
 
7
7
  Command:
8
8
 
@@ -12,4 +12,4 @@ ae-cli analysis bi-panel create --project-id <project_id> [--panel-name <name>]
12
12
 
13
13
  Input sends `project_id` plus optional BI panel identifiers, target IDs, and `payload`.
14
14
 
15
- Output is the gateway envelope. `data` contains the created BI panel result.
15
+ Output is the gateway envelope. `data` contains the created BI-dashboard result.
@@ -14,9 +14,9 @@ ae-cli analysis bi-panel-page-data export --project-id <project_id> --panel-id <
14
14
 
15
15
  Input sends `project_id`, `panel_id`, `page_key`, `result_type`, and optional control, paging, cache, request, timeout, and format fields. Use CLI flag `--artifact-format` for the gateway `format` input; `--format` is the CLI output formatter. 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>`. `--row-limit` and related BI page controls are chart/summary window controls, not the generic async artifact row policy; see [`analysis_data_retrieval.md`](analysis_data_retrieval.md).
16
16
 
17
- Output is the gateway envelope. `data` contains an async export descriptor with `run_id`, `artifact_id`, status fields, expiration fields, and possibly `query_context_id`. It does not expose inspect/download API paths; use the CLI commands below.
17
+ Output is the gateway envelope. `data` contains an async export descriptor with `run_id`, `artifact_id`, status fields, and expiration fields. It does not create `query_context_id` or expose inspect/download API paths; use the CLI commands below.
18
18
 
19
- When `result_type=charts` and the backend can resolve chart SQL sources, the export descriptor and first artifact metadata line may include `query_context_id` plus `sources`. BI chart sources are SQL contexts, so `drilldown_available` and `result_cluster_available` are false unless the response explicitly says otherwise. Do not call model drilldown commands from a BI SQL context with `drilldown_available=false`.
19
+ BI chart sources are SQL and do not support analysis drilldown or result-cluster creation. Exported rows are not interactive coordinates.
20
20
 
21
21
  Follow-up workflow:
22
22
 
@@ -16,4 +16,4 @@ Input sends `project_id`, `panel_id`, `page_key`, `result_type`, and optional co
16
16
 
17
17
  Output is the gateway envelope. `data` contains bounded inline page data.
18
18
 
19
- When `result_type=charts` and the backend can resolve chart SQL sources, the response may include `query_context_id` plus `sources`. BI chart sources are SQL contexts, so `drilldown_available` and `result_cluster_available` are false unless the response explicitly says otherwise. Do not call model drilldown commands from a BI SQL context with `drilldown_available=false`.
19
+ BI page/chart sources are SQL and do not support analysis drilldown or result-cluster creation. Do not call model drilldown commands from this result.