@thinkingai/ae-cli 6.1.13 → 6.1.14
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.
- package/dist/index.js +3 -3
- package/dist/{metadata-VVQ3AQT5.js → metadata-5MIMNIMT.js} +12 -9
- package/dist/{metadata-UORZTW3T.js → metadata-LERKDJN6.js} +12 -9
- package/dist/{te-analysis-LLOCCBJ4.js → te-analysis-FCHRTNIY.js} +48 -48
- package/dist/{te-analysis-KOKHJJPE.js → te-analysis-QG7UKGDA.js} +48 -48
- package/dist/{te-engage-BRLSRVQT.js → te-engage-D6EG3NOR.js} +389 -4
- package/dist/{te-engage-HE4OPZIT.js → te-engage-ZSMIJLUW.js} +389 -4
- package/package.json +1 -1
- package/skills/ae-analysis/references/ai_models.md +4 -1
- package/skills/ae-analysis/references/alert_list.md +2 -3
- package/skills/ae-analysis/references/analysis_gateway_assets.md +5 -5
- package/skills/ae-analysis/references/bi_panel_list.md +2 -2
- package/skills/ae-analysis/references/command_index.md +14 -14
- package/skills/ae-analysis/references/dashboard_list.md +2 -2
- package/skills/ae-analysis/references/favorite_add.md +2 -2
- package/skills/ae-analysis/references/favorite_remove.md +2 -2
- package/skills/ae-analysis/references/metric_create.md +7 -8
- package/skills/ae-analysis/references/project_space_list.md +2 -2
- package/skills/ae-analysis/references/public_link_list.md +2 -2
- package/skills/ae-analysis/references/report_list.md +3 -3
- package/skills/ae-analysis/references/report_list_export.md +2 -2
- package/skills/ae-analysis/references/sql_table_list.md +3 -2
- package/skills/ae-analysis/references/user_cluster_update.md +4 -2
- package/skills/ae-analysis/references/user_tag_update.md +4 -2
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
- package/skills/ae-engage/SKILL.md +10 -2
- package/skills/ae-engage/references/flow-metric-user.md +2 -1
- package/skills/ae-engage/references/flow-node-metric-user.md +2 -1
- package/skills/ae-engage/references/flow-node-user.md +2 -1
- package/skills/ae-engage/references/task-indicator-user.md +104 -0
- package/skills/ae-engage/references/task-user-detail-export.md +31 -0
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
|
@@ -11,7 +11,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
11
11
|
| `ae-cli analysis alert create` | analysis.alert.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_create.md](alert_create.md) |
|
|
12
12
|
| `ae-cli analysis alert delete` | analysis.alert.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_delete.md](alert_delete.md) |
|
|
13
13
|
| `ae-cli analysis alert get` | analysis.alert.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_get.md](alert_get.md) |
|
|
14
|
-
| `ae-cli analysis alert list` | analysis.alert.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
14
|
+
| `ae-cli analysis alert list` | analysis.alert.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [alert_list.md](alert_list.md) |
|
|
15
15
|
| `ae-cli analysis alert start` | analysis.alert.start | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_start.md](alert_start.md) |
|
|
16
16
|
| `ae-cli analysis alert stop` | analysis.alert.stop | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_stop.md](alert_stop.md) |
|
|
17
17
|
| `ae-cli analysis alert update` | analysis.alert.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_update.md](alert_update.md) |
|
|
@@ -23,7 +23,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
23
23
|
| `ae-cli analysis bi-panel create` | analysis.bi_panel.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — Name for the new empty BI dashboard shell.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID. | [bi_panel_create.md](bi_panel_create.md) |
|
|
24
24
|
| `ae-cli analysis bi-panel delete` | analysis.bi_panel.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-ids` (json; required) — BI panel ID array. | [bi_panel_delete.md](bi_panel_delete.md) |
|
|
25
25
|
| `ae-cli analysis bi-panel get` | analysis.bi_panel.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [bi_panel_get.md](bi_panel_get.md) |
|
|
26
|
-
| `ae-cli analysis bi-panel list` | analysis.bi_panel.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
26
|
+
| `ae-cli analysis bi-panel list` | analysis.bi_panel.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [bi_panel_list.md](bi_panel_list.md) |
|
|
27
27
|
| `ae-cli analysis bi-panel share` | analysis.bi_panel.share | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_share.md](bi_panel_share.md) |
|
|
28
28
|
| `ae-cli analysis bi-panel update` | analysis.bi_panel.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — New BI dashboard name.<br>`--panel-uuid` (string; required) — BI dashboard UUID. | [bi_panel_update.md](bi_panel_update.md) |
|
|
29
29
|
| `ae-cli analysis bi-panel-page-data export` | analysis.bi_panel_page_data.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--page-key` (string; required) — Page key returned by bi-panel get.<br>`--result-type` (string; required) — Must be charts. Summary is presentation data and is available only from run.<br>`--chart-ids` (json; optional) — Optional chart ID array.<br>`--parameter-controls` (json; optional) — Optional parameter control override array.<br>`--permission-controls` (json; optional) — Optional permission control array.<br>`--chart-filter-controls` (json; optional) — Optional chart filter control array.<br>`--columns` (json; optional) — Optional returned column array.<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.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [bi_panel_page_data_export.md](bi_panel_page_data_export.md) |
|
|
@@ -37,7 +37,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
37
37
|
| `ae-cli analysis dashboard freeze` | analysis.dashboard.freeze | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-ids` (json; required) — Dashboard ID array.<br>`--freeze` (boolean; optional) — true to freeze, false to unfreeze. Default: true. | [dashboard_freeze.md](dashboard_freeze.md) |
|
|
38
38
|
| `ae-cli analysis dashboard get` | analysis.dashboard.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--use-cache` (boolean; optional) — Whether to use cached dashboard detail. Default: true. | [dashboard_get.md](dashboard_get.md) |
|
|
39
39
|
| `ae-cli analysis dashboard handover` | analysis.dashboard.handover | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-ids` (json; required) — Dashboard ID array.<br>`--to-user-id` (number; required) — Target user ID. | [dashboard_handover.md](dashboard_handover.md) |
|
|
40
|
-
| `ae-cli analysis dashboard list` | analysis.dashboard.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
40
|
+
| `ae-cli analysis dashboard list` | analysis.dashboard.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional projection field array. Supported fields: dashboard_id, dashboard_name, remark.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [dashboard_list.md](dashboard_list.md) |
|
|
41
41
|
| `ae-cli analysis dashboard share` | analysis.dashboard.share | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--member-authorities` (json; optional) — Complete user authority map: {"<numeric_user_id>":"READ\|EDIT\|CREATOR\|MAINTAIN"}. An empty object removes all directly shared users.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_share.md](dashboard_share.md) |
|
|
42
42
|
| `ae-cli analysis dashboard share-info` | analysis.dashboard.share_info | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_share_info.md](dashboard_share_info.md) |
|
|
43
43
|
| `ae-cli analysis dashboard task-status` | analysis.dashboard.task_status | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_task_status.md](dashboard_task_status.md) |
|
|
@@ -62,8 +62,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
62
62
|
| `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 mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--preview-rows` (number; optional, min=1) — Maximum business rows returned per result. Omit to use the current model/cluster synchronous limit. The runtime maximum varies by model; agents should normally pass 100.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [entity_detail_run.md](entity_detail_run.md) |
|
|
63
63
|
| `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 mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--artifact-format` (string; optional) — Native streaming artifact format: jsonl or csv. Default: jsonl.<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>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [event_detail_export.md](event_detail_export.md) |
|
|
64
64
|
| `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 mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--preview-rows` (number; optional, min=1) — Maximum business rows returned per result. Omit to use the current model/cluster synchronous limit. The runtime maximum varies by model; agents should normally pass 100.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [event_detail_run.md](event_detail_run.md) |
|
|
65
|
-
| `ae-cli analysis favorite add` | analysis.favorite.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number;
|
|
66
|
-
| `ae-cli analysis favorite remove` | analysis.favorite.remove | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number;
|
|
65
|
+
| `ae-cli analysis favorite add` | analysis.favorite.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number; required) — Dashboard, BI panel, or folder ID.<br>`--asset-type` (string; required) — Asset type: dashboard, bi_panel, or folder.<br>`--space-id` (number; optional) — Project space ID when relevant. | [favorite_add.md](favorite_add.md) |
|
|
66
|
+
| `ae-cli analysis favorite remove` | analysis.favorite.remove | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number; required) — Dashboard, BI panel, or folder ID.<br>`--asset-type` (string; required) — Asset type: dashboard, bi_panel, or folder.<br>`--space-id` (number; optional) — Project space ID when relevant. | [favorite_remove.md](favorite_remove.md) |
|
|
67
67
|
| `ae-cli analysis filter-value list` | analysis.filter_value.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--property-name` (string; required) — Exact property identifier. Resolve the property first; this command discovers values, not fields.<br>`--table-type` (string; required) — Property table: event or user.<br>`--event-name` (string; optional) — Optional exact event name for an event-property lookup.<br>`--search-prefix` (string; optional) — Optional prefix or fuzzy input to narrow candidate values.<br>`--zone-offset` (number; optional) — Optional fixed timezone offset from -12 through 14.<br>`--cluster-date-policy` (string; optional) — Optional user tag/cluster data-snapshot policy: LATEST means the latest available computed result snapshot, not a tag definition or configuration release; AUTO and SPECIFIED select other snapshot modes.<br>`--specified-cluster-date` (string; optional) — Required only with --cluster-date-policy SPECIFIED to select a historical computed result snapshot; yyyy-MM-dd.<br>`--report-mode` (boolean; optional) — Use report-compatible property semantics. Default: false. | [filter_value_list.md](filter_value_list.md) |
|
|
68
68
|
| `ae-cli analysis history-tag batch-refresh` | analysis.history_tag.batch_refresh | 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>`--refresh-request` (json; required) — Snake_case object: {start_time,end_time,only_abnormal?,use_user_table_type?}. Dates use yyyy-MM-dd; see history_tag_batch_refresh.md. | [history_tag_batch_refresh.md](history_tag_batch_refresh.md) |
|
|
69
69
|
| `ae-cli analysis history-tag clear` | analysis.history_tag.clear | high-risk-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>`--start-time` (string; required) — Start date, yyyy-MM-dd.<br>`--end-time` (string; required) — End date, yyyy-MM-dd.<br>`--confirmed` (boolean; optional) — Set true only after dependency and influence checks have been accepted. | [history_tag_clear.md](history_tag_clear.md) |
|
|
@@ -77,10 +77,10 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
77
77
|
| `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) |
|
|
78
78
|
| `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) |
|
|
79
79
|
| `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) |
|
|
80
|
-
| `ae-cli analysis project-space list` | analysis.project_space.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
80
|
+
| `ae-cli analysis project-space list` | analysis.project_space.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [project_space_list.md](project_space_list.md) |
|
|
81
81
|
| `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) |
|
|
82
82
|
| `ae-cli analysis public-link delete` | analysis.public_link.delete | high-risk-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_delete.md](public_link_delete.md) |
|
|
83
|
-
| `ae-cli analysis public-link list` | analysis.public_link.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
83
|
+
| `ae-cli analysis public-link list` | analysis.public_link.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [public_link_list.md](public_link_list.md) |
|
|
84
84
|
| `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) |
|
|
85
85
|
| `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) |
|
|
86
86
|
| `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) |
|
|
@@ -90,8 +90,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
90
90
|
| `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. Distribution filters must be attached to the corresponding distribution_metrics[].filters; do not use top-level filters or relation. 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. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, punctuation, or a reserved word must be delimited with double quotes, for example SELECT "#user_id", "$part_event", "end" FROM ...; single quotes are string literals. For multiline SQL JSON, the decoded sql value must contain a real line break; do not submit a literal \n sequence outside quoted SQL text. 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>`--resolutions` (json; optional) — Optional user-confirmed metadata bindings keyed by compiler error path. Each value requires raw_value, resource_type, and resource_key. Reuse the unchanged definition and only pass values explicitly confirmed by the user. This option is not supported with --model-type tag.<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) |
|
|
91
91
|
| `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) |
|
|
92
92
|
| `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) |
|
|
93
|
-
| `ae-cli analysis report list` | analysis.report.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
94
|
-
| `ae-cli analysis report list-export` | analysis.report.list_export | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
93
|
+
| `ae-cli analysis report list` | analysis.report.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [report_list.md](report_list.md) |
|
|
94
|
+
| `ae-cli analysis report list-export` | analysis.report.list_export | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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>.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [report_list_export.md](report_list_export.md) |
|
|
95
95
|
| `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. Distribution filters must be attached to the corresponding distribution_metrics[].filters; do not use top-level filters or relation. 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. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, punctuation, or a reserved word must be delimited with double quotes, for example SELECT "#user_id", "$part_event", "end" FROM ...; single quotes are string literals. For multiline SQL JSON, the decoded sql value must contain a real line break; do not submit a literal \n sequence outside quoted SQL text. 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>`--resolutions` (json; optional) — Optional user-confirmed metadata bindings keyed by compiler error path. Each value requires raw_value, resource_type, and resource_key. Reuse the unchanged definition and only pass values explicitly confirmed by the user. This option is not supported with --model-type tag.<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) |
|
|
96
96
|
| `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) |
|
|
97
97
|
| `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) |
|
|
@@ -102,7 +102,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
102
102
|
| `ae-cli analysis run inspect` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability. | [run_inspect.md](run_inspect.md) |
|
|
103
103
|
| `ae-cli analysis run wait` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — After success, stream the artifact to this local file.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. | [run_wait.md](run_wait.md) |
|
|
104
104
|
| `ae-cli analysis sql-table columns` | analysis.sql_table.columns | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-ref` (string; required) — Exact table_ref returned by analysis sql-table list; a unique table-only reference is also accepted.<br>`--usage` (string; optional) — Authorized table set: analysis (default) or tag_cluster. Use tag_cluster before creating SQL tags or clusters. | [sql_table_columns.md](sql_table_columns.md) |
|
|
105
|
-
| `ae-cli analysis sql-table list` | analysis.sql_table.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
105
|
+
| `ae-cli analysis sql-table list` | analysis.sql_table.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--usage` (string; optional) — Authorized table set: analysis (default) or tag_cluster. Use tag_cluster before creating SQL tags or clusters. | [sql_table_list.md](sql_table_list.md) |
|
|
106
106
|
| `ae-cli analysis user-cluster create` | analysis.user_cluster.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required, minLength=1, maxLength=80, pattern=^[a-zA-Z][a-zA-Z0-9_]*$) — New cluster_name. Must start with a letter, contain only letters, digits, and underscores, and be at most 80 characters.<br>`--display-name` (string; required, minLength=1, maxLength=80) — Human-readable display name. Maximum: 80 characters.<br>`--definition-request` (json; required) — Semantic snake_case cluster definition. Read skills/ae-analysis/references/user_cluster_models.md; shared primitives are in audience_models.md.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--entity-id` (number; optional) — Optional entity ID. Required by ID-file create commands. | [user_cluster_create.md](user_cluster_create.md) |
|
|
107
107
|
| `ae-cli analysis user-cluster create-id` | analysis.user_cluster.create_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; optional, minLength=1, maxLength=80, pattern=^[a-zA-Z][a-zA-Z0-9_]*$) — Optional cluster_name; generated if omitted. When provided, it must satisfy the 1-80 character machine-name contract.<br>`--display-name` (string; required, minLength=1, maxLength=80) — Human-readable display name. Maximum: 80 characters.<br>`--entity-id` (number; required) — Required analysis entity. Use the primary user entity only when matching uploaded external identifiers through a user property.<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 one non-empty column per row: association-property value for the primary user entity, otherwise the entity ID.<br>`--remarks` (string; optional, maxLength=400) — Optional remarks. Maximum: 400 characters.<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_cluster_create_id.md](user_cluster_create_id.md) |
|
|
108
108
|
| `ae-cli analysis user-cluster delete` | analysis.user_cluster.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--confirmed` (boolean; optional) — Set true only after dependency and influence checks have been accepted. | [user_cluster_delete.md](user_cluster_delete.md) |
|
|
@@ -110,7 +110,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
110
110
|
| `ae-cli analysis user-cluster get` | analysis.user_cluster.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-names` (json; required) — JSON array of exact cluster_name values. | [user_cluster_get.md](user_cluster_get.md) |
|
|
111
111
|
| `ae-cli analysis user-cluster list` | analysis.user_cluster.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity. | [user_cluster_list.md](user_cluster_list.md) |
|
|
112
112
|
| `ae-cli analysis user-cluster refresh` | analysis.user_cluster.refresh | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first. | [user_cluster_refresh.md](user_cluster_refresh.md) |
|
|
113
|
-
| `ae-cli analysis user-cluster update` | analysis.user_cluster.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case cluster definition. Read user_cluster_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5. | [user_cluster_update.md](user_cluster_update.md) |
|
|
113
|
+
| `ae-cli analysis user-cluster update` | analysis.user_cluster.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case cluster definition. Read user_cluster_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--auto-refresh-cron` (string; optional) — Optional Quartz cron expression for an existing enabled auto-refresh schedule. This does not enable auto refresh. | [user_cluster_update.md](user_cluster_update.md) |
|
|
114
114
|
| `ae-cli analysis user-cluster update-id` | analysis.user_cluster.update_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<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 one non-empty column per row: association-property value for the primary user entity, otherwise the entity ID.<br>`--remarks` (string; optional, maxLength=400) — Optional remarks. Maximum: 400 characters.<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_cluster_update_id.md](user_cluster_update_id.md) |
|
|
115
115
|
| `ae-cli analysis user-cluster-member export` | analysis.user_cluster_member.export | read | `--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<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: jsonl or csv. Default: jsonl. Both formats use native full-download streaming and gzip compression.<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>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [user_cluster_member_export.md](user_cluster_member_export.md) |
|
|
116
116
|
| `ae-cli analysis user-cluster-member list` | analysis.user_cluster_member.list | read | `--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<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, and #distinct_id.<br>`--query` (string; optional) — Optional keyword filter.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--preview-rows` (number; optional, min=1, max=100000) — Maximum business rows returned per result. Default: 1000, matching the UI member query. Maximum: 100000.<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, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [user_cluster_member_list.md](user_cluster_member_list.md) |
|
|
@@ -121,7 +121,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
121
121
|
| `ae-cli analysis user-tag get` | analysis.user_tag.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--tag-names` (json; required) — JSON array of exact tag_name values. | [user_tag_get.md](user_tag_get.md) |
|
|
122
122
|
| `ae-cli analysis user-tag list` | analysis.user_tag.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional tag inventory projection. Use tag_name, display_name, users_num, and other tag fields. cluster_name is reserved for user clusters and is rejected here.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity. | [user_tag_list.md](user_tag_list.md) |
|
|
123
123
|
| `ae-cli analysis user-tag refresh` | analysis.user_tag.refresh | 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. | [user_tag_refresh.md](user_tag_refresh.md) |
|
|
124
|
-
| `ae-cli analysis user-tag update` | analysis.user_tag.update | 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, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case tag definition. Read user_tag_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5. | [user_tag_update.md](user_tag_update.md) |
|
|
124
|
+
| `ae-cli analysis user-tag update` | analysis.user_tag.update | 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, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case tag definition. Read user_tag_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--auto-refresh-cron` (string; optional) — Optional Quartz cron expression for an existing enabled auto-refresh schedule. This does not enable auto refresh. | [user_tag_update.md](user_tag_update.md) |
|
|
125
125
|
| `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, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<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, maxLength=400) — Optional remarks. Maximum: 400 characters.<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) |
|
|
126
126
|
| `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>`--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: jsonl or csv. Default: jsonl. Both formats use native full-download streaming and gzip compression.<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>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [user_tag_member_export.md](user_tag_member_export.md) |
|
|
127
127
|
| `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>`--preview-rows` (number; optional, min=1, max=100000) — Maximum business rows returned per result. Default: 1000, matching the UI member query. Maximum: 100000.<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, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [user_tag_member_list.md](user_tag_member_list.md) |
|
|
@@ -175,7 +175,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
175
175
|
| `ae-cli analysis-meta exchange rule-list` | metadata.exchange_rule.list | read | `--project-id` (number; required) — Numeric project ID.<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, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [exchange_rule_list.md](exchange_rule_list.md) |
|
|
176
176
|
| `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) |
|
|
177
177
|
| `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) |
|
|
178
|
-
| `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>`--
|
|
178
|
+
| `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>`--model-type` (string; required) — Semantic metric model type: event or retention.<br>`--metric-events` (json; required) — One semantic event-analysis definition, or a native snake_case QP array for compatibility.<br>`--metric-params` (json; optional) — Metric params JSON object. Defaults to {} in common when omitted. | [metric_create.md](metric_create.md) |
|
|
179
179
|
| `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) |
|
|
180
180
|
| `ae-cli analysis-meta metric export` | metadata.metric.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--ignore-authentication` (boolean; optional) — Whether to skip asset authentication status decoration.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--authenticated-only` (boolean; optional) — When true, export only authenticated metrics.<br>`--output` (string; required) — Local .json output file for the complete matching metadata rows. | [metric_export.md](metric_export.md) |
|
|
181
181
|
| `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) |
|
|
@@ -199,7 +199,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
199
199
|
| `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) |
|
|
200
200
|
| `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/property.table_type/property.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) |
|
|
201
201
|
| `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) |
|
|
202
|
-
| `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
|
|
202
|
+
| `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 beside property.<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) |
|
|
203
203
|
| `ae-cli 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) |
|
|
204
204
|
| `ae-cli 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) |
|
|
205
205
|
| `ae-cli 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) |
|
|
@@ -7,10 +7,10 @@ Do not use for dashboard report data. Use `dashboard-report-data run` or `dashbo
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis dashboard list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis dashboard list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["dashboard_id","dashboard_name"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input uses `project_id` plus optional `
|
|
13
|
+
Input uses `project_id` plus optional `queries`, `fields`, `limit`, `offset`. `queries` is a JSON array of 1 to 20 non-empty strings; values use OR semantics. Matching rows include `matched_queries` and `matched_fields`. `--fields` accepts only `dashboard_id`, `dashboard_name`, and `remark`. Input and output both use snake_case; do not use `query`, `dashboardId`, `dashboardName`, generic `id`, or generic `name`.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -7,9 +7,9 @@ Do not use for sharing or moving assets.
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis favorite add --project-id <project_id>
|
|
10
|
+
ae-cli analysis favorite add --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and
|
|
13
|
+
Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains the favorite result.
|
|
@@ -7,9 +7,9 @@ Do not use to delete the asset itself.
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis favorite remove --project-id <project_id>
|
|
10
|
+
ae-cli analysis favorite remove --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and
|
|
13
|
+
Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains the remove-favorite result.
|
|
@@ -7,14 +7,13 @@ Do not use it to query metric values. Use this gateway command for an exact metr
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis-meta metric create --project-id <project_id> --metric-name
|
|
10
|
+
ae-cli analysis-meta metric create --project-id <project_id> --metric-name payment_success_rate --metric-desc 'Payment Success Rate' --model-type event --metric-events '[{"time_range":{"mode":"previous","unit":"day","value":7},"metrics":[{"formula":"finish / order","dependencies":[{"alias":"finish","event":"purchase_finish","aggregation":"total_count"},{"alias":"order","event":"order_create","aggregation":"total_count"}]}]}]' --metric-params '{"format":"percent"}'
|
|
11
11
|
ae-cli analysis-meta metric create --project-id <project_id> --metric-name retained_users --metric-desc 'Retained Users' --model-type retention --metric-events '[...]' --metric-params '{}'
|
|
12
|
-
ae-cli analysis-meta metric create --project-id <project_id> --metric-name pay_amount --metric-desc 'Pay Amount' --metric-mode 0 --metric-events '[...]' --dry-run
|
|
13
12
|
```
|
|
14
13
|
|
|
15
14
|
Capability id: `metadata.metric.create`.
|
|
16
15
|
|
|
17
|
-
Input sends typed snake_case fields. Common serializes `metric_events` and `metric_params` for the backend.
|
|
16
|
+
Input sends typed snake_case fields. For event metrics, common validates the semantic definition and compiles it to the backend QP; for example, each `dependencies[].event` becomes the native `eventName`. Common then serializes `metric_events` and `metric_params` for the backend.
|
|
18
17
|
|
|
19
18
|
Output `data.metric` contains the created metric summary.
|
|
20
19
|
|
|
@@ -24,15 +23,15 @@ Output `data.metric` contains the created metric summary.
|
|
|
24
23
|
| `--project-id` | Yes | Numeric project ID. |
|
|
25
24
|
| `--metric-name` | Yes | Metric technical name. |
|
|
26
25
|
| `--metric-desc` | Yes | Metric display name. |
|
|
27
|
-
| `--model-type` |
|
|
28
|
-
| `--metric-
|
|
29
|
-
| `--metric-events` | Yes | Metric event-analysis QP JSON array. |
|
|
26
|
+
| `--model-type` | Yes | Semantic metric model type: `event` or `retention`; the CLI converts it to the backend `metric_mode`. |
|
|
27
|
+
| `--metric-events` | Yes | Exactly one semantic event-analysis definition. A native snake_case QP array is accepted for compatibility. |
|
|
30
28
|
| `--metric-remark` | No | Metric remark. |
|
|
31
29
|
| `--metric-params` | No | Metric params JSON object; common defaults it to `{}` when needed. |
|
|
32
30
|
|
|
33
31
|
## Decision Rules
|
|
34
32
|
|
|
35
|
-
- Pass
|
|
36
|
-
-
|
|
33
|
+
- Pass `--model-type event` or `--model-type retention`. `metric create` does not expose the backend-only `--metric-mode` selector.
|
|
34
|
+
- For an event formula, pass exactly one item in `metric_events` and exactly one item in its `metrics`; every dependency requires `alias`, `event`, and `aggregation`.
|
|
35
|
+
- Use public snake_case fields such as `time_range` and `dependencies[].event`; do not send backend-only camelCase fields such as `eventName` in the semantic definition.
|
|
37
36
|
- For event metrics, `--metric-params` is usually a format config such as `{"format":"integer"}`.
|
|
38
37
|
- For retention metrics, `--metric-params` should be the retention `eventView` configuration.
|
|
@@ -7,10 +7,10 @@ Do not use for project lookup or project ID verification. Use `project info list
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis project-space list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis project-space list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["space_id","name","space_desc"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and optional `
|
|
13
|
+
Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -7,10 +7,10 @@ Do not use for dashboard or BI panel asset listing. Use the matching list comman
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis public-link list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis public-link list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["id","resource_id"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and optional `
|
|
13
|
+
Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -7,11 +7,11 @@ Do not use for report data execution or report definition writes. Use `report-da
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis report list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis report list --project-id <project_id> [--queries '["growth","retention"]'] [--model-types '["event","sql","tag","revenue"]'] [--fields '["report_id","report_name","report_desc","report_model","version"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id`, optional `
|
|
13
|
+
Input sends `project_id`, optional `queries`, `model_types`, `fields`, `limit`, and `offset` as snake_case gateway input. `queries` is a JSON array of 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`. The legacy singular `query` is not accepted. `limit` defaults to 50 and must be 1..200; out-of-range values are rejected rather than silently clamped.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains report summaries, `total`, effective `limit`, `offset`, `has_more`, and nullable `next_offset`. When `has_more` is true, use exactly `next_offset` for the next call; stop when it is false. Include `version` in `--fields` when the next step is `analysis report update`.
|
|
16
16
|
|
|
17
|
-
When locating
|
|
17
|
+
When locating reports, group known names into one `--queries` call or narrow with `--model-types` before paging. Stop when the required reports are found; do not issue one list call per name.
|
|
@@ -7,9 +7,9 @@ Do not use for report data values. Use `report-data export` when the output shou
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis report list-export --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis report list-export --project-id <project_id> [--queries '["growth","retention"]'] [--model-types '["event","sql","tag","revenue"]'] [--fields '["report_id","report_name"]'] [--artifact-format jsonl] [--request-id cli_0123456789abcdef0123456789abcdef] [--timeout-seconds 21600]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id`, optional `
|
|
13
|
+
Input sends `project_id`, optional `queries`, semantic `model_types`, `fields`, lifecycle `request_id`, artifact `format`, and `timeout_seconds`. `queries` accepts 1 to 20 non-empty strings with OR semantics; the singular `query` is not accepted. ae-cli generates and announces `request_id` before dispatch when it is omitted.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains an async artifact descriptor including `run_id`, `artifact_id`, status, and expiration fields. Inspect and download through the dedicated CLI commands using those opaque IDs.
|
|
@@ -7,7 +7,7 @@ List the server-authoritative SQL table references that the current user may que
|
|
|
7
7
|
```bash
|
|
8
8
|
ae-cli analysis sql-table list \
|
|
9
9
|
--project-id <project_id> \
|
|
10
|
-
[--
|
|
10
|
+
[--queries '["user","event"]'] \
|
|
11
11
|
[--limit <1-200>] \
|
|
12
12
|
[--offset <next_offset>] \
|
|
13
13
|
[--usage analysis|tag_cluster]
|
|
@@ -17,6 +17,7 @@ ae-cli analysis sql-table list \
|
|
|
17
17
|
|
|
18
18
|
- Use this command before writing SQL when the table is not already known. Do not ask the customer to supply the fixed project event/user table name and do not guess `v_event_<id>` or `v_user_<id>`.
|
|
19
19
|
- `table_ref` is the exact server-authorized reference to copy into SQL and into `analysis sql-table columns --table-ref`.
|
|
20
|
+
- `queries` accepts 1 to 20 non-empty strings with OR semantics. Matching rows include `matched_queries` and `matched_fields`; singular `query` is not accepted.
|
|
20
21
|
- Each item also returns `catalog`, `schema`, `table`, `table_type`, and `description`.
|
|
21
22
|
- `usage=analysis` is the default table set for SQL analysis and reports. Use `usage=tag_cluster` for SQL tags or SQL clusters. These server-authorized sets differ, and the same usage must be passed to `sql-table columns`.
|
|
22
23
|
- When `has_more=true`, continue only with the returned `next_offset`. Stop when `has_more=false`.
|
|
@@ -25,7 +26,7 @@ ae-cli analysis sql-table list \
|
|
|
25
26
|
## Example workflow
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
|
-
ae-cli analysis sql-table list --project-id 1 --
|
|
29
|
+
ae-cli analysis sql-table list --project-id 1 --queries '["user","account"]'
|
|
29
30
|
ae-cli analysis sql-table columns --project-id 1 --table-ref hive.ta.v_user_1
|
|
30
31
|
ae-cli analysis adhoc run --project-id 1 --model-type sql --definition '{"sql":"select * from hive.ta.v_user_1 limit 10"}'
|
|
31
32
|
```
|
|
@@ -2,11 +2,11 @@
|
|
|
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. 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.
|
|
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. `--auto-refresh-cron` changes an existing enabled auto-refresh schedule and does not enable auto refresh. 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
6
|
|
|
7
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`.
|
|
8
8
|
|
|
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.
|
|
9
|
+
Flags: `--project-id`, `--cluster-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`, `--auto-refresh-cron`. The cluster type comes from `definition_request.type` when the definition changes.
|
|
10
10
|
|
|
11
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
12
|
|
|
@@ -14,4 +14,6 @@ Read `user_cluster_models.md` before changing the definition. The backend valida
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
ae-cli analysis user-cluster update --project-id <project_id> --cluster-name retained_users --display-name "Retained Users v2"
|
|
17
|
+
|
|
18
|
+
ae-cli analysis user-cluster update --project-id <project_id> --cluster-name retained_users --auto-refresh-cron '0 30 2 * * ? *'
|
|
17
19
|
```
|
|
@@ -2,11 +2,11 @@
|
|
|
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. 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.
|
|
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. `--auto-refresh-cron` changes an existing enabled auto-refresh schedule and does not enable auto refresh. 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
6
|
|
|
7
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`.
|
|
8
8
|
|
|
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.
|
|
9
|
+
Flags: `--project-id`, `--tag-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`, `--auto-refresh-cron`. The tag type comes from `definition_request.type` when the definition changes.
|
|
10
10
|
|
|
11
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
12
|
|
|
@@ -14,4 +14,6 @@ Read `user_tag_models.md` before changing the definition. The backend validates
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
ae-cli analysis user-tag update --project-id <project_id> --tag-name user_level --display-name "User Level v2"
|
|
17
|
+
|
|
18
|
+
ae-cli analysis user-tag update --project-id <project_id> --tag-name user_level --auto-refresh-cron '0 30 2 * * ? *'
|
|
17
19
|
```
|
|
@@ -7,8 +7,8 @@ Do not use it for renaming a physical property. Use only when replacing the comp
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis-meta virtual-property sql-rule-update --project-id <project_id> --sql-expression '<sql>' --v-prop '{
|
|
11
|
-
ae-cli analysis-meta virtual-property sql-rule-update --project-id <project_id> --sql-expression '<sql>' --v-prop '{
|
|
10
|
+
ae-cli analysis-meta virtual-property sql-rule-update --project-id <project_id> --sql-expression '<sql>' --v-prop '{"prop_id":22990,"property":{"column_name":"#vp@demo","table_type":"event","select_type":"number"}}' --properties '[...]'
|
|
11
|
+
ae-cli analysis-meta virtual-property sql-rule-update --project-id <project_id> --sql-expression '<sql>' --v-prop '{"prop_id":22990,"property":{"column_name":"#vp@demo","table_type":"event","select_type":"number"}}' --dry-run
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Capability id: `metadata.virtual_property.sql_rule_update`.
|
|
@@ -22,7 +22,7 @@ Output is a successful gateway envelope with no business data.
|
|
|
22
22
|
|---|---|---|
|
|
23
23
|
| `--project-id` | Yes | Numeric project ID. |
|
|
24
24
|
| `--sql-expression` | Yes | Replacement SQL expression. |
|
|
25
|
-
| `--v-prop` | Yes | Existing virtual property JSON object
|
|
25
|
+
| `--v-prop` | Yes | Existing virtual property JSON object. Put `prop_id` directly under `v_prop`, beside `property`; do not put it inside `property`. |
|
|
26
26
|
| `--properties` | No | Dependent property JSON array. |
|
|
27
27
|
| `--sql-event-relation-type` | No | `relation_default`, `relation_always`, or `relation_by_setting`. |
|
|
28
28
|
| `--related-events` | No | Related events JSON array for `relation_by_setting`. |
|
|
@@ -55,7 +55,7 @@ When the user mentions a product term below (including common Chinese UI labels)
|
|
|
55
55
|
| **Push channel** | Project-level message push channels (Webhook, FCM, APNS, etc.) | `engage-setting` | `references/channel-list.md` | `channel-detail.md`, `add-channel.md` (**Webhook vs Client differ**: `url` = HTTP vs scene key; custom params `user:` vs `user:`/`client:`), `update-channel-status.md`, `delete-channel.md`, `channel-update-config.md`, `channel-test-send.md`, `channel_touch_limits_list.md` |
|
|
56
56
|
| **Config channel** | Config-center Webhook/client config channels (not the same as push channels) | `engage-scene` | `references/scene-config-channel.md` | `channel-mgmt.md` (create/enable-disable/copy/delete workflows). User params in `config.customsParamList` require `columnName` with `user:` prefix (e.g. `user:#account_id`); preflight names with ae-analysis `analysis-meta property list/get`. |
|
|
57
57
|
| **Operation strategy** | Ops/delivery strategies under a config item | `engage-scene` | `references/scene-strategy.md` | Custom audience: [`scene-strategy-audience.md`](references/scene-strategy-audience.md) — semantic `definitionRequest` (Analysis condition shape); do not pass `targetClusterQp`/`qp`; preflight props (stop + list if missing); template: `scene-template.md` |
|
|
58
|
-
| **Operation task** | Hermes push/engagement tasks (list, save, lifecycle, reports) | `engage-task` | `references/task-list.md` | `task-detail.md` (get), `save-task.md`, `build-task-save-guide.md`, `task-stats.md`, `task-delete.md`, `push-record-query.md`, `task-data-overview.md`, `task-data-detail.md`, `task-metric-detail.md`, `task-experiment-report.md` |
|
|
58
|
+
| **Operation task** | Hermes push/engagement tasks (list, save, lifecycle, reports) | `engage-task` | `references/task-list.md` | `task-detail.md` (get), `save-task.md`, `build-task-save-guide.md`, `task-stats.md`, `task-delete.md`, `push-record-query.md`, `task-user-detail-export.md`, `task-indicator-user.md`, `task-data-overview.md`, `task-data-detail.md`, `task-metric-detail.md`, `task-experiment-report.md` |
|
|
59
59
|
| **Operation activity** | Campaign activity management and delivery trends by activity, topic, or standalone task | `engage-activity` | `references/activity-activity.md` | `activity-data-detail.md`, `activity-topic.md`, `activity-task.md`, `activity-approval.md` |
|
|
60
60
|
| **Template** | Strategy templates under a config item | `engage-scene` | `references/scene-template.md` | `scene-config-param.md` (template fields reference `paramId`); enable via `template update` then `template update-status` before strategy create |
|
|
61
61
|
|
|
@@ -178,11 +178,16 @@ ae-cli engage-task task submit-approval --project-id 1 --task-id task_123
|
|
|
178
178
|
# Query task reports through the Hermes inline task-data capabilities
|
|
179
179
|
ae-cli engage-task effect query --project-id 1 --task-id task_123 --start-time 2026-04-01 --end-time 2026-04-07 --metric-id-list '["metric_1"]'
|
|
180
180
|
ae-cli engage-task data-detail query --project-id 1 --task-id task_123 --detail-type time --start-time 2026-04-01 --end-time 2026-04-07
|
|
181
|
+
ae-cli engage-task indicator-user sql --project-id 1 --task-id task_123 --indicator main --start-time 2026-04-01 --end-time 2026-04-07
|
|
182
|
+
ae-cli engage-task indicator-user run --project-id 1 --task-id task_123 --indicator secondary --secondary-index 1 --start-time 2026-04-01 --end-time 2026-04-07 --limit 100
|
|
183
|
+
ae-cli engage-task indicator-user export --project-id 1 --task-id task_123 --indicator metric --metric-id metric_1 --source metric --start-time 2026-04-01 --end-time 2026-04-07 --artifact-format csv
|
|
181
184
|
|
|
182
185
|
```
|
|
183
186
|
|
|
184
187
|
For L3 task reports, read `references/task-data-overview.md`, `references/task-data-detail.md`,
|
|
185
188
|
`references/task-metric-detail.md`, or `references/task-experiment-report.md` before invocation.
|
|
189
|
+
Before using `engage-task indicator-user`, read `references/task-indicator-user.md`; its grouping,
|
|
190
|
+
indicator, summary/detail, metric, experiment, and timezone flags have conditional compatibility rules.
|
|
186
191
|
|
|
187
192
|
### 3. config
|
|
188
193
|
|
|
@@ -214,6 +219,7 @@ ae-cli engage-flow version list --project-id 1 --flow-id flow_id_123
|
|
|
214
219
|
ae-cli engage-flow flow update-remark --project-id 1 --flow-uuid flow_uuid_123 --flow-version-desc "Second version"
|
|
215
220
|
ae-cli engage-task operation-log query --project-id 1 --task-id task_id_123
|
|
216
221
|
ae-cli engage-task push-record query --project-id 1 --task-id task_id_123 --page-num 1 --page-size 20
|
|
222
|
+
ae-cli engage-task user-detail export --project-id 1 --task-id task_id_123 --task-instance-id instance_123 --user-status fail --artifact-format csv
|
|
217
223
|
ae-cli engage-task segment-list query --project-id 1 --task-id task_id_123
|
|
218
224
|
ae-cli engage-task group list --project-id 1
|
|
219
225
|
ae-cli engage-task metric list --project-id 1 --task-id task_id_123
|
|
@@ -502,6 +508,8 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
502
508
|
- `references/version-list.md` (`engage-flow.version.list`)
|
|
503
509
|
- `references/flow-update-remark.md` (`ae-cli engage-flow flow update-remark`; capability `engage-flow.version.update-remark`)
|
|
504
510
|
- `references/push-record-query.md` (`engage-task.push-record.query`)
|
|
511
|
+
- `references/task-user-detail-export.md` (`engage-task user-detail export`; capability `engage-task.user-detail.export`)
|
|
512
|
+
- `references/task-indicator-user.md` (`engage-task indicator-user {sql,run,export}`; capabilities `engage-task.indicator-user.{sql,run,export}`)
|
|
505
513
|
- `references/segment-list-query.md` (`engage-task.segment-list.query`)
|
|
506
514
|
- `references/group-list.md` (`engage-task.group.list`)
|
|
507
515
|
- `references/task-delete.md` (`engage-task.task.delete`)
|
|
@@ -520,7 +528,7 @@ This split documentation structure is easier to extend later, because commands w
|
|
|
520
528
|
|
|
521
529
|
### task
|
|
522
530
|
|
|
523
|
-
`operation-log query` / `push-record query` / `segment-list *` / `ops *` / `metric *` / `race release` / `channel-ref stats` / `group *` / `task delete` / `task modify-group` / `task submit-approval` / `task get` / `task list` / `task stats` / `task build-save-guide` / `task save` / `task manage` / `effect query` / `data-detail query` (via `engage-task`), plus L3 capabilities `engage-task.task-data.{overview,detail,metric-detail,experiment-report}`
|
|
531
|
+
`operation-log query` / `push-record query` / `user-detail export` / `indicator-user sql` / `indicator-user run` / `indicator-user export` / `segment-list *` / `ops *` / `metric *` / `race release` / `channel-ref stats` / `group *` / `task delete` / `task modify-group` / `task submit-approval` / `task get` / `task list` / `task stats` / `task build-save-guide` / `task save` / `task manage` / `effect query` / `data-detail query` (via `engage-task`), plus L3 capabilities `engage-task.task-data.{overview,detail,metric-detail,experiment-report}`
|
|
524
532
|
|
|
525
533
|
### query
|
|
526
534
|
|
|
@@ -109,7 +109,8 @@ ae-cli engage-query query cancel --run-id <run_id>
|
|
|
109
109
|
## Output shape
|
|
110
110
|
|
|
111
111
|
- `run` returns `rows`, `total`, and `column_meta`.
|
|
112
|
-
- `export` writes one row per matched user
|
|
112
|
+
- `export` writes one row per matched user with `#user_id`, `#account_id`, and `#distinct_id`.
|
|
113
|
+
- For cross-user data sources, `#account_id` and `#distinct_id` are empty strings.
|
|
113
114
|
|
|
114
115
|
## Common mistakes
|
|
115
116
|
|
|
@@ -113,7 +113,8 @@ ae-cli engage-query query cancel --run-id <run_id>
|
|
|
113
113
|
## Output shape
|
|
114
114
|
|
|
115
115
|
- `run` returns `rows`, `total`, and `column_meta`.
|
|
116
|
-
- `export` writes one row per matched user
|
|
116
|
+
- `export` writes one row per matched user with `#user_id`, `#account_id`, and `#distinct_id`.
|
|
117
|
+
- For cross-user data sources, `#account_id` and `#distinct_id` are empty strings.
|
|
117
118
|
|
|
118
119
|
## Common mistakes
|
|
119
120
|
|
|
@@ -113,7 +113,8 @@ ae-cli engage-query query cancel --run-id <run_id>
|
|
|
113
113
|
## Output shape
|
|
114
114
|
|
|
115
115
|
- `run` returns `rows`, `total`, and `column_meta`.
|
|
116
|
-
- `export` writes one row per matched user
|
|
116
|
+
- `export` writes one row per matched user with `#user_id`, `#account_id`, and `#distinct_id`.
|
|
117
|
+
- For cross-user data sources, `#account_id` and `#distinct_id` are empty strings.
|
|
117
118
|
|
|
118
119
|
## Common mistakes
|
|
119
120
|
|