@thinkingai/ae-cli 6.0.18 → 6.0.20
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/README.md +7 -6
- package/README.zh.md +8 -7
- package/dist/index.js +11 -6
- package/dist/{te-agent-KZRIEN4N.js → te-agent-CYZUC4US.js} +543 -19
- package/dist/{te-analysis-VAR4KUOK.js → te-analysis-HJ22TUAA.js} +318 -40
- package/dist/te-audience-MYDE5WEH.js +590 -0
- package/dist/te-dataops-ZTS7XMXM.js +1842 -0
- package/dist/{te-kb-B62KFP2A.js → te-kb-OWM3RQRH.js} +46 -21
- package/dist/{te-meta-EPZGQN56.js → te-meta-JVO4QJBH.js} +28 -11
- package/package.json +1 -1
- package/skills/ae-agent/SKILL.md +103 -4
- package/skills/ae-analysis/SKILL.md +66 -19
- package/skills/ae-analysis/references/build_attribution_analysis_qp.md +60 -0
- package/skills/ae-analysis/references/build_cluster_definition.md +60 -0
- package/skills/ae-analysis/references/build_distribution_analysis_qp.md +65 -0
- package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +52 -0
- package/skills/ae-analysis/references/build_interval_analysis_qp.md +58 -0
- package/skills/ae-analysis/references/build_path_analysis_qp.md +51 -0
- package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +61 -0
- package/skills/ae-analysis/references/build_tag_definition.md +63 -0
- package/skills/ae-analysis/references/cancel_query.md +2 -3
- package/skills/ae-analysis/references/copy_dashboard.md +33 -0
- package/skills/ae-analysis/references/create_id_cluster.md +40 -0
- package/skills/ae-analysis/references/create_id_tag.md +39 -0
- package/skills/ae-analysis/references/delete_alert.md +27 -0
- package/skills/ae-analysis/references/delete_cluster.md +27 -0
- package/skills/ae-analysis/references/delete_dashboard.md +30 -0
- package/skills/ae-analysis/references/delete_metric.md +27 -0
- package/skills/ae-analysis/references/delete_report.md +27 -0
- package/skills/ae-analysis/references/delete_tag.md +27 -0
- package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
- package/skills/ae-analysis/references/drilldown_users.md +3 -3
- package/skills/ae-analysis/references/freeze_dashboards.md +29 -0
- package/skills/ae-analysis/references/get_table_columns.md +11 -12
- package/skills/ae-analysis/references/list_cluster_members.md +4 -4
- package/skills/ae-analysis/references/list_clusters.md +3 -3
- package/skills/ae-analysis/references/list_dashboards.md +3 -3
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/list_events.md +3 -3
- package/skills/ae-analysis/references/list_metrics.md +2 -2
- package/skills/ae-analysis/references/list_properties.md +3 -3
- package/skills/ae-analysis/references/list_reports.md +3 -3
- package/skills/ae-analysis/references/list_spaces.md +27 -0
- package/skills/ae-analysis/references/list_tag_members.md +4 -4
- package/skills/ae-analysis/references/list_tags.md +2 -2
- package/skills/ae-analysis/references/move_dashboard.md +33 -0
- package/skills/ae-analysis/references/query_adhoc.md +2 -2
- package/skills/ae-analysis/references/query_bi_panel_data.md +2 -2
- package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -4
- package/skills/ae-analysis/references/query_entity_details.md +4 -4
- package/skills/ae-analysis/references/query_event_details.md +3 -3
- package/skills/ae-analysis/references/query_report_data.md +37 -3
- package/skills/ae-analysis/references/update_id_cluster.md +36 -0
- package/skills/ae-analysis/references/update_id_tag.md +37 -0
- package/skills/ae-analysis/references/update_report.md +35 -0
- package/skills/ae-analysis-intent/SKILL.md +1 -1
- package/skills/ae-dataops/SKILL.md +54 -522
- package/skills/ae-dataops/references/dataops-flow-create.md +78 -75
- package/skills/ae-dataops/references/dataops-flow-monitor.md +58 -51
- package/skills/ae-dataops/references/dataops-integration.md +80 -41
- package/skills/ae-dataops/references/dataops-query.md +54 -53
- package/skills/ae-dataops/references/dataops-table.md +28 -59
- package/dist/te-audience-KMKYI2YJ.js +0 -400
- package/dist/te-dataops-GD3XBYCS.js +0 -1830
|
@@ -18,7 +18,7 @@ Domain: **Dashboard management**
|
|
|
18
18
|
```bash
|
|
19
19
|
ae-cli analysis +list_dashboards --project_id <project_id>
|
|
20
20
|
ae-cli analysis +list_dashboards --project_id <project_id> --query demo
|
|
21
|
-
ae-cli analysis +list_dashboards --project_id <project_id> --fields '["dashboardId","dashboardName"]' --limit 20 --offset 0
|
|
21
|
+
ae-cli analysis +list_dashboards --project_id <project_id> --fields '["dashboardId","dashboardName","remark"]' --limit 20 --offset 0
|
|
22
22
|
ae-cli analysis +list_dashboards --dry-run
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -26,8 +26,8 @@ ae-cli analysis +list_dashboards --dry-run
|
|
|
26
26
|
| Parameter | Required | Description |
|
|
27
27
|
|---|---|---|
|
|
28
28
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
29
|
-
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against dashboard names and
|
|
30
|
-
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `dashboardId`, `dashboardName`, `
|
|
29
|
+
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against dashboard names and remarks; if omitted, all accessible dashboards are returned. |
|
|
30
|
+
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `dashboardId`, `dashboardName`, `remark`. Default fields when omitted: `dashboardId`, `dashboardName`, `remark`. Dashboard metadata exposes `remark` but no separate desc field. |
|
|
31
31
|
| `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
|
|
32
32
|
| `--offset` / `-o` | No | Optional page offset. Default: 0. |
|
|
33
33
|
|
|
@@ -23,7 +23,7 @@ ae-cli analysis_meta +list_entities --dry-run
|
|
|
23
23
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
24
24
|
| `--event_name` | No | Optional event name filter |
|
|
25
25
|
| `--query` / `-q` | No | Optional keyword filter. Fuzzy match is applied to entityName, columnName, and columnDesc; if omitted, all accessible dashboards are returned. |
|
|
26
|
-
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `entityId`, `entityName`, `columnName`, `columnDesc`, `selectType`. |
|
|
26
|
+
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `entityId`, `entityName`, `columnName`, `columnDesc`, `selectType`, `tableType`, `entityType`. Default fields when omitted: `entityId`, `entityName`, `columnName`, `columnDesc`, `selectType`. Entity metadata exposes `columnDesc` as the description field; no remark field is available in this list response. |
|
|
27
27
|
| `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
|
|
28
28
|
| `--offset` / `-o` | No | Optional page offset. Default: 0. |
|
|
29
29
|
|
|
@@ -18,7 +18,7 @@ Domain: **Metadata Query**
|
|
|
18
18
|
```bash
|
|
19
19
|
ae-cli analysis_meta +list_events --project_id <project_id>
|
|
20
20
|
ae-cli analysis_meta +list_events --project_id <project_id> --query demo
|
|
21
|
-
ae-cli analysis_meta +list_events --project_id <project_id> --query demo --fields '["eventName", "eventDesc"]' --limit 20 --offset 0
|
|
21
|
+
ae-cli analysis_meta +list_events --project_id <project_id> --query demo --fields '["eventId", "eventName", "eventDesc", "remark"]' --limit 20 --offset 0
|
|
22
22
|
ae-cli analysis_meta +list_events --dry-run
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -26,8 +26,8 @@ ae-cli analysis_meta +list_events --dry-run
|
|
|
26
26
|
| Parameter | Required | Description |
|
|
27
27
|
|---|---|---|
|
|
28
28
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
29
|
-
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against eventName, eventDesc, and
|
|
30
|
-
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `eventName`, `eventDesc`, `
|
|
29
|
+
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against eventName, eventDesc, and remark; if omitted, all events are returned. |
|
|
30
|
+
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `eventId`, `eventName`, `eventDesc`, `remark`, `eventTag`. Default fields when omitted: `eventId`, `eventName`, `eventDesc`, `remark`. |
|
|
31
31
|
| `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
|
|
32
32
|
| `--offset` / `-o` | No | Optional page offset. Default: 0. |
|
|
33
33
|
## Decision Rules
|
|
@@ -20,7 +20,7 @@ Domain: **Metadata Query**
|
|
|
20
20
|
```bash
|
|
21
21
|
ae-cli analysis_meta +list_metrics --project_id <project_id>
|
|
22
22
|
ae-cli analysis_meta +list_metrics --project_id <project_id> --query demo
|
|
23
|
-
ae-cli analysis_meta +list_metrics --project_id <project_id> --query demo --fields '["metricId","metricName"]' --limit 10 --offset 0
|
|
23
|
+
ae-cli analysis_meta +list_metrics --project_id <project_id> --query demo --fields '["metricId","metricName","metricDesc","metricRemark","metricMode"]' --limit 10 --offset 0
|
|
24
24
|
ae-cli analysis_meta +list_metrics --dry-run
|
|
25
25
|
```
|
|
26
26
|
|
|
@@ -29,7 +29,7 @@ ae-cli analysis_meta +list_metrics --dry-run
|
|
|
29
29
|
|---|---|---|
|
|
30
30
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
31
31
|
| `--query` / `-q` | No | Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark. |
|
|
32
|
-
| `--fields` | No | Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Invalid fields cause INVALID_FIELDS error. |
|
|
32
|
+
| `--fields` | No | Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode. Invalid fields cause INVALID_FIELDS error. |
|
|
33
33
|
| `--limit` | No | Optional limit. Default: 20, maximum: 10000. |
|
|
34
34
|
| `--offset` | No | Optional offset. Default: 0. |
|
|
35
35
|
|
|
@@ -16,7 +16,7 @@ Domain: **Metadata Query**
|
|
|
16
16
|
```bash
|
|
17
17
|
ae-cli analysis_meta +list_properties --project_id <project_id>
|
|
18
18
|
ae-cli analysis_meta +list_properties --project_id <project_id> --scope event --event_name purchase --query demo
|
|
19
|
-
ae-cli analysis_meta +list_properties --project_id <project_id> --query demo --fields '["propName", "propDesc"]' --limit 20 --offset 0
|
|
19
|
+
ae-cli analysis_meta +list_properties --project_id <project_id> --query demo --fields '["propId", "propName", "propDesc", "remark", "selectType", "tableType"]' --limit 20 --offset 0
|
|
20
20
|
ae-cli analysis_meta +list_properties --dry-run
|
|
21
21
|
```
|
|
22
22
|
|
|
@@ -26,8 +26,8 @@ ae-cli analysis_meta +list_properties --dry-run
|
|
|
26
26
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
27
27
|
| `--scope` | No | Optional property scope. event means event properties, user means user properties. If omitted, all scopes are queried. |
|
|
28
28
|
| `--event_name` | No | Optional event name. If provided, only event properties available for that event are returned. |
|
|
29
|
-
| `--query` / `-q` | No | Optional keyword filter. Fuzzy match is applied to propName, propDesc, and
|
|
30
|
-
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `propName`, `propDesc`, `
|
|
29
|
+
| `--query` / `-q` | No | Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all matched properties are returned. |
|
|
30
|
+
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `propId`, `propName`, `propDesc`, `remark`, `selectType`, `tableType`, `subTableType`. Default fields when omitted: `propId`, `propName`, `propDesc`, `remark`, `selectType`, `tableType`. |
|
|
31
31
|
| `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
|
|
32
32
|
| `--offset` / `-o` | No | Optional page offset. Default: 0. |
|
|
33
33
|
|
|
@@ -18,7 +18,7 @@ Domain: **Report management**
|
|
|
18
18
|
```bash
|
|
19
19
|
ae-cli analysis +list_reports --project_id <project_id>
|
|
20
20
|
ae-cli analysis +list_reports --project_id <project_id> --query demo
|
|
21
|
-
ae-cli analysis +list_reports --project_id <project_id> --fields '["reportId","reportName","reportModel"]' --limit 20 --offset 0
|
|
21
|
+
ae-cli analysis +list_reports --project_id <project_id> --fields '["reportId","reportName","reportDesc","remark","reportModel"]' --limit 20 --offset 0
|
|
22
22
|
ae-cli analysis +list_reports --dry-run
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -26,8 +26,8 @@ ae-cli analysis +list_reports --dry-run
|
|
|
26
26
|
| Parameter | Required | Description |
|
|
27
27
|
|---|---|---|
|
|
28
28
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
29
|
-
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against
|
|
30
|
-
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `reportId`, `reportName`, `reportDesc`, `reportModel`, `
|
|
29
|
+
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against reportName, reportDesc, and remark; if omitted, all accessible reports are returned. |
|
|
30
|
+
| `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `reportId`, `reportName`, `reportDesc`, `remark`, `reportModel`. Default fields when omitted: `reportId`, `reportName`, `reportDesc`, `remark`, `reportModel`. |
|
|
31
31
|
| `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
|
|
32
32
|
| `--offset` / `-o` | No | Optional page offset. Default: 0. |
|
|
33
33
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# analysis +list_spaces (List Spaces)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Dashboard Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- List all spaces and folders accessible to the current user as a recursive tree.
|
|
9
|
+
- Returns two parts: (1) project spaces with spaceId, name, spaceDesc, and children (folders/dashboards); (2) personal-space folders (My Space / Shared with me / Ungrouped) with their children.
|
|
10
|
+
- Use to resolve `spaceId` for `+create_dashboard` / `+copy_dashboard`, and `toSpaceId` / `toFolderId` / `fromSpaceId` / `fromFolderId` for `+move_dashboard` and `+copy_dashboard`.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
```bash
|
|
14
|
+
ae-cli analysis_audience +list_spaces --project_id <project_id>
|
|
15
|
+
ae-cli analysis_audience +list_spaces --dry-run
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
22
|
+
|
|
23
|
+
## Decision Rules
|
|
24
|
+
- Call this before `+copy_dashboard` or `+move_dashboard` whenever the user specifies a target space or folder by name.
|
|
25
|
+
|
|
26
|
+
## Recommended Chain
|
|
27
|
+
- `+list_spaces` -> `+copy_dashboard` / `+move_dashboard` / `+create_dashboard`
|
|
@@ -29,17 +29,17 @@ ae-cli analysis_audience +list_tag_members --dry-run
|
|
|
29
29
|
| `--fields` | No | Optional return field list (JSON array). Invalid fields will fail with `INVALID_FIELDS`. |
|
|
30
30
|
| `--limit` | No | Optional page size. Default: 20, max: 50. |
|
|
31
31
|
| `--offset` | No | Optional page offset. Default: 0. |
|
|
32
|
-
| `--request_id` |
|
|
32
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
33
33
|
| `--timeout_minutes` | No | Query timeout in minutes. If omitted, 30 minutes is used. |
|
|
34
34
|
|
|
35
35
|
## Decision Rules
|
|
36
|
-
- For the first execution,
|
|
36
|
+
- For the first execution, include all required parameters (`--project_id`, `--tag_name`, `--request_id`) and add optional parameters after confirming the path works.
|
|
37
37
|
- `--property_names` must be passed as a JSON array (e.g. `--property_names '["#user_id"]'`).
|
|
38
|
-
-
|
|
38
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
39
39
|
- When troubleshooting across projects, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
40
40
|
|
|
41
41
|
## Next Step on Failure
|
|
42
|
-
- If required parameters are missing, fall back to the smallest runnable command and fill the gap (focus on `--project_id`, `--tag_name`).
|
|
42
|
+
- If required parameters are missing, fall back to the smallest runnable command and fill the gap (focus on `--project_id`, `--tag_name`, `--request_id`).
|
|
43
43
|
- If the result is empty, first confirm the project ID/keyword, then try broadening the filter conditions.
|
|
44
44
|
|
|
45
45
|
## Recommended Chain
|
|
@@ -17,7 +17,7 @@ Domain: **Tag Management**
|
|
|
17
17
|
```bash
|
|
18
18
|
ae-cli analysis_audience +list_tags --project_id <project_id>
|
|
19
19
|
ae-cli analysis_audience +list_tags --project_id <project_id> --query demo
|
|
20
|
-
ae-cli analysis_audience +list_tags --project_id <project_id> --fields '["id","clusterName","usersNum"]' --limit 20 --offset 0
|
|
20
|
+
ae-cli analysis_audience +list_tags --project_id <project_id> --fields '["id","clusterName","displayName","remarks","clusterType","subConditionTabType","progress","usersNum"]' --limit 20 --offset 0
|
|
21
21
|
ae-cli analysis_audience +list_tags --dry-run
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -26,7 +26,7 @@ ae-cli analysis_audience +list_tags --dry-run
|
|
|
26
26
|
|---|---|---|
|
|
27
27
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
28
28
|
| `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against tag names, display names, and remarks; if omitted, all tags are returned. |
|
|
29
|
-
| `--fields` | No | Optional return field list (JSON array). Invalid fields will fail with `INVALID_FIELDS`. |
|
|
29
|
+
| `--fields` | No | Optional return field list (JSON array). Supported fields: `id`, `clusterName`, `displayName`, `clusterType`, `subConditionTabType`, `progress`, `usersNum`, `remarks`. Default fields when omitted: `id`, `clusterName`, `displayName`, `remarks`, `clusterType`, `subConditionTabType`, `progress`, `usersNum`. Invalid fields will fail with `INVALID_FIELDS`. |
|
|
30
30
|
| `--limit` | No | Optional page size. Default: 20, max: 50. |
|
|
31
31
|
| `--offset` | No | Optional page offset. Default: 0. |
|
|
32
32
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# analysis +move_dashboard (Move Dashboard)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Dashboard Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Move a dashboard to a different space or folder.
|
|
9
|
+
- Provide `--to_space_id` to move to a space root, or both `--to_space_id` and `--to_folder_id` to move into a folder within that space.
|
|
10
|
+
- `--from_space_id` and `--from_folder_id` are optional; provide them when the dashboard exists in multiple spaces to disambiguate the source path.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
```bash
|
|
14
|
+
ae-cli analysis_audience +move_dashboard --project_id <project_id> --dashboard_id <dashboard_id> --to_space_id <space_id>
|
|
15
|
+
ae-cli analysis_audience +move_dashboard --project_id <project_id> --dashboard_id <dashboard_id> --to_space_id <space_id> --to_folder_id <folder_id>
|
|
16
|
+
ae-cli analysis_audience +move_dashboard --dry-run
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
| Parameter | Required | Description |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
23
|
+
| `--dashboard_id` | Yes | Dashboard ID to move |
|
|
24
|
+
| `--to_space_id` | Yes | Target space ID |
|
|
25
|
+
| `--to_folder_id` | No | Target folder ID within the target space. Omit to place at the space root. |
|
|
26
|
+
| `--from_space_id` | No | Source space ID. Omit if unknown. |
|
|
27
|
+
| `--from_folder_id` | No | Source folder ID. Omit if unknown. |
|
|
28
|
+
|
|
29
|
+
## Decision Rules
|
|
30
|
+
- Call `+list_spaces` first to resolve `to_space_id` and `to_folder_id`.
|
|
31
|
+
|
|
32
|
+
## Recommended Chain
|
|
33
|
+
- `+list_spaces` -> `+move_dashboard`
|
|
@@ -89,7 +89,7 @@ ae-cli analysis +query_adhoc --project_id <project_id> --model_type <model_type>
|
|
|
89
89
|
| `--project_id` / `-p` | Yes | Project ID used to identify the analysis project |
|
|
90
90
|
| `--model_type` | Yes | Model type. Supported values: event, retention, funnel, distribution, attribution, heat_map, interval, path, rank_list, prop_analysis, sql. |
|
|
91
91
|
| `--qp` | Yes | Query parameter JSON. For `event`/`retention`/`funnel`/`prop_analysis`, pass QP returned by the matching builder tool. For non-builder models, construct QP through the legacy schema/metadata path. |
|
|
92
|
-
| `--request_id` |
|
|
92
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
93
93
|
| `--use_cache` | No | Whether to use result cache. Default: true |
|
|
94
94
|
| `--zone_offset` | No | Time zone offset in hours. For example, UTC+8 is 8 and UTC-5 is -5 |
|
|
95
95
|
| `--is_sort_by_columns` | No | Whether to sort query results by columns. Default: false |
|
|
@@ -100,7 +100,7 @@ ae-cli analysis +query_adhoc --project_id <project_id> --model_type <model_type>
|
|
|
100
100
|
| `--timeout_minutes` | No | Query timeout in minutes. If the query exceeds this time, it will be cancelled automatically. |
|
|
101
101
|
|
|
102
102
|
## Decision Rules
|
|
103
|
-
- On the first run,
|
|
103
|
+
- On the first run, include all required parameters (`--project_id`,`--model_type`,`--qp`,`--request_id`). Generate `--request_id` before starting the query so cancellation can use the same value if the caller stops waiting.
|
|
104
104
|
- Do not call this command with placeholder QP such as `{}`. For builder-supported models, wait for builder `status=generated`; for non-builder models, build QP from verified schema/metadata first.
|
|
105
105
|
- For builder-supported models, do not run metadata/schema lookup to "help" the builder. The builder is the metadata resolver.
|
|
106
106
|
- For pagination, use `--limit` and `--offset` together. Default limit is 1000, maximum 100000.
|
|
@@ -28,7 +28,7 @@ ae-cli analysis +query_bi_panel_data --project_id <project_id> --panel_id <panel
|
|
|
28
28
|
| `--panel_id` | Yes | BI panel ID returned by `+list_bi_panels` |
|
|
29
29
|
| `--page_key` | Yes | Page key returned by `+get_bi_panel_detail` |
|
|
30
30
|
| `--result_type` | Yes | `charts` or `summary` |
|
|
31
|
-
| `--request_id` |
|
|
31
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
32
32
|
| `--chart_ids` | No | JSON array of chart IDs when `result_type=charts`. If omitted, all queryable charts on the page are queried. |
|
|
33
33
|
| `--parameter_controls` | No | JSON array of dashboard-level parameter control overrides. Each item has `controlId` and one scalar `value`. |
|
|
34
34
|
| `--permission_controls` | No | JSON array of dashboard-level permission control values. Each item has `controlId` and `value`; `value` may be one scalar or an array. |
|
|
@@ -52,7 +52,7 @@ ae-cli analysis +query_bi_panel_data --project_id <project_id> --panel_id <panel
|
|
|
52
52
|
- For charts, omit `--chart_ids` on the first run to query all queryable charts on the page.
|
|
53
53
|
- Explicitly querying a non-queryable filter component returns a chart-level unsupported result.
|
|
54
54
|
- Use `--columns`, `--row_limit`, and `--row_offset` to reduce response size.
|
|
55
|
-
-
|
|
55
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
56
56
|
|
|
57
57
|
## Recommended Chaining
|
|
58
58
|
- `+list_bi_panels` -> `+get_bi_panel_detail` -> `+query_bi_panel_data`
|
|
@@ -41,20 +41,20 @@ ae-cli analysis +query_dashboard_report_data --dry-run
|
|
|
41
41
|
| `--time_granularity` | No | Optional time granularity used to override the report default. Supported values: minute, minute5, minute10, hour, day, week, month, quarter, year, total. |
|
|
42
42
|
| `--use_cache` | No | Whether to use cache. Default: true |
|
|
43
43
|
| `--report_ids` | No | Optional list of report IDs. If omitted, all reports in the dashboard are queried. |
|
|
44
|
-
| `--request_id` |
|
|
44
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
45
45
|
| `--timeout_minutes` | No | Query timeout in minutes. If omitted, 30 minutes is used. |
|
|
46
46
|
|
|
47
47
|
## Decision Rules
|
|
48
48
|
- `filters` cannot be written from experience alone: it must satisfy both the filter schema and the project metadata constraints.
|
|
49
49
|
- Before calling `list_events` / `list_properties`, you must first study the corresponding reference documents.
|
|
50
|
-
- On the first run,
|
|
50
|
+
- On the first run, include all required parameters (`--project_id`, `--dashboard_id`, `--request_id`) and add optional parameters after confirming the path works.
|
|
51
51
|
- Wrap JSON parameters in single quotes (for example `--filters '{}'`, `--report_ids '[]'`) to avoid shell escaping issues.
|
|
52
52
|
- When dates/time ranges are involved, first verify with a short range, then gradually expand the range.
|
|
53
|
-
-
|
|
53
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
54
54
|
- For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
55
55
|
|
|
56
56
|
## Next Steps on Failure
|
|
57
|
-
- If required parameters are missing, fall back to the smallest runnable command and fill them in first (focus on `--project_id`, `--dashboard_id`).
|
|
57
|
+
- If required parameters are missing, fall back to the smallest runnable command and fill them in first (focus on `--project_id`, `--dashboard_id`, `--request_id`).
|
|
58
58
|
- If `Invalid JSON` appears, first check the filter schema required fields, then verify whether the event/property names come from metadata query results for the same `project_id`.
|
|
59
59
|
- If the query times out or results are abnormal, first narrow the time range / grouping dimensions, then split the subqueries to locate the issue.
|
|
60
60
|
|
|
@@ -42,19 +42,19 @@ ae-cli analysis +query_entity_details --dry-run
|
|
|
42
42
|
| `--limit` | No | Optional result limit. Default: 1000, maximum: 10000 |
|
|
43
43
|
| `--zone_offset` | No | Time zone offset. For example, UTC+8 is 8 |
|
|
44
44
|
| `--use_cache` | No | Whether to use cache. Default: true |
|
|
45
|
-
| `--request_id` |
|
|
45
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
46
46
|
| `--timeout_minutes` | No | Query timeout in minutes. If omitted, 30 minutes is used. |
|
|
47
47
|
|
|
48
48
|
## Decision Rules
|
|
49
49
|
- `definition` / `properties` cannot be written by hand based on experience alone: they must satisfy both the schema structure and the project's real metadata.
|
|
50
50
|
- `list_events` / `list_properties` must be learned from the corresponding reference docs before calling them.
|
|
51
|
-
- For the first run,
|
|
51
|
+
- For the first run, include all required parameters (`--project_id`, `--definition`, `--request_id`) and add optional parameters after confirming the chain works.
|
|
52
52
|
- Wrap JSON parameters in single quotes (for example `--definition '{}'`, `--properties '{}'`) to avoid shell escaping issues.
|
|
53
|
-
-
|
|
53
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
54
54
|
- For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
55
55
|
|
|
56
56
|
## Next Step After Failure
|
|
57
|
-
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--definition`).
|
|
57
|
+
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--definition`, `--request_id`).
|
|
58
58
|
- If `Invalid JSON` appears, first check the required schema fields, then verify that the event name/property name comes from metadata queried in the same `project_id`.
|
|
59
59
|
- If the query times out or the result is abnormal, first reduce the time range/grouping dimensions, then split the query to locate the issue.
|
|
60
60
|
|
|
@@ -44,16 +44,16 @@ ae-cli analysis +query_event_details --dry-run
|
|
|
44
44
|
| `--limit` | No | Optional result limit. Default: 1000 |
|
|
45
45
|
| `--zone_offset` | No | Time zone offset. For example, UTC+8 is 8 |
|
|
46
46
|
| `--use_cache` | No | Whether to use cache. Default: true |
|
|
47
|
-
| `--request_id` |
|
|
47
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
48
48
|
| `--timeout_minutes` | No | Query timeout in minutes. If omitted, 30 minutes is used. |
|
|
49
49
|
|
|
50
50
|
## Decision Rules
|
|
51
51
|
- `filters` / `properties` cannot be written from experience alone: they must satisfy both the schema structure and the project metadata constraints.
|
|
52
52
|
- Before calling `list_events` / `list_properties`, you must first study the corresponding reference documents.
|
|
53
|
-
- On the first run,
|
|
53
|
+
- On the first run, include all required parameters (`--project_id`, `--event_name`, `--request_id`) and add optional parameters after confirming the path works.
|
|
54
54
|
- Wrap JSON parameters in single quotes (for example `--filters '{}'`, `--properties '{}'`) to avoid shell escaping issues.
|
|
55
55
|
- When dates/time ranges are involved, first verify with a short range, then gradually expand the range.
|
|
56
|
-
-
|
|
56
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
57
57
|
- For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
58
58
|
|
|
59
59
|
## Next Steps on Failure
|
|
@@ -30,6 +30,8 @@ Domain: **Report Management**
|
|
|
30
30
|
```bash
|
|
31
31
|
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]'
|
|
32
32
|
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]' --filters '{}' --group_by '[]' --request_id mcp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --use_cache true --start_date 2026-04-08 --end_date 2026-04-08 --time_granularity day --timeout_minutes 8
|
|
33
|
+
# SQL-model report: override its dynamic parameters (${Selector}/${Time}/${Text}) by paramName
|
|
34
|
+
ae-cli analysis +query_report_data --project_id <project_id> --report_ids '[1001]' --sql_params '[{"paramName":"selector1","paramExpress":"<selectorName>"},{"paramName":"time2","startTime":"2026-01-01 00:00:00","endTime":"2026-06-30 23:59:59"}]'
|
|
33
35
|
ae-cli analysis +query_report_data --dry-run
|
|
34
36
|
```
|
|
35
37
|
|
|
@@ -40,26 +42,58 @@ ae-cli analysis +query_report_data --dry-run
|
|
|
40
42
|
| `--report_ids` | Yes | List of report IDs |
|
|
41
43
|
| `--filters` | No | Optional filter JSON. If provided, MUST follow `+get_filter_schema`, and referenced fields must come from `analysis_meta +list_properties` in the same `project_id`. |
|
|
42
44
|
| `--group_by` | No | Optional group-by JSON array. If provided, MUST follow `+get_groupby_schema`, and referenced fields must come from `analysis_meta +list_properties` in the same `project_id`. |
|
|
43
|
-
| `--request_id` |
|
|
45
|
+
| `--request_id` | Yes | Required unique request ID used for tracking and cancellation. Generate it before starting the query. It must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Provide this before starting the query so it can be cancelled later with `+cancel_query --request_id <same value>`, even if the caller stops waiting before the tool returns. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running. `requestId` is not auto-generated for MCP query tools because the caller must know it before the response for proactive cleanup. If omitted or blank, the backend returns `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`. The response `metadata.requestId` echoes the supplied requestId and can also be passed to `cancel_query(requestId)` when the query is no longer needed. |
|
|
44
46
|
| `--use_cache` | No | Whether to use cache. Default: true |
|
|
45
47
|
| `--start_date` | No | Optional start date in yyyy-MM-dd format |
|
|
46
48
|
| `--end_date` | No | Optional end date in yyyy-MM-dd format |
|
|
47
49
|
| `--time_granularity` | No | Optional time granularity used to override the report default. Supported values: minute, minute5, minute10, hour, day, week, month, quarter, year, total. |
|
|
48
50
|
| `--timeout_minutes` | No | Query timeout in minutes. If the query exceeds this time, it will be cancelled automatically. 30 minutes if omitted. |
|
|
51
|
+
| `--sql_params` | No | Optional override for a SQL-model report's dynamic parameters (the `${...}` placeholders embedded in the report SQL). JSON array of params matched by `paramName`. Only listed params are overridden; omitted params keep the report's saved defaults. Ignored for non-SQL reports. Different from `--filters`: see the SQL report dynamic parameters section below. |
|
|
52
|
+
|
|
53
|
+
## SQL report dynamic parameters (`--sql_params`)
|
|
54
|
+
- Applies ONLY to SQL-model reports (`reportModel: sql` in `+get_report_definition`). Such reports may embed `${...}` placeholders of 6 paramTypes — `Variable`, `PartDate`, `Time`, `Number`, `Text`, `Selector` — whose default values are saved in the report's `eventView.sqlViewParams`.
|
|
55
|
+
- `--sql_params` overrides those values by `paramName`; the backend merges them into the report's `sqlViewParams` before running the SQL. Omitting `--sql_params` keeps the report defaults (backward compatible).
|
|
56
|
+
- `--sql_params` is NOT the same as `--filters`: `--filters` adds a post-query WHERE filter on the SQL result columns (using real field names), while `--sql_params` changes the report's own dynamic parameters before the SQL runs. To adjust a report's selectors/time parameters, use `--sql_params`, not `--filters`.
|
|
57
|
+
- Workflow: `+get_report_definition` -> read `events.sqlVoParams` (each param's `paramName`, `paramType`, and for Selector the allowed `selectorItems` names) -> build the override array -> `+query_report_data --sql_params '[...]'`.
|
|
58
|
+
- Override shape by `paramType` (read each param's current `quota`/`paramExpress`/`startTime`/`endTime` and the VO's `variableType`/`selectorItems` from `+get_report_definition`):
|
|
59
|
+
- `Selector` — `{"paramName":"selector1","paramExpress":"<selectorName>"}`; `<selectorName>` must be one of the VO's `selectorItems`. No `quota`.
|
|
60
|
+
- `Variable` — no `quota`; override `paramExpress` only. Quoting depends on the VO's `variableType`: a custom (`Normal`) variable is substituted verbatim, so include the quotes exactly as shown in the definition (e.g. `"paramExpress":"'2025-12-31'"`); a `TimeSelect` variable takes a bare value (the backend quotes it). `variableType` itself is a report-design property in `events.sqlVoParams` and is NOT changed by `--sql_params` (only the value is); the resulting SQL is the same regardless of `variableType` as long as the value is supplied with the right quoting.
|
|
61
|
+
- `Text` — `quota` (operator) + `paramExpress`; supports all 12 operators in the table below. Setting only `paramExpress` while leaving the no-value default `quota` (e.g. `C04`) does NOT filter.
|
|
62
|
+
- `Number` — `quota` (operator) + `paramExpress`; 9 numeric operators: `C00` IN / `C01` NOT IN / `C06` BETWEEN (array); `C02` < / `C03` > / `C020` <= / `C030` >= (single, numeric string); `C04` IS NOT NULL / `C05` IS NULL (no value). No LIKE/CONTAIN for numbers. E.g. `{"paramName":"num1","quota":"C06","paramExpress":["10","20"]}`.
|
|
63
|
+
- `Time` — `quota` (operator) + time fields (NOT recentDay): `C020` <= (uses `endTime`) / `C030` >= (uses `startTime`) / `C06` BETWEEN by datetime (`startTime`+`endTime`) / `C060` BETWEEN by date (`startTime`+`endTime`) / `C04` IS NOT NULL / `C05` IS NULL (no value). To only change the range keep the report's range `quota` and set `startTime`+`endTime`; to change the operator also set `quota`.
|
|
64
|
+
- `PartDate` — a date range; set `startTime`+`endTime`: `{"paramName":"date1","startTime":"yyyy-MM-dd HH:mm:ss","endTime":"yyyy-MM-dd HH:mm:ss"}`.
|
|
65
|
+
|
|
66
|
+
`quota` operators (Text = all; Number = the non-LIKE subset; Time = comparison/range/null subset using time fields):
|
|
67
|
+
|
|
68
|
+
| quota | operator | value |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| `C00` | IN | array `paramExpress` |
|
|
71
|
+
| `C01` | NOT IN | array `paramExpress` |
|
|
72
|
+
| `C06` | BETWEEN / 区间 | array `[min,max]` (Time: `startTime`+`endTime`) |
|
|
73
|
+
| `C060` | BETWEEN by date / 日期区间 (Time only) | `startTime`+`endTime` |
|
|
74
|
+
| `C02` / `C03` | `<` / `>` | single `paramExpress` |
|
|
75
|
+
| `C020` / `C030` | `<=` / `>=` | single `paramExpress` (Time: `endTime` / `startTime`) |
|
|
76
|
+
| `C30` / `C31` | LIKE / NOT LIKE (Text only) | single `paramExpress` |
|
|
77
|
+
| `C300` | CONTAIN (`LIKE '%v%'`, Text only) | single `paramExpress` |
|
|
78
|
+
| `C04` / `C05` | IS NOT NULL / IS NULL | no value (`C04` empty default = no filter) |
|
|
79
|
+
|
|
80
|
+
- An unknown `paramName` (not present in the report) or malformed JSON returns an error.
|
|
49
81
|
|
|
50
82
|
## Decision Rules
|
|
51
83
|
- `filters` / `group_by` cannot be written by hand based on experience alone: they must satisfy both the schema structure and the project's real metadata.
|
|
52
84
|
- `list_events` / `list_properties` must be learned from the corresponding reference docs before calling them.
|
|
53
|
-
- For the first run,
|
|
85
|
+
- For the first run, include all required parameters (`--project_id`, `--report_ids`, `--request_id`) and add optional parameters after confirming the chain works.
|
|
86
|
+
- Generate and pass `--request_id` before starting any cancelable query; it is required. If `fetch failed`, HTTP timeout, or caller timeout happens, the backend query may still be running; call `+cancel_query --request_id <same value>` with the preset ID. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. Omitted or blank IDs return `REQUEST_ID_REQUIRED`; invalid format returns `INVALID_REQUEST_ID`.
|
|
54
87
|
- Wrap JSON parameters in single quotes (for example `--report_ids '{}'`, `--filters '{}'`) to avoid shell escaping issues.
|
|
55
88
|
- When dates/time ranges are involved, validate with a short range first and then expand gradually.
|
|
56
89
|
- For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
|
|
57
90
|
|
|
58
91
|
## Next Step After Failure
|
|
59
|
-
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--report_ids`).
|
|
92
|
+
- If required parameters are missing, fall back to the smallest runnable command and fill them in (focus on `--project_id`, `--report_ids`, `--request_id`).
|
|
60
93
|
- If `Invalid JSON` appears, first check the required schema fields, then verify that the event name/property name comes from metadata queried in the same `project_id`.
|
|
61
94
|
- If the query times out or the result is abnormal, first reduce the time range/grouping dimensions, then split the query to locate the issue.
|
|
62
95
|
|
|
63
96
|
## Recommended Chaining
|
|
64
97
|
- +get_filter_schema -> +get_groupby_schema -> analysis_meta +list_events -> analysis_meta +list_properties -> +query_report_data
|
|
98
|
+
- (SQL-model report, override dynamic params) +get_report_definition -> +query_report_data --sql_params '[...]'
|
|
65
99
|
- +list_reports -> +get_report_definition -> +query_report_data
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# analysis_audience +update_id_cluster (Update ID Cluster)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Cluster Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing ID cluster by re-uploading CSV file content as plain text.
|
|
9
|
+
- The cluster is identified by `cluster_name`. The operation is asynchronous.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
```bash
|
|
13
|
+
ae-cli analysis_audience +update_id_cluster --project_id <project_id> --cluster_name my_id_cluster --file_content "user_001
|
|
14
|
+
user_002"
|
|
15
|
+
ae-cli analysis_audience +update_id_cluster --dry-run
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
22
|
+
| `--cluster_name` | Yes | Cluster name to update |
|
|
23
|
+
| `--file_content` | Yes | New CSV file content as plain text. No header row, UTF-8 encoding. Each row contains one user ID. Max 100MB. |
|
|
24
|
+
| `--display_name` | No | Optional new display name |
|
|
25
|
+
| `--remarks` | No | Optional new remarks (max 200 characters) |
|
|
26
|
+
| `--main_column_name` | No | Optional new main column name for ID matching |
|
|
27
|
+
|
|
28
|
+
## Return Value
|
|
29
|
+
Returns `clusterId`, `uploadNum`, `userNum`, `unmatchedNum`, and `clusterName`.
|
|
30
|
+
|
|
31
|
+
## Decision Rules
|
|
32
|
+
- Use `+list_clusters` to confirm the cluster name before updating.
|
|
33
|
+
- If file size exceeds 100MB, inform the user to upload directly via the web interface.
|
|
34
|
+
|
|
35
|
+
## Recommended Chain
|
|
36
|
+
- `+list_clusters` -> `+update_id_cluster`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# analysis_audience +update_id_tag (Update ID Tag)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Tag Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing ID tag by re-uploading CSV file content as plain text.
|
|
9
|
+
- The tag is identified by `tag_name`. The operation is asynchronous.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
```bash
|
|
13
|
+
ae-cli analysis_audience +update_id_tag --project_id <project_id> --tag_name vip_tag --file_content "user_001,gold
|
|
14
|
+
user_002,silver"
|
|
15
|
+
ae-cli analysis_audience +update_id_tag --dry-run
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
22
|
+
| `--tag_name` | Yes | Tag name to update |
|
|
23
|
+
| `--file_content` | Yes | New CSV file content as plain text. No header row, UTF-8 encoding. Column 1: user ID. Column 2: tag value (optional). Example: user_001,gold_member. Max 100MB. |
|
|
24
|
+
| `--display_name` | No | Optional new display name |
|
|
25
|
+
| `--remarks` | No | Optional new remarks (max 200 characters) |
|
|
26
|
+
| `--entity_id` | No | Entity ID to associate the tag with |
|
|
27
|
+
| `--main_column_name` | No | Optional new main column name for ID matching |
|
|
28
|
+
|
|
29
|
+
## Return Value
|
|
30
|
+
Returns `clusterId`, `uploadNum`, `userNum`, `unmatchedNum`, and `clusterName` (tag name).
|
|
31
|
+
|
|
32
|
+
## Decision Rules
|
|
33
|
+
- Use `+list_tags` to confirm the tag name before updating.
|
|
34
|
+
- If file size exceeds 100MB, inform the user to upload directly via the web interface.
|
|
35
|
+
|
|
36
|
+
## Recommended Chain
|
|
37
|
+
- `+list_tags` -> `+update_id_tag`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# analysis +update_report (Update Report)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
|
|
4
|
+
|
|
5
|
+
Domain: **Report Management**
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
- Update an existing report's name, description, or QP (query parameter JSON).
|
|
9
|
+
- At least one of `--report_name`, `--report_desc`, or `--qp` must be provided.
|
|
10
|
+
- When updating `--qp`, also provide `--report_model` for QP validation.
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
```bash
|
|
14
|
+
ae-cli analysis +update_report --project_id <project_id> --report_id <report_id> --version <version> --report_name "New Name"
|
|
15
|
+
ae-cli analysis +update_report --project_id <project_id> --report_id <report_id> --version <version> --qp '<qp_json>' --report_model 1
|
|
16
|
+
ae-cli analysis +update_report --dry-run
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
| Parameter | Required | Description |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `--project_id` / `-p` | Yes | Project ID |
|
|
23
|
+
| `--report_id` | Yes | Report ID to update |
|
|
24
|
+
| `--version` | Yes | Current report version number. Retrieve via `+get_report_definition`. |
|
|
25
|
+
| `--report_name` | No | New report name. Omit to keep existing. |
|
|
26
|
+
| `--report_desc` | No | New report description. Omit to keep existing. |
|
|
27
|
+
| `--qp` | No | New QP JSON string. Omit to keep existing. When provided, also supply `--report_model`. |
|
|
28
|
+
| `--report_model` | No | Analysis model type integer (e.g. 1=event, 2=retention). Required when `--qp` is provided. |
|
|
29
|
+
|
|
30
|
+
## Decision Rules
|
|
31
|
+
- Always call `+get_report_definition` first to retrieve the current `version` number before updating.
|
|
32
|
+
- Omitting all of `report_name`, `report_desc`, and `qp` will cause an error.
|
|
33
|
+
|
|
34
|
+
## Recommended Chain
|
|
35
|
+
- `+list_reports` -> `+get_report_definition` (to get version) -> `+update_report`
|
|
@@ -71,7 +71,7 @@ ae-cli <service> +<command> [options]
|
|
|
71
71
|
- Event list: `ae-cli analysis_meta +list_events -p <project_id>`
|
|
72
72
|
- Property list: `ae-cli analysis_meta +list_properties -p <project_id>`
|
|
73
73
|
- Metric list: `ae-cli analysis_meta +list_metrics -p <project_id>`
|
|
74
|
-
- Table columns: `ae-cli analysis +get_table_columns -p <project_id> --
|
|
74
|
+
- Table columns: `ae-cli analysis +get_table_columns -p <project_id> --table_ref <hive.schema.table|schema.table|table>`
|
|
75
75
|
|
|
76
76
|
### Report/dashboard queries
|
|
77
77
|
|