@thinkingai/ae-cli 6.0.31 → 6.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{auth-MEJ642P4.js → auth-ENM3FE6L.js} +3 -2
  4. package/dist/{auth-7H3HAAJ3.js → auth-UPGUOKTW.js} +13 -6
  5. package/dist/{capability-SEH3JWLN.js → capability-AJC5CBRT.js} +50 -18
  6. package/dist/{capability-SQ2IWKP3.js → capability-TQ5KU5Q6.js} +50 -18
  7. package/dist/chunk-24BAVOX3.js +51 -0
  8. package/dist/{chunk-MDJGDI6K.js → chunk-3KI3RRXX.js} +5 -5
  9. package/dist/{chunk-PKRD2IEM.js → chunk-3P3562ZX.js} +9 -7
  10. package/dist/{chunk-R77JT7XD.js → chunk-4Q5TNP4Q.js} +4 -4
  11. package/dist/{chunk-TKQJQXWT.js → chunk-6CHYBI64.js} +7 -4
  12. package/dist/{chunk-6LEYLOV3.js → chunk-CPVTECJ3.js} +9 -7
  13. package/dist/{chunk-KCA6BA5D.js → chunk-DB4Q3ANU.js} +5 -3
  14. package/dist/{chunk-2NDGFQHW.js → chunk-E7UXXHO3.js} +11 -3
  15. package/dist/{chunk-I4A62X3N.js → chunk-HQ2A7ITL.js} +23 -14
  16. package/dist/chunk-IMMGMU54.js +674 -0
  17. package/dist/{chunk-AJTH7LT3.js → chunk-IR4ZLVPW.js} +4 -2
  18. package/dist/{chunk-N2QORU5D.js → chunk-ISY6HMHM.js} +7 -4
  19. package/dist/{chunk-KGJQCYVC.js → chunk-LCXU3AAT.js} +4 -2
  20. package/dist/chunk-LYVNONC4.js +86 -0
  21. package/dist/{chunk-DYOS6YY7.js → chunk-RGXCNC4N.js} +23 -14
  22. package/dist/{chunk-YCLVYFK7.js → chunk-V6FR6WTW.js} +45 -87
  23. package/dist/chunk-VTWMIC5L.js +27 -0
  24. package/dist/{cli-token-TVQRSE46.js → cli-token-4SBMXAUK.js} +6 -3
  25. package/dist/{client-2643Z5AG.js → client-PP5FETMW.js} +4 -3
  26. package/dist/community-report-client-KK2QBANO.js +145 -0
  27. package/dist/{config-7UZWDE74.js → config-RCCGHHYA.js} +6 -3
  28. package/dist/index.js +541 -234
  29. package/dist/{metadata-W6JFFMBA.js → metadata-3M5F2AED.js} +15 -14
  30. package/dist/{metadata-X62TKIVK.js → metadata-W2MEOI4Z.js} +15 -14
  31. package/dist/{model-T3KZJWLW.js → model-OYQLXCQY.js} +3 -2
  32. package/dist/{raw-CN542NGT.js → raw-TPB7KSZO.js} +6 -4
  33. package/dist/{sync-ERNHDPB5.js → sync-EFJKFZK2.js} +6 -3
  34. package/dist/{te-agent-FCCWUDTJ.js → te-agent-K2OWMZXT.js} +3 -2
  35. package/dist/{te-analysis-NJGNWZFC.js → te-analysis-I73ZS4NK.js} +2196 -120
  36. package/dist/{te-analysis-YGV5V5EX.js → te-analysis-Q7AZCDU4.js} +2196 -120
  37. package/dist/te-common-ST3QPSXJ.js +61 -0
  38. package/dist/te-common-WSLIKKPC.js +61 -0
  39. package/dist/te-community-WXGB6IOX.js +1659 -0
  40. package/dist/te-community-X2AHXGCA.js +1659 -0
  41. package/dist/{te-dataops-ZNJBQ6VT.js → te-dataops-MJV54MNY.js} +10 -8
  42. package/dist/{te-dataops-F36T656A.js → te-dataops-OA7I6HBG.js} +10 -8
  43. package/dist/te-engage-GJRVQMK3.js +3895 -0
  44. package/dist/te-engage-JIXX3WBI.js +3895 -0
  45. package/dist/{te-kb-NT33UHAE.js → te-kb-CIZXRWMO.js} +105 -23
  46. package/dist/{te-meta-VKWNAWO4.js → te-meta-Q4L6EE3Q.js} +8 -240
  47. package/dist/{te-meta-MAAUHFQO.js → te-meta-VHCN4Q62.js} +8 -240
  48. package/dist/{te-team-OKCOX7OE.js → te-team-PDKKW7Q5.js} +7 -6
  49. package/dist/tracking/i18n/resources/cli/en.json +4 -3
  50. package/dist/tracking/i18n/resources/cli/ja.json +4 -3
  51. package/dist/tracking/i18n/resources/cli/ko.json +4 -3
  52. package/dist/tracking/i18n/resources/cli/zh.json +4 -3
  53. package/package.json +6 -2
  54. package/skills/ae-agent/SKILL.md +2 -1
  55. package/skills/ae-analysis/SKILL.md +21 -7
  56. package/skills/ae-analysis/references/adhoc_export.md +5 -6
  57. package/skills/ae-analysis/references/adhoc_run.md +7 -9
  58. package/skills/ae-analysis/references/ai_models.md +17 -1
  59. package/skills/ae-analysis/references/alert_create.md +25 -0
  60. package/skills/ae-analysis/references/alert_definition_schema_get.md +24 -0
  61. package/skills/ae-analysis/references/alert_delete.md +26 -0
  62. package/skills/ae-analysis/references/alert_detail_list.md +27 -0
  63. package/skills/ae-analysis/references/alert_get.md +25 -0
  64. package/skills/ae-analysis/references/alert_job_list.md +24 -0
  65. package/skills/ae-analysis/references/alert_list.md +27 -0
  66. package/skills/ae-analysis/references/alert_notice_config_list.md +24 -0
  67. package/skills/ae-analysis/references/alert_start.md +25 -0
  68. package/skills/ae-analysis/references/alert_stop.md +25 -0
  69. package/skills/ae-analysis/references/alert_update.md +26 -0
  70. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  71. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  72. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  73. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  74. package/skills/ae-analysis/references/bi_panel_create.md +3 -3
  75. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  76. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  77. package/skills/ae-analysis/references/check_delete.md +27 -0
  78. package/skills/ae-analysis/references/check_export.md +27 -0
  79. package/skills/ae-analysis/references/check_get.md +27 -0
  80. package/skills/ae-analysis/references/check_list.md +24 -0
  81. package/skills/ae-analysis/references/check_retry.md +27 -0
  82. package/skills/ae-analysis/references/check_run.md +25 -0
  83. package/skills/ae-analysis/references/command_index.md +114 -46
  84. package/skills/ae-analysis/references/create_entity.md +2 -2
  85. package/skills/ae-analysis/references/dashboard_create.md +3 -3
  86. package/skills/ae-analysis/references/dashboard_daily_report_send.md +1 -0
  87. package/skills/ae-analysis/references/dashboard_daily_report_update.md +2 -0
  88. package/skills/ae-analysis/references/dashboard_report_data_export.md +4 -4
  89. package/skills/ae-analysis/references/dashboard_report_data_run.md +4 -4
  90. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  91. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  92. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  93. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  94. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  95. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  96. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  97. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  98. package/skills/ae-analysis/references/event_blacklist_add.md +25 -0
  99. package/skills/ae-analysis/references/event_blacklist_list.md +24 -0
  100. package/skills/ae-analysis/references/event_blacklist_update.md +26 -0
  101. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  102. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  103. package/skills/ae-analysis/references/event_list.md +10 -2
  104. package/skills/ae-analysis/references/ingest_error_list.md +27 -0
  105. package/skills/ae-analysis/references/ingest_summary.md +26 -0
  106. package/skills/ae-analysis/references/list_entities.md +1 -1
  107. package/skills/ae-analysis/references/live_data_export.md +27 -0
  108. package/skills/ae-analysis/references/live_data_list.md +27 -0
  109. package/skills/ae-analysis/references/metric_create.md +13 -4
  110. package/skills/ae-analysis/references/metric_delete.md +7 -0
  111. package/skills/ae-analysis/references/metric_get.md +6 -0
  112. package/skills/ae-analysis/references/metric_list.md +16 -3
  113. package/skills/ae-analysis/references/metric_update.md +12 -1
  114. package/skills/ae-analysis/references/plan_change_log_export.md +27 -0
  115. package/skills/ae-analysis/references/plan_change_log_list.md +24 -0
  116. package/skills/ae-analysis/references/plan_delete_items.md +30 -0
  117. package/skills/ae-analysis/references/plan_export.md +26 -0
  118. package/skills/ae-analysis/references/plan_generate.md +27 -0
  119. package/skills/ae-analysis/references/plan_get.md +24 -0
  120. package/skills/ae-analysis/references/plan_import_excel.md +26 -0
  121. package/skills/ae-analysis/references/plan_save_items.md +27 -0
  122. package/skills/ae-analysis/references/plan_sync_from_meta.md +24 -0
  123. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  124. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  125. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  126. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  127. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  128. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  129. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  130. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  131. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  132. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  133. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  134. package/skills/ae-analysis/references/project_function_list.md +24 -0
  135. package/skills/ae-analysis/references/project_info_get.md +23 -0
  136. package/skills/ae-analysis/references/project_info_list.md +26 -0
  137. package/skills/ae-analysis/references/project_info_update.md +25 -0
  138. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  139. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  140. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  141. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  142. package/skills/ae-analysis/references/project_member_add.md +25 -0
  143. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  144. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  145. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  146. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  147. package/skills/ae-analysis/references/project_member_import.md +25 -0
  148. package/skills/ae-analysis/references/project_member_list.md +23 -0
  149. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  150. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  151. package/skills/ae-analysis/references/project_member_update.md +25 -0
  152. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  153. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  154. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  155. package/skills/ae-analysis/references/project_role_delete.md +26 -0
  156. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  157. package/skills/ae-analysis/references/project_role_get.md +24 -0
  158. package/skills/ae-analysis/references/project_role_list.md +25 -0
  159. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  160. package/skills/ae-analysis/references/project_role_user_list.md +24 -0
  161. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  162. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  163. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  164. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  165. package/skills/ae-analysis/references/property_list.md +21 -6
  166. package/skills/ae-analysis/references/public_link_create.md +1 -1
  167. package/skills/ae-analysis/references/query_create_result_cluster.md +15 -32
  168. package/skills/ae-analysis/references/report_create.md +1 -1
  169. package/skills/ae-analysis/references/report_data_export.md +5 -3
  170. package/skills/ae-analysis/references/report_data_run.md +13 -3
  171. package/skills/ae-analysis/references/report_get.md +2 -0
  172. package/skills/ae-analysis/references/report_update.md +1 -1
  173. package/skills/ae-analysis/references/sdk_sample_generate.md +24 -0
  174. package/skills/ae-analysis/references/user_cluster_create.md +5 -1
  175. package/skills/ae-analysis/references/user_cluster_create_id.md +2 -0
  176. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  177. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  178. package/skills/ae-analysis/references/user_cluster_update.md +5 -1
  179. package/skills/ae-analysis/references/user_cluster_update_id.md +2 -0
  180. package/skills/ae-analysis/references/user_tag_create.md +5 -1
  181. package/skills/ae-analysis/references/user_tag_create_id.md +2 -0
  182. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  183. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  184. package/skills/ae-analysis/references/user_tag_update.md +5 -1
  185. package/skills/ae-analysis/references/user_tag_update_id.md +2 -0
  186. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  187. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  188. package/skills/ae-analysis-global/SKILL.md +2 -0
  189. package/skills/ae-capability/SKILL.md +7 -5
  190. package/skills/ae-community/SKILL.md +72 -8
  191. package/skills/ae-community/references/community-chat-analysis.md +341 -0
  192. package/skills/ae-community/references/community-data-report.md +301 -0
  193. package/skills/ae-dataops/SKILL.md +2 -1
  194. package/skills/ae-engage/SKILL.md +204 -8
  195. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  196. package/skills/ae-engage/references/activity-activity.md +70 -0
  197. package/skills/ae-engage/references/activity-approval.md +53 -0
  198. package/skills/ae-engage/references/activity-task.md +87 -0
  199. package/skills/ae-engage/references/activity-topic.md +98 -0
  200. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  201. package/skills/ae-engage/references/channel-test-send.md +37 -0
  202. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  203. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  204. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  205. package/skills/ae-engage/references/channel-update-config.md +36 -0
  206. package/skills/ae-engage/references/client-param.md +58 -0
  207. package/skills/ae-engage/references/common-metric.md +75 -0
  208. package/skills/ae-engage/references/config-table.md +92 -0
  209. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  210. package/skills/ae-engage/references/operation-log-query.md +1 -1
  211. package/skills/ae-engage/references/preset-event.md +42 -0
  212. package/skills/ae-engage/references/push-language.md +39 -0
  213. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  214. package/skills/ae-engage/references/scene-config-group.md +62 -0
  215. package/skills/ae-engage/references/scene-config-item.md +68 -0
  216. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  217. package/skills/ae-engage/references/scene-config-param.md +72 -0
  218. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  219. package/skills/ae-engage/references/scene-strategy.md +47 -0
  220. package/skills/ae-engage/references/scene-template.md +71 -0
  221. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  222. package/skills/ae-engage/references/whitelist.md +72 -0
  223. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  224. package/skills/ae-generate-tracking-code/SKILL.md +4 -4
  225. package/skills/ae-generate-tracking-plan/SKILL.md +140 -16
  226. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +98 -33
  227. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  228. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +16 -14
  229. package/skills/ae-kb/SKILL.md +36 -9
  230. package/skills/ae-metadata/SKILL.md +3 -2
  231. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  232. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  233. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  234. package/skills/ae-team/SKILL.md +2 -1
  235. package/dist/chunk-NOO24N7W.js +0 -11
  236. package/dist/chunk-TNW2CI4W.js +0 -129
  237. package/dist/te-common-5NJLF3XG.js +0 -130
  238. package/dist/te-common-7VTJZPII.js +0 -130
  239. package/dist/te-community-PEZ2VEF7.js +0 -687
  240. package/dist/te-community-TSKJ652U.js +0 -687
  241. package/dist/te-engage-BUWVSSSK.js +0 -1912
  242. package/dist/te-engage-EPE3QKDE.js +0 -1912
  243. package/skills/ae-analysis/references/create_metric.md +0 -58
  244. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  245. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  246. package/skills/ae-analysis/references/delete_metric.md +0 -32
  247. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  248. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  249. package/skills/ae-analysis/references/get_metric.md +0 -38
  250. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  251. package/skills/ae-analysis/references/list_events.md +0 -46
  252. package/skills/ae-analysis/references/list_metrics.md +0 -52
  253. package/skills/ae-analysis/references/list_properties.md +0 -47
  254. package/skills/ae-analysis/references/update_metric.md +0 -58
  255. package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
@@ -0,0 +1,24 @@
1
+ # analysis project role upsert
2
+
3
+ Use when the user needs to create or update a project role.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project role upsert --project-id <project_id> --payload <payload>
11
+ ae-cli analysis project role upsert --dry-run --project-id <project_id> --payload <payload>
12
+ ```
13
+
14
+ Capability id: `project.role.upsert`.
15
+
16
+ Input sends `project_id`, `payload`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | Yes | Role save payload matching RoleSaveRequestDTO in snake_case. |
@@ -0,0 +1,24 @@
1
+ # analysis project role-user list
2
+
3
+ Use when the user needs to list users bound to a role.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project role-user list --project-id <project_id> --role-name <role_name>
11
+ ae-cli analysis project role-user list --dry-run --project-id <project_id> --role-name <role_name>
12
+ ```
13
+
14
+ Capability id: `project.role_user.list`.
15
+
16
+ Input sends `project_id`, `role_name`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--role-name` | Yes | Role name. |
@@ -0,0 +1,23 @@
1
+ # analysis project timezone get
2
+
3
+ Use when the user needs to get project time zone configuration.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project timezone get --project-id <project_id>
11
+ ae-cli analysis project timezone get --dry-run --project-id <project_id>
12
+ ```
13
+
14
+ Capability id: `project.timezone.get`.
15
+
16
+ Input sends `project_id`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
@@ -0,0 +1,23 @@
1
+ # analysis project timezone overview
2
+
3
+ Use when the user needs to get project time zone overview.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project timezone overview --project-id <project_id>
11
+ ae-cli analysis project timezone overview --dry-run --project-id <project_id>
12
+ ```
13
+
14
+ Capability id: `project.timezone.overview`.
15
+
16
+ Input sends `project_id`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
@@ -0,0 +1,25 @@
1
+ # analysis project timezone update
2
+
3
+ Use when the user needs to update one project time zone configuration item.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project timezone update --project-id <project_id> --payload <payload> --item <item>
11
+ ae-cli analysis project timezone update --dry-run --project-id <project_id> --payload <payload> --item <item>
12
+ ```
13
+
14
+ Capability id: `project.timezone.update`.
15
+
16
+ Input sends `project_id`, `payload`, `item`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | Yes | Timezone update payload. Shape depends on item. |
25
+ | `--item` | Yes | Timezone item: timezone_toggle, zone_offset, user_timezone, project_timezone_display. |
@@ -0,0 +1,24 @@
1
+ # analysis project user-id-items update
2
+
3
+ Use when the user needs to update project virtual user ID item configuration.
4
+
5
+ Do not use it for unrelated project-management actions or for fields not present in the common-service capability schema. Do not send camelCase aliases.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis project user-id-items update --project-id <project_id> --payload <payload>
11
+ ae-cli analysis project user-id-items update --dry-run --project-id <project_id> --payload <payload>
12
+ ```
13
+
14
+ Capability id: `project.user_id_items.update`.
15
+
16
+ Input sends `project_id`, `payload`. Payload keys, JSON arrays, and projection fields must follow the common-service snake_case input schema.
17
+
18
+ Output uses the gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Preserve `request_id` and `invocation_id` when present.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | Yes | Virtual user ID item configuration payload, matching VirtualUserIdConfigSaveRequestDTO in snake_case. |
@@ -1,24 +1,39 @@
1
1
  # analysis-meta property list
2
2
 
3
- Use when the user needs to list event or user properties.
3
+ Use when the user needs to browse or search event/user property metadata.
4
4
 
5
- Do not use it for property values or across mixed table types; select the event/user scope explicitly.
5
+ Do not use it for property values. Use this command only when the user explicitly wants to inspect metadata or when a prior compiler error asks for disambiguation.
6
6
 
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis-meta property list --project-id <project_id> --table-type <table_type>
10
+ ae-cli analysis-meta property list --project-id <project_id>
11
+ ae-cli analysis-meta property list --project-id <project_id> --scope event --event-name purchase --query demo
12
+ ae-cli analysis-meta property list --project-id <project_id> --query demo --fields '["prop_id","prop_name","prop_desc","prop_remark","select_type","table_type","authentication_status"]' --limit 20 --offset 0
11
13
  ae-cli analysis-meta property list --dry-run
12
14
  ```
13
15
 
14
16
  Capability id: `metadata.property.list`.
15
17
 
16
- Input sends `project_id`, `table_type`.
18
+ Input sends `project_id` and optional `table_type`, `scope`, `event_name`, `query`, `fields`, `limit`, `offset`, `authenticated_only`.
17
19
 
18
- Output `data.properties[]` contains property metadata for the selected table type.
20
+ Output `data.properties[]` contains property metadata. When `limit` or `offset` is provided, output also includes `total`, `limit`, `offset`, and `has_more`.
19
21
 
20
22
  ## Parameters
21
23
  | Parameter | Required | Description |
22
24
  |---|---|---|
23
25
  | `--project-id` | Yes | Numeric project ID. |
24
- | `--table-type` | Yes | Property table type. |
26
+ | `--table-type` | No | Optional property table type: `event` or `user`. |
27
+ | `--scope` | No | Optional property scope: `event` or `user`. If omitted, all scopes are queried. |
28
+ | `--event-name` | No | Optional event name filter for event properties. |
29
+ | `--query` | No | Optional keyword filter. Fuzzy match is applied to property name, description, and remark. |
30
+ | `--fields` | No | Optional fields to return as a JSON array. Supported fields: `prop_id`, `prop_name`, `prop_desc`, `prop_remark`, `select_type`, `table_type`, `sub_table_type`, `authentication_status`. |
31
+ | `--limit` | No | Optional page size. |
32
+ | `--offset` | No | Optional zero-based page offset. |
33
+ | `--authenticated-only` | No | When true, return only authenticated properties. |
34
+
35
+ ## Decision Rules
36
+
37
+ - Prefer `--scope event` or `--scope user` when the user needs a specific table type.
38
+ - Use `--authenticated-only true` only when the user explicitly asks for authenticated assets.
39
+ - For ad-hoc analysis, pass the user's property wording in the AI-facing `definition` instead of pre-querying property metadata.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Use when the user explicitly wants to generate a public link for a dashboard or BI panel.
4
4
 
5
- Do not use for internal resource URLs. Use `analysis_common +get_resource_url` when applicable.
5
+ Do not use for internal resource URLs. Use `analysis-meta asset url-get` when applicable.
6
6
 
7
7
  Command:
8
8
 
@@ -1,47 +1,30 @@
1
1
  # analysis query create-result-cluster
2
2
 
3
- Precondition: the upstream response must have `result_cluster_available=true` and the selected source must contain `target_contract`. If either is absent, do not call this command or reconstruct a target from display text.
3
+ Save the user or custom-entity population behind one selected synchronous-preview cell as that subject's reusable result cluster.
4
4
 
5
- Save users matched by a previous analysis result target as a reusable result cluster.
6
-
7
- Use this after any analysis data command that returns `query_context_id`:
8
-
9
- - `analysis adhoc run`
10
- - `analysis adhoc export`
11
- - `analysis report-data run`
12
- - `analysis report-data export`
13
- - `analysis dashboard-report-data run`
14
- - `analysis dashboard-report-data export`
15
-
16
- Do not pass raw QP.
5
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md) first. The selected metric/action must advertise `create_result_cluster`. `EVENT_LIST` and `NONE` analysis angles cannot be saved as a result cluster.
17
6
 
18
7
  ## Command
19
8
 
20
9
  ```bash
21
10
  ae-cli analysis query create-result-cluster \
22
- --query-context-id <query_context_id> \
23
- --target '<json>' \
24
- --cluster-name <cluster_name> \
11
+ --query-context-id <sync_preview_query_context_id> \
12
+ [--source '{"report_id":1001}'] \
13
+ --coordinate '<merged returned row/column/metric coordinate>' \
14
+ --cluster-name <unique_name> \
25
15
  [--display-name <display_name>] \
26
16
  [--zone-offset 8] \
27
- [--timeout-seconds 60]
17
+ [--timeout-seconds 180]
28
18
  ```
29
19
 
30
- ## Input
31
-
32
- - `--query-context-id`: returned by an analysis data run/export submit response, or by the first metadata line of a JSONL artifact.
33
- - `--target`: pass the selected source's `target_contract.default_target` directly, or copy it and replace only fields named by `target_contract.copy_from_selected_result` for a specific row or cell.
34
- - `--cluster-name`: result cluster name.
35
- - `--display-name`: optional display name.
36
-
37
- Do not use raw QP or reconstruct the first query request. The server resolves the source QP from Redis by `query_context_id`.
38
-
39
- ## Target
40
-
41
- `--target` uses the same machine-readable `sources[].target_contract` contract as [`drilldown_users_run.md`](drilldown_users_run.md).
20
+ ## Input rules
42
21
 
43
- If one `query_context_id` contains multiple report sources, include `report_id`. If it contains multiple BI chart sources, include `chart_id`. BI SQL chart contexts normally return `result_cluster_available=false`; do not create a result cluster unless the first response explicitly says `result_cluster_available=true`.
22
+ - `--query-context-id`, `--source`, and all coordinate fragments must come from the same synchronous `adhoc run`, `report-data run`, or `dashboard-report-data run` response.
23
+ - Match the desired visible row and column in `source.drilldown.row_options`/`column_options`, select the correct metric option, and shallow-merge only their `coordinate` fragments.
24
+ - Never pass `target_id`, raw QP, display-only dates, option presentation fields, or data from an export/download. Exports do not create query contexts.
25
+ - `--cluster-name` must be unique in the project, start with a lowercase letter, contain only lowercase letters, digits, and underscores, and be at most 24 characters. This legacy result-cluster path is stricter than ordinary cluster creation.
26
+ - `--display-name`, when provided, must be at most 80 characters.
44
27
 
45
- ## Output
28
+ The saved cluster subject is `source.drilldown.subject` or the selected event metric's `subject`. `USER_LIST` creates a user result cluster. `ENTITY_LIST` creates a result cluster for that custom entity; do not relabel it as a user cluster.
46
29
 
47
- The response contains the result cluster creation result from the analysis service.
30
+ The response must contain the backend cluster creation result. A successful capability envelope without a created cluster identifier/result is not sufficient evidence of completion.
@@ -26,4 +26,4 @@ ae-cli analysis report create --project-id <project_id> --report-name "Recent SQ
26
26
 
27
27
  After creation, keep the `report_id` returned by this exact create response. To verify the report, query the saved default first with `analysis report-data run` and omit `--sql-params`; then make one second query with a value-only `--sql-params` override. Do not rebuild internal `sqlViewParams` or guess an ID.
28
28
 
29
- After any successful report create, call `analysis_common +get_resource_url` with that returned `report_id` and output its `markdown_link`.
29
+ After any successful report create, call `analysis-meta asset url-get` with that returned `report_id` and output its `markdown_link`.
@@ -18,7 +18,9 @@ ae-cli analysis report-data export --project-id <project_id> --report-ids '[1001
18
18
  ae-cli analysis report-data export --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --artifact-format jsonl
19
19
  ```
20
20
 
21
- Input sends `project_id`, `report_ids`, optional `request_id`, `filters`, `group_by`, `sql_params`, `start_time`, `end_time`, `time_granularity`, `use_cache`, artifact `format`, and `timeout_seconds`. Async export has no inline row limit. Runtime defaults to and is capped at 21600 seconds (6 hours); cancel earlier with `analysis query cancel --run-id <run_id>`. The routing rule lives in [`analysis_data_retrieval.md`](analysis_data_retrieval.md).
21
+ Input sends `project_id`, `report_ids`, optional `request_id`, `filters`, `group_by`, `sql_params`, `start_time`, `end_time`, `time_granularity`, `zone_offset`, `use_cache`, artifact `format`, and `timeout_seconds`. Async export has no inline row limit. Runtime defaults to and is capped at 21600 seconds (6 hours); cancel earlier with `analysis query cancel --run-id <run_id>`. The routing rule lives in [`analysis_data_retrieval.md`](analysis_data_retrieval.md).
22
+
23
+ Timezone contract is identical to `report-data run`: omit `--zone-offset` to match the current user's report UI timezone (falling back to the project default); use an enabled integer from `-12` through `14` for a fixed UTC offset; use `--zone-offset 99` for local-time mode, where rows are not converted to one fixed UTC offset. `99` is a mode identifier, not `UTC+99`, and the option is not persisted.
22
24
 
23
25
  Override model:
24
26
 
@@ -28,10 +30,10 @@ Override model:
28
30
 
29
31
  Mixed-model export batches are best-effort rather than rejected only for being mixed. Prefer one model per overridden export because artifact formats cannot surface submission-time warnings as prominently as inline `meta.warnings`.
30
32
 
31
- Output is the gateway envelope. `data` contains opaque `run_id` and `artifact_id`, lifecycle status and expiration, effective timeout/deadline fields, plus `query_context_id` and `query_context_expires_at` when Redis context creation succeeds. Inspect/download through the dedicated CLI commands using the IDs.
33
+ Output is the gateway envelope. `data` contains opaque `run_id` and `artifact_id`, lifecycle status and expiration, and effective timeout/deadline fields. Exports do not create `query_context_id`. Inspect/download through the dedicated CLI commands using the IDs.
32
34
 
33
35
  Keep `run_id` and `artifact_id` from the same export response. Inspect that exact `run_id`, then download only that paired `artifact_id`; never combine IDs from different exports.
34
36
 
35
37
  An empty artifact is a successful query and means the requested time range has no data. If every requested report explicitly fails, the run reaches `FAILED` instead of completing an error-only artifact. Mixed exports may contain explicit per-report error markers alongside successful report data.
36
38
 
37
- Use the submit response `query_context_id` immediately with `analysis drilldown-users run` or `analysis query create-result-cluster` when present. JSONL artifacts repeat `query_context_id` and `query_context_expires_at` in the first metadata line; CSV remains pure CSV and carries context only in the submit descriptor. Do not pass raw QP.
39
+ Never use the export response or downloaded rows as a drilldown/result-cluster source. Run a bounded synchronous preview containing the desired cell first.
@@ -24,9 +24,19 @@ ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]'
24
24
 
25
25
  # SQL report, after analysis report get confirms definition.params contains platform
26
26
  ae-cli analysis report-data run --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --limit 20
27
+
28
+ # Explicit local-time mode (not UTC+99)
29
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --zone-offset 99 --limit 20
27
30
  ```
28
31
 
29
- Input sends `project_id`, `report_ids`, optional `request_id`, `filters`, `group_by`, `sql_params`, `start_time`, `end_time`, `time_granularity`, `use_cache`, `limit`, and `timeout_seconds`. Control defaults: `--limit` default 100 / max 1000, `--timeout-seconds` default 120 / max 180. The routing rule lives in [`analysis_data_retrieval.md`](analysis_data_retrieval.md).
32
+ Input sends `project_id`, `report_ids`, optional `request_id`, `filters`, `group_by`, `sql_params`, `start_time`, `end_time`, `time_granularity`, `zone_offset`, `use_cache`, `limit`, and `timeout_seconds`. Control defaults: `--limit` default 100 / max 1000, `--timeout-seconds` default 120 / max 180. The routing rule lives in [`analysis_data_retrieval.md`](analysis_data_retrieval.md).
33
+
34
+ Timezone contract:
35
+
36
+ - Omit `--zone-offset` to match the report UI for the current user. The backend uses that user's selected timezone when it is available for the project, otherwise the project default.
37
+ - Pass an integer from `-12` through `14` for a fixed UTC offset that is enabled in the project.
38
+ - Pass `--zone-offset 99` for local-time mode: event timestamps retain their reported local time instead of being converted to one fixed UTC offset. `99` is a mode identifier, not `UTC+99`.
39
+ - The option changes only this execution. It does not update the saved report or the user's UI preference.
30
40
 
31
41
  Override model:
32
42
 
@@ -38,8 +48,8 @@ A homogeneous SQL request that includes `filters`, `group_by`, `start_time`, `en
38
48
 
39
49
  For a newly created or updated dynamic SQL report, omit `--sql-params` to execute the saved default first. After that succeeds, then make one second call with `--sql-params` to change only the requested value. This separates a broken saved default from a broken override and avoids repeating the same query.
40
50
 
41
- Output is the gateway envelope. `data` contains bounded inline report result items plus `query_context_id`, `drilldown_available`, and `result_cluster_available` when a context can be created.
51
+ Output is the gateway envelope. `data` contains bounded inline report result items plus `query_context_id` and `sources[]`. Each source includes `effective_zone_offset`, the timezone value actually used for that query. When `zone_offset` is omitted, this is the resolved current-user timezone when available, otherwise the project default; when `zone_offset` is explicit, this is its resolved effective value. `sources[].drilldown` is present when the returned preview exposes follow-up actions. Each source is evaluated independently; SQL and other unsupported models have no actions.
42
52
 
43
53
  An empty batch or report result with no rows is a successful query: it means the requested time range has no data. The command fails only when every returned report entry contains an explicit execution error. Mixed batches keep successful items and return `meta.partial`, counts, and per-report `meta.failures` for partial-result handling.
44
54
 
45
- Use `query_context_id` with `analysis drilldown-users run` or `analysis query create-result-cluster`. Do not pass raw QP.
55
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Select only returned row/column/metric options and call only the advertised event, entity, or result-cluster action. Do not pass raw QP.
@@ -14,6 +14,8 @@ Input sends `project_id` and `report_id`.
14
14
 
15
15
  Output is the gateway envelope. `data` contains `version`, `model_type`, `definition`, report metadata, and dashboard membership in snake_case. Use `data.version` as `--report-version` when updating the same report. Raw frontend `events`, `event_view`, `visual_view`, and raw QP are not returned.
16
16
 
17
+ For a saved non-SQL report with a time granularity, `data.definition` returns the agent-facing `time_particle_size` spelling, such as `day`, `hour`, or `total`; internal `T0` through `T9` codes must never leak. If `time_particle_size` is absent, the saved definition has no readable granularity. Do not infer a granularity from the number of result rows; execute the saved report as-is or use an explicit ad-hoc definition when the user requires a specific granularity.
18
+
17
19
  This read is mandatory before applying report-data overrides. Branch on `data.model_type`:
18
20
 
19
21
  - `sql`: only `--sql-params` is valid. Every override name must already exist in `data.definition.params`; time values may be overridden only through a saved `part_date` or time parameter.
@@ -19,4 +19,4 @@ Output is the gateway envelope. `data` contains update status, `report_id`, and
19
19
 
20
20
  For the shortest safe update, read the current `version` exactly once with `analysis report get` immediately before the write; do not reuse a version from an older list or conversation turn. If a SQL dynamic parameter definition changed, query the saved default before applying an override so default persistence and override behavior are verified separately.
21
21
 
22
- After a successful update, call `analysis_common +get_resource_url` with the updated `report_id` and output its `markdown_link`.
22
+ After a successful update, call `analysis-meta asset url-get` with the updated `report_id` and output its `markdown_link`.
@@ -0,0 +1,24 @@
1
+ # tracking sdk-sample generate
2
+
3
+ Use when submit an AI SDK sample generation task.
4
+
5
+ Do not use for commands listed under the sheet's non-CLI section or for unrelated metadata/report operations. If the command needs a complex JSON object, read the backend schema or existing asset first and send snake_case fields only.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli tracking sdk-sample generate --project-id <project_id> --sdk-types '<json_array>'
11
+ ```
12
+
13
+ Capability id: `tracking.sdk_sample.generate`
14
+
15
+ Input sends `project_id` and `sdk_types`. The backend resolves company ID, app ID, and receiver URL from the authorized project. Do not send camelCase aliases.
16
+
17
+ Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
18
+
19
+ Parameters:
20
+
21
+ | Parameter | Description | Required |
22
+ | --- | --- | --- |
23
+ | `--project-id` | Numeric project ID. | Yes |
24
+ | `--sdk-types` | SDK type array. Supported values include `android-java`, `ios-swift`, `web-js`, `server-java`, `server-python`, `server-nodejs`, `unity-csharp`, and the other values listed by command help/schema. | Yes |
@@ -2,10 +2,14 @@
2
2
 
3
3
  Create a condition or SQL user cluster directly from an AI-facing definition request.
4
4
 
5
- Do not use it for uploaded-ID clusters or result-derived clusters; use `user-cluster create-id` or `query create-result-cluster`. A successful create automatically starts the initial computation. Do not immediately call `user-cluster refresh`; use `user-cluster get` to observe the initial refresh/computation status and refresh only for a later explicit recomputation.
5
+ Do not use it for uploaded-ID clusters or result-derived clusters; use `user-cluster create-id` or `query create-result-cluster`. A successful create automatically starts the initial computation; it does not mean the result is already complete. Do not call `user-cluster refresh` afterward. Poll `user-cluster get` until `progress=100` and `refresh_end_time` is not older than `update_time` before using `users_num` or querying members.
6
+
7
+ The response reports this directly: `computation.triggered_automatically=true`, `computation.status=submitted`, and `result_freshness.is_stale=true`. Follow `next_action`; when it is `poll_get`, invoke `next_capability_id` with the exact `next_input` returned by the command.
6
8
 
7
9
  Flags: `--project-id`, `--cluster-name`, `--display-name`, `--definition-request` required. Optional: `--authenticated-only`, `--zone-offset`, `--entity-id`. The cluster type comes from `definition_request.type`.
8
10
 
11
+ `cluster_name` is a machine identifier: 1-80 characters, starts with a letter, and contains only letters, digits, or underscores. `display_name` is 1-80 characters. The CLI rejects violations before dispatch.
12
+
9
13
  Read `user_cluster_models.md` before constructing `--definition-request`. Create does not accept `--remark`; set it later with `user-cluster update` when needed.
10
14
 
11
15
  The backend validates and compiles the definition inside the create operation; if metadata is ambiguous or missing, creation fails without creating the cluster. Condition clusters are saved as mixed-condition clusters (`clusterType=CONDITION`, `clusterSubType=MIX_CONDITION`).
@@ -4,6 +4,8 @@ Create a cluster by mapping imported values to an analysis entity.
4
4
 
5
5
  Flags: `--project-id`, `--display-name`, and `--entity-id` are required. Prefer `--input-file <local_csv>`; the CLI uploads it automatically. `--input-file-id` resumes from an existing upload, while `--file-content` is only for small local tests. Exactly one of the three is allowed. Optional: `--cluster-name`, `--remarks`, and conditional `--association-property`.
6
6
 
7
+ When supplied, `cluster_name` follows the same 1-80 character machine-name rule as condition/SQL clusters. `display_name` is 1-80 characters and `remarks` is at most 400 characters.
8
+
7
9
  Use `--input-file` for real local files; use `--input-file-id` only when resuming from an existing upload. Do not inline large ID lists.
8
10
 
9
11
  Run `analysis entity id-import-options` first. For the primary user entity, pass an allowed `--association-property` and put its real values in the single CSV column; `#user_id` is forbidden. For a non-primary entity, omit the flag and put that entity's own IDs in the single column. Every row must be non-empty.
@@ -4,6 +4,10 @@ Get exact user cluster details after discovery.
4
4
 
5
5
  Do not use it for fuzzy discovery or member data. Output contains saved cluster metadata/definition for the requested names.
6
6
 
7
+ After `user-cluster create` or an update containing `--definition-request`, use this command to observe the automatically started computation; do not trigger `user-cluster refresh`. Until `progress=100` and `refresh_end_time` is not older than `update_time`, `users_num` and member queries may still reflect the previous successful computation. Treat that state as stale data, not as evidence that the new definition was compiled or calculated incorrectly.
8
+
9
+ The raw backend value is returned under `result`. The response also provides aggregate and per-cluster `computation`, `result_freshness`, and `next_action`. `poll_get` includes an exact capability/input pair; `none` means the latest result is usable. `potentially_stale` with `is_stale=null` means `refresh_end_time` predates `update_time`, but the update may have changed metadata only; inspect the latest update instead of refreshing automatically.
10
+
7
11
  Flags: `--project-id`, `--cluster-names` JSON array.
8
12
 
9
13
  ```bash
@@ -1,8 +1,10 @@
1
1
  # analysis user-cluster refresh
2
2
 
3
- Refresh a user cluster by exact `cluster_name`.
3
+ Explicitly recompute an existing user cluster by exact `cluster_name` without changing its definition.
4
4
 
5
- Do not use it to change a definition or upload ID members. Output means recomputation was submitted; inspect cluster state before reporting completion.
5
+ Use this only when an unchanged definition must be run again, such as an explicit retry or a recomputation against changed source data. Do not call it after `user-cluster create` or an update containing `--definition-request`; those commands already start computation automatically. Output means recomputation was submitted, not completed. Poll `user-cluster get` and verify the new computation before using `users_num` or querying members.
6
+
7
+ The response marks this as an explicit trigger: `computation.triggered_by_command=true`, `computation.triggered_automatically=false`, `computation.status=submitted`, and `result_freshness.is_stale=true`. Follow the returned `next_action`, `next_capability_id`, and `next_input` to poll.
6
8
 
7
9
  Flags: `--project-id`, `--cluster-name` required.
8
10
 
@@ -2,10 +2,14 @@
2
2
 
3
3
  Update a condition or SQL user cluster. Discover the exact `cluster_name` first.
4
4
 
5
- Do not use it for ID-file membership replacement or to create a missing cluster. Output is the updated cluster result; a submitted recomputation may still be in progress.
5
+ Do not use it for ID-file membership replacement or to create a missing cluster. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-cluster refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. A successful update means the definition was saved, not that the new result is complete. Poll `user-cluster get` until `progress=100` and `refresh_end_time` is not older than `update_time` before using `users_num` or querying members.
6
+
7
+ The response distinguishes both paths. A definition update returns `computation.triggered_automatically=true`, `result_freshness.is_stale=true`, and normally `next_action=poll_get` with an exact capability/input pair. A display-name/remark-only update returns `computation.status=not_triggered`, `result_freshness.status=fresh`, and `next_action=none`.
6
8
 
7
9
  Flags: `--project-id`, `--cluster-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`. The cluster type comes from `definition_request.type` when the definition changes.
8
10
 
11
+ `display_name` is at most 80 characters and `remark` is at most 400 characters. The CLI rejects violations before dispatch. `cluster_name` is an existing exact identifier and cannot be renamed by update.
12
+
9
13
  Read `user_cluster_models.md` before changing the definition. The backend validates and compiles `definition_request` inside update and refuses to modify the cluster if clarification is required. Condition definitions are saved as mixed-condition clusters.
10
14
 
11
15
  ```bash
@@ -1,5 +1,7 @@
1
1
  # analysis user-cluster update-id
2
2
 
3
+ `display_name` is at most 80 characters and `remarks` is at most 400 characters. The CLI rejects violations before uploading or dispatching the replacement file.
4
+
3
5
  Update a cluster by remapping imported values to its analysis entity.
4
6
 
5
7
  Do not use it for a condition/SQL cluster. The existing entity binding cannot be changed by this command.
@@ -2,10 +2,14 @@
2
2
 
3
3
  Create a user tag directly from an AI-facing definition request.
4
4
 
5
- Do not use it for uploaded-ID tags; use `user-tag create-id`. Output identifies the created tag and initial state; computation completion is a later state.
5
+ Do not use it for uploaded-ID tags; use `user-tag create-id`. A successful create automatically starts the initial computation; it does not mean the result is already complete. Do not call `user-tag refresh` afterward. Poll `user-tag get` until `progress=100` and `refresh_time` is present before using `users_num` or querying members.
6
+
7
+ The response reports this directly: `computation.triggered_automatically=true`, `computation.status=submitted`, and `result_freshness.is_stale=true`. Follow `next_action`; when it is `poll_get`, invoke `next_capability_id` with the exact `next_input` returned by the command.
6
8
 
7
9
  Flags: `--project-id`, `--tag-name`, `--display-name`, `--definition-request` required. Optional: `--authenticated-only`, `--zone-offset`, `--entity-id`. The tag type comes from `definition_request.type`.
8
10
 
11
+ `tag_name` is a machine identifier: 1-80 characters, starts with a letter, and contains only letters, digits, or underscores. `display_name` is 1-80 characters. The CLI rejects violations before dispatch.
12
+
9
13
  Read `user_tag_models.md` before constructing `--definition-request`. Create does not accept `--remark`; set it later with `user-tag update` when needed.
10
14
 
11
15
  The backend validates and compiles the definition inside the create operation; if metadata is ambiguous or missing, creation fails without creating the tag.
@@ -4,6 +4,8 @@ Create a tag by mapping imported values to an analysis entity.
4
4
 
5
5
  Flags: `--project-id`, `--display-name`, and `--entity-id` are required. Prefer `--input-file <local_csv>`; the CLI uploads it automatically. `--input-file-id` resumes from an existing upload, while `--file-content` is only for small local tests. Exactly one of the three is allowed. Optional: `--tag-name`, `--remarks`, and conditional `--association-property`.
6
6
 
7
+ When supplied, `tag_name` follows the same 1-80 character machine-name rule as calculated tags. `display_name` is 1-80 characters and `remarks` is at most 400 characters.
8
+
7
9
  Use `--input-file` for real local files; use `--input-file-id` only when resuming from an existing upload. Do not inline large ID lists.
8
10
 
9
11
  Run `analysis entity id-import-options` first. For the primary user entity, column 1 is a real value of the selected `--association-property`; for a non-primary entity, it is that entity's own ID. Column 2 is `tag_value`. The headerless UTF-8 CSV must contain exactly two non-empty columns in every row.
@@ -4,6 +4,10 @@ Get exact user tag details after discovery.
4
4
 
5
5
  Do not use it for fuzzy discovery, member data, or history statistics. Output contains saved tag metadata/definition for the requested names.
6
6
 
7
+ After `user-tag create` or an update containing `--definition-request`, use this command to observe the automatically started computation; do not trigger `user-tag refresh`. For create, wait until `progress=100` and `refresh_time` is present. For a definition update, record the previous `refresh_time` first and wait until `progress=100` and `refresh_time` advances. Until then, `users_num` and member queries may still reflect the previous successful computation; treat that as stale data, not as evidence that the new definition was compiled or calculated incorrectly.
8
+
9
+ The raw backend value is returned under `result`. The response also provides aggregate and per-tag `computation`, `result_freshness`, and `next_action`. `poll_get` includes an exact capability/input pair; `none` means the latest result is usable. `potentially_stale` with `is_stale=null` means `refresh_time` predates `update_time`, but the update may have changed metadata only; inspect the latest update instead of refreshing automatically.
10
+
7
11
  Flags: `--project-id`, `--tag-names` JSON array.
8
12
 
9
13
  ```bash
@@ -1,8 +1,10 @@
1
1
  # analysis user-tag refresh
2
2
 
3
- Refresh a user tag by exact `tag_name`.
3
+ Explicitly recompute an existing user tag by exact `tag_name` without changing its definition.
4
4
 
5
- Do not use it to change the definition or refresh one history snapshot. Output means recomputation was submitted; inspect tag state before reporting completion.
5
+ Use this only when an unchanged definition must be run again, such as an explicit retry or a recomputation against changed source data. Do not call it after `user-tag create` or an update containing `--definition-request`; those commands already start computation automatically. Do not use it to refresh one history snapshot. Output means recomputation was submitted, not completed. Poll `user-tag get` and verify the new computation before using `users_num` or querying members.
6
+
7
+ The response marks this as an explicit trigger: `computation.triggered_by_command=true`, `computation.triggered_automatically=false`, `computation.status=submitted`, and `result_freshness.is_stale=true`. Follow the returned `next_action`, `next_capability_id`, and `next_input` to poll.
6
8
 
7
9
  Flags: `--project-id`, `--tag-name` required.
8
10
 
@@ -2,10 +2,14 @@
2
2
 
3
3
  Update a user tag. Discover the exact `tag_name` first.
4
4
 
5
- Do not use it for ID-file value replacement or to create a missing tag. Output is the updated tag result; a submitted recomputation may still be in progress.
5
+ Do not use it for ID-file value replacement or to create a missing tag. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-tag refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. A successful update means the definition was saved, not that the new result is complete. Record the current `refresh_time` before updating, then poll `user-tag get` until `progress=100` and `refresh_time` advances before using `users_num` or querying members.
6
+
7
+ The response distinguishes both paths. A definition update returns `computation.triggered_automatically=true`, `result_freshness.is_stale=true`, and normally `next_action=poll_get` with an exact capability/input pair. A display-name/remark-only update returns `computation.status=not_triggered`, `result_freshness.status=fresh`, and `next_action=none`.
6
8
 
7
9
  Flags: `--project-id`, `--tag-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`. The tag type comes from `definition_request.type` when the definition changes.
8
10
 
11
+ `display_name` is at most 80 characters and `remark` is at most 400 characters. The CLI rejects violations before dispatch. `tag_name` is an existing exact identifier and cannot be renamed by update.
12
+
9
13
  Read `user_tag_models.md` before changing the definition. The backend validates and compiles `definition_request` inside update and refuses to modify the tag if clarification is required.
10
14
 
11
15
  ```bash
@@ -1,5 +1,7 @@
1
1
  # analysis user-tag update-id
2
2
 
3
+ `display_name` is at most 80 characters and `remarks` is at most 400 characters. The CLI rejects violations before uploading or dispatching the replacement file.
4
+
3
5
  Update a tag by remapping imported values to its analysis entity.
4
6
 
5
7
  Do not use it for condition/metric/first-last/SQL definition changes.
@@ -2,18 +2,22 @@
2
2
 
3
3
  Use when the user needs to create a virtual event from events and filters.
4
4
 
5
- Do not use it for super-event creation. Prefer typed `analysis_meta +create_virtual_event` unless an exact virtual-event rule DTO is already available.
5
+ Do not use it for super-event creation.
6
+
7
+ Before constructing `--events` / `--filter`, validate the available events and properties with `analysis-meta event list` and `analysis-meta property list` in the same `project_id`.
6
8
 
7
9
  Command:
8
10
 
9
11
  ```bash
12
+ ae-cli analysis-meta virtual-event create --project-id <project_id> --event-name ta@demo --event-desc demo --events '[{"eventName":"purchase"}]'
13
+ ae-cli analysis-meta virtual-event create --project-id <project_id> --event-name ta@demo2 --event-desc demo --remark demo --events '[{"eventName":"add_to_cart"}]' --filter '{}' --override true
10
14
  ae-cli analysis-meta virtual-event create --project-id <project_id> --override false --payload '{"event_name":"qualified_purchase","event_desc":"Qualified purchase","rule":{"events":[...],"filter":{...}}}'
11
15
  ae-cli analysis-meta virtual-event create --dry-run
12
16
  ```
13
17
 
14
18
  Capability id: `metadata.virtual_event.create`.
15
19
 
16
- Input sends `project_id`, `override`, `payload`.
20
+ Input sends `project_id`, `override`, and `payload`. When typed flags are used, ae-cli builds `payload` from `event_name`, `event_desc`, `remark`, and `rule.events/filter`.
17
21
 
18
22
  Output is a successful gateway envelope with no business data. Read back with `virtual-event get` when the created event ID is known.
19
23
 
@@ -22,4 +26,19 @@ Output is a successful gateway envelope with no business data. Read back with `v
22
26
  |---|---|---|
23
27
  | `--project-id` | Yes | Numeric project ID. |
24
28
  | `--override` | No | Whether to override an existing virtual event rule. |
25
- | `--payload` | Yes | Virtual-event DTO: `event_id?`, `event_name`, `event_desc?`, `remark?`, `rule` (`events` plus optional common `filter`), `replace_remark?`, `replace_suggestion?`. Common header fields are server-owned and must be omitted. |
29
+ | `--payload` | No | Full virtual-event DTO: `event_id?`, `event_name`, `event_desc?`, `remark?`, `rule` (`events` plus optional common `filter`), `replace_remark?`, `replace_suggestion?`. Common header fields are server-owned and must be omitted. |
30
+ | `--event-name` | No | Virtual event name. Must start with `ta@`. Required when `--payload` is omitted. |
31
+ | `--event-desc` | No | Virtual event display name. Required when `--payload` is omitted. |
32
+ | `--remark` | No | Optional virtual event remark. |
33
+ | `--events` | No | JSON array of events to combine. Required when `--payload` is omitted. |
34
+ | `--filter` | No | Optional global filter JSON. Referenced properties must come from `analysis-meta property list`. |
35
+
36
+ ## Decision Rules
37
+ - `events` / `filter` must not be handwritten by intuition alone; they must match real metadata in the same project.
38
+ - Before calling `event list` / `property list`, read the corresponding reference documents.
39
+ - For first validation, pass only required typed parameters: `--project-id`, `--event-name`, `--event-desc`, and `--events`.
40
+ - Use `--payload` only when an exact virtual-event rule DTO is already available.
41
+ - This is an ordinary write operation; execute it without the high-risk confirmation flag.
42
+
43
+ ## Recommended Chain
44
+ - `analysis-meta event list` -> `analysis-meta property list` -> `analysis-meta virtual-event create`