@thinkingai/ae-cli 6.0.41 → 6.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{auth-GBMV6TEJ.js → auth-2WTQOP77.js} +3 -3
- package/dist/{auth-NDSXE54J.js → auth-77BUFLGC.js} +57 -13
- package/dist/{capability-CETVHGXF.js → capability-ENHWPMTG.js} +12 -12
- package/dist/{capability-ZSQBMNOE.js → capability-WA37LSIR.js} +12 -12
- package/dist/{chunk-AFXA7BRK.js → chunk-4KVPKXFX.js} +5 -5
- package/dist/chunk-4SGZG4XY.js +311 -0
- package/dist/chunk-6EIJSNBD.js +8 -0
- package/dist/chunk-C4MGVGJW.js +13 -0
- package/dist/{chunk-4E3DB4MM.js → chunk-EE45RGOO.js} +7 -7
- package/dist/{chunk-WZRX4KOH.js → chunk-GT46FPXN.js} +4 -6
- package/dist/{chunk-5XUSIK27.js → chunk-ILIU36SU.js} +10 -7
- package/dist/{chunk-JHENBQ5B.js → chunk-LYVNONC4.js} +0 -35
- package/dist/{chunk-WANVG6SY.js → chunk-MGU2N3HW.js} +7 -7
- package/dist/{chunk-JUW4AJXN.js → chunk-P3FGXJTU.js} +12 -7
- package/dist/{chunk-FNZA5RZA.js → chunk-QEFCIRNJ.js} +4 -4
- package/dist/chunk-QGM4M3NI.js +37 -0
- package/dist/{chunk-J2N4PB56.js → chunk-QI524WPY.js} +4 -4
- package/dist/{chunk-VLWOLBGZ.js → chunk-UOUS37JQ.js} +149 -161
- package/dist/{chunk-AXDXJTPC.js → chunk-UW5UN47B.js} +19 -2
- package/dist/chunk-VPKZ7I72.js +509 -0
- package/dist/chunk-ZZUOD757.js +598 -0
- package/dist/{client-L2YDMHQ6.js → client-TKG4WBHN.js} +4 -5
- package/dist/{community-report-client-M2RW4MXD.js → community-report-client-FI4LNVYS.js} +3 -2
- package/dist/{config-OL2LWGBV.js → config-RE6CMGPK.js} +7 -7
- package/dist/data-integration-2MYMANJI.js +3383 -0
- package/dist/index.js +74 -40
- package/dist/local-data-upload-client-BWHSUQQK.js +167 -0
- package/dist/{memory-MUP7PPL7.js → memory-CHRU2F7W.js} +7 -6
- package/dist/{memory-U4O5PMXH.js → memory-YK33G4T7.js} +7 -6
- package/dist/{metadata-UKZDNLLQ.js → metadata-AXVHAAZG.js} +22 -18
- package/dist/{metadata-XXMJFN2M.js → metadata-GGEHHPBE.js} +22 -18
- package/dist/{model-JTUEO5M4.js → model-K3KLWIW6.js} +7 -3
- package/dist/model-NR3JHFSJ.js +139 -0
- package/dist/{sync-MOSFNBVR.js → sync-DAVKYVMW.js} +8 -6
- package/dist/sync-FCKOVWWS.js +10261 -0
- package/dist/{te-agent-IFKZDHZI.js → te-agent-4BKBODMF.js} +686 -71
- package/dist/te-agent-HLW4VTQK.js +3893 -0
- package/dist/{te-analysis-3QLLS35K.js → te-analysis-WX7LRVAV.js} +86 -63
- package/dist/{te-analysis-YSK2DBVL.js → te-analysis-YKFDBMA6.js} +86 -63
- package/dist/{te-community-HNKVTERD.js → te-community-6HPBWJUZ.js} +24 -19
- package/dist/{te-community-IWE5B7W6.js → te-community-HLC43QKH.js} +24 -20
- package/dist/{te-dataops-KXCEB4CS.js → te-dataops-EJP56W3K.js} +57 -34
- package/dist/{te-dataops-KQPYNAE3.js → te-dataops-HDRUXY4K.js} +59 -34
- package/dist/{te-engage-6RNGK5GH.js → te-engage-UBHPAJCO.js} +401 -15
- package/dist/{te-engage-IRMHTSQK.js → te-engage-WLDTS5J5.js} +401 -15
- package/dist/{te-kb-OIH3T6CS.js → te-kb-APXBWBDY.js} +6 -6
- package/dist/{te-system-AZ3URMUO.js → te-system-YARIK4S5.js} +7 -4
- package/dist/te-system-Z77IKZFN.js +2213 -0
- package/dist/{te-team-GZPU6UWA.js → te-team-EFKWYKMK.js} +7 -7
- package/dist/{update-TOBFXF2V.js → update-OGPSZM5A.js} +7 -7
- package/package.json +13 -3
- package/skills/ae-agent/SKILL.md +21 -11
- package/skills/ae-agent/references/approval-effect.md +44 -0
- package/skills/ae-agent/references/approval-request.md +46 -0
- package/skills/ae-agent/references/approval-task.md +45 -0
- package/skills/ae-agent/references/approval-type.md +32 -0
- package/skills/ae-agent/references/command_index.md +19 -0
- package/skills/ae-analysis/SKILL.md +11 -7
- package/skills/ae-analysis/references/adhoc_run.md +2 -0
- package/skills/ae-analysis/references/ai_models.md +31 -1
- package/skills/ae-analysis/references/alert_list.md +2 -3
- package/skills/ae-analysis/references/analysis_gateway_assets.md +8 -7
- package/skills/ae-analysis/references/bi_panel_list.md +2 -2
- package/skills/ae-analysis/references/command_index.md +18 -15
- package/skills/ae-analysis/references/dashboard_get.md +8 -2
- package/skills/ae-analysis/references/dashboard_list.md +2 -2
- package/skills/ae-analysis/references/dashboard_report_data_run.md +3 -1
- package/skills/ae-analysis/references/dashboard_update.md +4 -1
- package/skills/ae-analysis/references/favorite_add.md +2 -2
- package/skills/ae-analysis/references/favorite_remove.md +2 -2
- package/skills/ae-analysis/references/metric_create.md +7 -8
- package/skills/ae-analysis/references/project_space_business_filter_upsert.md +17 -0
- package/skills/ae-analysis/references/project_space_list.md +2 -2
- package/skills/ae-analysis/references/public_link_list.md +2 -2
- package/skills/ae-analysis/references/report_list.md +3 -3
- package/skills/ae-analysis/references/report_list_export.md +2 -2
- package/skills/ae-analysis/references/sql_table_list.md +3 -2
- package/skills/ae-analysis/references/user_cluster_update.md +4 -2
- package/skills/ae-analysis/references/user_tag_models.md +4 -4
- package/skills/ae-analysis/references/user_tag_update.md +4 -2
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
- package/skills/ae-data-integration/SKILL.md +54 -0
- package/skills/ae-data-integration/references/handoff.md +43 -0
- package/skills/ae-data-integration/references/local-analysis.md +27 -0
- package/skills/ae-data-integration/references/reuse.md +41 -0
- package/skills/ae-data-integration/references/sink-upload.md +58 -0
- package/skills/ae-data-integration/references/source-inspect.md +55 -0
- package/skills/ae-data-integration/references/sync-json-upload.md +60 -0
- package/skills/ae-data-integration/references/tracking-plan.md +35 -0
- package/skills/ae-data-integration/references/transform.md +65 -0
- package/skills/ae-data-integration/references/ue-mapping.md +142 -0
- package/skills/ae-data-integration/references/ue-routing.md +35 -0
- package/skills/ae-data-integration-helper/SKILL.md +1 -1
- package/skills/ae-dataops/SKILL.md +1 -1
- package/skills/ae-dataops/references/dataops-query.md +4 -4
- package/skills/ae-engage/SKILL.md +10 -2
- package/skills/ae-engage/references/flow-metric-user.md +2 -1
- package/skills/ae-engage/references/flow-node-metric-user.md +2 -1
- package/skills/ae-engage/references/flow-node-user.md +2 -1
- package/skills/ae-engage/references/task-indicator-user.md +104 -0
- package/skills/ae-engage/references/task-user-detail-export.md +31 -0
- package/skills/ae-generate-tracking-plan/SKILL.md +54 -3
- package/skills/ae-metadata/SKILL.md +0 -1
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
- package/dist/chunk-3FY3RJ26.js +0 -293
- package/dist/chunk-S5NTSDBS.js +0 -198
- package/dist/chunk-ZQKDZXDO.js +0 -317
- package/dist/cli-token-4UPER74P.js +0 -21
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- Generated by scripts/generate-analysis-skill-index.mts. Do not edit manually. -->
|
|
4
4
|
|
|
5
|
+
**Search-only fallback:** search this file for matching command rows. When the command family is already known, open its dedicated reference directly. Never load or print this exhaustive file in full.
|
|
6
|
+
|
|
5
7
|
This is the exhaustive command and flag inventory for the analysis skill. Read the linked command reference for routing, semantic input contracts, output interpretation, and cases where the command must not be used.
|
|
6
8
|
|
|
7
9
|
| Command | Capability ID | Risk | Flags | Reference |
|
|
@@ -11,7 +13,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
11
13
|
| `ae-cli analysis alert create` | analysis.alert.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_create.md](alert_create.md) |
|
|
12
14
|
| `ae-cli analysis alert delete` | analysis.alert.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_delete.md](alert_delete.md) |
|
|
13
15
|
| `ae-cli analysis alert get` | analysis.alert.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_get.md](alert_get.md) |
|
|
14
|
-
| `ae-cli analysis alert list` | analysis.alert.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
16
|
+
| `ae-cli analysis alert list` | analysis.alert.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [alert_list.md](alert_list.md) |
|
|
15
17
|
| `ae-cli analysis alert start` | analysis.alert.start | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_start.md](alert_start.md) |
|
|
16
18
|
| `ae-cli analysis alert stop` | analysis.alert.stop | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_stop.md](alert_stop.md) |
|
|
17
19
|
| `ae-cli analysis alert update` | analysis.alert.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_update.md](alert_update.md) |
|
|
@@ -23,7 +25,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
23
25
|
| `ae-cli analysis bi-panel create` | analysis.bi_panel.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — Name for the new empty BI dashboard shell.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID. | [bi_panel_create.md](bi_panel_create.md) |
|
|
24
26
|
| `ae-cli analysis bi-panel delete` | analysis.bi_panel.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-ids` (json; required) — BI panel ID array. | [bi_panel_delete.md](bi_panel_delete.md) |
|
|
25
27
|
| `ae-cli analysis bi-panel get` | analysis.bi_panel.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [bi_panel_get.md](bi_panel_get.md) |
|
|
26
|
-
| `ae-cli analysis bi-panel list` | analysis.bi_panel.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
28
|
+
| `ae-cli analysis bi-panel list` | analysis.bi_panel.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [bi_panel_list.md](bi_panel_list.md) |
|
|
27
29
|
| `ae-cli analysis bi-panel share` | analysis.bi_panel.share | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_share.md](bi_panel_share.md) |
|
|
28
30
|
| `ae-cli analysis bi-panel update` | analysis.bi_panel.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — New BI dashboard name.<br>`--panel-uuid` (string; required) — BI dashboard UUID. | [bi_panel_update.md](bi_panel_update.md) |
|
|
29
31
|
| `ae-cli analysis bi-panel-page-data export` | analysis.bi_panel_page_data.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--page-key` (string; required) — Page key returned by bi-panel get.<br>`--result-type` (string; required) — Must be charts. Summary is presentation data and is available only from run.<br>`--chart-ids` (json; optional) — Optional chart ID array.<br>`--parameter-controls` (json; optional) — Optional parameter control override array.<br>`--permission-controls` (json; optional) — Optional permission control array.<br>`--chart-filter-controls` (json; optional) — Optional chart filter control array.<br>`--columns` (json; optional) — Optional returned column array.<br>`--use-cache` (boolean; optional) — Whether to use cache. Default: true.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [bi_panel_page_data_export.md](bi_panel_page_data_export.md) |
|
|
@@ -37,11 +39,11 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
37
39
|
| `ae-cli analysis dashboard freeze` | analysis.dashboard.freeze | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-ids` (json; required) — Dashboard ID array.<br>`--freeze` (boolean; optional) — true to freeze, false to unfreeze. Default: true. | [dashboard_freeze.md](dashboard_freeze.md) |
|
|
38
40
|
| `ae-cli analysis dashboard get` | analysis.dashboard.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--use-cache` (boolean; optional) — Whether to use cached dashboard detail. Default: true. | [dashboard_get.md](dashboard_get.md) |
|
|
39
41
|
| `ae-cli analysis dashboard handover` | analysis.dashboard.handover | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-ids` (json; required) — Dashboard ID array.<br>`--to-user-id` (number; required) — Target user ID. | [dashboard_handover.md](dashboard_handover.md) |
|
|
40
|
-
| `ae-cli analysis dashboard list` | analysis.dashboard.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
42
|
+
| `ae-cli analysis dashboard list` | analysis.dashboard.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional projection field array. Supported fields: dashboard_id, dashboard_name, remark.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [dashboard_list.md](dashboard_list.md) |
|
|
41
43
|
| `ae-cli analysis dashboard share` | analysis.dashboard.share | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--member-authorities` (json; optional) — Complete user authority map: {"<numeric_user_id>":"READ\|EDIT\|CREATOR\|MAINTAIN"}. An empty object removes all directly shared users.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_share.md](dashboard_share.md) |
|
|
42
44
|
| `ae-cli analysis dashboard share-info` | analysis.dashboard.share_info | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_share_info.md](dashboard_share_info.md) |
|
|
43
45
|
| `ae-cli analysis dashboard task-status` | analysis.dashboard.task_status | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_task_status.md](dashboard_task_status.md) |
|
|
44
|
-
| `ae-cli analysis dashboard update` | analysis.dashboard.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--operation` (string; required) — Update operation: settings or
|
|
46
|
+
| `ae-cli analysis dashboard update` | analysis.dashboard.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--operation` (string; required) — Update operation: settings, note-upsert, or business-filter.<br>`--dashboard-id` (number; optional) — Dashboard ID for a single-dashboard update.<br>`--dashboard-ids` (json; optional) — Dashboard ID array for batch settings updates.<br>`--dashboard-name` (string; optional) — Dashboard name for single rename.<br>`--zone-offset` (number; optional) — Fixed dashboard time zone offset in hours. For example, UTC+8 is 8 and UTC-5 is -5. Valid range: -12 to 14.<br>`--refresh-type` (number; optional, min=0, max=1) — Dashboard refresh type: 0 real-time, 1 scheduled.<br>`--dashboard-status` (string; optional) — Dashboard status: normal or freeze.<br>`--note-id` (number; optional) — Dashboard note ID. Omit to create a new note.<br>`--note-title` (string; optional) — Dashboard note title.<br>`--description` (string; optional) — Dashboard note description.<br>`--ui-config` (string; optional) — Dashboard or note UI config string.<br>`--filter` (json; optional) — Dashboard-level business filter in snake_case QP form. Required with --operation business-filter. Pass {"junction_kind":"and","ta_filters":[]} to clear it.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_update.md](dashboard_update.md) |
|
|
45
47
|
| `ae-cli analysis dashboard-daily-report get` | analysis.dashboard_daily_report.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_daily_report_get.md](dashboard_daily_report_get.md) |
|
|
46
48
|
| `ae-cli analysis dashboard-daily-report send` | analysis.dashboard_daily_report.send | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--need-csv` (boolean; optional) — Whether to include CSV attachment.<br>`--host-url` (string; optional) — Public host URL used in report links.<br>`--send-title` (string; optional) — Daily report title.<br>`--send-content` (string; optional) — Daily report content.<br>`--lang` (string; optional) — Report language.<br>`--screen-type` (string; optional) — Screenshot screen type.<br>`--zone-offset` (number; optional) — Time zone offset.<br>`--email-login-users` (string; optional) — Comma-separated login users for email.<br>`--email-new` (string; optional) — Comma-separated direct email addresses. The server selects company SMTP or the default mail service.<br>`--dd-url` (json; optional) — DingTalk webhook URL array, e.g. ["https://..."].<br>`--wx-url` (json; optional) — WeCom webhook URL array, e.g. ["https://..."].<br>`--feishu-info` (json; optional) — Feishu image upload and bot config, e.g. {"app_id":"cli_xxx","app_secret":"secret_xxx","webhook":["https://..."]}.<br>`--kim-url` (json; optional) — KIM/custom webhook URL array, e.g. ["https://..."].<br>`--slack-url` (json; optional) — Slack webhook URL array, e.g. ["https://..."].<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_daily_report_send.md](dashboard_daily_report_send.md) |
|
|
47
49
|
| `ae-cli analysis dashboard-daily-report send-status` | analysis.dashboard_daily_report.send_status | read | `--project-id` (number; required) — Numeric project ID.<br>`--task-id` (number; required) — Task ID returned by dashboard-daily-report send. | [dashboard_daily_report_send_status.md](dashboard_daily_report_send_status.md) |
|
|
@@ -62,8 +64,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
62
64
|
| `ae-cli analysis entity-detail run` | analysis.entity_detail.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Bounded entity detail definition. properties is supported only for entity="user" (#user_id); user rows always include #user_id, #account_id, and #distinct_id plus requested user properties. Custom entities reject properties and return only their entity value column. cohort is AI-facing for user_property/tag/cluster filters; do not pass raw QP.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--preview-rows` (number; optional, min=1) — Maximum business rows returned per result. Omit to use the current model/cluster synchronous limit. The runtime maximum varies by model; agents should normally pass 100.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [entity_detail_run.md](entity_detail_run.md) |
|
|
63
65
|
| `ae-cli analysis event-detail export` | analysis.event_detail.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — AI-facing event detail definition: {"event":"login","time_range":{"mode":"absolute","start_time":"2026-07-01 00:00:00","end_time":"2026-07-01 23:59:59"},"filters":{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]},"properties":["#event_time",{"name":"country","type":"user_property"}],"sort":[{"field":"#event_time","order":"desc"}]}. Do not pass raw QP/eventView/taFilters.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--artifact-format` (string; optional) — Native streaming artifact format: jsonl or csv. Default: jsonl.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [event_detail_export.md](event_detail_export.md) |
|
|
64
66
|
| `ae-cli analysis event-detail run` | analysis.event_detail.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — AI-facing event detail definition: {"event":"login","time_range":{"mode":"absolute","start_time":"2026-07-01 00:00:00","end_time":"2026-07-01 23:59:59"},"filters":{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]},"properties":["#event_time",{"name":"country","type":"user_property"}],"sort":[{"field":"#event_time","order":"desc"}]}. Do not pass raw QP/eventView/taFilters.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--preview-rows` (number; optional, min=1) — Maximum business rows returned per result. Omit to use the current model/cluster synchronous limit. The runtime maximum varies by model; agents should normally pass 100.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [event_detail_run.md](event_detail_run.md) |
|
|
65
|
-
| `ae-cli analysis favorite add` | analysis.favorite.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number;
|
|
66
|
-
| `ae-cli analysis favorite remove` | analysis.favorite.remove | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number;
|
|
67
|
+
| `ae-cli analysis favorite add` | analysis.favorite.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number; required) — Dashboard, BI panel, or folder ID.<br>`--asset-type` (string; required) — Asset type: dashboard, bi_panel, or folder.<br>`--space-id` (number; optional) — Project space ID when relevant. | [favorite_add.md](favorite_add.md) |
|
|
68
|
+
| `ae-cli analysis favorite remove` | analysis.favorite.remove | write | `--project-id` (number; required) — Numeric project ID.<br>`--asset-id` (number; required) — Dashboard, BI panel, or folder ID.<br>`--asset-type` (string; required) — Asset type: dashboard, bi_panel, or folder.<br>`--space-id` (number; optional) — Project space ID when relevant. | [favorite_remove.md](favorite_remove.md) |
|
|
67
69
|
| `ae-cli analysis filter-value list` | analysis.filter_value.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--property-name` (string; required) — Exact property identifier. Resolve the property first; this command discovers values, not fields.<br>`--table-type` (string; required) — Property table: event or user.<br>`--event-name` (string; optional) — Optional exact event name for an event-property lookup.<br>`--search-prefix` (string; optional) — Optional prefix or fuzzy input to narrow candidate values.<br>`--zone-offset` (number; optional) — Optional fixed timezone offset from -12 through 14.<br>`--cluster-date-policy` (string; optional) — Optional user tag/cluster data-snapshot policy: LATEST means the latest available computed result snapshot, not a tag definition or configuration release; AUTO and SPECIFIED select other snapshot modes.<br>`--specified-cluster-date` (string; optional) — Required only with --cluster-date-policy SPECIFIED to select a historical computed result snapshot; yyyy-MM-dd.<br>`--report-mode` (boolean; optional) — Use report-compatible property semantics. Default: false. | [filter_value_list.md](filter_value_list.md) |
|
|
68
70
|
| `ae-cli analysis history-tag batch-refresh` | analysis.history_tag.batch_refresh | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--refresh-request` (json; required) — Snake_case object: {start_time,end_time,only_abnormal?,use_user_table_type?}. Dates use yyyy-MM-dd; see history_tag_batch_refresh.md. | [history_tag_batch_refresh.md](history_tag_batch_refresh.md) |
|
|
69
71
|
| `ae-cli analysis history-tag clear` | analysis.history_tag.clear | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--start-time` (string; required) — Start date, yyyy-MM-dd.<br>`--end-time` (string; required) — End date, yyyy-MM-dd.<br>`--confirmed` (boolean; optional) — Set true only after dependency and influence checks have been accepted. | [history_tag_clear.md](history_tag_clear.md) |
|
|
@@ -76,11 +78,12 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
76
78
|
| `ae-cli analysis input-file inspect` | gateway lifecycle | read | `--input-file-id` (string; required) — Uploaded input file ID, for example ifile_<32 lowercase hex>. | [input_file_inspect.md](input_file_inspect.md) |
|
|
77
79
|
| `ae-cli analysis input-file purpose list` | analysis.input_file.purpose.list | read | `--project-id` (number; required) — Numeric project ID. | [input_file_purpose_list.md](input_file_purpose_list.md) |
|
|
78
80
|
| `ae-cli analysis input-file upload` | gateway lifecycle | write | `--project-id` (number; required) — Numeric project ID.<br>`--purpose` (string; required) — Purpose returned by analysis input-file purpose list.<br>`--file` (string; required) — Local file path to upload. | [input_file_upload.md](input_file_upload.md) |
|
|
81
|
+
| `ae-cli analysis project-space business-filter-upsert` | analysis.project_space.business_filter_upsert | write | `--project-id` (number; required) — Numeric project ID.<br>`--space-id` (number; required) — Project space ID.<br>`--filter` (json; required) — Space-level business filter in snake_case QP form. Pass {"junction_kind":"and","ta_filters":[]} to clear it. | [project_space_business_filter_upsert.md](project_space_business_filter_upsert.md) |
|
|
79
82
|
| `ae-cli analysis project-space get` | analysis.project_space.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--space-id` (number; required) — Project space ID.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [project_space_get.md](project_space_get.md) |
|
|
80
|
-
| `ae-cli analysis project-space list` | analysis.project_space.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
83
|
+
| `ae-cli analysis project-space list` | analysis.project_space.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [project_space_list.md](project_space_list.md) |
|
|
81
84
|
| `ae-cli analysis public-link create` | analysis.public_link.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--resource-type` (string; required) — Resource type: dashboard or bi_panel.<br>`--resource-id` (number; required) — Target resource ID.<br>`--access-controls` (json; optional) — Public link access-control JSON.<br>`--remark` (string; optional) — Public link remark.<br>`--effective-at` (string; required) — Effective time, yyyy-MM-dd HH:mm:ss.<br>`--expires-at` (string; required) — Expiration time, yyyy-MM-dd HH:mm:ss.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [public_link_create.md](public_link_create.md) |
|
|
82
85
|
| `ae-cli analysis public-link delete` | analysis.public_link.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--link-id` (number; optional) — Public link ID.<br>`--link-ids` (json; optional) — Public link ID array. | [public_link_delete.md](public_link_delete.md) |
|
|
83
|
-
| `ae-cli analysis public-link list` | analysis.public_link.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
86
|
+
| `ae-cli analysis public-link list` | analysis.public_link.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [public_link_list.md](public_link_list.md) |
|
|
84
87
|
| `ae-cli analysis public-link offline` | analysis.public_link.offline | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--link-id` (number; optional) — Public link ID.<br>`--link-ids` (json; optional) — Public link ID array. | [public_link_offline.md](public_link_offline.md) |
|
|
85
88
|
| `ae-cli analysis public-link update` | analysis.public_link.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--company-id` (number; optional) — Company ID. Derived from project ID when omitted.<br>`--link-id` (number; required) — Public link ID.<br>`--access-controls` (json; optional) — Public link access-control JSON.<br>`--remark` (string; optional) — Public link remark.<br>`--effective-at` (string; required) — Effective time, yyyy-MM-dd HH:mm:ss.<br>`--expires-at` (string; required) — Expiration time, yyyy-MM-dd HH:mm:ss.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [public_link_update.md](public_link_update.md) |
|
|
86
89
|
| `ae-cli analysis query cancel` | analysis.query.cancel | write | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--reason` (string; optional) — Optional cancellation reason. | [query_cancel.md](query_cancel.md) |
|
|
@@ -90,8 +93,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
90
93
|
| `ae-cli analysis report create` | analysis.report.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-name` (string; required) — Report display name.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. Distribution filters must be attached to the corresponding distribution_metrics[].filters; do not use top-level filters or relation. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, punctuation, or a reserved word must be delimited with double quotes, for example SELECT "#user_id", "$part_event", "end" FROM ...; single quotes are string literals. For multiline SQL JSON, the decoded sql value must contain a real line break; do not submit a literal \n sequence outside quoted SQL text. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--resolutions` (json; optional) — Optional user-confirmed metadata bindings keyed by compiler error path. Each value requires raw_value, resource_type, and resource_key. Reuse the unchanged definition and only pass values explicitly confirmed by the user. This option is not supported with --model-type tag.<br>`--report-desc` (string; optional) — Optional report description.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds.<br>`--dashboard-ids` (json; optional) — Optional dashboard ID array to associate after creation. | [report_create.md](report_create.md) |
|
|
91
94
|
| `ae-cli analysis report delete` | analysis.report.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--report-ids` (json; required) — Report ID array. | [report_delete.md](report_delete.md) |
|
|
92
95
|
| `ae-cli analysis report get` | analysis.report.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID. | [report_get.md](report_get.md) |
|
|
93
|
-
| `ae-cli analysis report list` | analysis.report.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
94
|
-
| `ae-cli analysis report list-export` | analysis.report.list_export | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
96
|
+
| `ae-cli analysis report list` | analysis.report.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--model-types` (json; optional) — Optional semantic report model JSON array, for example ["event","sql","tag","revenue"].<br>`--limit` (number; optional, min=1, max=200) — Report page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [report_list.md](report_list.md) |
|
|
97
|
+
| `ae-cli analysis report list-export` | analysis.report.list_export | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--model-types` (json; optional) — Optional semantic report model JSON array, for example ["event","sql","tag","revenue"].<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [report_list_export.md](report_list_export.md) |
|
|
95
98
|
| `ae-cli analysis report update` | analysis.report.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID to update.<br>`--report-version` (number; required) — Current report version from report get.<br>`--report-name` (string; optional) — New report display name.<br>`--report-desc` (string; optional) — New report description.<br>`--model-type` (string; optional) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values. Report create/update also supports tag for saved tag report data; use tag as the AI-facing spelling.<br>`--definition` (json; optional) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. Distribution filters must be attached to the corresponding distribution_metrics[].filters; do not use top-level filters or relation. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, punctuation, or a reserved word must be delimited with double quotes, for example SELECT "#user_id", "$part_event", "end" FROM ...; single quotes are string literals. For multiline SQL JSON, the decoded sql value must contain a real line break; do not submit a literal \n sequence outside quoted SQL text. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers. For model_type=tag, pass a tag report intent such as {"tag":{"tag_name":"vip_users","time_range":{"mode":"recent","unit":"day","value":7}}}. Tags are supported for report create/update and report data, not ad-hoc analysis.<br>`--resolutions` (json; optional) — Optional user-confirmed metadata bindings keyed by compiler error path. Each value requires raw_value, resource_type, and resource_key. Reuse the unchanged definition and only pass values explicitly confirmed by the user. This option is not supported with --model-type tag.<br>`--cache-seconds` (number; optional) — Optional cache duration in seconds.<br>`--query-duration-ms` (number; optional) — Optional last query duration in milliseconds. | [report_update.md](report_update.md) |
|
|
96
99
|
| `ae-cli analysis report-abnormal get` | analysis.report_abnormal.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID. | [report_abnormal_get.md](report_abnormal_get.md) |
|
|
97
100
|
| `ae-cli analysis report-change-log get` | analysis.report_change_log.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--report-id` (number; required) — Report ID.<br>`--history-version` (number; optional) — Optional history version. Omit for latest. | [report_change_log_get.md](report_change_log_get.md) |
|
|
@@ -102,7 +105,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
102
105
|
| `ae-cli analysis run inspect` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability. | [run_inspect.md](run_inspect.md) |
|
|
103
106
|
| `ae-cli analysis run wait` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — After success, stream the artifact to this local file.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. | [run_wait.md](run_wait.md) |
|
|
104
107
|
| `ae-cli analysis sql-table columns` | analysis.sql_table.columns | read | `--project-id` (number; required) — Numeric project ID.<br>`--table-ref` (string; required) — Exact table_ref returned by analysis sql-table list; a unique table-only reference is also accepted.<br>`--usage` (string; optional) — Authorized table set: analysis (default) or tag_cluster. Use tag_cluster before creating SQL tags or clusters. | [sql_table_columns.md](sql_table_columns.md) |
|
|
105
|
-
| `ae-cli analysis sql-table list` | analysis.sql_table.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--
|
|
108
|
+
| `ae-cli analysis sql-table list` | analysis.sql_table.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--usage` (string; optional) — Authorized table set: analysis (default) or tag_cluster. Use tag_cluster before creating SQL tags or clusters. | [sql_table_list.md](sql_table_list.md) |
|
|
106
109
|
| `ae-cli analysis user-cluster create` | analysis.user_cluster.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required, minLength=1, maxLength=80, pattern=^[a-zA-Z][a-zA-Z0-9_]*$) — New cluster_name. Must start with a letter, contain only letters, digits, and underscores, and be at most 80 characters.<br>`--display-name` (string; required, minLength=1, maxLength=80) — Human-readable display name. Maximum: 80 characters.<br>`--definition-request` (json; required) — Semantic snake_case cluster definition. Read skills/ae-analysis/references/user_cluster_models.md; shared primitives are in audience_models.md.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--entity-id` (number; optional) — Optional entity ID. Required by ID-file create commands. | [user_cluster_create.md](user_cluster_create.md) |
|
|
107
110
|
| `ae-cli analysis user-cluster create-id` | analysis.user_cluster.create_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; optional, minLength=1, maxLength=80, pattern=^[a-zA-Z][a-zA-Z0-9_]*$) — Optional cluster_name; generated if omitted. When provided, it must satisfy the 1-80 character machine-name contract.<br>`--display-name` (string; required, minLength=1, maxLength=80) — Human-readable display name. Maximum: 80 characters.<br>`--entity-id` (number; required) — Required analysis entity. Use the primary user entity only when matching uploaded external identifiers through a user property.<br>`--input-file` (string; optional) — Local CSV path. The CLI uploads it with purpose analysis.user.id_import before executing the create/update capability.<br>`--input-file-id` (string; optional) — Reuse a file already uploaded for purpose analysis.user.id_import.<br>`--file-content` (string; optional) — Headerless UTF-8 CSV. No header row. Exactly one non-empty column per row: association-property value for the primary user entity, otherwise the entity ID.<br>`--remarks` (string; optional, maxLength=400) — Optional remarks. Maximum: 400 characters.<br>`--association-property` (string; optional) — Required only for the primary user entity. The first CSV column is matched against this allowed user property; #user_id is forbidden. Omit for non-primary entities. | [user_cluster_create_id.md](user_cluster_create_id.md) |
|
|
108
111
|
| `ae-cli analysis user-cluster delete` | analysis.user_cluster.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--confirmed` (boolean; optional) — Set true only after dependency and influence checks have been accepted. | [user_cluster_delete.md](user_cluster_delete.md) |
|
|
@@ -110,7 +113,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
110
113
|
| `ae-cli analysis user-cluster get` | analysis.user_cluster.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-names` (json; required) — JSON array of exact cluster_name values. | [user_cluster_get.md](user_cluster_get.md) |
|
|
111
114
|
| `ae-cli analysis user-cluster list` | analysis.user_cluster.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity. | [user_cluster_list.md](user_cluster_list.md) |
|
|
112
115
|
| `ae-cli analysis user-cluster refresh` | analysis.user_cluster.refresh | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first. | [user_cluster_refresh.md](user_cluster_refresh.md) |
|
|
113
|
-
| `ae-cli analysis user-cluster update` | analysis.user_cluster.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case cluster definition. Read user_cluster_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5. | [user_cluster_update.md](user_cluster_update.md) |
|
|
116
|
+
| `ae-cli analysis user-cluster update` | analysis.user_cluster.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case cluster definition. Read user_cluster_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--auto-refresh-cron` (string; optional) — Optional Quartz cron expression for an existing enabled auto-refresh schedule. This does not enable auto refresh. | [user_cluster_update.md](user_cluster_update.md) |
|
|
114
117
|
| `ae-cli analysis user-cluster update-id` | analysis.user_cluster.update_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--input-file` (string; optional) — Local CSV path. The CLI uploads it with purpose analysis.user.id_import before executing the create/update capability.<br>`--input-file-id` (string; optional) — Reuse a file already uploaded for purpose analysis.user.id_import.<br>`--file-content` (string; optional) — Headerless UTF-8 CSV. No header row. Exactly one non-empty column per row: association-property value for the primary user entity, otherwise the entity ID.<br>`--remarks` (string; optional, maxLength=400) — Optional remarks. Maximum: 400 characters.<br>`--association-property` (string; optional) — Required only for the primary user entity. The first CSV column is matched against this allowed user property; #user_id is forbidden. Omit for non-primary entities. | [user_cluster_update_id.md](user_cluster_update_id.md) |
|
|
115
118
|
| `ae-cli analysis user-cluster-member export` | analysis.user_cluster_member.export | read | `--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--artifact-format` (string; optional) — Artifact format: jsonl or csv. Default: jsonl. Both formats use native full-download streaming and gzip compression.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [user_cluster_member_export.md](user_cluster_member_export.md) |
|
|
116
119
|
| `ae-cli analysis user-cluster-member list` | analysis.user_cluster_member.list | read | `--cluster-name` (string; required) — Exact cluster_name. Discover real values with analysis user-cluster list first.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--fields` (json; optional) — Optional result fields. Defaults to #user_id, #account_id, and #distinct_id.<br>`--query` (string; optional) — Optional keyword filter.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--preview-rows` (number; optional, min=1, max=100000) — Maximum business rows returned per result. Default: 1000, matching the UI member query. Maximum: 100000.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [user_cluster_member_list.md](user_cluster_member_list.md) |
|
|
@@ -121,7 +124,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
121
124
|
| `ae-cli analysis user-tag get` | analysis.user_tag.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--tag-names` (json; required) — JSON array of exact tag_name values. | [user_tag_get.md](user_tag_get.md) |
|
|
122
125
|
| `ae-cli analysis user-tag list` | analysis.user_tag.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional tag inventory projection. Use tag_name, display_name, users_num, and other tag fields. cluster_name is reserved for user clusters and is rejected here.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity. | [user_tag_list.md](user_tag_list.md) |
|
|
123
126
|
| `ae-cli analysis user-tag refresh` | analysis.user_tag.refresh | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first. | [user_tag_refresh.md](user_tag_refresh.md) |
|
|
124
|
-
| `ae-cli analysis user-tag update` | analysis.user_tag.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case tag definition. Read user_tag_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5. | [user_tag_update.md](user_tag_update.md) |
|
|
127
|
+
| `ae-cli analysis user-tag update` | analysis.user_tag.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--definition-request` (json; optional) — Optional semantic snake_case tag definition. Read user_tag_models.md; raw filts, C-codes, ftv, columnName, and backend DTOs are rejected.<br>`--authenticated-only` (boolean; optional) — Return only resources whose metadata can be resolved under the current identity.<br>`--remark` (string; optional, maxLength=400) — Optional new remark. Maximum: 400 characters.<br>`--zone-offset` (number; optional) — Optional timezone offset. UTC+8 is 8; UTC-5 is -5.<br>`--auto-refresh-cron` (string; optional) — Optional Quartz cron expression for an existing enabled auto-refresh schedule. This does not enable auto refresh. | [user_tag_update.md](user_tag_update.md) |
|
|
125
128
|
| `ae-cli analysis user-tag update-id` | analysis.user_tag.update_id | write | `--project-id` (number; required) — Numeric project ID.<br>`--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--display-name` (string; optional, minLength=1, maxLength=80) — Optional new display name. Maximum: 80 characters.<br>`--entity-id` (number; optional) — Optional entity ID. Required by ID-file create commands.<br>`--input-file` (string; optional) — Local CSV path. The CLI uploads it with purpose analysis.user.id_import before executing the create/update capability.<br>`--input-file-id` (string; optional) — Reuse a file already uploaded for purpose analysis.user.id_import.<br>`--file-content` (string; optional) — Headerless UTF-8 CSV. No header row. Exactly two non-empty columns per row: association-property value or entity ID, then tag_value.<br>`--remarks` (string; optional, maxLength=400) — Optional remarks. Maximum: 400 characters.<br>`--association-property` (string; optional) — Required only for the primary user entity. The first CSV column is matched against this allowed user property; #user_id is forbidden. Omit for non-primary entities. | [user_tag_update_id.md](user_tag_update_id.md) |
|
|
126
129
|
| `ae-cli analysis user-tag-member export` | analysis.user_tag_member.export | read | `--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--snapshot-date` (string; optional) — Optional tag snapshot date, yyyy-MM-dd.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--artifact-format` (string; optional) — Artifact format: jsonl or csv. Default: jsonl. Both formats use native full-download streaming and gzip compression.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--wait` (boolean; optional) — Wait for the remote run and artifact to reach a terminal state. Polling uses short inspect requests; interrupting does not cancel the remote run.<br>`--wait-timeout-seconds` (number; optional, min=1, max=21600) — Maximum time this CLI process waits. Default: 600 seconds; expiry never cancels the remote run.<br>`--output` (string; optional) — Wait, then stream the completed artifact to this local file. Implies --wait.<br>`--force` (boolean; optional) — Allow --output to atomically replace an existing file. Without this flag, existing paths are refused. | [user_tag_member_export.md](user_tag_member_export.md) |
|
|
127
130
|
| `ae-cli analysis user-tag-member list` | analysis.user_tag_member.list | read | `--tag-name` (string; required) — Exact tag_name. Discover real values with analysis user-tag list first.<br>`--snapshot-date` (string; optional) — Optional tag snapshot date, yyyy-MM-dd.<br>`--project-id` (number; required) — Numeric project ID.<br>`--property-names` (json; optional) — Optional JSON array of user property names to include.<br>`--fields` (json; optional) — Optional result fields. Defaults to #user_id, #account_id, #distinct_id, and tag_value.<br>`--query` (string; optional) — Optional keyword filter.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--preview-rows` (number; optional, min=1, max=100000) — Maximum business rows returned per result. Default: 1000, matching the UI member query. Maximum: 100000.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [user_tag_member_list.md](user_tag_member_list.md) |
|
|
@@ -175,7 +178,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
175
178
|
| `ae-cli analysis-meta exchange rule-list` | metadata.exchange_rule.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional, min=0) — Zero-based directory page offset. Default: 0. Negative values are rejected. | [exchange_rule_list.md](exchange_rule_list.md) |
|
|
176
179
|
| `ae-cli analysis-meta exchange rule-update` | metadata.exchange_rule.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [exchange_rule_update.md](exchange_rule_update.md) |
|
|
177
180
|
| `ae-cli analysis-meta exchange rule-validate` | metadata.exchange_rule.validate | read | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [exchange_rule_validate.md](exchange_rule_validate.md) |
|
|
178
|
-
| `ae-cli analysis-meta metric create` | metadata.metric.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-name` (string; required) — Metric technical name, for example pay_count.<br>`--metric-desc` (string; required) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--
|
|
181
|
+
| `ae-cli analysis-meta metric create` | metadata.metric.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-name` (string; required) — Metric technical name, for example pay_count.<br>`--metric-desc` (string; required) — Metric display name.<br>`--metric-remark` (string; optional) — Metric remark.<br>`--model-type` (string; required) — Semantic metric model type: event or retention.<br>`--metric-events` (json; required) — One semantic event-analysis definition, or a native snake_case QP array for compatibility.<br>`--metric-params` (json; optional) — Metric params JSON object. Defaults to {} in common when omitted. | [metric_create.md](metric_create.md) |
|
|
179
182
|
| `ae-cli analysis-meta metric delete` | metadata.metric.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID. | [metric_delete.md](metric_delete.md) |
|
|
180
183
|
| `ae-cli analysis-meta metric export` | metadata.metric.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--ignore-authentication` (boolean; optional) — Whether to skip asset authentication status decoration.<br>`--queries` (json; optional) — Optional JSON array of 1 to 20 keyword filters. Results match any keyword.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--authenticated-only` (boolean; optional) — When true, export only authenticated metrics.<br>`--output` (string; required) — Local .json output file for the complete matching metadata rows. | [metric_export.md](metric_export.md) |
|
|
181
184
|
| `ae-cli analysis-meta metric get` | metadata.metric.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--metric-id` (number; required) — Metric ID. | [metric_get.md](metric_get.md) |
|
|
@@ -199,7 +202,7 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
199
202
|
| `ae-cli analysis-meta virtual-event get` | metadata.virtual_event.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--v-event-id` (number; required) — Virtual event ID. | [virtual_event_get.md](virtual_event_get.md) |
|
|
200
203
|
| `ae-cli analysis-meta virtual-property create` | metadata.virtual_property.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; optional) — Virtual property JSON object with property.column_name/property.table_type/property.select_type fields.<br>`--property-name` (string; optional) — Virtual property name. Must start with '#vp@'.<br>`--property-desc` (string; optional) — Virtual property display name.<br>`--table-type` (string; optional) — Property table type: event or user.<br>`--select-type` (string; optional) — Property value type: string, number, bool, or datetime.<br>`--property-remark` (string; optional) — Optional virtual property remark.<br>`--properties` (json; optional) — Dependent property JSON array.<br>`--sql-event-relation-type` (string; optional) — relation_default, relation_always, or relation_by_setting.<br>`--related-events` (json; optional) — Related events JSON array when using relation_by_setting.<br>`--tag-date-policies` (json; optional) — Optional tag date policies JSON array.<br>`--replace-remark` (string; optional) — Replacement remark.<br>`--replace-suggestion` (string; optional) — Replacement suggestion. | [virtual_property_create.md](virtual_property_create.md) |
|
|
201
204
|
| `ae-cli analysis-meta virtual-property sql-rule-delete` | metadata.virtual_property.sql_rule_delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--v-prop-id` (number; required) — Virtual property ID.<br>`--operation` (string; optional) — Delete operation. Use revoke to revoke instead of delete. | [virtual_property_sql_rule_delete.md](virtual_property_sql_rule_delete.md) |
|
|
202
|
-
| `ae-cli analysis-meta virtual-property sql-rule-update` | metadata.virtual_property.sql_rule_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; required) — Virtual property JSON object with prop_id
|
|
205
|
+
| `ae-cli analysis-meta virtual-property sql-rule-update` | metadata.virtual_property.sql_rule_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--sql-expression` (string; required) — SQL expression used to calculate the virtual property.<br>`--v-prop` (json; required) — Virtual property JSON object with prop_id beside property.<br>`--properties` (json; optional) — Dependent property JSON array.<br>`--sql-event-relation-type` (string; optional) — relation_default, relation_always, or relation_by_setting.<br>`--related-events` (json; optional) — Related events JSON array when using relation_by_setting.<br>`--tag-date-policies` (json; optional) — Optional tag date policies JSON array.<br>`--replace-remark` (string; optional) — Replacement remark.<br>`--replace-suggestion` (string; optional) — Replacement suggestion. | [virtual_property_sql_rule_update.md](virtual_property_sql_rule_update.md) |
|
|
203
206
|
| `ae-cli project access-detail get` | project.access_detail.get | read | `--company-id` (number; required) — Company ID. | [project_access_detail_get.md](project_access_detail_get.md) |
|
|
204
207
|
| `ae-cli project data-power delete` | project.data_power.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--data-power-id` (number; required) — Data power ID to delete.<br>`--new-data-power-id` (number; optional) — Optional replacement data power ID for affected users. | [project_data_power_delete.md](project_data_power_delete.md) |
|
|
205
208
|
| `ae-cli project data-power get` | project.data_power.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--data-power-id` (number; required) — Data power ID. | [project_data_power_get.md](project_data_power_get.md) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# analysis dashboard get
|
|
2
2
|
|
|
3
|
-
Use when the user needs one dashboard detail
|
|
3
|
+
Use when the user needs one dashboard detail or when an agent needs the business context for dashboard report data. The detail includes location, creator and create/update time, settings, reports, notes, and sharing information.
|
|
4
4
|
|
|
5
5
|
Do not use to query report result data. Use `dashboard-report-data run` or `dashboard-report-data export`.
|
|
6
6
|
|
|
@@ -12,4 +12,10 @@ ae-cli analysis dashboard get --project-id <project_id> --dashboard-id <dashboar
|
|
|
12
12
|
|
|
13
13
|
Input sends `project_id`, `dashboard_id`, and optional `use_cache`.
|
|
14
14
|
|
|
15
|
-
Output is the gateway envelope. `data` contains the dashboard detail returned by the capability gateway.
|
|
15
|
+
Output is the gateway envelope. `data` contains the dashboard detail returned by the capability gateway. Business-context fields are stable snake_case:
|
|
16
|
+
|
|
17
|
+
- `dashboard_id`, `dashboard_name`, and optional `remark` identify and describe the dashboard.
|
|
18
|
+
- `location` always contains `space_id`, `space_name`, `folder_id`, and `folder_name`; values are null when that level does not apply. `folder_name` is the immediate parent folder.
|
|
19
|
+
- `notes` is an array whose items contain `note_id`, `note_title`, and `description`.
|
|
20
|
+
|
|
21
|
+
When this detail is fetched before a dashboard data query, preserve non-empty `location.folder_name`, `dashboard_name`, `remark`, and `notes[].note_title/description` as dashboard context. Use them to interpret the report results, but distinguish this authored context from conclusions observed in the queried data.
|
|
@@ -7,10 +7,10 @@ Do not use for dashboard report data. Use `dashboard-report-data run` or `dashbo
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis dashboard list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis dashboard list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["dashboard_id","dashboard_name"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input uses `project_id` plus optional `
|
|
13
|
+
Input uses `project_id` plus optional `queries`, `fields`, `limit`, `offset`. `queries` is a JSON array of 1 to 20 non-empty strings; values use OR semantics. Matching rows include `matched_queries` and `matched_fields`. `--fields` accepts only `dashboard_id`, `dashboard_name`, and `remark`. Input and output both use snake_case; do not use `query`, `dashboardId`, `dashboardName`, generic `id`, or generic `name`.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Execute bounded inline dashboard report data queries. Dashboard report data follows report-data model coverage: the 12 analysis report models from `ai_models.md` plus tag report data.
|
|
4
4
|
|
|
5
|
-
Typical closed loop: find the dashboard -> inspect its reports -> resolve exact filter values when needed -> optionally resolve a physical query route -> run -> verify actual route and per-report warnings -> drill down through the returned report source.
|
|
5
|
+
Typical closed loop: find the dashboard -> inspect its dashboard context and reports -> resolve exact filter values when needed -> optionally resolve a physical query route -> run -> verify actual route and per-report warnings -> drill down through the returned report source.
|
|
6
|
+
|
|
7
|
+
Before the first data query for a selected dashboard, run `ae-cli analysis dashboard get` exactly once with the same `project_id` and `dashboard_id`. Preserve non-empty `location.folder_name`, `dashboard_name`, `remark`, and `notes[].note_title/description` as dashboard context for every report result in this dashboard query. A folder name such as `Campaign A` can provide business scope that a generic dashboard name such as `Base Data` does not. Treat notes as authored explanatory context, not as measured evidence. Do not repeat `dashboard get` for each report in the same continuous workflow unless the dashboard changes or the user explicitly requests a refresh.
|
|
6
8
|
|
|
7
9
|
Routing: read [`analysis_data_retrieval.md`](analysis_data_retrieval.md) before choosing this `run` command instead of `dashboard-report-data export`.
|
|
8
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# analysis dashboard update
|
|
2
2
|
|
|
3
|
-
Use when the user wants to update dashboard settings in batch
|
|
3
|
+
Use when the user wants to update dashboard settings in batch, upsert a dashboard note, or replace the dashboard-level business filter.
|
|
4
4
|
|
|
5
5
|
Do not use for moving/copying dashboards. Use `dashboard copy`, `dashboard handover`, or the relevant project-space/folder command.
|
|
6
6
|
|
|
@@ -10,6 +10,7 @@ Command:
|
|
|
10
10
|
ae-cli analysis dashboard update --project-id <project_id> --operation settings --dashboard-ids '[1001,1002]' [--zone-offset 8] [--payload '{...}']
|
|
11
11
|
ae-cli analysis dashboard update --project-id <project_id> --operation settings --dashboard-id <dashboard_id> --refresh-type 1 --dashboard-status normal --payload '{"dashboard_job_schedule":"0 0 8 * * ?","time_config_open":true,"time_config":{},"cache_config":{},"schedule_ui_config":{}}'
|
|
12
12
|
ae-cli analysis dashboard update --project-id <project_id> --operation note-upsert --dashboard-id <dashboard_id> [--note-id <note_id>] [--note-title <title>] [--description <text>]
|
|
13
|
+
ae-cli analysis dashboard update --project-id <project_id> --operation business-filter --dashboard-id <dashboard_id> --filter '{"junction_kind":"and","ta_filters":[...]}'
|
|
13
14
|
```
|
|
14
15
|
|
|
15
16
|
For `operation=settings`:
|
|
@@ -22,4 +23,6 @@ For `operation=settings`:
|
|
|
22
23
|
|
|
23
24
|
For `operation=note-upsert`, pass `dashboard_id`; omit `note_id` to create a note or pass it to update an existing note. Do not mix note fields with batch settings fields.
|
|
24
25
|
|
|
26
|
+
For `operation=business-filter`, pass one `dashboard_id` and a `filter` object in snake_case QP form. This replaces the dashboard-level business filter saved in `ta_dashboard_business_filter`; it is not a condition-filter favorite or a space-level filter. Each simple condition uses fields such as `filter_type`, `column_name`, `table_type`, `column_type`, `select_type`, `calcu_symbol`, `ftv`, and `lack_value`. A condition with `lack_value=true` is saved as a selectable field but does not restrict query data. Pass `{"junction_kind":"and","ta_filters":[]}` to clear all dashboard-level business-filter conditions.
|
|
27
|
+
|
|
25
28
|
Output is the gateway envelope. `data` contains the update result.
|
|
@@ -7,9 +7,9 @@ Do not use for sharing or moving assets.
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis favorite add --project-id <project_id>
|
|
10
|
+
ae-cli analysis favorite add --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and
|
|
13
|
+
Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains the favorite result.
|
|
@@ -7,9 +7,9 @@ Do not use to delete the asset itself.
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis favorite remove --project-id <project_id>
|
|
10
|
+
ae-cli analysis favorite remove --project-id <project_id> --asset-id <id> --asset-type dashboard|bi_panel|folder [--space-id <space_id>]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and
|
|
13
|
+
Input sends `project_id`, `asset_id`, `asset_type`, and optional `space_id`.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains the remove-favorite result.
|
|
@@ -7,14 +7,13 @@ Do not use it to query metric values. Use this gateway command for an exact metr
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis-meta metric create --project-id <project_id> --metric-name
|
|
10
|
+
ae-cli analysis-meta metric create --project-id <project_id> --metric-name payment_success_rate --metric-desc 'Payment Success Rate' --model-type event --metric-events '[{"time_range":{"mode":"previous","unit":"day","value":7},"metrics":[{"formula":"finish / order","dependencies":[{"alias":"finish","event":"purchase_finish","aggregation":"total_count"},{"alias":"order","event":"order_create","aggregation":"total_count"}]}]}]' --metric-params '{"format":"percent"}'
|
|
11
11
|
ae-cli analysis-meta metric create --project-id <project_id> --metric-name retained_users --metric-desc 'Retained Users' --model-type retention --metric-events '[...]' --metric-params '{}'
|
|
12
|
-
ae-cli analysis-meta metric create --project-id <project_id> --metric-name pay_amount --metric-desc 'Pay Amount' --metric-mode 0 --metric-events '[...]' --dry-run
|
|
13
12
|
```
|
|
14
13
|
|
|
15
14
|
Capability id: `metadata.metric.create`.
|
|
16
15
|
|
|
17
|
-
Input sends typed snake_case fields. Common serializes `metric_events` and `metric_params` for the backend.
|
|
16
|
+
Input sends typed snake_case fields. For event metrics, common validates the semantic definition and compiles it to the backend QP; for example, each `dependencies[].event` becomes the native `eventName`. Common then serializes `metric_events` and `metric_params` for the backend.
|
|
18
17
|
|
|
19
18
|
Output `data.metric` contains the created metric summary.
|
|
20
19
|
|
|
@@ -24,15 +23,15 @@ Output `data.metric` contains the created metric summary.
|
|
|
24
23
|
| `--project-id` | Yes | Numeric project ID. |
|
|
25
24
|
| `--metric-name` | Yes | Metric technical name. |
|
|
26
25
|
| `--metric-desc` | Yes | Metric display name. |
|
|
27
|
-
| `--model-type` |
|
|
28
|
-
| `--metric-
|
|
29
|
-
| `--metric-events` | Yes | Metric event-analysis QP JSON array. |
|
|
26
|
+
| `--model-type` | Yes | Semantic metric model type: `event` or `retention`; the CLI converts it to the backend `metric_mode`. |
|
|
27
|
+
| `--metric-events` | Yes | Exactly one semantic event-analysis definition. A native snake_case QP array is accepted for compatibility. |
|
|
30
28
|
| `--metric-remark` | No | Metric remark. |
|
|
31
29
|
| `--metric-params` | No | Metric params JSON object; common defaults it to `{}` when needed. |
|
|
32
30
|
|
|
33
31
|
## Decision Rules
|
|
34
32
|
|
|
35
|
-
- Pass
|
|
36
|
-
-
|
|
33
|
+
- Pass `--model-type event` or `--model-type retention`. `metric create` does not expose the backend-only `--metric-mode` selector.
|
|
34
|
+
- For an event formula, pass exactly one item in `metric_events` and exactly one item in its `metrics`; every dependency requires `alias`, `event`, and `aggregation`.
|
|
35
|
+
- Use public snake_case fields such as `time_range` and `dependencies[].event`; do not send backend-only camelCase fields such as `eventName` in the semantic definition.
|
|
37
36
|
- For event metrics, `--metric-params` is usually a format config such as `{"format":"integer"}`.
|
|
38
37
|
- For retention metrics, `--metric-params` should be the retention `eventView` configuration.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# analysis project-space business-filter-upsert
|
|
2
|
+
|
|
3
|
+
Use when the user wants to create, replace, or clear the space-level business filter inherited by dashboards in one project space.
|
|
4
|
+
|
|
5
|
+
Command:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli analysis project-space business-filter-upsert --project-id <project_id> --space-id <space_id> --filter '{"junction_kind":"and","ta_filters":[...]}'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
`filter` uses snake_case QP form. Each simple condition uses fields such as `filter_type`, `column_name`, `table_type`, `column_type`, `select_type`, `calcu_symbol`, `ftv`, and `lack_value`. A condition with `lack_value=true` is stored but does not restrict query data.
|
|
12
|
+
|
|
13
|
+
The backend queries the current space filter first, then creates it when absent or updates it with the current optimistic-lock ID and timestamp. Callers do not pass `id` or `update_time`.
|
|
14
|
+
|
|
15
|
+
Space-level and dashboard-level business-filter conditions are combined with `AND` when dashboard report data is queried. Pass `{"junction_kind":"and","ta_filters":[]}` to clear the space-level conditions.
|
|
16
|
+
|
|
17
|
+
Output is the gateway envelope. `data.created` tells whether a new space filter row was created, and `data.business_filter` contains the saved filter.
|
|
@@ -7,10 +7,10 @@ Do not use for project lookup or project ID verification. Use `project info list
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis project-space list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis project-space list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["space_id","name","space_desc"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and optional `
|
|
13
|
+
Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -7,10 +7,10 @@ Do not use for dashboard or BI panel asset listing. Use the matching list comman
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis public-link list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis public-link list --project-id <project_id> [--queries '["growth","retention"]'] [--fields '["id","resource_id"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id` and optional `
|
|
13
|
+
Input sends `project_id` and optional `queries`, `fields`, `limit`, `offset`. `queries` accepts 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`, and singular `query` is not accepted.
|
|
14
14
|
|
|
15
15
|
When `has_more=true`, continue only with the returned `next_offset`; do not calculate the next page locally.
|
|
16
16
|
|
|
@@ -7,11 +7,11 @@ Do not use for report data execution or report definition writes. Use `report-da
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis report list --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis report list --project-id <project_id> [--queries '["growth","retention"]'] [--model-types '["event","sql","tag","revenue"]'] [--fields '["report_id","report_name","report_desc","report_model","version"]'] [--limit 50] [--offset 0]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id`, optional `
|
|
13
|
+
Input sends `project_id`, optional `queries`, `model_types`, `fields`, `limit`, and `offset` as snake_case gateway input. `queries` is a JSON array of 1 to 20 non-empty strings with OR semantics; matching rows include `matched_queries` and `matched_fields`. The legacy singular `query` is not accepted. `limit` defaults to 50 and must be 1..200; out-of-range values are rejected rather than silently clamped.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains report summaries, `total`, effective `limit`, `offset`, `has_more`, and nullable `next_offset`. When `has_more` is true, use exactly `next_offset` for the next call; stop when it is false. Include `version` in `--fields` when the next step is `analysis report update`.
|
|
16
16
|
|
|
17
|
-
When locating
|
|
17
|
+
When locating reports, group known names into one `--queries` call or narrow with `--model-types` before paging. Stop when the required reports are found; do not issue one list call per name.
|
|
@@ -7,9 +7,9 @@ Do not use for report data values. Use `report-data export` when the output shou
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis report list-export --project-id <project_id> [--
|
|
10
|
+
ae-cli analysis report list-export --project-id <project_id> [--queries '["growth","retention"]'] [--model-types '["event","sql","tag","revenue"]'] [--fields '["report_id","report_name"]'] [--artifact-format jsonl] [--request-id cli_0123456789abcdef0123456789abcdef] [--timeout-seconds 21600]
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id`, optional `
|
|
13
|
+
Input sends `project_id`, optional `queries`, semantic `model_types`, `fields`, lifecycle `request_id`, artifact `format`, and `timeout_seconds`. `queries` accepts 1 to 20 non-empty strings with OR semantics; the singular `query` is not accepted. ae-cli generates and announces `request_id` before dispatch when it is omitted.
|
|
14
14
|
|
|
15
15
|
Output is the gateway envelope. `data` contains an async artifact descriptor including `run_id`, `artifact_id`, status, and expiration fields. Inspect and download through the dedicated CLI commands using those opaque IDs.
|
|
@@ -7,7 +7,7 @@ List the server-authoritative SQL table references that the current user may que
|
|
|
7
7
|
```bash
|
|
8
8
|
ae-cli analysis sql-table list \
|
|
9
9
|
--project-id <project_id> \
|
|
10
|
-
[--
|
|
10
|
+
[--queries '["user","event"]'] \
|
|
11
11
|
[--limit <1-200>] \
|
|
12
12
|
[--offset <next_offset>] \
|
|
13
13
|
[--usage analysis|tag_cluster]
|
|
@@ -17,6 +17,7 @@ ae-cli analysis sql-table list \
|
|
|
17
17
|
|
|
18
18
|
- Use this command before writing SQL when the table is not already known. Do not ask the customer to supply the fixed project event/user table name and do not guess `v_event_<id>` or `v_user_<id>`.
|
|
19
19
|
- `table_ref` is the exact server-authorized reference to copy into SQL and into `analysis sql-table columns --table-ref`.
|
|
20
|
+
- `queries` accepts 1 to 20 non-empty strings with OR semantics. Matching rows include `matched_queries` and `matched_fields`; singular `query` is not accepted.
|
|
20
21
|
- Each item also returns `catalog`, `schema`, `table`, `table_type`, and `description`.
|
|
21
22
|
- `usage=analysis` is the default table set for SQL analysis and reports. Use `usage=tag_cluster` for SQL tags or SQL clusters. These server-authorized sets differ, and the same usage must be passed to `sql-table columns`.
|
|
22
23
|
- When `has_more=true`, continue only with the returned `next_offset`. Stop when `has_more=false`.
|
|
@@ -25,7 +26,7 @@ ae-cli analysis sql-table list \
|
|
|
25
26
|
## Example workflow
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
|
-
ae-cli analysis sql-table list --project-id 1 --
|
|
29
|
+
ae-cli analysis sql-table list --project-id 1 --queries '["user","account"]'
|
|
29
30
|
ae-cli analysis sql-table columns --project-id 1 --table-ref hive.ta.v_user_1
|
|
30
31
|
ae-cli analysis adhoc run --project-id 1 --model-type sql --definition '{"sql":"select * from hive.ta.v_user_1 limit 10"}'
|
|
31
32
|
```
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Update a condition or SQL user cluster. Discover the exact `cluster_name` first.
|
|
4
4
|
|
|
5
|
-
Do not use it for ID-file membership replacement or to create a missing cluster. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-cluster refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. A successful update means the definition was saved, not that the new result is complete. Poll `user-cluster get` until `progress=100` and `refresh_end_time` is not older than `update_time` before using `users_num` or querying members.
|
|
5
|
+
Do not use it for ID-file membership replacement or to create a missing cluster. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-cluster refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. `--auto-refresh-cron` changes an existing enabled auto-refresh schedule and does not enable auto refresh. A successful update means the definition was saved, not that the new result is complete. Poll `user-cluster get` until `progress=100` and `refresh_end_time` is not older than `update_time` before using `users_num` or querying members.
|
|
6
6
|
|
|
7
7
|
The response distinguishes both paths. A definition update returns `computation.triggered_automatically=true`, `result_freshness.is_stale=true`, and normally `next_action=poll_get` with an exact capability/input pair. A display-name/remark-only update returns `computation.status=not_triggered`, `result_freshness.status=fresh`, and `next_action=none`.
|
|
8
8
|
|
|
9
|
-
Flags: `--project-id`, `--cluster-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`. The cluster type comes from `definition_request.type` when the definition changes.
|
|
9
|
+
Flags: `--project-id`, `--cluster-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`, `--auto-refresh-cron`. The cluster type comes from `definition_request.type` when the definition changes.
|
|
10
10
|
|
|
11
11
|
`display_name` is at most 80 characters and `remark` is at most 400 characters. The CLI rejects violations before dispatch. `cluster_name` is an existing exact identifier and cannot be renamed by update.
|
|
12
12
|
|
|
@@ -14,4 +14,6 @@ Read `user_cluster_models.md` before changing the definition. The backend valida
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
ae-cli analysis user-cluster update --project-id <project_id> --cluster-name retained_users --display-name "Retained Users v2"
|
|
17
|
+
|
|
18
|
+
ae-cli analysis user-cluster update --project-id <project_id> --cluster-name retained_users --auto-refresh-cron '0 30 2 * * ? *'
|
|
17
19
|
```
|
|
@@ -24,18 +24,18 @@ Top-level `type` is exactly one of `condition`, `metric`, `first_last`, or `sql`
|
|
|
24
24
|
|
|
25
25
|
## Metric tag
|
|
26
26
|
|
|
27
|
-
Required: `event`, `aggregation`. `property` and `
|
|
27
|
+
Required: `event`, `aggregation`. `property`, `time_range`, and `filters` are optional. Filters support only event properties and user properties. A string `field` is an event property; use `{name,type:"user_property"}` for a user property.
|
|
28
28
|
|
|
29
29
|
```json
|
|
30
|
-
{"type":"metric","metric":{"event":"pay","aggregation":"sum","property":"amount","time_range":{"mode":"previous","unit":"day","value":30}}}
|
|
30
|
+
{"type":"metric","metric":{"event":"pay","aggregation":"sum","property":"amount","time_range":{"mode":"previous","unit":"day","value":30},"filters":{"relation":"and","items":[{"field":"channel","operator":"eq","values":["app"]},{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}}}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## First/last tag
|
|
34
34
|
|
|
35
|
-
Required: `event`, `occurrence=first|last`, and exactly one value source: `calculation` or `property`. `time_range` and `filters` are optional. Supplying neither or both value sources is rejected before execution.
|
|
35
|
+
Required: `event`, `occurrence=first|last`, and exactly one value source: `calculation` or `property`. `time_range` and `filters` are optional. Filters support only event properties and user properties. A string `field` is an event property; use `{name,type:"user_property"}` for a user property. Supplying neither or both value sources is rejected before execution.
|
|
36
36
|
|
|
37
37
|
```json
|
|
38
|
-
{"type":"first_last","first_last":{"event":"login","occurrence":"last","property":"platform","time_range":{"mode":"recent","unit":"day","value":30}}}
|
|
38
|
+
{"type":"first_last","first_last":{"event":"login","occurrence":"last","property":"platform","time_range":{"mode":"recent","unit":"day","value":30},"filters":{"relation":"and","items":[{"field":{"name":"country","type":"user_property"},"operator":"eq","values":["US"]}]}}}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
## SQL tag
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Update a user tag. Discover the exact `tag_name` first.
|
|
4
4
|
|
|
5
|
-
Do not use it for ID-file value replacement or to create a missing tag. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-tag refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. A successful update means the definition was saved, not that the new result is complete. Record the current `refresh_time` before updating, then poll `user-tag get` until `progress=100` and `refresh_time` advances before using `users_num` or querying members.
|
|
5
|
+
Do not use it for ID-file value replacement or to create a missing tag. Supplying `--definition-request` automatically starts recomputation after the definition is updated; do not call `user-tag refresh` afterward. Updating only `--display-name` or `--remark` does not recompute. `--auto-refresh-cron` changes an existing enabled auto-refresh schedule and does not enable auto refresh. A successful update means the definition was saved, not that the new result is complete. Record the current `refresh_time` before updating, then poll `user-tag get` until `progress=100` and `refresh_time` advances before using `users_num` or querying members.
|
|
6
6
|
|
|
7
7
|
The response distinguishes both paths. A definition update returns `computation.triggered_automatically=true`, `result_freshness.is_stale=true`, and normally `next_action=poll_get` with an exact capability/input pair. A display-name/remark-only update returns `computation.status=not_triggered`, `result_freshness.status=fresh`, and `next_action=none`.
|
|
8
8
|
|
|
9
|
-
Flags: `--project-id`, `--tag-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`. The tag type comes from `definition_request.type` when the definition changes.
|
|
9
|
+
Flags: `--project-id`, `--tag-name` required. Optional: `--display-name`, `--definition-request`, `--authenticated-only`, `--remark`, `--zone-offset`, `--auto-refresh-cron`. The tag type comes from `definition_request.type` when the definition changes.
|
|
10
10
|
|
|
11
11
|
`display_name` is at most 80 characters and `remark` is at most 400 characters. The CLI rejects violations before dispatch. `tag_name` is an existing exact identifier and cannot be renamed by update.
|
|
12
12
|
|
|
@@ -14,4 +14,6 @@ Read `user_tag_models.md` before changing the definition. The backend validates
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
ae-cli analysis user-tag update --project-id <project_id> --tag-name user_level --display-name "User Level v2"
|
|
17
|
+
|
|
18
|
+
ae-cli analysis user-tag update --project-id <project_id> --tag-name user_level --auto-refresh-cron '0 30 2 * * ? *'
|
|
17
19
|
```
|