@thinkingai/ae-cli 6.1.12 → 6.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) 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-DRLGDVS4.js → capability-TAMDRZYV.js} +18 -8
  6. package/dist/{capability-P6GK3AQH.js → capability-U7TDEEEG.js} +18 -8
  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-ZRN2GHPN.js → metadata-5MIMNIMT.js} +33 -20
  26. package/dist/{metadata-YGTHR2XJ.js → metadata-LERKDJN6.js} +33 -20
  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-FCHRTNIY.js} +1267 -492
  31. package/dist/{te-analysis-N2BRDJZ5.js → te-analysis-QG7UKGDA.js} +1267 -492
  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-L72HWRGO.js → te-engage-D6EG3NOR.js} +951 -17
  37. package/dist/{te-engage-QWM4GFS7.js → te-engage-ZSMIJLUW.js} +951 -17
  38. package/dist/{te-experiment-2T2HEZML.js → te-experiment-K5US7RMG.js} +6 -6
  39. package/dist/{te-experiment-PVEY7AEZ.js → te-experiment-WA7TFMEL.js} +6 -6
  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 +5 -5
  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 +35 -6
  54. package/skills/ae-analysis/references/alert_list.md +2 -3
  55. package/skills/ae-analysis/references/analysis_data_retrieval.md +104 -16
  56. package/skills/ae-analysis/references/analysis_drilldown_contract.md +4 -4
  57. package/skills/ae-analysis/references/analysis_gateway_assets.md +17 -15
  58. package/skills/ae-analysis/references/artifact_download.md +4 -3
  59. package/skills/ae-analysis/references/asset_abnormal_list.md +5 -3
  60. package/skills/ae-analysis/references/asset_authentication_list.md +5 -3
  61. package/skills/ae-analysis/references/asset_search.md +5 -3
  62. package/skills/ae-analysis/references/bi_panel_list.md +2 -2
  63. package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
  64. package/skills/ae-analysis/references/bi_panel_page_data_run.md +4 -4
  65. package/skills/ae-analysis/references/catalog_export.md +28 -0
  66. package/skills/ae-analysis/references/catalog_list.md +44 -0
  67. package/skills/ae-analysis/references/command_index.md +78 -69
  68. package/skills/ae-analysis/references/dashboard_list.md +2 -2
  69. package/skills/ae-analysis/references/dashboard_report_data_run.md +11 -4
  70. package/skills/ae-analysis/references/datatable_version_list.md +5 -3
  71. package/skills/ae-analysis/references/drilldown_entities_run.md +4 -4
  72. package/skills/ae-analysis/references/drilldown_events_run.md +2 -2
  73. package/skills/ae-analysis/references/drilldown_user_events_export.md +1 -1
  74. package/skills/ae-analysis/references/drilldown_user_events_run.md +2 -2
  75. package/skills/ae-analysis/references/entity_detail_run.md +4 -4
  76. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  77. package/skills/ae-analysis/references/event_detail_run.md +4 -4
  78. package/skills/ae-analysis/references/event_export.md +21 -0
  79. package/skills/ae-analysis/references/event_list.md +7 -6
  80. package/skills/ae-analysis/references/exchange_rule_list.md +5 -3
  81. package/skills/ae-analysis/references/favorite_add.md +2 -2
  82. package/skills/ae-analysis/references/favorite_remove.md +2 -2
  83. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -2
  84. package/skills/ae-analysis/references/history_tag_data_drilldown_run.md +2 -2
  85. package/skills/ae-analysis/references/history_tag_data_run.md +2 -2
  86. package/skills/ae-analysis/references/metric_create.md +7 -8
  87. package/skills/ae-analysis/references/metric_export.md +21 -0
  88. package/skills/ae-analysis/references/metric_list.md +8 -7
  89. package/skills/ae-analysis/references/project_space_list.md +2 -2
  90. package/skills/ae-analysis/references/property_export.md +21 -0
  91. package/skills/ae-analysis/references/property_list.md +9 -8
  92. package/skills/ae-analysis/references/public_link_list.md +2 -2
  93. package/skills/ae-analysis/references/query_context_get.md +20 -0
  94. package/skills/ae-analysis/references/query_create_result_cluster.md +1 -1
  95. package/skills/ae-analysis/references/report_change_log_list.md +1 -1
  96. package/skills/ae-analysis/references/report_create.md +3 -3
  97. package/skills/ae-analysis/references/report_data_run.md +8 -8
  98. package/skills/ae-analysis/references/report_list.md +3 -3
  99. package/skills/ae-analysis/references/report_list_export.md +2 -2
  100. package/skills/ae-analysis/references/report_update.md +3 -3
  101. package/skills/ae-analysis/references/report_version_rollback.md +1 -1
  102. package/skills/ae-analysis/references/rule_list.md +6 -4
  103. package/skills/ae-analysis/references/run_inspect.md +8 -5
  104. package/skills/ae-analysis/references/run_wait.md +37 -0
  105. package/skills/ae-analysis/references/sql_table_list.md +3 -2
  106. package/skills/ae-analysis/references/user_cluster_export.md +13 -0
  107. package/skills/ae-analysis/references/user_cluster_list.md +6 -2
  108. package/skills/ae-analysis/references/user_cluster_member_export.md +5 -3
  109. package/skills/ae-analysis/references/user_cluster_member_list.md +4 -4
  110. package/skills/ae-analysis/references/user_cluster_update.md +4 -2
  111. package/skills/ae-analysis/references/user_tag_export.md +13 -0
  112. package/skills/ae-analysis/references/user_tag_list.md +6 -2
  113. package/skills/ae-analysis/references/user_tag_member_export.md +5 -3
  114. package/skills/ae-analysis/references/user_tag_member_list.md +4 -4
  115. package/skills/ae-analysis/references/user_tag_update.md +4 -2
  116. package/skills/ae-analysis/references/virtual_property_create.md +2 -2
  117. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
  118. package/skills/ae-community/SKILL.md +2 -2
  119. package/skills/ae-dataops/SKILL.md +4 -3
  120. package/skills/ae-dataops/references/dataops-flow-create.md +47 -3
  121. package/skills/ae-engage/SKILL.md +55 -7
  122. package/skills/ae-engage/references/build-task-save-guide.md +12 -0
  123. package/skills/ae-engage/references/cancel-query-run.md +31 -0
  124. package/skills/ae-engage/references/config-item-analysis-report.md +14 -1
  125. package/skills/ae-engage/references/config-item-strategy-comparison.md +11 -1
  126. package/skills/ae-engage/references/config-item-trigger-report.md +15 -1
  127. package/skills/ae-engage/references/flow-metric-detail-report.md +134 -0
  128. package/skills/ae-engage/references/flow-metric-update.md +77 -0
  129. package/skills/ae-engage/references/flow-metric-user.md +119 -0
  130. package/skills/ae-engage/references/flow-node-metric-user.md +123 -0
  131. package/skills/ae-engage/references/flow-node-user.md +123 -0
  132. package/skills/ae-engage/references/push-record-query.md +32 -1
  133. package/skills/ae-engage/references/save-task.md +9 -0
  134. package/skills/ae-engage/references/task-data-detail.md +9 -2
  135. package/skills/ae-engage/references/task-indicator-user.md +104 -0
  136. package/skills/ae-engage/references/task-metric-detail.md +9 -2
  137. package/skills/ae-engage/references/task-submit-approval.md +3 -0
  138. package/skills/ae-engage/references/task-user-detail-export.md +31 -0
  139. package/skills/ae-experiment/references/save_experiment.md +4 -0
  140. package/skills/ae-experiment-design/SKILL.md +1 -1
  141. package/skills/ae-experiment-design/references/platform-operations.md +1 -1
  142. package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
  143. package/skills/ae-metadata/SKILL.md +2 -1
  144. package/skills/ae-metadata/references/metadata_data_table_download.md +10 -2
  145. package/skills/ae-metadata/references/metadata_data_table_list.md +5 -2
  146. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  147. package/skills/ae-system/SKILL.md +66 -3
  148. package/dist/chunk-DT6Y3TD7.js +0 -232
  149. package/dist/chunk-MVDZ7DBQ.js +0 -231
  150. package/dist/chunk-NBPKWKRA.js +0 -51
  151. package/dist/client-DAIPF7XN.js +0 -23
  152. package/dist/raw-52B4UKO4.js +0 -71
  153. package/dist/te-meta-53BVXPFI.js +0 -95
  154. package/dist/te-meta-TOCBPBXI.js +0 -95
@@ -7,10 +7,10 @@ Do not use for dashboard report data. Use `dashboard-report-data run` or `dashbo
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis dashboard list --project-id <project_id> [--query <keyword>] [--fields '["dashboard_id","dashboard_name"]'] [--limit 50] [--offset 0]
10
+ ae-cli analysis dashboard list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["dashboard_id","dashboard_name"]'] [--limit 50] [--offset 0]
11
11
  ```
12
12
 
13
- Input uses `project_id` plus optional `query`, `fields`, `limit`, `offset`. `--fields` accepts only `dashboard_id`, `dashboard_name`, and `remark`. Input and output both use snake_case; do not use `dashboardId`, `dashboardName`, generic `id`, or generic `name`.
13
+ Input uses `project_id` plus optional `queries`, `fields`, `limit`, `offset`. `queries` is a JSON array of 1 to 20 non-empty strings; values use OR semantics. Matching rows include `matched_queries` and `matched_fields`. `--fields` accepts only `dashboard_id`, `dashboard_name`, and `remark`. Input and output both use snake_case; do not use `query`, `dashboardId`, `dashboardName`, generic `id`, or generic `name`.
14
14
 
15
15
  When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
16
16
 
@@ -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. |
@@ -7,9 +7,9 @@ Do not use for sharing or moving assets.
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis favorite add --project-id <project_id> [--asset-id <id>] [--asset-type dashboard|bi_panel|folder] [--space-id <space_id>] [--id <backend_id>] [--payload '{...}']
10
+ ae-cli analysis favorite add --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
11
11
  ```
12
12
 
13
- Input sends `project_id` and asset identity fields or backend-compatible `payload`.
13
+ Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
14
14
 
15
15
  Output is the gateway envelope. `data` contains the favorite result.
@@ -7,9 +7,9 @@ Do not use to delete the asset itself.
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis favorite remove --project-id <project_id> [--asset-id <id>] [--asset-type dashboard|bi_panel|folder] [--space-id <space_id>] [--id <backend_id>] [--payload '{...}']
10
+ ae-cli analysis favorite remove --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
11
11
  ```
12
12
 
13
- Input sends `project_id` and asset identity fields or backend-compatible `payload`.
13
+ Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
14
14
 
15
15
  Output is the gateway envelope. `data` contains the remove-favorite result.
@@ -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
  ```
@@ -7,14 +7,13 @@ Do not use it to query metric values. Use this gateway command for an exact metr
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis-meta metric create --project-id <project_id> --metric-name pay_amount --metric-desc 'Pay Amount' --model-type event --metric-events '[...]' --metric-params '{}'
10
+ ae-cli analysis-meta metric create --project-id <project_id> --metric-name payment_success_rate --metric-desc 'Payment Success Rate' --model-type event --metric-events '[{"time_range":{"mode":"previous","unit":"day","value":7},"metrics":[{"formula":"finish / order","dependencies":[{"alias":"finish","event":"purchase_finish","aggregation":"total_count"},{"alias":"order","event":"order_create","aggregation":"total_count"}]}]}]' --metric-params '{"format":"percent"}'
11
11
  ae-cli analysis-meta metric create --project-id <project_id> --metric-name retained_users --metric-desc 'Retained Users' --model-type retention --metric-events '[...]' --metric-params '{}'
12
- ae-cli analysis-meta metric create --project-id <project_id> --metric-name pay_amount --metric-desc 'Pay Amount' --metric-mode 0 --metric-events '[...]' --dry-run
13
12
  ```
14
13
 
15
14
  Capability id: `metadata.metric.create`.
16
15
 
17
- Input sends typed snake_case fields. Common serializes `metric_events` and `metric_params` for the backend.
16
+ Input sends typed snake_case fields. For event metrics, common validates the semantic definition and compiles it to the backend QP; for example, each `dependencies[].event` becomes the native `eventName`. Common then serializes `metric_events` and `metric_params` for the backend.
18
17
 
19
18
  Output `data.metric` contains the created metric summary.
20
19
 
@@ -24,15 +23,15 @@ Output `data.metric` contains the created metric summary.
24
23
  | `--project-id` | Yes | Numeric project ID. |
25
24
  | `--metric-name` | Yes | Metric technical name. |
26
25
  | `--metric-desc` | Yes | Metric display name. |
27
- | `--model-type` | No | Semantic metric model type: `event` or `retention`. Prefer this over `--metric-mode`. |
28
- | `--metric-mode` | No | Metric model mode, for example `0` for event analysis. Required only when `--model-type` is omitted. |
29
- | `--metric-events` | Yes | Metric event-analysis QP JSON array. |
26
+ | `--model-type` | Yes | Semantic metric model type: `event` or `retention`; the CLI converts it to the backend `metric_mode`. |
27
+ | `--metric-events` | Yes | Exactly one semantic event-analysis definition. A native snake_case QP array is accepted for compatibility. |
30
28
  | `--metric-remark` | No | Metric remark. |
31
29
  | `--metric-params` | No | Metric params JSON object; common defaults it to `{}` when needed. |
32
30
 
33
31
  ## Decision Rules
34
32
 
35
- - Pass exactly one semantic model selector when possible: prefer `--model-type event` or `--model-type retention`.
36
- - `--metric-mode` remains available for existing scripts; if both are provided, they must describe the same model.
33
+ - Pass `--model-type event` or `--model-type retention`. `metric create` does not expose the backend-only `--metric-mode` selector.
34
+ - For an event formula, pass exactly one item in `metric_events` and exactly one item in its `metrics`; every dependency requires `alias`, `event`, and `aggregation`.
35
+ - Use public snake_case fields such as `time_range` and `dependencies[].event`; do not send backend-only camelCase fields such as `eventName` in the semantic definition.
37
36
  - For event metrics, `--metric-params` is usually a format config such as `{"format":"integer"}`.
38
37
  - For retention metrics, `--metric-params` should be the retention `eventView` configuration.
@@ -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.
@@ -7,10 +7,10 @@ Do not use for project lookup or project ID verification. Use `project info list
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis project-space list --project-id <project_id> [--query <keyword>] [--fields '["space_id","name","space_desc"]'] [--limit 50] [--offset 0]
10
+ ae-cli analysis project-space list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["space_id","name","space_desc"]'] [--limit 50] [--offset 0]
11
11
  ```
12
12
 
13
- Input sends `project_id` and optional `query`, `fields`, `limit`, `offset`.
13
+ Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
14
14
 
15
15
  When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
16
16
 
@@ -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.
@@ -7,10 +7,10 @@ Do not use for dashboard or BI panel asset listing. Use the matching list comman
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis public-link list --project-id <project_id> [--query <keyword>] [--fields '["id","resource_id"]'] [--limit 50] [--offset 0]
10
+ ae-cli analysis public-link list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["id","resource_id"]'] [--limit 50] [--offset 0]
11
11
  ```
12
12
 
13
- Input sends `project_id` and optional `query`, `fields`, `limit`, `offset`.
13
+ Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
14
14
 
15
15
  When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
16
16