@thinkingai/ae-cli 6.1.11 → 6.1.13

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 (150) hide show
  1. package/README.md +0 -2
  2. package/README.zh.md +0 -2
  3. package/dist/{auth-NN55553T.js → auth-GBMV6TEJ.js} +2 -2
  4. package/dist/{auth-GDV3H5I4.js → auth-NDSXE54J.js} +4 -4
  5. package/dist/{capability-TPORIKRQ.js → capability-TAMDRZYV.js} +23 -10
  6. package/dist/{capability-VQNC5CF7.js → capability-U7TDEEEG.js} +23 -10
  7. package/dist/{chunk-GJJA4CQZ.js → chunk-3FY3RJ26.js} +0 -4
  8. package/dist/{chunk-GS2P7LFD.js → chunk-5XUSIK27.js} +2 -2
  9. package/dist/{chunk-7KQWSBSL.js → chunk-753BUTNZ.js} +3 -3
  10. package/dist/{chunk-VTXHDCBW.js → chunk-AFXA7BRK.js} +2 -2
  11. package/dist/chunk-IBH3LDAH.js +556 -0
  12. package/dist/{chunk-RBNKI5ZW.js → chunk-JUW4AJXN.js} +2 -2
  13. package/dist/{chunk-TS6BUGUY.js → chunk-QATA32VR.js} +3 -3
  14. package/dist/{chunk-Z3OXWCIA.js → chunk-S5NTSDBS.js} +2 -2
  15. package/dist/chunk-UIHQJK5E.js +556 -0
  16. package/dist/{chunk-VKD5WQKN.js → chunk-VLWOLBGZ.js} +142 -24
  17. package/dist/{chunk-YTG6Q75E.js → chunk-WZRX4KOH.js} +25 -3
  18. package/dist/{chunk-YV52FB5G.js → chunk-ZQKDZXDO.js} +1 -1
  19. package/dist/{cli-token-GL5MS5FK.js → cli-token-4UPER74P.js} +3 -3
  20. package/dist/{chunk-6A2FUCIS.js → client-L2YDMHQ6.js} +5 -6
  21. package/dist/{config-4VZNLBKF.js → config-OL2LWGBV.js} +4 -33
  22. package/dist/index.js +25 -38
  23. package/dist/{memory-RWJW4XFO.js → memory-MUP7PPL7.js} +4 -4
  24. package/dist/{memory-VO2ZJCRT.js → memory-U4O5PMXH.js} +4 -4
  25. package/dist/{metadata-YGTHR2XJ.js → metadata-UORZTW3T.js} +21 -11
  26. package/dist/{metadata-ZRN2GHPN.js → metadata-VVQ3AQT5.js} +21 -11
  27. package/dist/{model-CLUIK3K5.js → model-JTUEO5M4.js} +2 -2
  28. package/dist/{sync-3REDHGY6.js → sync-MOSFNBVR.js} +5 -5
  29. package/dist/{te-agent-XNPELAKX.js → te-agent-IFKZDHZI.js} +25 -18
  30. package/dist/{te-analysis-GJI5FZUL.js → te-analysis-KOKHJJPE.js} +1225 -450
  31. package/dist/{te-analysis-N2BRDJZ5.js → te-analysis-LLOCCBJ4.js} +1225 -450
  32. package/dist/{te-community-SQXKE5OO.js → te-community-HNKVTERD.js} +207 -12
  33. package/dist/{te-community-TYSNU3NQ.js → te-community-IWE5B7W6.js} +208 -12
  34. package/dist/{te-dataops-OWIADNSM.js → te-dataops-KQPYNAE3.js} +262 -145
  35. package/dist/{te-dataops-5TM7WZDI.js → te-dataops-KXCEB4CS.js} +262 -145
  36. package/dist/{te-engage-F7V55KVW.js → te-engage-BRLSRVQT.js} +960 -41
  37. package/dist/{te-engage-FMYAYCNV.js → te-engage-HE4OPZIT.js} +960 -41
  38. package/dist/{te-experiment-JWXOYJ3W.js → te-experiment-K5US7RMG.js} +115 -9
  39. package/dist/{te-experiment-UPDMHCAJ.js → te-experiment-WA7TFMEL.js} +115 -9
  40. package/dist/{te-kb-VRMEY3D4.js → te-kb-OIH3T6CS.js} +4 -4
  41. package/dist/{te-system-XGS5EQIQ.js → te-system-AZ3URMUO.js} +515 -11
  42. package/dist/{te-team-BZRDV2CM.js → te-team-GZPU6UWA.js} +5 -5
  43. package/dist/{update-HEDXGOJH.js → update-TOBFXF2V.js} +4 -4
  44. package/package.json +6 -6
  45. package/skills/ae-agent/SKILL.md +3 -3
  46. package/skills/ae-agent/references/list-skill-references.md +4 -4
  47. package/skills/ae-agent/references/read-skill-reference.md +10 -7
  48. package/skills/ae-agent/references/upload-skill-reference.md +11 -9
  49. package/skills/ae-analysis/SKILL.md +15 -12
  50. package/skills/ae-analysis/metadata_resolution.md +150 -0
  51. package/skills/ae-analysis/references/adhoc_export.md +17 -2
  52. package/skills/ae-analysis/references/adhoc_run.md +12 -8
  53. package/skills/ae-analysis/references/ai_models.md +31 -5
  54. package/skills/ae-analysis/references/analysis_data_retrieval.md +104 -16
  55. package/skills/ae-analysis/references/analysis_drilldown_contract.md +4 -4
  56. package/skills/ae-analysis/references/analysis_gateway_assets.md +12 -10
  57. package/skills/ae-analysis/references/artifact_download.md +4 -3
  58. package/skills/ae-analysis/references/asset_abnormal_list.md +5 -3
  59. package/skills/ae-analysis/references/asset_authentication_list.md +5 -3
  60. package/skills/ae-analysis/references/asset_search.md +5 -3
  61. package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
  62. package/skills/ae-analysis/references/bi_panel_page_data_run.md +4 -4
  63. package/skills/ae-analysis/references/catalog_export.md +28 -0
  64. package/skills/ae-analysis/references/catalog_list.md +44 -0
  65. package/skills/ae-analysis/references/command_index.md +72 -63
  66. package/skills/ae-analysis/references/dashboard_report_data_run.md +11 -4
  67. package/skills/ae-analysis/references/datatable_version_list.md +5 -3
  68. package/skills/ae-analysis/references/drilldown_entities_run.md +4 -4
  69. package/skills/ae-analysis/references/drilldown_events_run.md +2 -2
  70. package/skills/ae-analysis/references/drilldown_user_events_export.md +1 -1
  71. package/skills/ae-analysis/references/drilldown_user_events_run.md +2 -2
  72. package/skills/ae-analysis/references/entity_detail_run.md +4 -4
  73. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  74. package/skills/ae-analysis/references/event_detail_run.md +4 -4
  75. package/skills/ae-analysis/references/event_export.md +21 -0
  76. package/skills/ae-analysis/references/event_list.md +7 -6
  77. package/skills/ae-analysis/references/exchange_rule_list.md +5 -3
  78. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -2
  79. package/skills/ae-analysis/references/history_tag_data_drilldown_run.md +2 -2
  80. package/skills/ae-analysis/references/history_tag_data_run.md +2 -2
  81. package/skills/ae-analysis/references/metric_export.md +21 -0
  82. package/skills/ae-analysis/references/metric_list.md +8 -7
  83. package/skills/ae-analysis/references/property_export.md +21 -0
  84. package/skills/ae-analysis/references/property_list.md +9 -8
  85. package/skills/ae-analysis/references/query_context_get.md +20 -0
  86. package/skills/ae-analysis/references/query_create_result_cluster.md +1 -1
  87. package/skills/ae-analysis/references/report_change_log_list.md +1 -1
  88. package/skills/ae-analysis/references/report_create.md +3 -3
  89. package/skills/ae-analysis/references/report_data_run.md +8 -8
  90. package/skills/ae-analysis/references/report_update.md +3 -3
  91. package/skills/ae-analysis/references/report_version_rollback.md +1 -1
  92. package/skills/ae-analysis/references/rule_list.md +6 -4
  93. package/skills/ae-analysis/references/run_inspect.md +8 -5
  94. package/skills/ae-analysis/references/run_wait.md +37 -0
  95. package/skills/ae-analysis/references/user_cluster_export.md +13 -0
  96. package/skills/ae-analysis/references/user_cluster_list.md +6 -2
  97. package/skills/ae-analysis/references/user_cluster_member_export.md +5 -3
  98. package/skills/ae-analysis/references/user_cluster_member_list.md +4 -4
  99. package/skills/ae-analysis/references/user_tag_export.md +13 -0
  100. package/skills/ae-analysis/references/user_tag_list.md +6 -2
  101. package/skills/ae-analysis/references/user_tag_member_export.md +5 -3
  102. package/skills/ae-analysis/references/user_tag_member_list.md +4 -4
  103. package/skills/ae-analysis/references/virtual_property_create.md +2 -2
  104. package/skills/ae-community/SKILL.md +2 -2
  105. package/skills/ae-dataops/SKILL.md +4 -3
  106. package/skills/ae-dataops/references/dataops-flow-create.md +47 -3
  107. package/skills/ae-engage/SKILL.md +57 -7
  108. package/skills/ae-engage/references/activity-data-detail.md +61 -0
  109. package/skills/ae-engage/references/build-task-save-guide.md +37 -1
  110. package/skills/ae-engage/references/cancel-query-run.md +31 -0
  111. package/skills/ae-engage/references/common-metric.md +45 -0
  112. package/skills/ae-engage/references/config-item-analysis-report.md +14 -1
  113. package/skills/ae-engage/references/config-item-strategy-comparison.md +11 -1
  114. package/skills/ae-engage/references/config-item-trigger-report.md +15 -1
  115. package/skills/ae-engage/references/flow-metric-detail-report.md +134 -0
  116. package/skills/ae-engage/references/flow-metric-update.md +77 -0
  117. package/skills/ae-engage/references/flow-metric-user.md +118 -0
  118. package/skills/ae-engage/references/flow-node-metric-user.md +122 -0
  119. package/skills/ae-engage/references/flow-node-user.md +122 -0
  120. package/skills/ae-engage/references/preset-event.md +2 -0
  121. package/skills/ae-engage/references/push-record-query.md +32 -1
  122. package/skills/ae-engage/references/save-flow.md +14 -0
  123. package/skills/ae-engage/references/save-task.md +44 -0
  124. package/skills/ae-engage/references/scene-strategy-audience.md +12 -7
  125. package/skills/ae-engage/references/task-data-detail.md +9 -2
  126. package/skills/ae-engage/references/task-metric-detail.md +9 -2
  127. package/skills/ae-engage/references/task-submit-approval.md +3 -0
  128. package/skills/ae-experiment/SKILL.md +17 -4
  129. package/skills/ae-experiment/references/delete_metric.md +2 -0
  130. package/skills/ae-experiment/references/query_experiment_metric_trend.md +5 -5
  131. package/skills/ae-experiment/references/query_experiment_report_summary.md +4 -3
  132. package/skills/ae-experiment/references/query_experiment_sample_size_report.md +6 -5
  133. package/skills/ae-experiment/references/save_build_guide.md +39 -0
  134. package/skills/ae-experiment/references/save_experiment.md +11 -0
  135. package/skills/ae-experiment/references/save_metric.md +5 -1
  136. package/skills/ae-experiment/references/save_validate.md +33 -0
  137. package/skills/ae-experiment-design/SKILL.md +1 -1
  138. package/skills/ae-experiment-design/references/platform-operations.md +10 -4
  139. package/skills/ae-experiment-insight/references/platform-operations.md +10 -4
  140. package/skills/ae-metadata/SKILL.md +2 -1
  141. package/skills/ae-metadata/references/metadata_data_table_download.md +10 -2
  142. package/skills/ae-metadata/references/metadata_data_table_list.md +5 -2
  143. package/skills/ae-system/SKILL.md +66 -3
  144. package/dist/chunk-DT6Y3TD7.js +0 -232
  145. package/dist/chunk-MVDZ7DBQ.js +0 -231
  146. package/dist/chunk-NBPKWKRA.js +0 -51
  147. package/dist/client-DAIPF7XN.js +0 -23
  148. package/dist/raw-52B4UKO4.js +0 -71
  149. package/dist/te-meta-53BVXPFI.js +0 -95
  150. package/dist/te-meta-TOCBPBXI.js +0 -95
@@ -6,12 +6,19 @@ Typical closed loop: find the dashboard -> inspect its reports -> resolve exact
6
6
 
7
7
  Routing: read [`analysis_data_retrieval.md`](analysis_data_retrieval.md) before choosing this `run` command instead of `dashboard-report-data export`.
8
8
 
9
- Do not use this command for full, unknown-size, larger than 1000-row, or long-running dashboard report data; use `dashboard-report-data export`.
9
+ Do not use this command for full, unknown-size, larger than the current runtime synchronous maximum, or long-running dashboard report data; use `dashboard-report-data export`.
10
+
11
+ The dashboard surface also applies its configured response payload row/character
12
+ caps after each model query. When that payload cap is smaller than the model
13
+ boundary, returned rows are trimmed to the payload cap and `has_more=true` is
14
+ based on that observed trim. This is a real dashboard-response truncation, not
15
+ a boundary guess. Direct `report-data run` does not apply the dashboard payload
16
+ cap.
10
17
 
11
18
  Command:
12
19
 
13
20
  ```bash
14
- ae-cli analysis dashboard-report-data run --project-id <project_id> --dashboard-id <dashboard_id> [--report-ids '[1,2]'] [--filters '{...}'] [--cluster-query-scope GLOBAL|SLAVE] [--slave-cluster-id <id>] [--limit 100] [--timeout-seconds 180]
21
+ ae-cli analysis dashboard-report-data run --project-id <project_id> --dashboard-id <dashboard_id> [--report-ids '[1,2]'] [--filters '{...}'] [--cluster-query-scope GLOBAL|SLAVE] [--slave-cluster-id <id>] [--preview-rows 100] [--timeout-seconds 180]
15
22
  ```
16
23
 
17
24
  Cluster routing is optional. Omit it to follow the dashboard's saved physical-cluster configuration; this differs from report/ad-hoc current-self default. `GLOBAL` explicitly aggregates and `SLAVE` requires one ID returned by `analysis query-cluster list`. SQL dashboard reports reject effective `GLOBAL` and are reported as unsupported rather than silently queried elsewhere.
@@ -24,8 +31,8 @@ Cluster routing is optional. Omit it to follow the dashboard's saved physical-cl
24
31
 
25
32
  Dashboard `filters`, `start_time`, and `end_time` do not apply to SQL reports. The query still succeeds and returns those SQL report results. Inspect `data.warnings[]`; `OVERRIDE_IGNORED_FOR_MODEL` contains the affected SQL `report_ids` and `ignored_fields`. To change SQL conditions, query the SQL report directly with `analysis report-data run` and saved `definition.params` through `--sql-params`.
26
33
 
27
- Output is the gateway envelope. Verify `data.actual_cluster_query_scope`, optional `data.actual_slave_cluster_id`, and `data.cluster_query_scope_source`; `DASHBOARD_CONFIGURATION` means the caller omitted an explicit scope. `data` also contains bounded inline report data, warnings, `query_context_id`, and per-report drilldown options.
34
+ Output is the gateway envelope. Verify `data.actual_cluster_query_scope`, optional `data.actual_slave_cluster_id`, and `data.cluster_query_scope_source`; `DASHBOARD_CONFIGURATION` means the caller omitted an explicit scope. When at least one report exposes a follow-up action, `data` also contains `query_context_id` and compact per-report action summaries. Detailed coordinate options are available through `analysis query-context get`; a fully non-drillable dashboard result omits query context.
28
35
 
29
36
  An empty dashboard batch or report result with no rows is a successful query: it means the requested time range has no data. The command fails only when every returned report entry contains an explicit execution error. Mixed dashboard batches keep successful data and return `meta.partial`, counts, and per-report `meta.failures`.
30
37
 
31
- Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Pass the selected report source and merge only its returned coordinate fragments for the advertised action. Do not pass raw QP.
38
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Fetch the selected report source with `analysis query-context get` and merge only its returned coordinate fragments for the advertised action. Do not pass raw QP.
@@ -7,18 +7,20 @@ Do not use it for one version's full definition or table row history; use `datat
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis-meta datatable version-list --project-id <project_id> --datatable-id <datatable_id>
10
+ ae-cli analysis-meta datatable version-list --project-id <project_id> --datatable-id <datatable_id> --limit 50 --offset 0
11
11
  ae-cli analysis-meta datatable version-list --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.data_table_version.list`.
15
15
 
16
- Input sends `project_id`, `datatable_id`.
16
+ Input sends `project_id`, `datatable_id`, `limit`, and `offset`.
17
17
 
18
- Output `data.versions[]` contains historical metadata versions for the data table.
18
+ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`.
19
19
 
20
20
  ## Parameters
21
21
  | Parameter | Required | Description |
22
22
  |---|---|---|
23
23
  | `--project-id` | Yes | Numeric project ID. |
24
24
  | `--datatable-id` | Yes | Data table ID. |
25
+ | `--limit` / `-l` | No | Page size. Default: 50, maximum: 200. |
26
+ | `--offset` / `-o` | No | Zero-based page offset. Default: 0. |
@@ -13,11 +13,11 @@ ae-cli analysis drilldown-entities run \
13
13
  [--source '{"report_id":1001}'] \
14
14
  --coordinate '<merged returned row/column/metric coordinate>' \
15
15
  [--properties '[{...}]'] \
16
- [--limit 100] \
16
+ [--preview-rows 100] \
17
17
  [--timeout-seconds 120]
18
18
  ```
19
19
 
20
- `--project-id` must be the project used by the synchronous preview and must match the stored query context. The context, source, and coordinate must all come from that same preview. Select a visible row from `row_options`, a drillable column from `column_options`, and the relevant metric option; shallow-merge their coordinate fragments. Never send `row_index`, `column_index`, `values`, `label`, `target_id`, raw QP, or a coordinate derived from an export file.
20
+ `--project-id` must be the project used by the synchronous preview and must match the stored query context. The context, source, and coordinate must all come from that same preview. First call `analysis query-context get`; select a visible row from its `row_options`, a drillable column from `column_options`, and the relevant metric option, then shallow-merge their coordinate fragments. Never send `row_index`, `column_index`, `values`, `label`, `target_id`, raw QP, or a coordinate derived from an export file.
21
21
 
22
22
  Property support depends on the returned subject:
23
23
 
@@ -26,9 +26,9 @@ Property support depends on the returned subject:
26
26
 
27
27
  ## Output and next intent
28
28
 
29
- The response contains `subject`, `items`, `total`, `returned_rows`, and `truncated`.
29
+ The response contains `subject`, `items`, exact `total` when available, `returned_rows`, and `has_more`.
30
30
 
31
31
  - `subject.type=user`: items include canonical `user_id`; `attributes` always includes `#user_id`, `#account_id`, and `#distinct_id`, followed by requested user properties. `#user_id` is an internal association key that customers normally do not care about. In user-facing tables or summaries, show account ID and visitor ID by default and keep `#user_id` only for machine linkage or explicit troubleshooting. If `drilldown_context_id` and the user-event follow-up are present, the Agent may ask for one returned user's event sequence with `analysis drilldown-user-events run|export`.
32
32
  - `subject.type=entity`: items contain `entity_value`; do not call user-event commands because non-user entities have no event sequence.
33
- - When `truncated=true` or complete membership is requested, repeat the same context/source/coordinate with `analysis drilldown-entities export`. Do not page this command.
33
+ - When `has_more=true` or complete membership is requested, repeat the same context/source/coordinate with `analysis drilldown-entities export`. Do not page this command.
34
34
  - Creating a result cluster is a sibling action from the original analysis cell, not from an entity row. Use the original `query_context_id`, source, and coordinate with `analysis query create-result-cluster` only if that action was advertised.
@@ -13,7 +13,7 @@ ae-cli analysis drilldown-events run \
13
13
  [--source '{"report_id":1001}'] \
14
14
  --coordinate '{"group_values":["Beijing"],"date":"2026-07-16","metric_index":0}' \
15
15
  [--properties '[{...}]'] \
16
- [--limit 100] \
16
+ [--preview-rows 100] \
17
17
  [--timeout-seconds 120]
18
18
  ```
19
19
 
@@ -21,4 +21,4 @@ ae-cli analysis drilldown-events run \
21
21
 
22
22
  `--properties` is an optional exact event-property projection. Omit it for default columns; string arrays such as `["#event_time"]` are invalid. Each item uses the backend field names `columnName` and `tableType`, for example `[{"columnName":"<event_property_name>","tableType":"event"}]`. `tableType` uses the documented name `event`, not a numeric enum code. Required system event columns remain present, but unrelated event properties must not be returned.
23
23
 
24
- The response contains at most `limit` event rows from that selected preview cell. `total` is the exact number of matching events, `returned_rows` is the number included in this response, and `truncated=true` means more matching events exist. This command has no paging offset. When complete event detail is required, call `analysis drilldown-events export` once with the same returned context/source/coordinate; that sibling capability uses the backend full-download stream and does not page or enlarge the synchronous selection boundary.
24
+ The response contains at most `preview_rows` event rows from that selected preview cell. `total` is the exact number of matching events, `returned_rows` is the number included in this response, and `has_more=true` means more matching events exist. This command has no paging offset. When complete event detail is required, call `analysis drilldown-events export` once with the same returned context/source/coordinate; that sibling capability uses the backend full-download stream and does not page or enlarge the synchronous selection boundary.
@@ -19,7 +19,7 @@ ae-cli analysis drilldown-user-events export \
19
19
 
20
20
  The nested backend keys are exactly `columnName` and `tableType`, and the table type is the named value `event`. String-name arrays, numeric enum codes, and snake_case rewrites are invalid. With an explicit projection, the artifact retains `#user_id`, account ID, visitor ID, event name, and event time and appends exactly the requested event properties. `#user_id` is internal; Agents should normally present account ID and visitor ID to customers.
21
21
 
22
- Use the exact `drilldown_context_id` and canonical `user_id` returned by a user-subject `analysis drilldown-entities run`. Do not use a custom entity, an entity export artifact, or a guessed identity. Export does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`; Common builds the same authorized event-sequence query without the synchronous 1000-row preview cap and streams one `csv.gz` artifact. The platform full-download ceiling (`model_full_download_limit`) still applies.
22
+ Use the exact `drilldown_context_id` and canonical `user_id` returned by a user-subject `analysis drilldown-entities run`. Do not use a custom entity, an entity export artifact, or a guessed identity. Export does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`; Common builds the same authorized event-sequence query without the synchronous preview boundary and streams one `csv.gz` artifact. The platform full-download ceiling (`model_full_download_limit`) still applies.
23
23
 
24
24
  For a `scope=total` source coordinate, there is no single selected date. Common
25
25
  preserves the machine date coordinates returned by the source query together
@@ -14,7 +14,7 @@ ae-cli analysis drilldown-user-events run \
14
14
  --drilldown-context-id <drilldown_context_id> \
15
15
  --user-id <user_id> \
16
16
  [--sort-order desc] \
17
- [--limit 100] \
17
+ [--preview-rows 100] \
18
18
  [--timeout-seconds 120]
19
19
  ```
20
20
 
@@ -39,4 +39,4 @@ Do not call this command merely because an entity row looks like a user. The exp
39
39
 
40
40
  ## Output
41
41
 
42
- The response contains at most `limit` event rows. When `truncated=true`, use `analysis drilldown-user-events export`; do not attempt to fetch another page.
42
+ The response contains at most `preview_rows` event rows. When `has_more=true`, use `analysis drilldown-user-events export`; do not attempt to fetch another page.
@@ -10,7 +10,7 @@ Use this command for the first small entity detail preview that fits inline. It
10
10
  ae-cli analysis entity-detail run \
11
11
  --project-id <project_id> \
12
12
  --definition '{"entity":"user","cohort":{"relation":"and","items":[{"field":{"name":"level","type":"user_property"},"operator":"gte","values":[1]}]},"properties":[{"name":"country","type":"user_property"}],"sort":[{"field":"#user_id","order":"asc"}]}' \
13
- --limit 100
13
+ --preview-rows 100
14
14
  ```
15
15
 
16
16
  Input:
@@ -19,7 +19,7 @@ Input:
19
19
  - `--request-id` optional `cli_<32 lowercase hex>` lifecycle ID.
20
20
  - `--use-cache` optional boolean.
21
21
  - `--zone-offset` optional number.
22
- - `--limit` first inline preview rows, default 100, max 1000.
22
+ - `--preview-rows` bounds returned business rows. Omit it to use the current cluster synchronous limit; explicit values are checked against that runtime maximum. Agents should normally pass 100.
23
23
  - `--timeout-seconds` sync timeout, default 120, max 180.
24
24
 
25
25
  `entity` may be `"user"` for the default user entity or `{ "id": 123 }` in multi-entity projects.
@@ -50,8 +50,8 @@ Supported `cohort.items[].field.type` values are `user_property`, `tag`, and `cl
50
50
 
51
51
  Do not put raw QP at the capability top level. Use `properties` items as strings or `{ "name": "...", "type": "user_property" }`, not `columnName/tableType`.
52
52
 
53
- Do not use this command for full, unknown-size, or later-page detail retrieval. Use `analysis entity-detail export` and check its artifact metadata for `truncated`.
53
+ Do not use this command for full, unknown-size, or later-page detail retrieval. Use `analysis entity-detail export` and inspect its artifact metadata.
54
54
 
55
55
  Output:
56
56
 
57
- Returns JSON with `items`, `total`, `limit`, `returned_rows`, `truncated`, `column_meta`, and `request_id`. `truncated=true` means the preview hit its row cap or the backend reported more rows; use `analysis entity-detail export` instead of trying to page or claiming completeness.
57
+ Returns JSON with `items`, exact `total` when available, `returned_rows`, `has_more`, `column_meta`, and `request_id`. `has_more=true` means more rows exist; use `analysis entity-detail export` instead of trying to page or claiming completeness.
@@ -9,7 +9,7 @@ ae-cli analysis entity id-import-options --project-id <project_id> --entity-id <
9
9
  If the entity ID is not already known, discover it first instead of guessing:
10
10
 
11
11
  ```bash
12
- ae-cli project entity list --project-id <project_id> --fields '["entityId","entityName","columnName","entityType"]'
12
+ ae-cli project entity list --project-id <project_id> --fields '["entity_id","entity_name","column_name","select_type"]'
13
13
  ```
14
14
 
15
15
  - `match_mode=user_property`: `--association-property` is required and must be copied from `association_properties`; `#user_id` is forbidden.
@@ -10,7 +10,7 @@ Use this command for the first small event detail preview that fits inline. It i
10
10
  ae-cli analysis event-detail run \
11
11
  --project-id <project_id> \
12
12
  --definition '{"event":"login","time_range":{"mode":"absolute","start_time":"2026-07-01 00:00:00","end_time":"2026-07-01 23:59:59"},"properties":["#event_time",{"name":"country","type":"user_property"}],"sort":[{"field":"#event_time","order":"desc"}]}' \
13
- --limit 100
13
+ --preview-rows 100
14
14
  ```
15
15
 
16
16
  Input:
@@ -19,7 +19,7 @@ Input:
19
19
  - `--request-id` optional `cli_<32 lowercase hex>` lifecycle ID.
20
20
  - `--use-cache` optional boolean.
21
21
  - `--zone-offset` optional number, for example `8` for UTC+8.
22
- - `--limit` first inline preview rows, default 100, max 1000.
22
+ - `--preview-rows` bounds returned business rows. Omit it to use the current cluster synchronous limit; explicit values are checked against that runtime maximum. Agents should normally pass 100.
23
23
  - `--timeout-seconds` sync timeout, default 120, max 180.
24
24
 
25
25
  Definition shape:
@@ -53,8 +53,8 @@ Do not pass raw QP, `eventView`, `taFilters`, `columnName`, or `tableType`.
53
53
 
54
54
  When `definition.properties` is present, it is an exact projection: required system event columns remain, requested properties are appended, and unrelated properties must not be returned.
55
55
 
56
- Do not use this command for full, unknown-size, or later-page detail retrieval. Use `analysis event-detail export` and check its artifact metadata for `truncated`.
56
+ Do not use this command for full, unknown-size, or later-page detail retrieval. Use `analysis event-detail export` and inspect its artifact metadata.
57
57
 
58
58
  Output:
59
59
 
60
- Returns JSON with `items`, `total`, `limit`, `returned_rows`, `truncated`, `column_meta`, and `request_id`. `truncated=true` means the preview hit its row cap or the backend reported more rows; use `analysis event-detail export` instead of trying to page or claiming completeness.
60
+ Returns JSON with `items`, exact `total` when available, `returned_rows`, `has_more`, `column_meta`, and `request_id`. `has_more=true` means more rows exist; use `analysis event-detail export` instead of trying to page or claiming completeness.
@@ -0,0 +1,21 @@
1
+ # analysis-meta event export
2
+
3
+ Use when the user explicitly needs every accessible event, optionally filtered or projected, in one local file.
4
+
5
+ Do not use it for paginated discovery, raw tracked events, or analysis result data.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis-meta event export --project-id <project_id> --output <temporary_path>/events.json
11
+ ae-cli analysis-meta event export --project-id <project_id> --queries '["login","sign in"]' --fields '["event_name","event_desc"]' --output <temporary_path>/events.json
12
+ ae-cli analysis-meta event export --dry-run
13
+ ```
14
+
15
+ Capability id: `metadata.event.export`.
16
+
17
+ Input: the gateway receives `project_id` plus optional `queries`, `fields`, and `authenticated_only`; `output` is local-only.
18
+
19
+ Output: a successful response must prove `complete=true` and `total` equal to the row count before the CLI atomically publishes a private-mode `.json` array.
20
+
21
+ Do not use pagination or repeated `list` calls to recreate this behavior. Search the output file locally and keep full rows out of model context.
@@ -8,24 +8,25 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta event list --project-id <project_id>
11
- ae-cli analysis-meta event list --project-id <project_id> --query login --fields '["event_name","event_desc","authentication_status"]' --limit 20 --offset 0 --authenticated-only
11
+ ae-cli analysis-meta event list --project-id <project_id> --queries '["login","sign in"]' --fields '["event_name","event_desc","authentication_status"]' --limit 50 --offset 0 --authenticated-only
12
12
  ae-cli analysis-meta event list --dry-run
13
13
  ```
14
14
 
15
15
  Capability id: `metadata.event.list`.
16
16
 
17
- Input sends `project_id`, `query`, `fields`, `limit`, `offset`, and `authenticated_only`.
17
+ Input sends `project_id`, `queries`, `fields`, `limit`, `offset`, and `authenticated_only`.
18
18
 
19
19
  Use snake_case projection fields: `event_id`, `event_name`, `event_desc`, `remark`, `event_tag`, `authentication_status`. Do not send legacy camelCase field names.
20
20
 
21
- Output `data.events[]` contains project super-event metadata records.
21
+ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`.
22
22
 
23
23
  ## Parameters
24
24
  | Parameter | Required | Description |
25
25
  |---|---|---|
26
26
  | `--project-id` | Yes | Numeric project ID. |
27
- | `--query` / `-q` | No | Optional keyword filter. Fuzzy match is applied to `event_name`, `event_desc`, and `remark`. |
27
+ | `--queries` | No | JSON array of 1-20 keyword filters. A row is returned when any keyword matches `event_name`, `event_desc`, or `remark`. |
28
28
  | `--fields` / `-f` | No | Optional JSON array of snake_case fields to return. |
29
- | `--limit` / `-l` | No | Optional page size. When omitted, existing full-list behavior is preserved. Maximum: 50. |
30
- | `--offset` / `-o` | No | Optional zero-based page offset. |
29
+ | `--limit` / `-l` | No | Page size. Default: 50, maximum: 200; values outside 1..200 are rejected. |
30
+ | `--offset` / `-o` | No | Zero-based page offset. Default: 0; negative values are rejected. |
31
31
  | `--authenticated-only` | No | When true, return only authenticated events and include `authentication_status` when projected. |
32
+ For a complete result, use `analysis-meta event export`; do not page repeatedly to synthesize an export.
@@ -7,17 +7,19 @@ Do not use it to validate or persist proposed rules; use `exchange rule-validate
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis-meta exchange rule-list --project-id <project_id>
10
+ ae-cli analysis-meta exchange rule-list --project-id <project_id> --limit 50 --offset 0
11
11
  ae-cli analysis-meta exchange rule-list --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.exchange_rule.list`.
15
15
 
16
- Input sends `project_id`.
16
+ Input sends `project_id`, `limit`, and `offset`.
17
17
 
18
- Output `data.rules[]` contains the project's current exchange rules.
18
+ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`.
19
19
 
20
20
  ## Parameters
21
21
  | Parameter | Required | Description |
22
22
  |---|---|---|
23
23
  | `--project-id` | Yes | Numeric project ID. |
24
+ | `--limit` / `-l` | No | Page size. Default: 50, maximum: 200. |
25
+ | `--offset` / `-o` | No | Zero-based page offset. Default: 0. |
@@ -1,13 +1,15 @@
1
1
  # analysis history-tag-data-drilldown export
2
2
 
3
- Export all users for one value/bucket returned by `history-tag-data run/export` as an async jsonl artifact.
3
+ Stream the native full user download for one value/bucket returned by `history-tag-data run/export` as an async gzip artifact.
4
4
 
5
5
  Do not use it for an inline sample or for a group value that did not come from the upstream statistics response. Output is an async descriptor with `run_id` and `artifact_id`, not the user rows themselves.
6
6
 
7
- Flags: `--project-id`, `--tag-name`, `--snapshot-date`, `--group-col`, `--view` required. Optional: `--property-names`, `--fields`, `--query`, `--use-cache`, `--request-id`, `--artifact-format jsonl`, `--timeout-seconds`.
7
+ Flags: `--project-id`, `--tag-name`, `--snapshot-date`, `--group-col`, `--view` required. Optional: `--property-names`, `--request-id`, `--artifact-format jsonl|csv`, `--timeout-seconds`. The default format is `jsonl`.
8
8
 
9
9
  Use the same `--view` that produced the statistic row. `--group-col` must be the exact statistic value or bucket label. Download the artifact only after `analysis run inspect` reports success.
10
10
 
11
+ Common executes the native history-tag full-download SQL once and streams rows as `jsonl.gz` or `csv.gz`; it does not concatenate preview pages.
12
+
11
13
  ```bash
12
14
  ae-cli analysis history-tag-data-drilldown export --project-id <project_id> --tag-name user_level --snapshot-date 2026-07-01 --group-col VIP --view '{"recent_day":"0-31","time_particle_size":"T1","first_day_of_week":1,"interval_type":"default","array_group_type":"array_item_group"}' --artifact-format jsonl
13
15
  ae-cli analysis run inspect --run-id <run_id>
@@ -4,10 +4,10 @@ Run a bounded inline user drilldown for one value/bucket returned by `history-ta
4
4
 
5
5
  Do not use it for complete or unknown-size drilldown data. Output contains only the bounded inline user result; use export when truncation would change the answer.
6
6
 
7
- Flags: `--project-id`, `--tag-name`, `--snapshot-date`, `--group-col`, `--view` required. Optional: `--property-names`, `--fields`, `--query`, `--use-cache`, `--request-id`, `--limit`, `--timeout-seconds`.
7
+ Flags: `--project-id`, `--tag-name`, `--snapshot-date`, `--group-col`, `--view` required. Optional: `--property-names`, `--fields`, `--query`, `--use-cache`, `--request-id`, `--preview-rows`, `--timeout-seconds`.
8
8
 
9
9
  Use the same `--view` that produced the statistic row. `--group-col` must be the exact statistic value or bucket label. Use export for full drilldown users; this command has no next-page contract.
10
10
 
11
11
  ```bash
12
- ae-cli analysis history-tag-data-drilldown run --project-id <project_id> --tag-name user_level --snapshot-date 2026-07-01 --group-col VIP --view '{"recent_day":"0-31","time_particle_size":"T1","first_day_of_week":1,"interval_type":"default","array_group_type":"array_item_group"}' --limit 100
12
+ ae-cli analysis history-tag-data-drilldown run --project-id <project_id> --tag-name user_level --snapshot-date 2026-07-01 --group-col VIP --view '{"recent_day":"0-31","time_particle_size":"T1","first_day_of_week":1,"interval_type":"default","array_group_type":"array_item_group"}' --preview-rows 100
13
13
  ```
@@ -4,12 +4,12 @@ Run a bounded inline history tag statistics query. Read `analysis_data_retrieval
4
4
 
5
5
  Output is bounded history-tag statistics, not member rows. Use `history-tag-data-drilldown run/export` for users behind a returned value or bucket.
6
6
 
7
- Flags: `--project-id`, `--tag-name`, `--view` required. Optional: `--request-id`, `--limit`, `--timeout-seconds`.
7
+ Flags: `--project-id`, `--tag-name`, `--view` required. Optional: `--request-id`, `--preview-rows`, `--timeout-seconds`.
8
8
 
9
9
  If you provide `--request-id`, use `cli_<32 lowercase hex>`. Omit it unless you need to correlate logs or cancel a known running query.
10
10
 
11
11
  `--view` is AI-facing history tag view JSON. It must include a history date range (`recent_day` or `start_time`/`end_time`) and `time_particle_size:"T1"`. Optional fields include `interval_type`, `property_range`, `time_particle`, `array_group_type`, and `column_splited_str`. Do not pass raw frontend wrapper DTOs.
12
12
 
13
13
  ```bash
14
- ae-cli analysis history-tag-data run --project-id <project_id> --tag-name user_level --view '{"recent_day":"0-31","time_particle_size":"T1","first_day_of_week":1,"interval_type":"default","array_group_type":"array_item_group"}' --limit 100
14
+ ae-cli analysis history-tag-data run --project-id <project_id> --tag-name user_level --view '{"recent_day":"0-31","time_particle_size":"T1","first_day_of_week":1,"interval_type":"default","array_group_type":"array_item_group"}' --preview-rows 100
15
15
  ```
@@ -0,0 +1,21 @@
1
+ # analysis-meta metric export
2
+
3
+ Use when the user explicitly needs every accessible metric, optionally filtered or projected, in one local file.
4
+
5
+ Do not use it to calculate metric values or for paginated discovery.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis-meta metric export --project-id <project_id> --output <temporary_path>/metrics.json
11
+ ae-cli analysis-meta metric export --project-id <project_id> --queries '["pay","revenue"]' --fields '["metric_name","metric_desc"]' --output <temporary_path>/metrics.json
12
+ ae-cli analysis-meta metric export --dry-run
13
+ ```
14
+
15
+ Capability id: `metadata.metric.export`.
16
+
17
+ Input: the gateway receives `project_id` plus optional `ignore_authentication`, `queries`, `fields`, and `authenticated_only`; `output` is local-only.
18
+
19
+ Output: a successful response must prove `complete=true` and `total` equal to the row count before the CLI atomically publishes a private-mode `.json` array.
20
+
21
+ Do not use pagination or repeated `list` calls to recreate this behavior. Search the output file locally and keep full rows out of model context.
@@ -9,29 +9,30 @@ Command:
9
9
  ```bash
10
10
  ae-cli analysis-meta metric list --project-id <project_id>
11
11
  ae-cli analysis-meta metric list --project-id <project_id> --ignore-authentication true
12
- ae-cli analysis-meta metric list --project-id <project_id> --query pay
13
- ae-cli analysis-meta metric list --project-id <project_id> --query pay --fields '["metric_name","authentication_status"]' --limit 10 --offset 0 --authenticated-only true
12
+ ae-cli analysis-meta metric list --project-id <project_id> --queries '["pay","revenue"]'
13
+ ae-cli analysis-meta metric list --project-id <project_id> --queries '["pay","revenue"]' --fields '["metric_name","authentication_status"]' --limit 50 --offset 0 --authenticated-only true
14
14
  ae-cli analysis-meta metric list --dry-run
15
15
  ```
16
16
 
17
17
  Capability id: `metadata.metric.list`.
18
18
 
19
- Input sends `project_id`, `ignore_authentication`, `query`, `fields`, `limit`, `offset`, and `authenticated_only`.
19
+ Input sends `project_id`, `ignore_authentication`, `queries`, `fields`, `limit`, `offset`, and `authenticated_only`.
20
20
 
21
- Output `data.metrics[]` contains project metric summaries. When `limit` or `offset` is present, output also includes `total`, `limit`, `offset`, and `has_more`.
21
+ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`.
22
22
 
23
23
  ## Parameters
24
24
  | Parameter | Required | Description |
25
25
  |---|---|---|
26
26
  | `--project-id` | Yes | Numeric project ID. |
27
27
  | `--ignore-authentication` | No | Whether to skip asset authentication status decoration. |
28
- | `--query` | No | Optional keyword filter. Fuzzy match on `metric_name`, `metric_desc`, and `metric_remark`. |
28
+ | `--queries` | No | JSON array of 1-20 keyword filters. A row is returned when any keyword matches `metric_name`, `metric_desc`, or `metric_remark`. |
29
29
  | `--fields` | No | Optional result field projection JSON array. Supported fields: `metric_id`, `metric_name`, `metric_desc`, `metric_remark`, `metric_mode`, `authentication_status`, `open_id`, `creator`, `creator_login_name`, `update_open_id`, `update_creator`, `update_login_name`, `create_time`, `update_time`. |
30
- | `--limit` | No | Optional page size. Default: 20 when pagination is used, maximum: 50. |
31
- | `--offset` | No | Optional zero-based result offset. Default: 0. |
30
+ | `--limit` | No | Page size. Default: 50, maximum: 200; values outside 1..200 are rejected. |
31
+ | `--offset` | No | Zero-based page offset. Default: 0; negative values are rejected. |
32
32
  | `--authenticated-only` | No | When true, return only authenticated metrics. |
33
33
 
34
34
  ## Decision Rules
35
35
  - Do not call this just to prepare normal ad-hoc analysis. Pass saved metric wording directly in `analysis adhoc run/export --definition`; the backend compiler resolves saved metric names internally.
36
36
  - Use `--fields` to keep discovery responses compact.
37
37
  - Use `analysis-meta metric get` after this command when a full metric definition is needed.
38
+ - For a complete result, use `analysis-meta metric export`; do not page repeatedly to synthesize an export.
@@ -0,0 +1,21 @@
1
+ # analysis-meta property export
2
+
3
+ Use when the user explicitly needs every accessible event or user property, including flat dimension-table and complex child rows, in one local file.
4
+
5
+ Do not use it for paginated discovery, property values, or analysis result data.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis-meta property export --project-id <project_id> --scope event --output <temporary_path>/properties.json
11
+ ae-cli analysis-meta property export --project-id <project_id> --scope event --event-name purchase --queries '["amount"]' --fields '["prop_name","prop_desc"]' --output <temporary_path>/properties.json
12
+ ae-cli analysis-meta property export --dry-run
13
+ ```
14
+
15
+ Capability id: `metadata.property.export`.
16
+
17
+ Input: the gateway receives `project_id` plus optional `table_type`, `scope`, `event_name`, `queries`, `fields`, and `authenticated_only`; `output` is local-only.
18
+
19
+ Output: a successful response must prove `complete=true` and `total` equal to the row count before the CLI atomically publishes a private-mode `.json` array.
20
+
21
+ Do not use pagination or repeated `list` calls to recreate this behavior. Search the output file locally and keep full rows out of model context.
@@ -1,6 +1,6 @@
1
1
  # analysis-meta property list
2
2
 
3
- Use when the user needs to browse or search event/user property metadata.
3
+ Use when the user needs to browse or search event/user property metadata, including dimension-table and complex child properties.
4
4
 
5
5
  Do not use it for property values. Use this command only when the user explicitly wants to inspect metadata or when a prior compiler error asks for disambiguation.
6
6
 
@@ -8,16 +8,16 @@ Command:
8
8
 
9
9
  ```bash
10
10
  ae-cli analysis-meta property list --project-id <project_id>
11
- ae-cli analysis-meta property list --project-id <project_id> --scope event --event-name purchase --query demo
12
- ae-cli analysis-meta property list --project-id <project_id> --query demo --fields '["prop_id","prop_name","prop_desc","prop_remark","select_type","table_type","authentication_status"]' --limit 20 --offset 0
11
+ ae-cli analysis-meta property list --project-id <project_id> --scope event --event-name purchase --queries '["demo","sample"]'
12
+ ae-cli analysis-meta property list --project-id <project_id> --queries '["demo","sample"]' --fields '["prop_id","prop_name","prop_desc","prop_remark","select_type","table_type","authentication_status"]' --limit 50 --offset 0
13
13
  ae-cli analysis-meta property list --dry-run
14
14
  ```
15
15
 
16
16
  Capability id: `metadata.property.list`.
17
17
 
18
- Input sends `project_id` and optional `table_type`, `scope`, `event_name`, `query`, `fields`, `limit`, `offset`, `authenticated_only`.
18
+ Input sends `project_id` and optional `table_type`, `scope`, `event_name`, `queries`, `fields`, `limit`, `offset`, and `authenticated_only`.
19
19
 
20
- Output `data.properties[]` contains property metadata. When `limit` or `offset` is provided, output also includes `total`, `limit`, `offset`, and `has_more`.
20
+ Output always uses the directory envelope: `data.items[]`, `total`, `limit`, `offset`, `has_more`, and `next_offset`. Dimension-table and complex child properties are returned as independent flat rows, so keyword search, field projection, and pagination apply to them in the same way as top-level properties.
21
21
 
22
22
  ## Parameters
23
23
  | Parameter | Required | Description |
@@ -26,10 +26,10 @@ Output `data.properties[]` contains property metadata. When `limit` or `offset`
26
26
  | `--table-type` | No | Optional property table type: `event` or `user`. |
27
27
  | `--scope` | No | Optional property scope: `event` or `user`. If omitted, all scopes are queried. |
28
28
  | `--event-name` | No | Optional event name filter for event properties. |
29
- | `--query` | No | Optional keyword filter. Fuzzy match is applied to property name, description, and remark. |
29
+ | `--queries` | No | JSON array of 1-20 keyword filters. A row is returned when any keyword matches property name, description, or remark. |
30
30
  | `--fields` | No | Optional fields to return as a JSON array. Supported fields: `prop_id`, `prop_name`, `prop_desc`, `prop_remark`, `select_type`, `table_type`, `sub_table_type`, `authentication_status`. |
31
- | `--limit` | No | Optional page size. |
32
- | `--offset` | No | Optional zero-based page offset. |
31
+ | `--limit` | No | Page size. Default: 50, maximum: 200; values outside 1..200 are rejected. |
32
+ | `--offset` | No | Zero-based page offset. Default: 0; negative values are rejected. |
33
33
  | `--authenticated-only` | No | When true, return only authenticated properties. |
34
34
 
35
35
  ## Decision Rules
@@ -37,3 +37,4 @@ Output `data.properties[]` contains property metadata. When `limit` or `offset`
37
37
  - Prefer `--scope event` or `--scope user` when the user needs a specific table type.
38
38
  - Use `--authenticated-only true` only when the user explicitly asks for authenticated assets.
39
39
  - For ad-hoc analysis, pass the user's property wording in the AI-facing `definition` instead of pre-querying property metadata.
40
+ - For a complete result, use `analysis-meta property export`; do not page repeatedly to synthesize an export.
@@ -0,0 +1,20 @@
1
+ # analysis query-context get
2
+
3
+ Read the full selectable coordinate options for one source from a bounded synchronous analysis preview.
4
+
5
+ The primary `adhoc run`, `report-data run`, or `dashboard-report-data run` response intentionally returns only a compact `sources[]` summary. Call this command only when that response contains `query_context_id`, `query_context_options_capability_id=analysis.query.context_get`, and an advertised follow-up action.
6
+
7
+ ## Command
8
+
9
+ ```bash
10
+ ae-cli analysis query-context get \
11
+ --project-id <project_id> \
12
+ --query-context-id <query_context_id> \
13
+ [--source '{"report_id":1001}']
14
+ ```
15
+
16
+ `--project-id` must match the project stored by the context. For a context with multiple sources, copy exactly one `report_id` or `chart_id` selector from the compact primary response. Omit `--source` only when the context contains one source.
17
+
18
+ The returned `source.drilldown` contains the complete `row_options`, `column_options`, and `metric_options` for the original synchronous preview. Select options and shallow-merge only their `coordinate` fragments as described in [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). The command never reruns or expands the query and never makes export rows selectable.
19
+
20
+ If the context is missing, expired, owned by another user, belongs to another project, or the caller no longer has source permission, the command fails. Do not reconstruct coordinates from display text.
@@ -22,7 +22,7 @@ ae-cli analysis query create-result-cluster \
22
22
 
23
23
  - `--project-id` must be the project used by the synchronous preview and must match the project stored by `query_context_id`.
24
24
  - `--query-context-id`, `--source`, and all coordinate fragments must come from the same synchronous `adhoc run`, `report-data run`, or `dashboard-report-data run` response.
25
- - Match the desired visible row and column in `source.drilldown.row_options`/`column_options`, select the correct metric option, and shallow-merge only their `coordinate` fragments.
25
+ - Call `analysis query-context get`, match the desired visible row and column in its `source.drilldown.row_options`/`column_options`, select the correct metric option, and shallow-merge only their `coordinate` fragments.
26
26
  - Never pass `target_id`, raw QP, display-only dates, option presentation fields, or data from an export/download. Exports do not create query contexts.
27
27
  - `--cluster-name` must be unique in the project, start with a lowercase letter, contain only lowercase letters, digits, and underscores, and be at most 24 characters. This legacy result-cluster path is stricter than ordinary cluster creation.
28
28
  - `--display-name`, when provided, must be at most 80 characters.
@@ -12,4 +12,4 @@ ae-cli analysis report-change-log list --project-id <project_id> --report-id <re
12
12
 
13
13
  Input sends `project_id` and `report_id`.
14
14
 
15
- Output is the gateway envelope. `data` contains change log summaries and `total`. Raw report QP fields are not returned in the list.
15
+ Output is the gateway envelope. `data` contains change log summaries and `total`. Only items with `can_rollback=true` are valid rollback sources; pass that item's `target_version` to `report-version rollback --target-version`. Create and unpack records are not rollbackable. Raw report QP fields are not returned in the list.
@@ -9,14 +9,14 @@ Read [`ai_models.md`](ai_models.md) for the single AI-facing model registry. Rep
9
9
  Command:
10
10
 
11
11
  ```bash
12
- ae-cli analysis report create --project-id <project_id> --report-name "Demo" --model-type event --definition '{...}' [--report-desc "..."] [--dashboard-ids "[1001]"]
12
+ ae-cli analysis report create --project-id <project_id> --report-name "Demo" --model-type event --definition '{...}' [--resolutions '<confirmed_resolution_json>'] [--report-desc "..."] [--dashboard-ids "[1001]"]
13
13
  ```
14
14
 
15
- Input sends `project_id`, `report_name`, `model_type`, `definition`, optional `report_desc`, `cache_seconds`, `query_duration_ms`, and `dashboard_ids`.
15
+ Input sends `project_id`, `report_name`, `model_type`, `definition`, optional user-confirmed `resolutions`, `report_desc`, `cache_seconds`, `query_duration_ms`, and `dashboard_ids`. `--resolutions` is not supported with `--model-type tag`.
16
16
 
17
17
  Output is the gateway envelope. `data` contains the created `report_id`, creation status, normalized `model_type`, AI QP `definition`, and optional resolution warnings.
18
18
 
19
- Report creation and its `--validate` / `--dry-run` paths use the same compiler contract. `AI_QP_COMPILE_FAILED` preserves `meta.compile_status`, full `meta.errors[]` (including `code`, `candidates`, and `suggestions`), `meta.resolved`, and `meta.warnings`. No report is created on this failure; select an exact returned candidate or ask the user before retrying.
19
+ Report creation and its `--validate` / `--dry-run` paths use the same compiler contract. `AI_QP_COMPILE_FAILED` preserves the full structured error array. No report is created on this failure; follow [`../metadata_resolution.md`](../metadata_resolution.md), keep the definition unchanged, and pass `--resolutions` only after user confirmation.
20
20
 
21
21
  ## SQL dynamic parameter shortest path
22
22
 
@@ -6,7 +6,7 @@ Typical closed loop: discover a saved report -> verify its definition -> resolve
6
6
 
7
7
  Routing: read [`analysis_data_retrieval.md`](analysis_data_retrieval.md) before choosing this `run` command instead of `report-data export`.
8
8
 
9
- Do not use this command for full, unknown-size, larger than 1000-row, or long-running report data; use `report-data export`.
9
+ Do not use this command for full, unknown-size, larger than the current runtime synchronous maximum, or long-running report data; use `report-data export`.
10
10
 
11
11
  This gateway report-data capability executes saved reports with model-specific overrides. It covers the 12 analysis report models from `ai_models.md` plus tag report data; tags are report-data only and are not ad-hoc `model_type` values.
12
12
 
@@ -22,19 +22,19 @@ Command:
22
22
 
23
23
  ```bash
24
24
  # Non-SQL analysis report
25
- ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --start-time 2026-07-01 --end-time 2026-07-09 --limit 20
25
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --filters '{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}' --start-time 2026-07-01 --end-time 2026-07-09 --preview-rows 20
26
26
 
27
27
  # SQL report, after analysis report get confirms definition.params contains platform
28
- ae-cli analysis report-data run --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --limit 20
28
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[2001]' --sql-params '[{"name":"platform","value":"ios"}]' --preview-rows 20
29
29
 
30
30
  # Explicit local-time mode (not UTC+99)
31
- ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --zone-offset 99 --limit 20
31
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --zone-offset 99 --preview-rows 20
32
32
 
33
33
  # One physical slave query cluster
34
- ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --cluster-query-scope SLAVE --slave-cluster-id jp --limit 20
34
+ ae-cli analysis report-data run --project-id <project_id> --report-ids '[1001]' --cluster-query-scope SLAVE --slave-cluster-id jp --preview-rows 20
35
35
  ```
36
36
 
37
- Input also accepts optional `cluster_query_scope` and conditional `slave_cluster_id`. Omit both for current-self data. Use `GLOBAL` only for explicit cross-cluster aggregation; use `SLAVE` with exactly one ID returned by `analysis query-cluster list`. SQL reports reject `GLOBAL`. Control defaults: `--limit` default 100 / max 1000, `--timeout-seconds` default 120 / max 180.
37
+ Input also accepts optional `cluster_query_scope` and conditional `slave_cluster_id`. Omit both for current-self data. Use `GLOBAL` only for explicit cross-cluster aggregation; use `SLAVE` with exactly one ID returned by `analysis query-cluster list`. SQL reports reject `GLOBAL`. Omit `--preview-rows` to use each report model's current cluster synchronous limit; explicit values must not exceed the runtime model limit. Agents should normally pass 100. `--timeout-seconds` defaults to 120 and has a maximum of 180.
38
38
 
39
39
  Timezone contract:
40
40
 
@@ -53,8 +53,8 @@ A homogeneous SQL request that includes `filters`, `group_by`, `start_time`, `en
53
53
 
54
54
  For a newly created or updated dynamic SQL report, omit `--sql-params` to execute the saved default first. After that succeeds, then make one second call with `--sql-params` to change only the requested value. This separates a broken saved default from a broken override and avoids repeating the same query.
55
55
 
56
- Output is the gateway envelope. `data` contains bounded inline report result items plus `query_context_id` and `sources[]`. Each source includes `effective_zone_offset`, the timezone value actually used for that query. When `zone_offset` is omitted, this is the resolved current-user timezone when available, otherwise the project default; when `zone_offset` is explicit, this is its resolved effective value. `sources[].drilldown` is present when the returned preview exposes follow-up actions. Each source is evaluated independently; SQL and other unsupported models have no actions.
56
+ Output is the gateway envelope. When at least one report exposes a follow-up action, `data` contains bounded inline report result items plus `query_context_id` and compact `sources[]` summaries. Each source includes `effective_zone_offset`, the timezone value actually used for that query. When `zone_offset` is omitted, this is the resolved current-user timezone when available, otherwise the project default; when `zone_offset` is explicit, this is its resolved effective value. SQL-only and otherwise non-drillable results omit query context entirely. Use `analysis query-context get` to read the selected source's full coordinate options.
57
57
 
58
58
  `meta.actual_cluster_query_scope`, optional `meta.actual_slave_cluster_id`, and `meta.cluster_query_scope_source` describe the actual physical route. Verify them before comparing or drilling down. An empty batch or report result with no rows is a successful query: it means the requested time range has no data. The command fails only when every returned report entry contains an explicit execution error.
59
59
 
60
- Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Select only returned row/column/metric options and call only the advertised event, entity, or result-cluster action. Do not pass raw QP.
60
+ Read [`analysis_drilldown_contract.md`](analysis_drilldown_contract.md). Call `analysis query-context get`, select only its returned row/column/metric options, and call only the advertised event, entity, or result-cluster action. Do not pass raw QP.