@thinkingai/ae-cli 6.0.31 → 6.0.32

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 (164) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{capability-SQ2IWKP3.js → capability-QW4AVJHI.js} +1 -1
  4. package/dist/{capability-SEH3JWLN.js → capability-SCRFGODD.js} +1 -1
  5. package/dist/{chunk-N2QORU5D.js → chunk-7OLGDQQ2.js} +5 -2
  6. package/dist/{chunk-TKQJQXWT.js → chunk-TBHBYKXZ.js} +5 -2
  7. package/dist/index.js +46 -24
  8. package/dist/{metadata-X62TKIVK.js → metadata-BFDL6RUK.js} +2 -2
  9. package/dist/{metadata-W6JFFMBA.js → metadata-FCLDBXX2.js} +2 -2
  10. package/dist/{te-analysis-NJGNWZFC.js → te-analysis-PUVF5IF4.js} +1297 -91
  11. package/dist/{te-analysis-YGV5V5EX.js → te-analysis-UJDOKPAN.js} +1297 -91
  12. package/dist/te-common-VUX3VOXZ.js +60 -0
  13. package/dist/te-common-XLAGWNIV.js +60 -0
  14. package/dist/te-engage-K4AEUPK5.js +3894 -0
  15. package/dist/te-engage-QBCCME22.js +3894 -0
  16. package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
  17. package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
  18. package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
  19. package/package.json +1 -1
  20. package/skills/ae-analysis/SKILL.md +10 -7
  21. package/skills/ae-analysis/references/adhoc_export.md +3 -6
  22. package/skills/ae-analysis/references/adhoc_run.md +5 -9
  23. package/skills/ae-analysis/references/ai_models.md +17 -1
  24. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  25. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  26. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  27. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  28. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  29. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  30. package/skills/ae-analysis/references/command_index.md +62 -28
  31. package/skills/ae-analysis/references/create_entity.md +2 -2
  32. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
  33. package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
  34. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  35. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  36. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  37. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  38. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  39. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  40. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  41. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  42. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  43. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  44. package/skills/ae-analysis/references/event_list.md +10 -2
  45. package/skills/ae-analysis/references/list_entities.md +1 -1
  46. package/skills/ae-analysis/references/metric_create.md +13 -4
  47. package/skills/ae-analysis/references/metric_delete.md +7 -0
  48. package/skills/ae-analysis/references/metric_get.md +6 -0
  49. package/skills/ae-analysis/references/metric_list.md +16 -3
  50. package/skills/ae-analysis/references/metric_update.md +12 -1
  51. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  52. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  53. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  54. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  55. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  56. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  57. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  58. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  59. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  60. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  61. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  62. package/skills/ae-analysis/references/project_function_list.md +24 -0
  63. package/skills/ae-analysis/references/project_info_get.md +23 -0
  64. package/skills/ae-analysis/references/project_info_list.md +26 -0
  65. package/skills/ae-analysis/references/project_info_update.md +25 -0
  66. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  67. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  68. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  69. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  70. package/skills/ae-analysis/references/project_member_add.md +25 -0
  71. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  72. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  73. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  74. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  75. package/skills/ae-analysis/references/project_member_import.md +25 -0
  76. package/skills/ae-analysis/references/project_member_list.md +23 -0
  77. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  78. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  79. package/skills/ae-analysis/references/project_member_update.md +25 -0
  80. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  81. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  82. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  83. package/skills/ae-analysis/references/project_role_delete.md +25 -0
  84. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  85. package/skills/ae-analysis/references/project_role_get.md +23 -0
  86. package/skills/ae-analysis/references/project_role_list.md +25 -0
  87. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  88. package/skills/ae-analysis/references/project_role_user_list.md +23 -0
  89. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  90. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  91. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  92. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  93. package/skills/ae-analysis/references/property_list.md +21 -6
  94. package/skills/ae-analysis/references/public_link_create.md +1 -1
  95. package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
  96. package/skills/ae-analysis/references/report_create.md +1 -1
  97. package/skills/ae-analysis/references/report_data_export.md +2 -2
  98. package/skills/ae-analysis/references/report_data_run.md +2 -2
  99. package/skills/ae-analysis/references/report_get.md +2 -0
  100. package/skills/ae-analysis/references/report_update.md +1 -1
  101. package/skills/ae-analysis/references/user_cluster_create.md +3 -1
  102. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  103. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  104. package/skills/ae-analysis/references/user_cluster_update.md +3 -1
  105. package/skills/ae-analysis/references/user_tag_create.md +3 -1
  106. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  107. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  108. package/skills/ae-analysis/references/user_tag_update.md +3 -1
  109. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  110. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  111. package/skills/ae-engage/SKILL.md +202 -7
  112. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  113. package/skills/ae-engage/references/activity-activity.md +70 -0
  114. package/skills/ae-engage/references/activity-approval.md +53 -0
  115. package/skills/ae-engage/references/activity-task.md +87 -0
  116. package/skills/ae-engage/references/activity-topic.md +98 -0
  117. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  118. package/skills/ae-engage/references/channel-test-send.md +37 -0
  119. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  120. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  121. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  122. package/skills/ae-engage/references/channel-update-config.md +36 -0
  123. package/skills/ae-engage/references/client-param.md +58 -0
  124. package/skills/ae-engage/references/common-metric.md +75 -0
  125. package/skills/ae-engage/references/config-table.md +92 -0
  126. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  127. package/skills/ae-engage/references/operation-log-query.md +1 -1
  128. package/skills/ae-engage/references/preset-event.md +42 -0
  129. package/skills/ae-engage/references/push-language.md +39 -0
  130. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  131. package/skills/ae-engage/references/scene-config-group.md +62 -0
  132. package/skills/ae-engage/references/scene-config-item.md +68 -0
  133. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  134. package/skills/ae-engage/references/scene-config-param.md +72 -0
  135. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  136. package/skills/ae-engage/references/scene-strategy.md +47 -0
  137. package/skills/ae-engage/references/scene-template.md +71 -0
  138. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  139. package/skills/ae-engage/references/whitelist.md +72 -0
  140. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  141. package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
  142. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  143. package/skills/ae-kb/SKILL.md +34 -8
  144. package/skills/ae-metadata/SKILL.md +1 -1
  145. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  146. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  147. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  148. package/dist/te-common-5NJLF3XG.js +0 -130
  149. package/dist/te-common-7VTJZPII.js +0 -130
  150. package/dist/te-engage-BUWVSSSK.js +0 -1912
  151. package/dist/te-engage-EPE3QKDE.js +0 -1912
  152. package/skills/ae-analysis/references/create_metric.md +0 -58
  153. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  154. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  155. package/skills/ae-analysis/references/delete_metric.md +0 -32
  156. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  157. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  158. package/skills/ae-analysis/references/get_metric.md +0 -38
  159. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  160. package/skills/ae-analysis/references/list_events.md +0 -46
  161. package/skills/ae-analysis/references/list_metrics.md +0 -52
  162. package/skills/ae-analysis/references/list_properties.md +0 -47
  163. package/skills/ae-analysis/references/update_metric.md +0 -58
  164. package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
@@ -14,8 +14,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
14
14
  | `ae-cli analysis +list_alerts` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--query` (string; optional) — Optional keyword filter. Performs fuzzy matching against alert names; if omitted, all alerts are returned.<br>`--limit` (number; optional, min=1, max=200) — Optional page size. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional page offset. Default: 0. | [list_alerts.md](list_alerts.md) |
15
15
  | `ae-cli analysis +load_filters` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--quot` (string; required) — Property identifier (field name). This is the property whose candidate values will be loaded.<br>`--table_type` (string; required) — Table type. Supported values: event and user.<br>`--event_name` (string; optional) — Optional event name. Effective when table_type=event.<br>`--inputdata` (string; optional) — Optional input prefix used for fuzzy filtering of candidate values.<br>`--zone_offset` (number; optional) — Time zone offset in hours. For example, UTC+8 is 8<br>`--cluster_date_policy` (string; optional) — Cluster date policy. Supported values: LATEST, AUTO, SPECIFIED.<br>`--specified_cluster_date` (string; optional) — Specified cluster date in yyyy-MM-dd format. Effective only when cluster_date_policy=SPECIFIED.<br>`--is_report` (boolean; optional) — Whether this is report mode. Default: false | [load_filters.md](load_filters.md) |
16
16
  | `ae-cli analysis +update_alert` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--alert_id` (number; required) — Alert ID<br>`--definition` (json; required) — Alert definition JSON with updated fields. See +get_alert_definition_schema for the complete structure. | [update_alert.md](update_alert.md) |
17
- | `ae-cli analysis adhoc export` | analysis.adhoc.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [adhoc_export.md](adhoc_export.md) |
18
- | `ae-cli analysis adhoc run` | analysis.adhoc.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=1000) — Maximum inline rows for sync query results. Default: 100, max: 1000. Use export for full data.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [adhoc_run.md](adhoc_run.md) |
17
+ | `ae-cli analysis adhoc export` | analysis.adhoc.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [adhoc_export.md](adhoc_export.md) |
18
+ | `ae-cli analysis adhoc run` | analysis.adhoc.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=1000) — Maximum inline rows for sync query results. Default: 100, max: 1000. Use export for full data.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [adhoc_run.md](adhoc_run.md) |
19
19
  | `ae-cli analysis artifact download` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--artifact-id` (string; required) — Artifact ID returned by the same export capability.<br>`--output` (string; required) — Local output file path. Use a file path, not a directory. | [artifact_download.md](artifact_download.md) |
20
20
  | `ae-cli analysis bi-panel copy` | analysis.bi_panel.copy | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; optional) — New BI panel name.<br>`--panel-uuid` (string; optional) — Source BI panel UUID.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_copy.md](bi_panel_copy.md) |
21
21
  | `ae-cli analysis bi-panel create` | analysis.bi_panel.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; optional) — BI panel name.<br>`--panel-uuid` (string; optional) — BI panel UUID.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_create.md](bi_panel_create.md) |
@@ -47,13 +47,15 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
47
47
  | `ae-cli analysis dashboard-report add` | analysis.dashboard_report.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--report-ids` (json; required) — Report ID array to add. | [dashboard_report_add.md](dashboard_report_add.md) |
48
48
  | `ae-cli analysis dashboard-report-data export` | analysis.dashboard_report_data.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--report-ids` (json; optional) — Optional report ID array. Omit to query all dashboard reports.<br>`--filters` (json; optional) — Optional AI-facing filter {relation,items:[{field:{name,type?},operator,values?}]}. SQL reports ignore it and the artifact includes warnings; raw taFilters/junctionKind/filts are rejected.<br>`--start-time` (string; optional) — Optional start date/time. SQL reports ignore it and the artifact includes warnings.<br>`--end-time` (string; optional) — Optional end date/time. SQL reports ignore it and the artifact includes warnings.<br>`--use-cache` (boolean; optional) — Whether to use cache. Default: true.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported. | [dashboard_report_data_export.md](dashboard_report_data_export.md) |
49
49
  | `ae-cli analysis dashboard-report-data run` | analysis.dashboard_report_data.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--report-ids` (json; optional) — Optional report ID array. Omit to query all dashboard reports.<br>`--filters` (json; optional) — Optional AI-facing filter {relation,items:[{field:{name,type?},operator,values?}]}. SQL reports ignore it and produce data.warnings; raw taFilters/junctionKind/filts are rejected.<br>`--start-time` (string; optional) — Optional start date/time. SQL reports ignore it and produce data.warnings.<br>`--end-time` (string; optional) — Optional end date/time. SQL reports ignore it and produce data.warnings.<br>`--use-cache` (boolean; optional) — Whether to use cache. Default: true.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 180, max: 180.<br>`--limit` (number; optional, min=1, max=1000) — Maximum inline rows for sync query results. Default: 100, max: 1000. Use export for full data. | [dashboard_report_data_run.md](dashboard_report_data_run.md) |
50
- | `ae-cli analysis drilldown-user-events export` | analysis.query.drilldown_user_events.export | read | `--drilldown-context-id` (string; required) — drilldown_context_id returned by analysis drilldown-users run.<br>`--user-id` (string; required) — User ID returned by analysis drilldown-users run/export.<br>`--properties` (json; optional) — Optional backend property request object array. Omit for defaults; do not pass string-name arrays.<br>`--sort-order` (string; optional) Event time sort order: asc or desc.<br>`--event-name-filter` (string; optional) — Optional event-name filter.<br>`--time-filter` (string; optional) Optional time filter condition.<br>`--time-filter-before-nums` (number; optional) Optional events before the time filter point.<br>`--time-filter-after-nums` (number; optional) Optional events after the time filter point.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [drilldown_user_events_export.md](drilldown_user_events_export.md) |
51
- | `ae-cli analysis drilldown-user-events run` | analysis.query.drilldown_user_events | read | `--drilldown-context-id` (string; required) — drilldown_context_id returned by analysis drilldown-users run.<br>`--user-id` (string; required) — User ID returned by analysis drilldown-users run/export.<br>`--properties` (json; optional) — Optional backend property request object array. Omit for defaults; do not pass string-name arrays.<br>`--sort-order` (string; optional) Event time sort order: asc or desc.<br>`--event-name-filter` (string; optional) — Optional event-name filter.<br>`--time-filter` (string; optional) Optional time filter condition.<br>`--time-filter-before-nums` (number; optional) Optional events before the time filter point.<br>`--time-filter-after-nums` (number; optional) Optional events after the time filter point.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [drilldown_user_events_run.md](drilldown_user_events_run.md) |
52
- | `ae-cli analysis drilldown-users export` | analysis.query.drilldown_users.export | read | `--query-context-id` (string; required) — query_context_id returned by an analysis data run/export.<br>`--target` (json; required) — Use only when the upstream availability flag is true. Pass sources[].target_contract.default_target directly, or copy it and replace only named machine fields for a specific result; never infer from display text or raw QP.<br>`--properties` (json; optional) — Optional backend property request object array. Omit for defaults; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [drilldown_users_export.md](drilldown_users_export.md) |
53
- | `ae-cli analysis drilldown-users run` | analysis.query.drilldown_users | read | `--query-context-id` (string; required) — query_context_id returned by an analysis data run/export.<br>`--target` (json; required) — Use only when the upstream availability flag is true. Pass sources[].target_contract.default_target directly, or copy it and replace only named machine fields for a specific result; never infer from display text or raw QP.<br>`--properties` (json; optional) — Optional backend property request object array. Omit for defaults; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [drilldown_users_run.md](drilldown_users_run.md) |
50
+ | `ae-cli analysis drilldown-entities export` | analysis.query.drilldown_entities_export | read | `--query-context-id` (string; required) — query_context_id returned by a synchronous analysis preview. Analysis exports never create one.<br>`--source` (json; optional) — Source selector copied from sources[] when the synchronous preview contains multiple reports or charts. Pass only returned selector fields such as report_id or chart_id.<br>`--coordinate` (json; required) — One semantic cell coordinate assembled only from the selected source.drilldown row_options, column_options, and metric_options. Never pass target_id, raw QP, or values absent from the synchronous preview.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--artifact-format` (string; optional) — Artifact format. Only csv is supported; the downloaded artifact is csv.gz.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [drilldown_entities_export.md](drilldown_entities_export.md) |
51
+ | `ae-cli analysis drilldown-entities run` | analysis.query.drilldown_entities | read | `--query-context-id` (string; required) — query_context_id returned by a synchronous analysis preview. Analysis exports never create one.<br>`--source` (json; optional) — Source selector copied from sources[] when the synchronous preview contains multiple reports or charts. Pass only returned selector fields such as report_id or chart_id.<br>`--coordinate` (json; required) — One semantic cell coordinate assembled only from the selected source.drilldown row_options, column_options, and metric_options. Never pass target_id, raw QP, or values absent from the synchronous preview.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [drilldown_entities_run.md](drilldown_entities_run.md) |
52
+ | `ae-cli analysis drilldown-events export` | analysis.query.drilldown_events_export | read | `--query-context-id` (string; required) — query_context_id returned by a synchronous event-analysis preview. Analysis exports never create one.<br>`--source` (json; optional) — Source selector copied from sources[] when the synchronous preview contains multiple reports or charts. Pass only returned selector fields such as report_id or chart_id.<br>`--coordinate` (json; required) One semantic cell coordinate assembled only from the selected source.drilldown row_options, column_options, and metric_options. Never pass target_id, raw QP, or values absent from the synchronous preview.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--artifact-format` (string; optional) — Artifact format. Only csv is supported; the downloaded artifact is csv.gz.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [drilldown_events_export.md](drilldown_events_export.md) |
53
+ | `ae-cli analysis drilldown-events run` | analysis.query.drilldown_events | read | `--query-context-id` (string; required) — query_context_id returned by a synchronous event-analysis preview. Analysis exports never create one.<br>`--source` (json; optional) — Source selector copied from sources[] when the synchronous preview contains multiple reports or charts. Pass only returned selector fields such as report_id or chart_id.<br>`--coordinate` (json; required) One semantic cell coordinate assembled only from the selected source.drilldown row_options, column_options, and metric_options. Never pass target_id, raw QP, or values absent from the synchronous preview.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [drilldown_events_run.md](drilldown_events_run.md) |
54
+ | `ae-cli analysis drilldown-user-events export` | analysis.query.drilldown_user_events_export | read | `--drilldown-context-id` (string; required) — drilldown_context_id returned by analysis drilldown-entities run for the user subject. Custom entities have no user event sequence.<br>`--user-id` (string; required) — Canonical user_id returned by analysis drilldown-entities run. Never guess or substitute another identity field.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--sort-order` (string; optional) — Event time sort order: asc or desc.<br>`--event-name-filter` (string; optional) — Optional event-name filter.<br>`--time-filter` (string; optional) — Optional time filter condition.<br>`--time-filter-before-nums` (number; optional) — Optional events before the time filter point.<br>`--time-filter-after-nums` (number; optional) — Optional events after the time filter point.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--artifact-format` (string; optional) — Artifact format. Only csv is supported; the downloaded artifact is csv.gz.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [drilldown_user_events_export.md](drilldown_user_events_export.md) |
55
+ | `ae-cli analysis drilldown-user-events run` | analysis.query.drilldown_user_events | read | `--drilldown-context-id` (string; required) — drilldown_context_id returned by analysis drilldown-entities run for the user subject. Custom entities have no user event sequence.<br>`--user-id` (string; required) — Canonical user_id returned by analysis drilldown-entities run. Never guess or substitute another identity field.<br>`--properties` (json; optional) — Optional property projection object array using exact columnName and named tableType values (event or user). Subject-specific support and mandatory identity columns are documented by each command; do not pass string-name arrays.<br>`--sort-order` (string; optional) — Event time sort order: asc or desc.<br>`--event-name-filter` (string; optional) — Optional event-name filter.<br>`--time-filter` (string; optional) — Optional time filter condition.<br>`--time-filter-before-nums` (number; optional) — Optional events before the time filter point.<br>`--time-filter-after-nums` (number; optional) — Optional events after the time filter point.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [drilldown_user_events_run.md](drilldown_user_events_run.md) |
54
56
  | `ae-cli analysis entity id-import-options` | analysis.entity.id_import_options | read | `--project-id` (number; required) — Numeric project ID.<br>`--entity-id` (number; required) — Analysis entity ID. Discover it from project entity metadata; do not guess. | [entity_id_import_options.md](entity_id_import_options.md) |
55
- | `ae-cli analysis entity-detail export` | analysis.entity_detail.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Bounded entity detail definition: {"entity":"user","cohort":{"relation":"and","items":[{"field":{"name":"level","type":"user_property"},"operator":"gte","values":[1]}]},"properties":["#user_id",{"name":"country","type":"user_property"}],"sort":[{"field":"#user_id","order":"asc"}]}. cohort is AI-facing for user_property/tag/cluster filters; do not pass raw QP at the capability top level.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [entity_detail_export.md](entity_detail_export.md) |
56
- | `ae-cli analysis entity-detail run` | analysis.entity_detail.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Bounded entity detail definition: {"entity":"user","cohort":{"relation":"and","items":[{"field":{"name":"level","type":"user_property"},"operator":"gte","values":[1]}]},"properties":["#user_id",{"name":"country","type":"user_property"}],"sort":[{"field":"#user_id","order":"asc"}]}. cohort is AI-facing for user_property/tag/cluster filters; do not pass raw QP at the capability top level.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [entity_detail_run.md](entity_detail_run.md) |
57
+ | `ae-cli analysis entity-detail export` | analysis.entity_detail.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Bounded entity detail definition. properties is supported only for entity="user" (#user_id); user rows always include #user_id, #account_id, and #distinct_id plus requested user properties. Custom entities reject properties and return only their entity value column. cohort is AI-facing for user_property/tag/cluster filters; do not pass raw QP.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [entity_detail_export.md](entity_detail_export.md) |
58
+ | `ae-cli analysis entity-detail run` | analysis.entity_detail.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Bounded entity detail definition. properties is supported only for entity="user" (#user_id); user rows always include #user_id, #account_id, and #distinct_id plus requested user properties. Custom entities reject properties and return only their entity value column. cohort is AI-facing for user_property/tag/cluster filters; do not pass raw QP.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [entity_detail_run.md](entity_detail_run.md) |
57
59
  | `ae-cli analysis event-detail export` | analysis.event_detail.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — AI-facing event detail definition: {"event":"login","time_range":{"mode":"absolute","start_time":"2026-07-01 00:00:00","end_time":"2026-07-01 23:59:59"},"filters":{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]},"properties":["#event_time",{"name":"country","type":"user_property"}],"sort":[{"field":"#event_time","order":"desc"}]}. Do not pass raw QP/eventView/taFilters.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [event_detail_export.md](event_detail_export.md) |
58
60
  | `ae-cli analysis event-detail run` | analysis.event_detail.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — AI-facing event detail definition: {"event":"login","time_range":{"mode":"absolute","start_time":"2026-07-01 00:00:00","end_time":"2026-07-01 23:59:59"},"filters":{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]},"properties":["#event_time",{"name":"country","type":"user_property"}],"sort":[{"field":"#event_time","order":"desc"}]}. Do not pass raw QP/eventView/taFilters.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--limit` (number; optional, min=1, max=1000) — Maximum first preview rows. Default: 100, max: 1000. This is not a pagination window; use export for more rows.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [event_detail_run.md](event_detail_run.md) |
59
61
  | `ae-cli analysis favorite add` | analysis.favorite.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number; optional) — Asset ID.<br>`--asset-type` (string; optional) — Asset type, for example dashboard, bi_panel, or folder.<br>`--space-id` (number; optional) — Project space ID when relevant.<br>`--id` (number; optional) — Backend DTO ID field when required.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [favorite_add.md](favorite_add.md) |
@@ -69,6 +71,48 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
69
71
  | `ae-cli analysis input-file inspect` | gateway lifecycle | read | `--input-file-id` (string; required) — Uploaded input file ID, for example ifile_<32 lowercase hex>. | [input_file_inspect.md](input_file_inspect.md) |
70
72
  | `ae-cli analysis input-file purpose list` | analysis.input_file.purpose.list | read | `--project-id` (number; required) — Numeric project ID. | [input_file_purpose_list.md](input_file_purpose_list.md) |
71
73
  | `ae-cli analysis input-file upload` | gateway lifecycle | write | `--project-id` (number; required) — Numeric project ID.<br>`--purpose` (string; required) — Purpose returned by analysis input-file purpose list.<br>`--file` (string; required) — Local file path to upload. | [input_file_upload.md](input_file_upload.md) |
74
+ | `ae-cli analysis project access-detail get` | project.access_detail.get | read | `--company-id` (number; required) — Company ID. | [project_access_detail_get.md](project_access_detail_get.md) |
75
+ | `ae-cli analysis project data-power delete` | project.data_power.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--data-power-id` (number; required) — Data power ID to delete.<br>`--new-data-power-id` (number; optional) — Optional replacement data power ID for affected users. | [project_data_power_delete.md](project_data_power_delete.md) |
76
+ | `ae-cli analysis project data-power get` | project.data_power.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--data-power-id` (number; required) — Data power ID. | [project_data_power_get.md](project_data_power_get.md) |
77
+ | `ae-cli analysis project data-power list` | project.data_power.list | read | `--project-id` (number; required) — Numeric project ID. | [project_data_power_list.md](project_data_power_list.md) |
78
+ | `ae-cli analysis project data-power upsert` | project.data_power.upsert | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [project_data_power_upsert.md](project_data_power_upsert.md) |
79
+ | `ae-cli analysis project entity create` | project.entity.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--entity-name` (string; required) — Entity display name.<br>`--column-name` (string; required) — Property column name to bind.<br>`--table-type` (number; required) — Main table type: 0 for event property, 1 for user property.<br>`--order` (number; optional) — Optional entity display order. | [project_entity_create.md](project_entity_create.md) |
80
+ | `ae-cli analysis project entity delete` | project.entity.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--entity-id` (number; required) — Analysis entity ID. | [project_entity_delete.md](project_entity_delete.md) |
81
+ | `ae-cli analysis project entity get` | project.entity.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--entity-id` (number; required) — Analysis entity ID. | [project_entity_get.md](project_entity_get.md) |
82
+ | `ae-cli analysis project entity list` | project.entity.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset.<br>`--event-name` (string; optional) — Optional event name. When present, return entities related to the event. | [project_entity_list.md](project_entity_list.md) |
83
+ | `ae-cli analysis project entity update` | project.entity.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--entity-id` (number; required) — Analysis entity ID.<br>`--entity-name` (string; required) — Entity display name.<br>`--column-name` (string; required) — Property column name to bind.<br>`--table-type` (number; required) — Main table type: 0 for event property, 1 for user property.<br>`--order` (number; optional) — Optional entity display order. | [project_entity_update.md](project_entity_update.md) |
84
+ | `ae-cli analysis project entity-event list` | project.entity_event.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--event-names` (json; optional) — Optional event names JSON array to resolve entity mappings for. | [project_entity_event_list.md](project_entity_event_list.md) |
85
+ | `ae-cli analysis project function list` | project.function.list | read | `--company-id` (number; optional) — Company ID.<br>`--project-id` (number; required) — Numeric project ID. | [project_function_list.md](project_function_list.md) |
86
+ | `ae-cli analysis project info get` | project.info.get | read | `--project-id` (number; required) — Numeric project ID. | [project_info_get.md](project_info_get.md) |
87
+ | `ae-cli analysis project info list` | project.info.list | read | `--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset. | [project_info_list.md](project_info_list.md) |
88
+ | `ae-cli analysis project info update` | project.info.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--project-name` (string; required) — New project name.<br>`--project-remark` (string; optional) — Optional project remark. | [project_info_update.md](project_info_update.md) |
89
+ | `ae-cli analysis project mark-time create` | project.mark_time.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--marked-at` (string; required) — Marker timestamp, for example yyyy-MM-dd HH:mm.<br>`--zone-offset` (number; optional) — Marker time zone offset.<br>`--content` (string; required) — Marker content.<br>`--is-visible` (number; optional) — Whether the marker is visible. 1 visible, 0 hidden. | [project_mark_time_create.md](project_mark_time_create.md) |
90
+ | `ae-cli analysis project mark-time delete` | project.mark_time.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--mark-time-ids` (json; required) — Date marker IDs JSON array to delete. | [project_mark_time_delete.md](project_mark_time_delete.md) |
91
+ | `ae-cli analysis project mark-time list` | project.mark_time.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset.<br>`--zone-offset` (number; optional) — Dashboard locked time zone offset. | [project_mark_time_list.md](project_mark_time_list.md) |
92
+ | `ae-cli analysis project mark-time update` | project.mark_time.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--mark-time-id` (number; required) — Date marker ID.<br>`--marked-at` (string; required) — Marker timestamp, for example yyyy-MM-dd HH:mm.<br>`--zone-offset` (number; optional) — Marker time zone offset.<br>`--content` (string; required) — Marker content.<br>`--is-visible` (number; optional) — Whether the marker is visible. 1 visible, 0 hidden. | [project_mark_time_update.md](project_mark_time_update.md) |
93
+ | `ae-cli analysis project member add` | project.member.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--type` (string; required) — Add type accepted by ProjMemberAddTypeEnum. | [project_member_add.md](project_member_add.md) |
94
+ | `ae-cli analysis project member batch-update` | project.member.batch_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [project_member_batch_update.md](project_member_batch_update.md) |
95
+ | `ae-cli analysis project member import` | project.member.import | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--source-project-id` (number; required) — Project ID to import members from. | [project_member_import.md](project_member_import.md) |
96
+ | `ae-cli analysis project member list` | project.member.list | read | `--project-id` (number; required) — Numeric project ID. | [project_member_list.md](project_member_list.md) |
97
+ | `ae-cli analysis project member remove` | project.member.remove | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--from-open-id` (string; required) — Open ID of the member to remove. | [project_member_remove.md](project_member_remove.md) |
98
+ | `ae-cli analysis project member update` | project.member.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--target-user-id` (number; required) — Target user ID. | [project_member_update.md](project_member_update.md) |
99
+ | `ae-cli analysis project member-candidate list` | project.member_candidate.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--type` (string; required) — Add type accepted by ProjMemberAddTypeEnum.<br>`--login-names` (string; optional) — Comma-separated login names when checking new users. | [project_member_candidate_list.md](project_member_candidate_list.md) |
100
+ | `ae-cli analysis project member-handover export` | project.member_handover.export | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted. | [project_member_handover_export.md](project_member_handover_export.md) |
101
+ | `ae-cli analysis project member-handover run` | project.member_handover.run | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [project_member_handover_run.md](project_member_handover_run.md) |
102
+ | `ae-cli analysis project member-receiver list` | project.member_receiver.list | read | `--project-id` (number; required) — Numeric project ID. | [project_member_receiver_list.md](project_member_receiver_list.md) |
103
+ | `ae-cli analysis project owner update` | project.owner.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; required) — Company ID.<br>`--owner-user-id` (number; optional) — New owner user ID. Omit to only downgrade existing owner.<br>`--project-name` (string; optional) — Optional project name update.<br>`--project-remark` (string; optional) — Optional project remark update. | [project_owner_update.md](project_owner_update.md) |
104
+ | `ae-cli analysis project permission-binding list` | project.permission_binding.list | read | `--company-id` (number; required) — Company ID.<br>`--project-ids` (json; required) — Project IDs JSON array. | [project_permission_binding_list.md](project_permission_binding_list.md) |
105
+ | `ae-cli analysis project receive-status update` | project.receive_status.update | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--receive-status` (string; required) — Receive status: NORMAL or STOP_RECEIVE. | [project_receive_status_update.md](project_receive_status_update.md) |
106
+ | `ae-cli analysis project role delete` | project.role.delete | high-risk-write | `--role-name` (string; required) — Role name to delete.<br>`--new-role-name` (string; optional) — Role name to migrate users to before deletion. | [project_role_delete.md](project_role_delete.md) |
107
+ | `ae-cli analysis project role get` | project.role.get | read | `--role-name` (string; required) — Role name. | [project_role_get.md](project_role_get.md) |
108
+ | `ae-cli analysis project role list` | project.role.list | read | `--company-id` (number; optional) — Company ID. Required when project_id is absent.<br>`--project-id` (number; required) — Numeric project ID.<br>`--visible-only` (boolean; optional) — When true, list roles visible to the current user. | [project_role_list.md](project_role_list.md) |
109
+ | `ae-cli analysis project role upsert` | project.role.upsert | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [project_role_upsert.md](project_role_upsert.md) |
110
+ | `ae-cli analysis project role-function list` | project.role_function.list | read | `--company-id` (number; optional) — Company ID.<br>`--project-id` (number; required) — Numeric project ID.<br>`--role-name` (string; optional) — Single role name.<br>`--role-names` (json; optional) — Role names JSON array. When omitted, all role functions are returned.<br>`--show-system-func` (boolean; optional) — Whether to include system functions. Default false. | [project_role_function_list.md](project_role_function_list.md) |
111
+ | `ae-cli analysis project role-user list` | project.role_user.list | read | `--role-name` (string; required) — Role name. | [project_role_user_list.md](project_role_user_list.md) |
112
+ | `ae-cli analysis project timezone get` | project.timezone.get | read | `--project-id` (number; required) — Numeric project ID. | [project_timezone_get.md](project_timezone_get.md) |
113
+ | `ae-cli analysis project timezone overview` | project.timezone.overview | read | `--project-id` (number; required) — Numeric project ID. | [project_timezone_overview.md](project_timezone_overview.md) |
114
+ | `ae-cli analysis project timezone update` | project.timezone.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--item` (string; required) — Timezone item: timezone_toggle, zone_offset, user_timezone, project_timezone_display. | [project_timezone_update.md](project_timezone_update.md) |
115
+ | `ae-cli analysis project user-id-items update` | project.user_id_items.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [project_user_id_items_update.md](project_user_id_items_update.md) |
72
116
  | `ae-cli analysis project-space get` | analysis.project_space.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--space-id` (number; required) — Project space ID.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [project_space_get.md](project_space_get.md) |
73
117
  | `ae-cli analysis project-space list` | analysis.project_space.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional) — Optional zero-based result offset. | [project_space_list.md](project_space_list.md) |
74
118
  | `ae-cli analysis public-link create` | analysis.public_link.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--resource-type` (string; required) — Resource type: dashboard or bi_panel.<br>`--resource-id` (number; required) — Target resource ID.<br>`--access-controls` (json; optional) — Public link access-control JSON.<br>`--remark` (string; optional) — Public link remark.<br>`--effective-at` (string; required) — Effective time, yyyy-MM-dd HH:mm:ss.<br>`--expires-at` (string; required) — Expiration time, yyyy-MM-dd HH:mm:ss.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [public_link_create.md](public_link_create.md) |
@@ -77,13 +121,13 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
77
121
  | `ae-cli analysis public-link offline` | analysis.public_link.offline | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--link-id` (number; optional) — Public link ID.<br>`--link-ids` (json; optional) — Public link ID array. | [public_link_offline.md](public_link_offline.md) |
78
122
  | `ae-cli analysis public-link update` | analysis.public_link.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--link-id` (number; required) — Public link ID.<br>`--access-controls` (json; optional) — Public link access-control JSON.<br>`--remark` (string; optional) — Public link remark.<br>`--effective-at` (string; required) — Effective time, yyyy-MM-dd HH:mm:ss.<br>`--expires-at` (string; required) — Expiration time, yyyy-MM-dd HH:mm:ss.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [public_link_update.md](public_link_update.md) |
79
123
  | `ae-cli analysis query cancel` | analysis.query.cancel | write | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--reason` (string; optional) — Optional cancellation reason. | [query_cancel.md](query_cancel.md) |
80
- | `ae-cli analysis query create-result-cluster` | analysis.query.create_result_cluster | write | `--query-context-id` (string; required) — query_context_id returned by an analysis data run/export.<br>`--target` (json; required) — Use only when the upstream availability flag is true. Pass sources[].target_contract.default_target directly, or copy it and replace only named machine fields for a specific result; never infer from display text or raw QP.<br>`--cluster-name` (string; required) — Unique result cluster name. Use letters, digits, and underscores.<br>`--display-name` (string; optional) — Optional result cluster display name.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--timeout-seconds` (number; optional) — Optional capability execution timeout in seconds. | [query_create_result_cluster.md](query_create_result_cluster.md) |
81
- | `ae-cli analysis report create` | analysis.report.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-name` (string; required) — Report display name.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--report-desc` (string; optional) — Optional report description.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds.<br>`--dashboard-ids` (json; optional) — Optional dashboard ID array to associate after creation. | [report_create.md](report_create.md) |
124
+ | `ae-cli analysis query create-result-cluster` | analysis.query.create_result_cluster | write | `--query-context-id` (string; required) — query_context_id returned by a synchronous analysis preview. Never use an export response.<br>`--source` (json; optional) — Source selector copied from sources[] when the synchronous preview contains multiple reports or charts. Pass only returned selector fields such as report_id or chart_id.<br>`--coordinate` (json; required) One semantic cell coordinate assembled only from the selected source.drilldown row_options, column_options, and metric_options. Never pass target_id, raw QP, or values absent from the synchronous preview.<br>`--cluster-name` (string; required) — Unique result cluster name. Use letters, digits, and underscores.<br>`--display-name` (string; optional) — Optional result cluster display name.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--timeout-seconds` (number; optional) — Optional capability execution timeout in seconds. | [query_create_result_cluster.md](query_create_result_cluster.md) |
125
+ | `ae-cli analysis report create` | analysis.report.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-name` (string; required) — Report display name.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--report-desc` (string; optional) — Optional report description.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds.<br>`--dashboard-ids` (json; optional) — Optional dashboard ID array to associate after creation. | [report_create.md](report_create.md) |
82
126
  | `ae-cli analysis report delete` | analysis.report.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--report-ids` (json; required) — Report ID array. | [report_delete.md](report_delete.md) |
83
127
  | `ae-cli analysis report get` | analysis.report.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID. | [report_get.md](report_get.md) |
84
128
  | `ae-cli analysis report list` | analysis.report.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--model-types` (json; optional) — Optional semantic report model JSON array, for example ["event","sql","tag","revenue"].<br>`--limit` (number; optional, min=1, max=200) — Report page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional) — Optional zero-based result offset. | [report_list.md](report_list.md) |
85
129
  | `ae-cli analysis report list-export` | analysis.report.list_export | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--model-types` (json; optional) — Optional semantic report model JSON array, for example ["event","sql","tag","revenue"].<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [report_list_export.md](report_list_export.md) |
86
- | `ae-cli analysis report update` | analysis.report.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID to update.<br>`--report-version` (number; required) — Current report version from report get.<br>`--report-name` (string; optional) — New report display name.<br>`--report-desc` (string; optional) — New report description.<br>`--model-type` (string; optional) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; optional) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds. | [report_update.md](report_update.md) |
130
+ | `ae-cli analysis report update` | analysis.report.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID to update.<br>`--report-version` (number; required) — Current report version from report get.<br>`--report-name` (string; optional) — New report display name.<br>`--report-desc` (string; optional) — New report description.<br>`--model-type` (string; optional) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; optional) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds. | [report_update.md](report_update.md) |
87
131
  | `ae-cli analysis report-abnormal get` | analysis.report_abnormal.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID. | [report_abnormal_get.md](report_abnormal_get.md) |
88
132
  | `ae-cli analysis report-change-log get` | analysis.report_change_log.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID.<br>`--history-version` (number; optional) — Optional history version. Omit for latest. | [report_change_log_get.md](report_change_log_get.md) |
89
133
  | `ae-cli analysis report-change-log list` | analysis.report_change_log.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID. | [report_change_log_list.md](report_change_log_list.md) |
@@ -113,31 +157,21 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
113
157
  | `ae-cli analysis user-tag update-id` | analysis.user_tag.update_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--display-name` (string; optional) — Optional new display name.<br>`--entity-id` (number; optional) — Optional entity ID. Required by ID-file create commands.<br>`--input-file` (string; optional) — Local CSV path. The CLI uploads it with purpose analysis.user.id_import before executing the create/update capability.<br>`--input-file-id` (string; optional) — Reuse a file already uploaded for purpose analysis.user.id_import.<br>`--file-content` (string; optional) — Headerless UTF-8 CSV. No header row. Exactly two non-empty columns per row: association-property value or entity ID, then tag_value.<br>`--remarks` (string; optional) — Optional remarks.<br>`--association-property` (string; optional) — Required only for the primary user entity. The first CSV column is matched against this allowed user property; #user_id is forbidden. Omit for non-primary entities. | [user_tag_update_id.md](user_tag_update_id.md) |
114
158
  | `ae-cli analysis user-tag-member export` | analysis.user_tag_member.export | read | `--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--snapshot-date` (string; optional) — Optional tag snapshot date, yyyy-MM-dd.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--fields` (json; optional) — Optional result fields. Defaults to #user_id, #account_id, #distinct_id, and tag_value.<br>`--query` (string; optional) — Optional keyword filter.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported for user member/history-tag exports.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [user_tag_member_export.md](user_tag_member_export.md) |
115
159
  | `ae-cli analysis user-tag-member list` | analysis.user_tag_member.list | read | `--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--snapshot-date` (string; optional) — Optional tag snapshot date, yyyy-MM-dd.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--fields` (json; optional) — Optional result fields. Defaults to #user_id, #account_id, #distinct_id, and tag_value.<br>`--query` (string; optional) — Optional keyword filter.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--limit` (number; optional, min=1, max=200) — Bounded member row limit. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [user_tag_member_list.md](user_tag_member_list.md) |
116
- | `ae-cli analysis_common +get_resource_url` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--resource_type` (string; required) — Resource type: dashboard/report/metric/alert/tag/cluster/data_table/super_event/super_prop_user/super_prop_event/virtual_event/user_virtual_prop/event_virtual_prop<br>`--resource_id` (number; required) — Numeric resource ID | [get_resource_url.md](get_resource_url.md) |
117
160
  | `ae-cli analysis_common +list_projects` | legacy/MCP | read | None | [list_projects.md](list_projects.md) |
118
161
  | `ae-cli analysis_meta +batch_create_metadata` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--events` (json; optional) — Event creation list JSON array<br>`--event_properties` (json; optional) — Event property creation list JSON array<br>`--user_properties` (json; optional) — User property creation list JSON array | [batch_create_metadata.md](batch_create_metadata.md) |
119
162
  | `ae-cli analysis_meta +batch_edit_metadata` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--type` (string; required) — Metadata type: event, event_property, or user_property<br>`--items` (json; required) — Batch edit item list JSON array | [batch_edit_metadata.md](batch_edit_metadata.md) |
120
163
  | `ae-cli analysis_meta +create_entity` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--entity_name` (string; required) — Entity name<br>`--column_name` (string; required) — Property column name to associate with the entity<br>`--table_type` (number; required) — Table type: 0 = event property, 1 = user property | [create_entity.md](create_entity.md) |
121
- | `ae-cli analysis_meta +create_metric` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--name` (string; required) — Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80.<br>`--display_name` (string; required) — Metric display name<br>`--remark` (string; optional) — Optional metric remark<br>`--model_type` (string; required) — Metric model type: event or retention<br>`--events` (json; required) — Metric events JSON. Follow the create_metric reference for the metric event contract.<br>`--params` (json; required) — Metric parameters JSON. For event, use format config; for retention, use the eventView configuration. | [create_metric.md](create_metric.md) |
122
164
  | `ae-cli analysis_meta +create_project_mark_time` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--marked_at` (string; required) — Marked time yyyy-MM-dd HH:mm<br>`--zone_offset` (number; optional) — Marker time zone offset<br>`--content` (string; required) — Marker content<br>`--is_visible` (number; optional) — Whether the marker is visible. Default: 1 | [create_project_mark_time.md](create_project_mark_time.md) |
123
- | `ae-cli analysis_meta +create_virtual_event` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--event_name` (string; required) — Virtual event name. Must start with 'ta@' and follow the naming constraints in the schema<br>`--event_desc` (string; required) — Virtual event description<br>`--remark` (string; optional) — Optional remark<br>`--events` (json; required) — JSON array of events to combine<br>`--filter` (json; optional) — Optional global filter JSON<br>`--override` (boolean; optional) — Whether to override if the event already exists. Default: false | [create_virtual_event.md](create_virtual_event.md) |
124
- | `ae-cli analysis_meta +create_virtual_property` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--property_name` (string; required) — Property name. Must start with '#vp@' and follow the naming constraints in the schema<br>`--property_desc` (string; optional) — Display name/description<br>`--table_type` (string; required) — Table type: event or user<br>`--select_type` (string; required) — Select type: string, number, bool, or datetime<br>`--sql_expression` (string; required) — SQL expression for computing the property<br>`--sql_event_relation_type` (string; required) — SQL event relation type: relation_default, relation_always, or relation_by_setting<br>`--related_events` (json; optional) — Optional related events JSON array. Required when sql_event_relation_type is relation_by_setting<br>`--property_remark` (string; optional) — Optional property remark | [create_virtual_property.md](create_virtual_property.md) |
125
- | `ae-cli analysis_meta +delete_metric` | legacy/MCP | high-risk-write | `--project_id` (number; required) — Project ID<br>`--metric_id` (number; required) — Metric ID to delete | [delete_metric.md](delete_metric.md) |
126
165
  | `ae-cli analysis_meta +delete_project_mark_times` | legacy/MCP | high-risk-write | `--project_id` (number; required) — Project ID<br>`--mark_time_ids` (json; required) — Marker ID list JSON array | [delete_project_mark_times.md](delete_project_mark_times.md) |
127
166
  | `ae-cli analysis_meta +delete_track_items` | legacy/MCP | high-risk-write | `--project_id` (number; required) — Project ID<br>`--delete_data` (json; required) — Delete payload JSON object with events/eventPropNames/userPropNames/commonEventPropNames | [delete_track_items.md](delete_track_items.md) |
128
167
  | `ae-cli analysis_meta +generate_track_program` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--language` (string; required) — Language code (zh-CN, en-US, ja-JP, ko-KR)<br>`--form_data` (json; required) — Structured business context JSON object, optional fields for example: account_system, revenue_model, core_gameplay, currency_system, main_entries, predefinedEvent, developmentCarrier | [generate_track_program.md](generate_track_program.md) |
129
168
  | `ae-cli analysis_meta +generate_track_sdk_sample` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--sdk_type` (json; required) — SDK types JSON array. Allowed values: android-java, server-php, ios-swift, server-python, web-js, server-java, server-nodejs, wechat-miniapp, harmonyos-arkts, android-kotlin, unity-csharp, cocos-creator-ts, server-go, server-cpp, ios-objc | [generate_track_sdk_sample.md](generate_track_sdk_sample.md) |
130
- | `ae-cli analysis_meta +get_metric` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--metric_id` (number; required) — Metric ID | [get_metric.md](get_metric.md) |
131
169
  | `ae-cli analysis_meta +get_project_config` | legacy/MCP | read | `--project_id` (number; required) — Project ID | [get_project_config.md](get_project_config.md) |
132
170
  | `ae-cli analysis_meta +get_track_program` | legacy/MCP | read | `--project_id` (number; required) — Project ID | [get_track_program.md](get_track_program.md) |
133
171
  | `ae-cli analysis_meta +list_entities` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--event_name` (string; optional) — Optional event name filter<br>`--query` (string; optional) — Optional keyword filter. Fuzzy match is applied to entityName, columnName, and columnDesc; if omitted, all entities are returned.<br>`--fields` (json; optional) — Optional fields to return. Supported fields: entityId, entityName, columnName, columnDesc, selectType, tableType, entityType. Default fields when omitted: entityId, entityName, columnName, columnDesc, selectType.<br>`--limit` (number; optional, min=1, max=200) — Optional page size. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional page offset. Default: 0. | [list_entities.md](list_entities.md) |
134
- | `ae-cli analysis_meta +list_events` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--query` (string; optional) — Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and remark; if omitted, all events are returned.<br>`--fields` (json; optional) — Optional fields to return. Supported fields: eventId, eventName, eventDesc, remark, eventTag, authenticationStatus. Default fields when omitted: eventId, eventName, eventDesc, remark, authenticationStatus.<br>`--limit` (number; optional, min=1, max=200) — Optional page size. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional page offset. Default: 0.<br>`--authenticated_only` (boolean; optional) — When true, return only authenticated events. | [list_events.md](list_events.md) |
135
- | `ae-cli analysis_meta +list_metrics` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--query` (string; optional) — Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark.<br>`--fields` (json; optional) — Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus.<br>`--limit` (number; optional, min=1, max=200) — Optional limit. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional offset. Default: 0.<br>`--authenticated_only` (boolean; optional) — When true, return only authenticated metrics. | [list_metrics.md](list_metrics.md) |
136
172
  | `ae-cli analysis_meta +list_project_mark_times` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--zone_offset` (number; optional) — Marker time zone offset<br>`--query` (string; optional) — Optional keyword filter. Fuzzy match on markContent.<br>`--fields` (json; optional) — Optional fields to return. Supported: id, projectId, markTime, userZoneTime, zoneOffset, markContent, isShow, creatorName, creatorId, lastModifierName, lastModifierId, createTime, updateTime.<br>`--limit` (number; optional, min=1, max=200) — Optional limit. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional offset. Default: 0. | [list_project_mark_times.md](list_project_mark_times.md) |
137
173
  | `ae-cli analysis_meta +list_project_users` | legacy/MCP | read | `--project_id` (number; required) — Project ID | [list_project_users.md](list_project_users.md) |
138
- | `ae-cli analysis_meta +list_properties` | legacy/MCP | read | `--project_id` (number; required) — Project ID<br>`--scope` (string; optional) — Property scope: event or user<br>`--event_name` (string; optional) — Optional event name filter<br>`--query` (string; optional) — Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all accessible properties are returned.<br>`--fields` (json; optional) — Optional fields to return. Supported fields: propId, propName, propDesc, remark, selectType, tableType, subTableType, authenticationStatus. Default fields when omitted: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.<br>`--limit` (number; optional, min=1, max=200) — Optional page size. Default: 50, maximum: 200.<br>`--offset` (number; optional) — Optional page offset. Default: 0.<br>`--authenticated_only` (boolean; optional) — When true, return only authenticated properties. | [list_properties.md](list_properties.md) |
139
174
  | `ae-cli analysis_meta +save_track_items` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--track_data` (json; required) — Track program JSON object with events/eventProps/userProps/commonEventProps | [save_track_items.md](save_track_items.md) |
140
- | `ae-cli analysis_meta +update_metric` | legacy/MCP | write | `--project_id` (number; required) — Project ID<br>`--metric_id` (number; required) — Metric ID<br>`--name` (string; required) — Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80.<br>`--display_name` (string; required) — Metric display name<br>`--remark` (string; optional) — Optional metric remark<br>`--model_type` (string; required) — Metric model type: event or retention<br>`--events` (json; required) — Metric event definition JSON<br>`--params` (json; optional) — Metric parameter definition JSON | [update_metric.md](update_metric.md) |
141
175
  | `ae-cli analysis_meta +update_project_mark_time` | legacy/MCP | write | `--mark_time_id` (number; required) — Mark time ID<br>`--project_id` (number; required) — Project ID<br>`--marked_at` (string; required) — Marked time yyyy-MM-dd HH:mm<br>`--zone_offset` (number; optional) — Marker time zone offset<br>`--content` (string; required) — Marker content<br>`--is_visible` (number; optional) — Whether the marker is visible. Default: 1 | [update_project_mark_time.md](update_project_mark_time.md) |
142
176
  | `ae-cli analysis-governance asset batch-dashboard-schedule-freeze` | governance.asset.batch_dashboard_schedule_freeze | write | `--project-id` (number; required) — Numeric project ID.<br>`--node-ids` (json; optional) — Asset node ID JSON array.<br>`--reports-version` (number; optional) — Dashboard reports version.<br>`--zone-offset` (number; optional) — Dashboard zone offset.<br>`--schedule-ui-config` (json; optional) — Dashboard schedule UI config JSON.<br>`--dashboard-status` (string; optional) — Dashboard status.<br>`--refresh-type` (number; optional) — Dashboard refresh type: 1 enabled, 0 disabled.<br>`--cache-config` (json; optional) — Dashboard cache config JSON.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [asset_batch_dashboard_schedule_freeze.md](asset_batch_dashboard_schedule_freeze.md) |
143
177
  | `ae-cli analysis-governance asset batch-delete` | governance.asset.batch_delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--node-ids` (json; optional) — Asset node ID JSON array.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [asset_batch_delete.md](asset_batch_delete.md) |
@@ -176,7 +210,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
176
210
  | `ae-cli analysis-meta event get` | metadata.event.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--event-name` (string; required) — Event name. | [event_get.md](event_get.md) |
177
211
  | `ae-cli analysis-meta event hide-update` | metadata.event.hide_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--event-names` (json; required) — Event names JSON array, or a JSON string accepted by common-service.<br>`--is-hide` (boolean; required) — Whether to hide the events. | [event_hide_update.md](event_hide_update.md) |
178
212
  | `ae-cli analysis-meta event influence-list` | metadata.event.influence_list | read | `--project-id` (number; required) — Numeric project ID.<br>`--event-name` (string; required) — Event name. | [event_influence_list.md](event_influence_list.md) |
179
- | `ae-cli analysis-meta event list` | metadata.event.list | read | `--project-id` (number; required) — Numeric project ID. | [event_list.md](event_list.md) |
213
+ | `ae-cli analysis-meta event list` | metadata.event.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset.<br>`--authenticated-only` (boolean; optional) — When true, return only authenticated events. | [event_list.md](event_list.md) |
180
214
  | `ae-cli analysis-meta event relation-update` | metadata.event.relation_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [event_relation_update.md](event_relation_update.md) |
181
215
  | `ae-cli analysis-meta event update` | metadata.event.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--event-name` (string; required) — Event name.<br>`--event-desc` (string; optional) — Event display name.<br>`--remark` (string; optional) — Event remark. | [event_update.md](event_update.md) |
182
216
  | `ae-cli analysis-meta event-property-bundle export` | metadata.event_property_bundle.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Export timeout seconds. Default and max: 21600 (6 hours). | [event_property_bundle_export.md](event_property_bundle_export.md) |
@@ -186,24 +220,24 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
186
220
  | `ae-cli analysis-meta exchange rule-list` | metadata.exchange_rule.list | read | `--project-id` (number; required) — Numeric project ID. | [exchange_rule_list.md](exchange_rule_list.md) |
187
221
  | `ae-cli analysis-meta exchange rule-update` | metadata.exchange_rule.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [exchange_rule_update.md](exchange_rule_update.md) |
188
222
  | `ae-cli analysis-meta exchange rule-validate` | metadata.exchange_rule.validate | read | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [exchange_rule_validate.md](exchange_rule_validate.md) |
189
- | `ae-cli analysis-meta metric create` | metadata.metric.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-name` (string; required) — Metric technical name, for example pay_count.<br>`--metric-desc` (string; required) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--metric-mode` (number; required) — Metric model mode, for example 0 for event analysis.<br>`--metric-events` (json; required) — Metric event-analysis QP JSON array.<br>`--metric-params` (json; optional) — Metric params JSON object. Defaults to {} in common when omitted. | [metric_create.md](metric_create.md) |
223
+ | `ae-cli analysis-meta metric create` | metadata.metric.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-name` (string; required) — Metric technical name, for example pay_count.<br>`--metric-desc` (string; required) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--metric-mode` (number; optional) — Metric model mode, for example 0 for event analysis.<br>`--model-type` (string; optional) — Semantic metric model type: event or retention. Prefer this over metric-mode.<br>`--metric-events` (json; required) — Metric event-analysis QP JSON array.<br>`--metric-params` (json; optional) — Metric params JSON object. Defaults to {} in common when omitted. | [metric_create.md](metric_create.md) |
190
224
  | `ae-cli analysis-meta metric delete` | metadata.metric.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID. | [metric_delete.md](metric_delete.md) |
191
225
  | `ae-cli analysis-meta metric get` | metadata.metric.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID. | [metric_get.md](metric_get.md) |
192
- | `ae-cli analysis-meta metric list` | metadata.metric.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--ignore-authentication` (boolean; optional) — Whether to skip asset authentication status decoration. | [metric_list.md](metric_list.md) |
193
- | `ae-cli analysis-meta metric update` | metadata.metric.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID.<br>`--metric-name` (string; optional) — Metric technical name for full-definition update.<br>`--metric-desc` (string; optional) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--metric-mode` (number; optional) — Metric model mode for full-definition update.<br>`--metric-events` (json; optional) — Metric event-analysis QP JSON array for full-definition update.<br>`--metric-params` (json; optional) — Metric params JSON object. | [metric_update.md](metric_update.md) |
226
+ | `ae-cli analysis-meta metric list` | metadata.metric.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--ignore-authentication` (boolean; optional) — Whether to skip asset authentication status decoration.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset.<br>`--authenticated-only` (boolean; optional) — When true, return only authenticated metrics. | [metric_list.md](metric_list.md) |
227
+ | `ae-cli analysis-meta metric update` | metadata.metric.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID.<br>`--metric-name` (string; optional) — Metric technical name for full-definition update.<br>`--metric-desc` (string; optional) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--metric-mode` (number; optional) — Metric model mode for full-definition update.<br>`--model-type` (string; optional) — Semantic metric model type: event or retention. Prefer this over metric-mode.<br>`--metric-events` (json; optional) — Metric event-analysis QP JSON array for full-definition update.<br>`--metric-params` (json; optional) — Metric params JSON object. | [metric_update.md](metric_update.md) |
194
228
  | `ae-cli analysis-meta property changelog-list` | metadata.property.changelog_list | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-name` (string; required) — Property column name. | [property_changelog_list.md](property_changelog_list.md) |
195
229
  | `ae-cli analysis-meta property create` | metadata.property.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [property_create.md](property_create.md) |
196
230
  | `ae-cli analysis-meta property delete` | metadata.property.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-names` (json; required) — Property names JSON array, or a JSON string accepted by common-service. | [property_delete.md](property_delete.md) |
197
231
  | `ae-cli analysis-meta property get` | metadata.property.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-name` (string; required) — Property column name. | [property_get.md](property_get.md) |
198
232
  | `ae-cli analysis-meta property hide-update` | metadata.property.hide_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-names` (json; required) — Property names JSON array, or a JSON string accepted by common-service.<br>`--is-hide` (boolean; required) — Whether to hide the properties. | [property_hide_update.md](property_hide_update.md) |
199
233
  | `ae-cli analysis-meta property influence-list` | metadata.property.influence_list | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-name` (string; required) — Property column name. | [property_influence_list.md](property_influence_list.md) |
200
- | `ae-cli analysis-meta property list` | metadata.property.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type. | [property_list.md](property_list.md) |
234
+ | `ae-cli analysis-meta property list` | metadata.property.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; optional) — Optional property table type: event or user.<br>`--scope` (string; optional) — Optional property scope: event or user.<br>`--event-name` (string; optional) — Optional event name filter for event properties.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional) — Optional inline result limit.<br>`--offset` (number; optional) — Optional zero-based result offset.<br>`--authenticated-only` (boolean; optional) — When true, return only authenticated properties. | [property_list.md](property_list.md) |
201
235
  | `ae-cli analysis-meta property related-events` | metadata.property.related_events | read | `--project-id` (number; required) — Numeric project ID.<br>`--prop-name` (string; required) — Event property column name. | [property_related_events.md](property_related_events.md) |
202
236
  | `ae-cli analysis-meta property relation-update` | metadata.property.relation_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [property_relation_update.md](property_relation_update.md) |
203
237
  | `ae-cli analysis-meta property update` | metadata.property.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-name` (string; required) — Property column name.<br>`--prop-desc` (string; optional) — Property display name.<br>`--prop-remark` (string; optional) — Property remark. | [property_update.md](property_update.md) |
204
- | `ae-cli analysis-meta virtual-event create` | metadata.virtual_event.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload.<br>`--override` (boolean; optional) — Whether to override an existing virtual event rule. | [virtual_event_create.md](virtual_event_create.md) |
238
+ | `ae-cli analysis-meta virtual-event create` | metadata.virtual_event.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields.<br>`--event-name` (string; optional) — Virtual event name. Must start with 'ta@'.<br>`--event-desc` (string; optional) Virtual event display name.<br>`--remark` (string; optional) Optional virtual event remark.<br>`--events` (json; optional) — JSON array of events to combine.<br>`--filter` (json; optional) — Optional global filter JSON.<br>`--override` (boolean; optional) — Whether to override an existing virtual event rule. | [virtual_event_create.md](virtual_event_create.md) |
205
239
  | `ae-cli analysis-meta virtual-event delete` | metadata.virtual_event.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--v-event-id` (number; required) — Virtual event ID. | [virtual_event_delete.md](virtual_event_delete.md) |
206
240
  | `ae-cli analysis-meta virtual-event get` | metadata.virtual_event.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--v-event-id` (number; required) — Virtual event ID. | [virtual_event_get.md](virtual_event_get.md) |
207
- | `ae-cli analysis-meta virtual-property create` | metadata.virtual_property.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; required) — Virtual property JSON object with property.column_name/table_type/select_type fields.<br>`--properties` (json; optional) — Dependent property JSON array.<br>`--sql-event-relation-type` (string; optional) — relation_default, relation_always, or relation_by_setting.<br>`--related-events` (json; optional) — Related events JSON array when using relation_by_setting.<br>`--tag-date-policies` (json; optional) — Optional tag date policies JSON array.<br>`--replace-remark` (string; optional) — Replacement remark.<br>`--replace-suggestion` (string; optional) — Replacement suggestion. | [virtual_property_create.md](virtual_property_create.md) |
241
+ | `ae-cli analysis-meta virtual-property create` | metadata.virtual_property.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; optional) — Virtual property JSON object with property.column_name/table_type/select_type fields.<br>`--property-name` (string; optional) — Virtual property name. Must start with '#vp@'.<br>`--property-desc` (string; optional) — Virtual property display name.<br>`--table-type` (string; optional) — Property table type: event or user.<br>`--select-type` (string; optional) — Property value type: string, number, bool, or datetime.<br>`--property-remark` (string; optional) — Optional virtual property remark.<br>`--properties` (json; optional) — Dependent property JSON array.<br>`--sql-event-relation-type` (string; optional) — relation_default, relation_always, or relation_by_setting.<br>`--related-events` (json; optional) — Related events JSON array when using relation_by_setting.<br>`--tag-date-policies` (json; optional) — Optional tag date policies JSON array.<br>`--replace-remark` (string; optional) — Replacement remark.<br>`--replace-suggestion` (string; optional) — Replacement suggestion. | [virtual_property_create.md](virtual_property_create.md) |
208
242
  | `ae-cli analysis-meta virtual-property sql-rule-delete` | metadata.virtual_property.sql_rule_delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--v-prop-id` (number; required) — Virtual property ID.<br>`--operation` (string; optional) — Delete operation. Use revoke to revoke instead of delete. | [virtual_property_sql_rule_delete.md](virtual_property_sql_rule_delete.md) |
209
243
  | `ae-cli analysis-meta virtual-property sql-rule-update` | metadata.virtual_property.sql_rule_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; required) — Virtual property JSON object with prop_id/property fields.<br>`--properties` (json; optional) — Dependent property JSON array.<br>`--sql-event-relation-type` (string; optional) — relation_default, relation_always, or relation_by_setting.<br>`--related-events` (json; optional) — Related events JSON array when using relation_by_setting.<br>`--tag-date-policies` (json; optional) — Optional tag date policies JSON array.<br>`--replace-remark` (string; optional) — Replacement remark.<br>`--replace-suggestion` (string; optional) — Replacement suggestion. | [virtual_property_sql_rule_update.md](virtual_property_sql_rule_update.md) |
@@ -25,7 +25,7 @@ ae-cli analysis_meta +create_entity --dry-run
25
25
 
26
26
  ## Decision Rules
27
27
  - `--table_type` must be `0` (event property) or `1` (user property); no other values are accepted.
28
- - Before using `--column_name`, call `analysis_meta +list_properties` to verify it exists. If the same column name appears in **both** event properties and user properties, **stop and ask the user which table type to use** — do not guess `--table_type`. Ask every time this condition is met; never carry over the answer from a previous request.
28
+ - Before using `--column_name`, call `analysis-meta property list` to verify it exists. If the same column name appears in **both** event properties and user properties, **stop and ask the user which table type to use** — do not guess `--table_type`. Ask every time this condition is met; never carry over the answer from a previous request.
29
29
  - For the first run, pass only the required parameters and confirm before adding others.
30
30
  - This is an ordinary `write` operation and does not require CLI confirmation.
31
31
 
@@ -36,4 +36,4 @@ ae-cli analysis_meta +create_entity --dry-run
36
36
 
37
37
  ## Recommended Chaining
38
38
  - `analysis_meta +list_entities` → `+create_entity`
39
- - `analysis_meta +list_properties` → `+create_entity`
39
+ - `analysis-meta property list` → `+create_entity`
@@ -22,11 +22,11 @@ Input sends `project_id`, `dashboard_id`, and optional `report_ids`, `filters`,
22
22
 
23
23
  Dashboard `filters`, `start_time`, and `end_time` do not apply to SQL reports. Export still completes with SQL report data; the JSONL result object includes `warnings[]` with `OVERRIDE_IGNORED_FOR_MODEL`, affected SQL `report_ids`, and `ignored_fields`. Query SQL reports directly with report-data `--sql-params` when SQL conditions must change.
24
24
 
25
- Output is the gateway envelope. `data` contains an async export descriptor with `run_id`, `artifact_id`, status fields, expiration fields, and `query_context_id` / `query_context_expires_at` when Redis context creation succeeds. It does not expose inspect/download API paths; use the CLI commands below.
25
+ Output is the gateway envelope. `data` contains an async export descriptor with `run_id`, `artifact_id`, status fields, and expiration fields. Exports do not create `query_context_id`. It does not expose inspect/download API paths; use the CLI commands below.
26
26
 
27
27
  An empty artifact is successful and means the requested time range has no data. The run reaches `FAILED` only when every returned dashboard report entry contains an explicit execution error. Mixed dashboard exports retain successful data and explicit per-report failure entries.
28
28
 
29
- Use the submit response `query_context_id` immediately with `analysis drilldown-users run` or `analysis query create-result-cluster` when present. After the run completes, the downloaded artifact's first metadata line repeats the query context for file consumers. Do not pass raw QP.
29
+ Never use the export response or downloaded rows as a drilldown/result-cluster source. Run a bounded synchronous dashboard report preview containing the desired cell first.
30
30
 
31
31
  Follow-up workflow:
32
32
 
@@ -22,8 +22,8 @@ Input sends `project_id`, `dashboard_id`, and optional `report_ids`, `filters`,
22
22
 
23
23
  Dashboard `filters`, `start_time`, and `end_time` do not apply to SQL reports. The query still succeeds and returns those SQL report results. Inspect `data.warnings[]`; `OVERRIDE_IGNORED_FOR_MODEL` contains the affected SQL `report_ids` and `ignored_fields`. To change SQL conditions, query the SQL report directly with `analysis report-data run` and saved `definition.params` through `--sql-params`.
24
24
 
25
- Output is the gateway envelope. `data` contains bounded inline report data, optional structured `warnings`, plus `query_context_id`, `drilldown_available`, and `result_cluster_available` when a context can be created.
25
+ Output is the gateway envelope. `data` contains bounded inline report data, optional structured `warnings`, plus `query_context_id` and per-report `sources[].drilldown` options when a returned report exposes follow-up actions. Unsupported report models have empty actions.
26
26
 
27
27
  An empty dashboard 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. Mixed dashboard batches keep successful data and return `meta.partial`, counts, and per-report `meta.failures`.
28
28
 
29
- Use `query_context_id` with `analysis drilldown-users run` or `analysis query create-result-cluster`. Do not pass raw QP.
29
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Pass the selected report source and merge only its returned coordinate fragments for the advertised action. Do not pass raw QP.
@@ -0,0 +1,26 @@
1
+ # analysis drilldown-entities export
2
+
3
+ Stream the complete users or custom entities behind one selected synchronous-preview coordinate as a `csv.gz` artifact.
4
+
5
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md) and first validate the coordinate with the corresponding synchronous preview/`drilldown-entities run` path. The export consumes an existing sync-preview context; it never creates a query context or additional drilldown choices.
6
+
7
+ ```bash
8
+ ae-cli analysis drilldown-entities export \
9
+ --query-context-id <sync_preview_query_context_id> \
10
+ [--source '{"report_id":1001}'] \
11
+ --coordinate '<same returned coordinate>' \
12
+ [--properties '[{...}]'] \
13
+ [--artifact-format csv] \
14
+ [--timeout-seconds 21600]
15
+ ```
16
+
17
+ Property support matches the synchronous preview exactly:
18
+
19
+ - For the `#user_id` user subject, `--properties` accepts `[{"columnName":"<property_name>","tableType":"user"}]`. The artifact always retains `#user_id`, `#account_id`, and `#distinct_id` plus the requested user properties.
20
+ - For a custom entity subject, omit `--properties`; the artifact contains only the entity value column. Supplying properties returns `CUSTOM_ENTITY_PROPERTIES_UNSUPPORTED` instead of silently ignoring them.
21
+
22
+ `#user_id` is an internal association key. When presenting downloaded user rows to a customer, Agents should display account ID and visitor ID by default rather than using `#user_id` as the only visible identity.
23
+
24
+ This command does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`. Common executes one full-download query and streams it directly into the artifact; it does not repeatedly call the synchronous preview. “Complete” follows the platform full-download ceiling (`model_full_download_limit`). Inspect `run_id`, then download only after completion.
25
+
26
+ The file is durable member data, not a new interactive result. Do not use rows in the downloaded artifact to construct another analysis coordinate. User event continuation requires the `drilldown_context_id` and canonical `user_id` returned by a user-subject `drilldown-entities run`, not this export.
@@ -0,0 +1,33 @@
1
+ # analysis drilldown-entities run
2
+
3
+ Preview users or custom entities behind one selected synchronous-preview cell.
4
+
5
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md) first. Call this only when the selected metric/action advertises `drilldown_entities`. Event metrics require `analysis_angle=USER_LIST|ENTITY_LIST`; retention, funnel, distribution, interval, property, path, and attribution results expose their analysis subject in `source.drilldown.subject`.
6
+
7
+ ## Command
8
+
9
+ ```bash
10
+ ae-cli analysis drilldown-entities run \
11
+ --query-context-id <sync_preview_query_context_id> \
12
+ [--source '{"report_id":1001}'] \
13
+ --coordinate '<merged returned row/column/metric coordinate>' \
14
+ [--properties '[{...}]'] \
15
+ [--limit 100] \
16
+ [--timeout-seconds 120]
17
+ ```
18
+
19
+ The context, source, and coordinate must all come from the same synchronous preview. Select a visible row from `row_options`, a drillable column from `column_options`, and the relevant metric option; shallow-merge their coordinate fragments. Never send `row_index`, `column_index`, `values`, `label`, `target_id`, raw QP, or a coordinate derived from an export file.
20
+
21
+ Property support depends on the returned subject:
22
+
23
+ - `subject.type=user` (`column_name=#user_id`): `--properties` may select additional user properties with `[{"columnName":"<property_name>","tableType":"user"}]`. The named value `user` is required; do not send numeric enum codes. Every row still contains `#user_id`, `#account_id`, and `#distinct_id`.
24
+ - `subject.type=entity`: do not pass `--properties`. A custom entity returns only its entity value. Supplying properties is invalid and must return `CUSTOM_ENTITY_PROPERTIES_UNSUPPORTED`; it is never silently ignored.
25
+
26
+ ## Output and next intent
27
+
28
+ The response contains `subject`, `items`, `total`, `returned_rows`, and `truncated`.
29
+
30
+ - `subject.type=user`: items include canonical `user_id`; `attributes` always includes `#user_id`, `#account_id`, and `#distinct_id`, followed by requested user properties. `#user_id` is an internal association key that customers normally do not care about. In user-facing tables or summaries, show account ID and visitor ID by default and keep `#user_id` only for machine linkage or explicit troubleshooting. If `drilldown_context_id` and the user-event follow-up are present, the Agent may ask for one returned user's event sequence with `analysis drilldown-user-events run|export`.
31
+ - `subject.type=entity`: items contain `entity_value`; do not call user-event commands because non-user entities have no event sequence.
32
+ - When `truncated=true` or complete membership is requested, repeat the same context/source/coordinate with `analysis drilldown-entities export`. Do not page this command.
33
+ - Creating a result cluster is a sibling action from the original analysis cell, not from an entity row. Use the original `query_context_id`, source, and coordinate with `analysis query create-result-cluster` only if that action was advertised.
@@ -0,0 +1,21 @@
1
+ # analysis drilldown-events export
2
+
3
+ Stream all raw events behind one selected `EVENT_LIST` coordinate into one `csv.gz` artifact.
4
+
5
+ Use this only when the selected synchronous preview metric advertises `drilldown_events`. Copy the same `query_context_id`, optional `source`, and semantic `coordinate` used by `analysis drilldown-events run`; never pass raw QP or `target_id`.
6
+
7
+ ```bash
8
+ ae-cli analysis drilldown-events export \
9
+ --query-context-id <sync_preview_query_context_id> \
10
+ [--source '{"report_id":1001}'] \
11
+ --coordinate '<same returned coordinate>' \
12
+ [--properties '[{"columnName":"<event_property_name>","tableType":"event"}]'] \
13
+ [--artifact-format csv] \
14
+ [--timeout-seconds 21600]
15
+ ```
16
+
17
+ This command does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`. Common executes one full-download query and streams its result directly into the artifact; it does not repeatedly call the synchronous preview. “All” follows the platform full-download ceiling (`model_full_download_limit`), not an unbounded query.
18
+
19
+ When `--properties` is present, the artifact contains required system event columns plus exactly the requested event properties. The export and synchronous preview use the same projection contract.
20
+
21
+ Inspect `run_id`, wait for completion, then download the bound artifact. The downloaded rows are durable event detail only; they do not create or enlarge the interactive drilldown coordinate set.
@@ -0,0 +1,23 @@
1
+ # analysis drilldown-events run
2
+
3
+ Preview raw event rows behind one event-analysis metric cell.
4
+
5
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md) first. Call this command only when the selected event `metric_option` has `analysis_angle=EVENT_LIST` and includes `drilldown_events` in `actions`. Event totals commonly have this angle; triggered-user/entity counts do not.
6
+
7
+ ## Command
8
+
9
+ ```bash
10
+ ae-cli analysis drilldown-events run \
11
+ --query-context-id <sync_preview_query_context_id> \
12
+ [--source '{"report_id":1001}'] \
13
+ --coordinate '{"group_values":["Beijing"],"date":"2026-07-16","metric_index":0}' \
14
+ [--properties '[{...}]'] \
15
+ [--limit 100] \
16
+ [--timeout-seconds 120]
17
+ ```
18
+
19
+ `--query-context-id` must come from the same synchronous preview that returned the selected source and options. `--source` is required only to disambiguate multiple returned sources. Assemble `--coordinate` only by merging the selected returned option fragments. Do not pass `target_id`, raw QP, display-only dates, or values from an export/download.
20
+
21
+ `--properties` is an optional exact event-property projection. Omit it for default columns; string arrays such as `["#event_time"]` are invalid. Each item uses the backend field names `columnName` and `tableType`, for example `[{"columnName":"<event_property_name>","tableType":"event"}]`. `tableType` uses the documented name `event`, not a numeric enum code. Required system event columns remain present, but unrelated event properties must not be returned.
22
+
23
+ The response contains at most `limit` event rows from that selected preview cell. `total` is the exact number of matching events, `returned_rows` is the number included in this response, and `truncated=true` means more matching events exist. This command has no paging offset. When complete event detail is required, call `analysis drilldown-events export` once with the same returned context/source/coordinate; that sibling capability uses the backend full-download stream and does not page or enlarge the synchronous selection boundary.
@@ -8,13 +8,16 @@ Export the complete event sequence for one user from a drilldown context. Do not
8
8
  ae-cli analysis drilldown-user-events export \
9
9
  --drilldown-context-id <drilldown_context_id> \
10
10
  --user-id <user_id> \
11
+ [--properties '[{"columnName":"<event_property_name>","tableType":"event"}]'] \
11
12
  [--sort-order desc] \
12
- [--artifact-format jsonl] \
13
+ [--artifact-format csv] \
13
14
  [--timeout-seconds 21600]
14
15
  ```
15
16
 
16
- Use identifiers returned by `analysis drilldown-users run` or its export artifact. Export does not accept `--limit`, `--page-num`, or `--page-size`; Common advances backend pages internally and writes one JSONL artifact.
17
+ The nested backend keys are exactly `columnName` and `tableType`, and the table type is the named value `event`. String-name arrays, numeric enum codes, and snake_case rewrites are invalid. With an explicit projection, the artifact retains `#user_id`, account ID, visitor ID, event name, and event time and appends exactly the requested event properties. `#user_id` is internal; Agents should normally present account ID and visitor ID to customers.
18
+
19
+ Use the exact `drilldown_context_id` and canonical `user_id` returned by a user-subject `analysis drilldown-entities run`. Do not use a custom entity, an entity export artifact, or a guessed identity. Export does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`; Common builds the same authorized event-sequence query without the synchronous 1000-row preview cap and streams one `csv.gz` artifact. The platform full-download ceiling (`model_full_download_limit`) still applies.
17
20
 
18
21
  Inspect the returned `run_id` with `analysis run inspect`, then download the completed artifact with `analysis artifact download`.
19
22
 
20
- Output is an async run/artifact descriptor. The complete event rows exist only in the downloaded artifact.
23
+ Output is an async run/artifact descriptor. The complete event rows exist only in the downloaded artifact; they cannot be used as new analysis coordinates.