@thinkingai/ae-cli 6.0.18 → 6.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +8 -10
  2. package/README.zh.md +9 -11
  3. package/dist/{auth-DYC2BGLM.js → auth-I2G7OAU2.js} +2 -4
  4. package/dist/{auth-GHBMJ5ZR.js → auth-RDN6D5HU.js} +32 -104
  5. package/dist/{chunk-5OC7CYCG.js → chunk-2W7HULUD.js} +14 -14
  6. package/dist/chunk-4EUZRJPO.js +163 -0
  7. package/dist/{chunk-DMMEPCST.js → chunk-5FBLRSMU.js} +25 -115
  8. package/dist/{chunk-BJX3GXWC.js → chunk-E34XH4GW.js} +2 -2
  9. package/dist/chunk-FPE5LGVU.js +105 -0
  10. package/dist/{chunk-I5CRVM2S.js → chunk-H52CSLJW.js} +44 -17
  11. package/dist/{chunk-RSHMZ3LG.js → chunk-U6QPKCN3.js} +6 -20
  12. package/dist/{chunk-6W4QOZAL.js → chunk-WPXHCP4A.js} +23 -13
  13. package/dist/{chunk-PN3OS34E.js → chunk-XE2PI5DS.js} +1 -1
  14. package/dist/{chunk-2DUEAXV3.js → chunk-YACCPUNQ.js} +1 -1
  15. package/dist/cli-token-6AGEDJF4.js +14 -0
  16. package/dist/{client-2UJ63MVQ.js → client-VTJMUZ4O.js} +3 -3
  17. package/dist/{config-NCUGK6NS.js → config-2SDTLGOC.js} +3 -3
  18. package/dist/index.js +314 -197
  19. package/dist/metadata-JZ2OTWBK.js +420 -0
  20. package/dist/{model-SJSOZTRS.js → model-ZYMRN4VS.js} +2 -2
  21. package/dist/{raw-7NVWSVJP.js → raw-NGYHAL3F.js} +4 -4
  22. package/dist/{sync-GRVO4K3U.js → sync-JVLX6TGW.js} +3 -3
  23. package/dist/{te-agent-KZRIEN4N.js → te-agent-QPZTLHPH.js} +545 -21
  24. package/dist/{te-analysis-VAR4KUOK.js → te-analysis-WWX3Z6RP.js} +352 -52
  25. package/dist/te-audience-UXGHUVBB.js +599 -0
  26. package/dist/{te-common-WNCZB7R7.js → te-common-7XXH73MF.js} +5 -4
  27. package/dist/{te-community-JEEFXPB3.js → te-community-QKE67HR2.js} +5 -4
  28. package/dist/te-dataops-6W7NNYST.js +1841 -0
  29. package/dist/{te-engage-4XHCTS6I.js → te-engage-NCFAQFX3.js} +5 -4
  30. package/dist/{te-kb-B62KFP2A.js → te-kb-K5BQYUCM.js} +50 -26
  31. package/dist/{te-meta-EPZGQN56.js → te-meta-LJZBOSMO.js} +48 -24
  32. package/dist/{te-team-YY24VORI.js → te-team-DHK5R7MV.js} +5 -6
  33. package/package.json +3 -2
  34. package/skills/ae-agent/SKILL.md +103 -4
  35. package/skills/ae-analysis/SKILL.md +75 -21
  36. package/skills/ae-analysis/references/build_attribution_analysis_qp.md +62 -0
  37. package/skills/ae-analysis/references/build_cluster_definition.md +62 -0
  38. package/skills/ae-analysis/references/build_distribution_analysis_qp.md +67 -0
  39. package/skills/ae-analysis/references/build_event_analysis_qp.md +2 -0
  40. package/skills/ae-analysis/references/build_funnel_analysis_qp.md +2 -0
  41. package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +54 -0
  42. package/skills/ae-analysis/references/build_interval_analysis_qp.md +60 -0
  43. package/skills/ae-analysis/references/build_path_analysis_qp.md +53 -0
  44. package/skills/ae-analysis/references/build_prop_analysis_qp.md +2 -0
  45. package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +63 -0
  46. package/skills/ae-analysis/references/build_retention_analysis_qp.md +2 -0
  47. package/skills/ae-analysis/references/build_tag_definition.md +65 -0
  48. package/skills/ae-analysis/references/cancel_query.md +2 -3
  49. package/skills/ae-analysis/references/copy_dashboard.md +33 -0
  50. package/skills/ae-analysis/references/create_id_cluster.md +40 -0
  51. package/skills/ae-analysis/references/create_id_tag.md +39 -0
  52. package/skills/ae-analysis/references/delete_alert.md +27 -0
  53. package/skills/ae-analysis/references/delete_cluster.md +27 -0
  54. package/skills/ae-analysis/references/delete_dashboard.md +30 -0
  55. package/skills/ae-analysis/references/delete_metric.md +27 -0
  56. package/skills/ae-analysis/references/delete_report.md +27 -0
  57. package/skills/ae-analysis/references/delete_tag.md +27 -0
  58. package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
  59. package/skills/ae-analysis/references/drilldown_users.md +3 -3
  60. package/skills/ae-analysis/references/freeze_dashboards.md +29 -0
  61. package/skills/ae-analysis/references/get_table_columns.md +11 -12
  62. package/skills/ae-analysis/references/list_cluster_members.md +4 -4
  63. package/skills/ae-analysis/references/list_clusters.md +5 -3
  64. package/skills/ae-analysis/references/list_dashboards.md +3 -3
  65. package/skills/ae-analysis/references/list_entities.md +1 -1
  66. package/skills/ae-analysis/references/list_events.md +7 -4
  67. package/skills/ae-analysis/references/list_metrics.md +5 -3
  68. package/skills/ae-analysis/references/list_properties.md +6 -4
  69. package/skills/ae-analysis/references/list_reports.md +3 -3
  70. package/skills/ae-analysis/references/list_spaces.md +27 -0
  71. package/skills/ae-analysis/references/list_tag_members.md +4 -4
  72. package/skills/ae-analysis/references/list_tags.md +4 -2
  73. package/skills/ae-analysis/references/move_dashboard.md +33 -0
  74. package/skills/ae-analysis/references/query_adhoc.md +2 -2
  75. package/skills/ae-analysis/references/query_bi_panel_data.md +2 -2
  76. package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -4
  77. package/skills/ae-analysis/references/query_entity_details.md +4 -4
  78. package/skills/ae-analysis/references/query_event_details.md +3 -3
  79. package/skills/ae-analysis/references/query_report_data.md +37 -3
  80. package/skills/ae-analysis/references/update_id_cluster.md +36 -0
  81. package/skills/ae-analysis/references/update_id_tag.md +37 -0
  82. package/skills/ae-analysis/references/update_report.md +35 -0
  83. package/skills/ae-analysis-intent/SKILL.md +1 -1
  84. package/skills/ae-dataops/SKILL.md +54 -522
  85. package/skills/ae-dataops/references/dataops-flow-create.md +78 -75
  86. package/skills/ae-dataops/references/dataops-flow-monitor.md +58 -51
  87. package/skills/ae-dataops/references/dataops-integration.md +80 -41
  88. package/skills/ae-dataops/references/dataops-query.md +54 -53
  89. package/skills/ae-dataops/references/dataops-table.md +28 -59
  90. package/skills/ae-generate-tracking-code/SKILL.md +68 -31
  91. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +26 -1
  92. package/skills/ae-generate-tracking-code/references/te-api.md +47 -164
  93. package/skills/ae-generate-tracking-plan/SKILL.md +109 -32
  94. package/skills/ae-generate-tracking-plan/references/te-api.md +57 -27
  95. package/skills/ae-metadata/SKILL.md +90 -0
  96. package/skills/ae-metadata/references/metadata_data_table_csv_delete.md +15 -0
  97. package/skills/ae-metadata/references/metadata_data_table_csv_write.md +29 -0
  98. package/skills/ae-metadata/references/metadata_data_table_download.md +17 -0
  99. package/skills/ae-metadata/references/metadata_data_table_get.md +24 -0
  100. package/skills/ae-metadata/references/metadata_data_table_list.md +27 -0
  101. package/skills/ae-metadata/references/metadata_data_table_property_bindings_update.md +17 -0
  102. package/skills/ae-metadata/references/metadata_data_table_sql_delete.md +15 -0
  103. package/skills/ae-metadata/references/metadata_data_table_sql_write.md +31 -0
  104. package/skills/ae-metadata/references/metadata_event_get.md +52 -0
  105. package/skills/ae-metadata/references/metadata_input_file_upload.md +29 -0
  106. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +27 -0
  107. package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +30 -0
  108. package/skills/ae-metadata/references/metadata_property_get.md +54 -0
  109. package/dist/te-audience-KMKYI2YJ.js +0 -400
  110. package/dist/te-dataops-GD3XBYCS.js +0 -1830
@@ -0,0 +1,29 @@
1
+ # analysis +freeze_dashboards (Freeze / Unfreeze Dashboards)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Dashboard Management**
6
+
7
+ ## Use Cases
8
+ - Freeze one or more dashboards to take their scheduled refresh jobs offline.
9
+ - Unfreeze dashboards to bring scheduled jobs back online (for dashboards that have a schedule configured).
10
+
11
+ ## Commands
12
+ ```bash
13
+ ae-cli analysis_audience +freeze_dashboards --project_id <project_id> --dashboard_ids '[123, 456]' --freeze true
14
+ ae-cli analysis_audience +freeze_dashboards --project_id <project_id> --dashboard_ids '[123]' --freeze false
15
+ ae-cli analysis_audience +freeze_dashboards --dry-run
16
+ ```
17
+
18
+ ## Parameters
19
+ | Parameter | Required | Description |
20
+ |---|---|---|
21
+ | `--project_id` / `-p` | Yes | Project ID |
22
+ | `--dashboard_ids` | Yes | JSON array of dashboard IDs to freeze or unfreeze |
23
+ | `--freeze` | Yes | true to freeze, false to unfreeze |
24
+
25
+ ## Decision Rules
26
+ - Use `+list_dashboards` to confirm dashboard IDs before freezing.
27
+
28
+ ## Recommended Chain
29
+ - `+list_dashboards` -> `+freeze_dashboards`
@@ -5,16 +5,16 @@
5
5
  Domain: **Model analysis**
6
6
 
7
7
  ## Use Cases
8
- - Query the field list of a project table. Returns all column names and types under the specified catalog, schema, and table so the table schema can be understood before SQL analysis.
8
+ - Query the field list of a project table. Returns all column names and types for `tableRef` so the table schema can be understood before SQL analysis.
9
9
  - Table guide:
10
- - default.public.ta_event_1: catalog is default, schema is public, table is ta_event_1
11
- - public.ta_event_1: catalog is hive(default value), schema is public, table is ta_event_1
12
- - ta_event_1: catalog is hive(default value), schema is ta(default value), table is ta_event_1
13
- - Query the field list of a project table.
10
+ - `hive.ta_dim.datatable_1`: catalog is hive, schema is ta_dim, table is datatable_1.
11
+ - `ta_dim.datatable_1`: catalog defaults to hive, schema is ta_dim, table is datatable_1.
12
+ - `ta_event_1`: table only; resolved against project available tables and fails if ambiguous.
13
+ - The only common catalog is `hive`. Common hive schemas are `ta` (default analysis tables), `ta_dim` (dimension/datatable/exchange tables), `temp` (SQL temporary tables), and `ta_ext` (external datatable/API tables). Do not replace an explicit schema such as `ta_dim` with default `ta`.
14
14
 
15
15
  ## Command
16
16
  ```bash
17
- ae-cli analysis +get_table_columns --project_id <project_id> --catalog demo --schema demo --table demo
17
+ ae-cli analysis +get_table_columns --project_id <project_id> --table_ref hive.ta_dim.datatable_1
18
18
  ae-cli analysis +get_table_columns --dry-run
19
19
  ```
20
20
 
@@ -22,17 +22,16 @@ ae-cli analysis +get_table_columns --dry-run
22
22
  | Parameter | Required | Description |
23
23
  |---|---|---|
24
24
  | `--project_id` / `-p` | Yes | Project ID |
25
- | `--catalog` | Yes | Catalog name, default hive |
26
- | `--schema` | Yes | Schema name, default ta |
27
- | `--table` | Yes | Table name |
25
+ | `--table_ref` | Yes | Table reference. Supports `hive.schema.table`, `schema.table`, or `table`. If only `table` is provided, the backend resolves it against project available tables and fails on ambiguity. |
28
26
 
29
27
  ## Decision Rules
30
- - On the first run, start with only the required parameters (`--project_id`,`--catalog`,`--schema`), and add optional parameters after confirming the path works.
28
+ - Prefer a fully qualified `--table_ref` when the schema is known, especially for `ta_dim`, `temp`, or `ta_ext` tables.
29
+ - Use table-only `--table_ref <table>` only when you expect the table name to be unique in the project; if the backend returns ambiguity, retry with one of the returned fully qualified `tableRef` values.
31
30
  - For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
32
31
 
33
32
  ## Next Steps on Failure
34
- - If required parameters are missing, fall back to the smallest runnable command and fill them in first (focus on `--project_id`, `--catalog`, `--schema`).
35
- - If reading fails, first verify whether the object ID exists and belongs to the current project.
33
+ - If required parameters are missing, fill in `--project_id` and `--table_ref` first.
34
+ - If reading fails, first verify whether the `tableRef` exists, is unambiguous, and belongs to the current project permissions.
36
35
 
37
36
  ## Recommended chaining
38
37
  - +get_table_columns
@@ -28,17 +28,17 @@ ae-cli analysis_audience +list_cluster_members --dry-run
28
28
  | `--fields` | No | Optional return field list (JSON array). Invalid fields will fail with `INVALID_FIELDS`. |
29
29
  | `--limit` | No | Optional page size. Default: 20, max: 50. |
30
30
  | `--offset` | No | Optional page offset. Default: 0. |
31
- | `--request_id` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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
  | `--timeout_minutes` | No | Query timeout in minutes. If omitted, 30 minutes is used. |
33
33
 
34
34
  ## Decision Rules
35
- - For the first execution, it is recommended to pass only the required parameters (`--project_id`, `--cluster_name`) and add optional parameters after confirming the path works.
35
+ - For the first execution, include all required parameters (`--project_id`, `--cluster_name`, `--request_id`) and add optional parameters after confirming the path works.
36
36
  - `--property_names` must be passed as a JSON array (e.g. `--property_names '["#user_id"]'`).
37
- - For long-running or cancelable member queries, supply your own `--request_id` before starting so `analysis +cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
37
+ - 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`.
38
38
  - When troubleshooting across projects, first confirm whether `--project_id` matches the current permissions and target environment.
39
39
 
40
40
  ## Next Step on Failure
41
- - If required parameters are missing, fall back to the smallest runnable command and fill the gap (focus on `--project_id`, `--cluster_name`).
41
+ - If required parameters are missing, fall back to the smallest runnable command and fill the gap (focus on `--project_id`, `--cluster_name`, `--request_id`).
42
42
  - If the result is empty, first confirm the project ID/keyword, then try broadening the filter conditions.
43
43
 
44
44
  ## Recommended Chain
@@ -19,7 +19,7 @@ Domain: **Cluster Management**
19
19
  ```bash
20
20
  ae-cli analysis_audience +list_clusters --project_id <project_id>
21
21
  ae-cli analysis_audience +list_clusters --project_id <project_id> --query demo
22
- ae-cli analysis_audience +list_clusters --project_id <project_id> --fields '["id","clusterName","usersNum"]' --limit 20 --offset 0
22
+ ae-cli analysis_audience +list_clusters --project_id <project_id> --fields '["id","clusterName","displayName","remarks","clusterType","progress","usersNum"]' --limit 20 --offset 0
23
23
  ae-cli analysis_audience +list_clusters --dry-run
24
24
  ```
25
25
 
@@ -27,12 +27,14 @@ ae-cli analysis_audience +list_clusters --dry-run
27
27
  | Parameter | Required | Description |
28
28
  |---|---|---|
29
29
  | `--project_id` / `-p` | Yes | Project ID |
30
- | `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against cluster names, display names, and remarks; if omitted, all clusters are returned. |
31
- | `--fields` | No | Optional return field list (JSON array). Invalid fields will fail with `INVALID_FIELDS`. |
30
+ | `--query` / `-q` | No | Optional keyword filter. Performs fuzzy matching against clusterName, displayName, and remarks; if omitted, all clusters are returned. |
31
+ | `--fields` | No | Optional return field list (JSON array). Supported fields: `id`, `clusterName`, `displayName`, `clusterType`, `progress`, `usersNum`, `refreshStatus`, `remarks`, `authenticationStatus`. Default fields when omitted: `id`, `clusterName`, `displayName`, `remarks`, `clusterType`, `progress`, `usersNum`, `authenticationStatus`. Invalid fields will fail with `INVALID_FIELDS`. |
32
32
  | `--limit` | No | Optional page size. Default: 20, max: 50. |
33
33
  | `--offset` | No | Optional page offset. Default: 0. |
34
+ | `--authenticated_only` | No | When true, return only authenticated clusters. |
34
35
 
35
36
  ## Decision Rules
37
+ - Use `--authenticated_only true` only when the user explicitly asks for authenticated assets. `authenticationStatus` is `1` for authenticated and `0` for unauthenticated.
36
38
  - For the first execution, it is recommended to pass only the required parameters (`--project_id`) and add optional parameters after confirming the path works.
37
39
  - When troubleshooting across projects, first confirm whether `--project_id` matches the current permissions and target environment.
38
40
 
@@ -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 AI remarks; if omitted, all accessible dashboards are returned. |
30
- | `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `dashboardId`, `dashboardName`, `aiRemark`. |
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,11 +26,14 @@ 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 aiRemark; if omitted, all events are returned. |
30
- | `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `eventName`, `eventDesc`, `aiRemark`, `eventTag`, `remark`. |
31
- | `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
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`, `authenticationStatus`. Default fields when omitted: `eventId`, `eventName`, `eventDesc`, `remark`, `authenticationStatus`. |
31
+ | `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 50. |
32
32
  | `--offset` / `-o` | No | Optional page offset. Default: 0. |
33
+ | `--authenticated_only` | No | When true, return only authenticated events. |
34
+
33
35
  ## Decision Rules
36
+ - Use `--authenticated_only true` only when the user explicitly asks for authenticated assets. `authenticationStatus` is `1` for authenticated and `0` for unauthenticated.
34
37
  - For the first run, pass only the required parameter (`--project_id`) to confirm the path works, then add optional parameters.
35
38
  - For builder-supported ad-hoc analysis, pass the user's event wording to the builder instead of pre-querying event metadata.
36
39
  - For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
@@ -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,11 +29,13 @@ 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. |
33
- | `--limit` | No | Optional limit. Default: 20, maximum: 10000. |
32
+ | `--fields` | No | Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus. Invalid fields cause INVALID_FIELDS error. |
33
+ | `--limit` | No | Optional limit. Default: 20, maximum: 50. |
34
34
  | `--offset` | No | Optional offset. Default: 0. |
35
+ | `--authenticated_only` | No | When true, return only authenticated metrics. |
35
36
 
36
37
  ## Decision Rules
38
+ - Use `--authenticated_only true` only when the user explicitly asks for authenticated assets. `authenticationStatus` is `1` for authenticated and `0` for unauthenticated.
37
39
  - First run should only pass the required parameter (`--project_id`), and add optional parameters only after the path is confirmed to work.
38
40
  - For pagination, use `--limit` and `--offset` together. Default limit is 20.
39
41
  - Use `--fields` to select specific columns for lighter response payloads.
@@ -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,13 +26,15 @@ 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 aiRemark; if omitted, all matched properties are returned. |
30
- | `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `propName`, `propDesc`, `aiRemark`, `selectType`, `tableType`, `subTableType`. |
31
- | `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 10000. |
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`, `authenticationStatus`. Default fields when omitted: `propId`, `propName`, `propDesc`, `remark`, `selectType`, `tableType`, `authenticationStatus`. |
31
+ | `--limit` / `-l` | No | Optional page size. Default: 20, maximum: 50. |
32
32
  | `--offset` / `-o` | No | Optional page offset. Default: 0. |
33
+ | `--authenticated_only` | No | When true, return only authenticated properties. |
33
34
 
34
35
 
35
36
  ## Decision Rules
37
+ - Use `--authenticated_only true` only when the user explicitly asks for authenticated assets. `authenticationStatus` is `1` for authenticated and `0` for unauthenticated.
36
38
  - For the first run, pass only the required parameter (`--project_id`) to confirm the path works, then add optional parameters.
37
39
  - For builder-supported ad-hoc analysis, pass the user's property wording to the builder instead of pre-querying property metadata.
38
40
  - For cross-project troubleshooting, first confirm whether `--project_id` matches the current permissions and target environment.
@@ -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 report names, descriptions, and AI remarks; if omitted, all accessible reports are returned. |
30
- | `--fields` / `-f` | No | Optional fields to return (JSON array). Supported fields: `reportId`, `reportName`, `reportDesc`, `reportModel`, `aiRemark`. |
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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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, it is recommended to pass only the required parameters (`--project_id`, `--tag_name`) and add optional parameters after confirming the path works.
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
- - For long-running or cancelable member queries, supply your own `--request_id` before starting so `analysis +cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
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,11 +26,13 @@ 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`, `authenticationStatus`. Default fields when omitted: `id`, `clusterName`, `displayName`, `remarks`, `clusterType`, `subConditionTabType`, `progress`, `usersNum`, `authenticationStatus`. 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
+ | `--authenticated_only` | No | When true, return only authenticated tags. |
32
33
 
33
34
  ## Decision Rules
35
+ - Use `--authenticated_only true` only when the user explicitly asks for authenticated assets. `authenticationStatus` is `1` for authenticated and `0` for unauthenticated.
34
36
  - For the first execution, it is recommended to pass only the required parameters (`--project_id`) and add optional parameters after confirming the path works.
35
37
  - When troubleshooting across projects, first confirm whether `--project_id` matches the current permissions and target environment.
36
38
 
@@ -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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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, start with only the required parameters (`--project_id`,`--model_type`,`--qp`) only when the query is clearly small. For any query that may exceed the CLI/MCP HTTP timeout, include a preset `--request_id` from 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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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
- - For long-running or cancelable queries, supply your own `--request_id` before starting so `+cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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, start with only the required parameters (`--project_id`, `--dashboard_id`) and add optional parameters after confirming the path works.
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
- - For long-running or cancelable queries, supply your own `--request_id` before starting so `+cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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, it is recommended to pass only the required parameters (`--project_id`, `--definition`) and add optional parameters after confirming the chain works.
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
- - For long-running or cancelable queries, supply your own `--request_id` before starting so `+cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
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` | No | Optional unique request ID used for tracking and cancellation. If provided, it must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`. For long-running or cancelable queries, 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. The auto-generated requestId is not available when the HTTP request fails before a response, so preset `requestId` is required for proactive cleanup. Generated automatically if omitted. The response `metadata.requestId` can also be passed to `cancel_query` when the query is no longer needed. |
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, start with only the required parameters (`--project_id`, `--event_name`) and add optional parameters after confirming the path works.
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
- - For long-running or cancelable queries, supply your own `--request_id` before starting so `+cancel_query` can cancel by the same ID if the caller or user stops waiting. 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 auto-generated requestId is not available when the HTTP request fails before a response. The value must use `mcp_<32 lowercase hex UUID>`, for example `mcp_0123456789abcdef0123456789abcdef`.
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