@thinkingai/ae-cli 6.1.11 → 6.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/README.zh.md +0 -2
- package/dist/{auth-NN55553T.js → auth-GBMV6TEJ.js} +2 -2
- package/dist/{auth-GDV3H5I4.js → auth-NDSXE54J.js} +4 -4
- package/dist/{capability-TPORIKRQ.js → capability-TAMDRZYV.js} +23 -10
- package/dist/{capability-VQNC5CF7.js → capability-U7TDEEEG.js} +23 -10
- package/dist/{chunk-GJJA4CQZ.js → chunk-3FY3RJ26.js} +0 -4
- package/dist/{chunk-GS2P7LFD.js → chunk-5XUSIK27.js} +2 -2
- package/dist/{chunk-7KQWSBSL.js → chunk-753BUTNZ.js} +3 -3
- package/dist/{chunk-VTXHDCBW.js → chunk-AFXA7BRK.js} +2 -2
- package/dist/chunk-IBH3LDAH.js +556 -0
- package/dist/{chunk-RBNKI5ZW.js → chunk-JUW4AJXN.js} +2 -2
- package/dist/{chunk-TS6BUGUY.js → chunk-QATA32VR.js} +3 -3
- package/dist/{chunk-Z3OXWCIA.js → chunk-S5NTSDBS.js} +2 -2
- package/dist/chunk-UIHQJK5E.js +556 -0
- package/dist/{chunk-VKD5WQKN.js → chunk-VLWOLBGZ.js} +142 -24
- package/dist/{chunk-YTG6Q75E.js → chunk-WZRX4KOH.js} +25 -3
- package/dist/{chunk-YV52FB5G.js → chunk-ZQKDZXDO.js} +1 -1
- package/dist/{cli-token-GL5MS5FK.js → cli-token-4UPER74P.js} +3 -3
- package/dist/{chunk-6A2FUCIS.js → client-L2YDMHQ6.js} +5 -6
- package/dist/{config-4VZNLBKF.js → config-OL2LWGBV.js} +4 -33
- package/dist/index.js +25 -38
- package/dist/{memory-RWJW4XFO.js → memory-MUP7PPL7.js} +4 -4
- package/dist/{memory-VO2ZJCRT.js → memory-U4O5PMXH.js} +4 -4
- package/dist/{metadata-YGTHR2XJ.js → metadata-UORZTW3T.js} +21 -11
- package/dist/{metadata-ZRN2GHPN.js → metadata-VVQ3AQT5.js} +21 -11
- package/dist/{model-CLUIK3K5.js → model-JTUEO5M4.js} +2 -2
- package/dist/{sync-3REDHGY6.js → sync-MOSFNBVR.js} +5 -5
- package/dist/{te-agent-XNPELAKX.js → te-agent-IFKZDHZI.js} +25 -18
- package/dist/{te-analysis-GJI5FZUL.js → te-analysis-KOKHJJPE.js} +1225 -450
- package/dist/{te-analysis-N2BRDJZ5.js → te-analysis-LLOCCBJ4.js} +1225 -450
- package/dist/{te-community-SQXKE5OO.js → te-community-HNKVTERD.js} +207 -12
- package/dist/{te-community-TYSNU3NQ.js → te-community-IWE5B7W6.js} +208 -12
- package/dist/{te-dataops-OWIADNSM.js → te-dataops-KQPYNAE3.js} +262 -145
- package/dist/{te-dataops-5TM7WZDI.js → te-dataops-KXCEB4CS.js} +262 -145
- package/dist/{te-engage-F7V55KVW.js → te-engage-BRLSRVQT.js} +960 -41
- package/dist/{te-engage-FMYAYCNV.js → te-engage-HE4OPZIT.js} +960 -41
- package/dist/{te-experiment-JWXOYJ3W.js → te-experiment-K5US7RMG.js} +115 -9
- package/dist/{te-experiment-UPDMHCAJ.js → te-experiment-WA7TFMEL.js} +115 -9
- package/dist/{te-kb-VRMEY3D4.js → te-kb-OIH3T6CS.js} +4 -4
- package/dist/{te-system-XGS5EQIQ.js → te-system-AZ3URMUO.js} +515 -11
- package/dist/{te-team-BZRDV2CM.js → te-team-GZPU6UWA.js} +5 -5
- package/dist/{update-HEDXGOJH.js → update-TOBFXF2V.js} +4 -4
- package/package.json +6 -6
- package/skills/ae-agent/SKILL.md +3 -3
- package/skills/ae-agent/references/list-skill-references.md +4 -4
- package/skills/ae-agent/references/read-skill-reference.md +10 -7
- package/skills/ae-agent/references/upload-skill-reference.md +11 -9
- package/skills/ae-analysis/SKILL.md +15 -12
- package/skills/ae-analysis/metadata_resolution.md +150 -0
- package/skills/ae-analysis/references/adhoc_export.md +17 -2
- package/skills/ae-analysis/references/adhoc_run.md +12 -8
- package/skills/ae-analysis/references/ai_models.md +31 -5
- package/skills/ae-analysis/references/analysis_data_retrieval.md +104 -16
- package/skills/ae-analysis/references/analysis_drilldown_contract.md +4 -4
- package/skills/ae-analysis/references/analysis_gateway_assets.md +12 -10
- package/skills/ae-analysis/references/artifact_download.md +4 -3
- package/skills/ae-analysis/references/asset_abnormal_list.md +5 -3
- package/skills/ae-analysis/references/asset_authentication_list.md +5 -3
- package/skills/ae-analysis/references/asset_search.md +5 -3
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
- package/skills/ae-analysis/references/bi_panel_page_data_run.md +4 -4
- package/skills/ae-analysis/references/catalog_export.md +28 -0
- package/skills/ae-analysis/references/catalog_list.md +44 -0
- package/skills/ae-analysis/references/command_index.md +72 -63
- package/skills/ae-analysis/references/dashboard_report_data_run.md +11 -4
- package/skills/ae-analysis/references/datatable_version_list.md +5 -3
- package/skills/ae-analysis/references/drilldown_entities_run.md +4 -4
- package/skills/ae-analysis/references/drilldown_events_run.md +2 -2
- package/skills/ae-analysis/references/drilldown_user_events_export.md +1 -1
- package/skills/ae-analysis/references/drilldown_user_events_run.md +2 -2
- package/skills/ae-analysis/references/entity_detail_run.md +4 -4
- package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
- package/skills/ae-analysis/references/event_detail_run.md +4 -4
- package/skills/ae-analysis/references/event_export.md +21 -0
- package/skills/ae-analysis/references/event_list.md +7 -6
- package/skills/ae-analysis/references/exchange_rule_list.md +5 -3
- package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -2
- package/skills/ae-analysis/references/history_tag_data_drilldown_run.md +2 -2
- package/skills/ae-analysis/references/history_tag_data_run.md +2 -2
- package/skills/ae-analysis/references/metric_export.md +21 -0
- package/skills/ae-analysis/references/metric_list.md +8 -7
- package/skills/ae-analysis/references/property_export.md +21 -0
- package/skills/ae-analysis/references/property_list.md +9 -8
- package/skills/ae-analysis/references/query_context_get.md +20 -0
- package/skills/ae-analysis/references/query_create_result_cluster.md +1 -1
- package/skills/ae-analysis/references/report_change_log_list.md +1 -1
- package/skills/ae-analysis/references/report_create.md +3 -3
- package/skills/ae-analysis/references/report_data_run.md +8 -8
- package/skills/ae-analysis/references/report_update.md +3 -3
- package/skills/ae-analysis/references/report_version_rollback.md +1 -1
- package/skills/ae-analysis/references/rule_list.md +6 -4
- package/skills/ae-analysis/references/run_inspect.md +8 -5
- package/skills/ae-analysis/references/run_wait.md +37 -0
- package/skills/ae-analysis/references/user_cluster_export.md +13 -0
- package/skills/ae-analysis/references/user_cluster_list.md +6 -2
- package/skills/ae-analysis/references/user_cluster_member_export.md +5 -3
- package/skills/ae-analysis/references/user_cluster_member_list.md +4 -4
- package/skills/ae-analysis/references/user_tag_export.md +13 -0
- package/skills/ae-analysis/references/user_tag_list.md +6 -2
- package/skills/ae-analysis/references/user_tag_member_export.md +5 -3
- package/skills/ae-analysis/references/user_tag_member_list.md +4 -4
- package/skills/ae-analysis/references/virtual_property_create.md +2 -2
- package/skills/ae-community/SKILL.md +2 -2
- package/skills/ae-dataops/SKILL.md +4 -3
- package/skills/ae-dataops/references/dataops-flow-create.md +47 -3
- package/skills/ae-engage/SKILL.md +57 -7
- package/skills/ae-engage/references/activity-data-detail.md +61 -0
- package/skills/ae-engage/references/build-task-save-guide.md +37 -1
- package/skills/ae-engage/references/cancel-query-run.md +31 -0
- package/skills/ae-engage/references/common-metric.md +45 -0
- package/skills/ae-engage/references/config-item-analysis-report.md +14 -1
- package/skills/ae-engage/references/config-item-strategy-comparison.md +11 -1
- package/skills/ae-engage/references/config-item-trigger-report.md +15 -1
- package/skills/ae-engage/references/flow-metric-detail-report.md +134 -0
- package/skills/ae-engage/references/flow-metric-update.md +77 -0
- package/skills/ae-engage/references/flow-metric-user.md +118 -0
- package/skills/ae-engage/references/flow-node-metric-user.md +122 -0
- package/skills/ae-engage/references/flow-node-user.md +122 -0
- package/skills/ae-engage/references/preset-event.md +2 -0
- package/skills/ae-engage/references/push-record-query.md +32 -1
- package/skills/ae-engage/references/save-flow.md +14 -0
- package/skills/ae-engage/references/save-task.md +44 -0
- package/skills/ae-engage/references/scene-strategy-audience.md +12 -7
- package/skills/ae-engage/references/task-data-detail.md +9 -2
- package/skills/ae-engage/references/task-metric-detail.md +9 -2
- package/skills/ae-engage/references/task-submit-approval.md +3 -0
- package/skills/ae-experiment/SKILL.md +17 -4
- package/skills/ae-experiment/references/delete_metric.md +2 -0
- package/skills/ae-experiment/references/query_experiment_metric_trend.md +5 -5
- package/skills/ae-experiment/references/query_experiment_report_summary.md +4 -3
- package/skills/ae-experiment/references/query_experiment_sample_size_report.md +6 -5
- package/skills/ae-experiment/references/save_build_guide.md +39 -0
- package/skills/ae-experiment/references/save_experiment.md +11 -0
- package/skills/ae-experiment/references/save_metric.md +5 -1
- package/skills/ae-experiment/references/save_validate.md +33 -0
- package/skills/ae-experiment-design/SKILL.md +1 -1
- package/skills/ae-experiment-design/references/platform-operations.md +10 -4
- package/skills/ae-experiment-insight/references/platform-operations.md +10 -4
- package/skills/ae-metadata/SKILL.md +2 -1
- package/skills/ae-metadata/references/metadata_data_table_download.md +10 -2
- package/skills/ae-metadata/references/metadata_data_table_list.md +5 -2
- package/skills/ae-system/SKILL.md +66 -3
- package/dist/chunk-DT6Y3TD7.js +0 -232
- package/dist/chunk-MVDZ7DBQ.js +0 -231
- package/dist/chunk-NBPKWKRA.js +0 -51
- package/dist/client-DAIPF7XN.js +0 -23
- package/dist/raw-52B4UKO4.js +0 -71
- package/dist/te-meta-53BVXPFI.js +0 -95
- package/dist/te-meta-TOCBPBXI.js +0 -95
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-engage
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: "AE Engage capability gateway: config center, flows, push/config channels, strategies, templates, and
|
|
4
|
+
description: "AE Engage capability gateway: config center, flows, push/config channels, strategies, templates, task management, operation activities, and query lifecycle. Trigger words: config center, scene config, push channel, config channel, operation strategy, operation task, operation activity, query lifecycle, template, config item, Engage, Hermes, engage-scene, engage-setting, engage-flow, engage-task, engage-activity, engage-query."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# ae-engage
|
|
@@ -33,7 +33,7 @@ Safety constraints:
|
|
|
33
33
|
|
|
34
34
|
## Overview
|
|
35
35
|
|
|
36
|
-
The `ae-engage` package provides Hermes Engage capabilities across config items, flows, channel settings, and
|
|
36
|
+
The `ae-engage` package provides Hermes Engage capabilities across config items, flows, channel settings, task data, and query lifecycle. Use capability-gateway commands through `ae-cli engage-flow|engage-task|engage-setting|engage-scene|engage-query <resource> <action>`; low-frequency reports use the L3 references below.
|
|
37
37
|
|
|
38
38
|
Typical use cases include:
|
|
39
39
|
|
|
@@ -56,6 +56,7 @@ When the user mentions a product term below (including common Chinese UI labels)
|
|
|
56
56
|
| **Config channel** | Config-center Webhook/client config channels (not the same as push channels) | `engage-scene` | `references/scene-config-channel.md` | `channel-mgmt.md` (create/enable-disable/copy/delete workflows). User params in `config.customsParamList` require `columnName` with `user:` prefix (e.g. `user:#account_id`); preflight names with ae-analysis `analysis-meta property list/get`. |
|
|
57
57
|
| **Operation strategy** | Ops/delivery strategies under a config item | `engage-scene` | `references/scene-strategy.md` | Custom audience: [`scene-strategy-audience.md`](references/scene-strategy-audience.md) — semantic `definitionRequest` (Analysis condition shape); do not pass `targetClusterQp`/`qp`; preflight props (stop + list if missing); template: `scene-template.md` |
|
|
58
58
|
| **Operation task** | Hermes push/engagement tasks (list, save, lifecycle, reports) | `engage-task` | `references/task-list.md` | `task-detail.md` (get), `save-task.md`, `build-task-save-guide.md`, `task-stats.md`, `task-delete.md`, `push-record-query.md`, `task-data-overview.md`, `task-data-detail.md`, `task-metric-detail.md`, `task-experiment-report.md` |
|
|
59
|
+
| **Operation activity** | Campaign activity management and delivery trends by activity, topic, or standalone task | `engage-activity` | `references/activity-activity.md` | `activity-data-detail.md`, `activity-topic.md`, `activity-task.md`, `activity-approval.md` |
|
|
59
60
|
| **Template** | Strategy templates under a config item | `engage-scene` | `references/scene-template.md` | `scene-config-param.md` (template fields reference `paramId`); enable via `template update` then `template update-status` before strategy create |
|
|
60
61
|
|
|
61
62
|
**Easy to confuse:**
|
|
@@ -75,6 +76,7 @@ Naming boundary:
|
|
|
75
76
|
|
|
76
77
|
- CLI flags use kebab-case; outer Capability input and all Capability response keys use snake_case.
|
|
77
78
|
- Nested business DTOs passed through `--req` or `--payload` keep their documented native camelCase fields. Do not mechanically convert those nested DTO keys to snake_case.
|
|
79
|
+
- Semantic audience, event, trigger, completion, and metric definitions are closed contracts. The CLI rejects malformed or unknown semantic fields locally; `--validate` applies the same precise Hermes capability schema without writing.
|
|
78
80
|
- Successful migrated commands return their business payload under `data`; read the matching reference's Response shape before selecting fields.
|
|
79
81
|
|
|
80
82
|
## JSON Parameter Format
|
|
@@ -173,6 +175,10 @@ ae-cli engage-task task get --project-id 1 --task-id task_123
|
|
|
173
175
|
# Submit a saved draft task for approval
|
|
174
176
|
ae-cli engage-task task submit-approval --project-id 1 --task-id task_123
|
|
175
177
|
|
|
178
|
+
# Query task reports through the Hermes inline task-data capabilities
|
|
179
|
+
ae-cli engage-task effect query --project-id 1 --task-id task_123 --start-time 2026-04-01 --end-time 2026-04-07 --metric-id-list '["metric_1"]'
|
|
180
|
+
ae-cli engage-task data-detail query --project-id 1 --task-id task_123 --detail-type time --start-time 2026-04-01 --end-time 2026-04-07
|
|
181
|
+
|
|
176
182
|
```
|
|
177
183
|
|
|
178
184
|
For L3 task reports, read `references/task-data-overview.md`, `references/task-data-detail.md`,
|
|
@@ -217,8 +223,29 @@ ae-cli engage-task task submit-approval --project-id 1 --task-id task_id_123
|
|
|
217
223
|
|
|
218
224
|
# Query the node schema
|
|
219
225
|
ae-cli engage-flow node-config schema --project-id 1 --node-type message_push
|
|
226
|
+
ae-cli engage-flow metric update --project-id 1 --flow-id flow_id_123 --metric-map '<metric_map_json>'
|
|
227
|
+
|
|
228
|
+
# Query or export newly exposed flow report surfaces
|
|
229
|
+
ae-cli engage-flow report metric-detail run --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --start-time 2026-04-01 --end-time 2026-04-07 --limit 100 --timeout-seconds 120
|
|
230
|
+
ae-cli engage-flow report metric-detail export --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --start-time 2026-04-01 --end-time 2026-04-07 --artifact-format csv --timeout-seconds 21600
|
|
231
|
+
ae-cli engage-flow metric-user run --project-id 1 --flow-id flow_id_123 --indicator-name entry --start-time 2026-04-01 --end-time 2026-04-07 --limit 100 --timeout-seconds 120
|
|
232
|
+
ae-cli engage-flow metric-user export --project-id 1 --flow-id flow_id_123 --indicator-name entry --start-time 2026-04-01 --end-time 2026-04-07 --artifact-format csv --timeout-seconds 21600
|
|
233
|
+
ae-cli engage-flow node-user run --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --indicator-name entry --start-time 2026-04-01 --end-time 2026-04-07 --limit 100 --timeout-seconds 120
|
|
234
|
+
ae-cli engage-flow node-user export --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --indicator-name entry --start-time 2026-04-01 --end-time 2026-04-07 --artifact-format csv --timeout-seconds 21600
|
|
235
|
+
ae-cli engage-flow node-metric-user run --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --indicator-name metric_setting_id_123 --start-time 2026-04-01 --end-time 2026-04-07 --limit 100 --timeout-seconds 120
|
|
236
|
+
ae-cli engage-flow node-metric-user export --project-id 1 --flow-id flow_id_123 --node-uuid node_uuid_123 --indicator-name metric_setting_id_123 --start-time 2026-04-01 --end-time 2026-04-07 --artifact-format csv --timeout-seconds 21600
|
|
220
237
|
```
|
|
221
238
|
|
|
239
|
+
User-detail `run` commands are for bounded inline rows and accept `--request-id`, `--limit`, and `--timeout-seconds`; metric-detail `run` returns the report object. Export commands accept `--request-id`, `--artifact-format csv|jsonl` (default `jsonl`), and `--timeout-seconds`, then return `run_id` and `artifact_id`; poll with `ae-cli engage-query run inspect --run-id RUN_ID`, then download with `ae-cli engage-query artifact download --run-id RUN_ID --artifact-id ARTIFACT_ID --output ./artifact.jsonl.gz`. Cancel running async work with `ae-cli engage-query query cancel --run-id RUN_ID`.
|
|
240
|
+
|
|
241
|
+
For flow report/user-detail commands, read the matching reference before composing non-trivial input:
|
|
242
|
+
|
|
243
|
+
- Flow canvas custom metric configuration: `references/flow-metric-update.md`
|
|
244
|
+
- Metric-detail report object or flattened report export: `references/flow-metric-detail-report.md`
|
|
245
|
+
- Users behind a process-level metric segment: `references/flow-metric-user.md`
|
|
246
|
+
- Users behind a node-level data segment: `references/flow-node-user.md`
|
|
247
|
+
- Users behind a node-level metric segment: `references/flow-node-metric-user.md`
|
|
248
|
+
|
|
222
249
|
### 5. scene (scene management / config center)
|
|
223
250
|
|
|
224
251
|
New capability-gateway command group `engage-scene` covers the config center: config items, params, groups, preset/related metrics, config channels, strategies, and templates. Complex DTOs are passed with `--payload` (native camelCase JSON).
|
|
@@ -375,6 +402,9 @@ ae-cli engage-setting channel list --project-id <projectId>
|
|
|
375
402
|
5. `engage-flow flow save` is **operation-based** (protocol v2). The `--req` object must carry an `operation` of `build`, `preview`, or `commit`. Do **not** use the old `nodeList` / `edgeList` field names — use `nodes` / `edges` with `operation=build`. A legacy `nodeList`/`edgeList` payload (or a missing `operation`) is rejected with `Unsupported save_flow operation: null`.
|
|
376
403
|
6. Run the lifecycle: `build` (returns `data.result.status = ready_to_preview` or `need_input`) → resolve any `data.result.next_slot` → `preview` (re-issues response fields `data.result.draft_version` + `data.result.confirm_token`) → `commit` (maps those values to request fields `draftVersion` + `confirmToken`) → reads the final ID from `data.result.result.flow_uuid`.
|
|
377
404
|
7. `nodes[].config` / `edges[].config` may be a JSON object or a JSON string. Custom audience nodes and branches use semantic `targetDefinitionRequest`; Hermes compiles it to the node's stored execution format.
|
|
405
|
+
Never send `targetClusterQp`. Each audience `event` and `behavior_sequence` must include
|
|
406
|
+
its own `time_range`; Flow entry dates do not replace that range. Use only properties that
|
|
407
|
+
resolve through the Flow editor's current project, timezone, and user-entity metadata scope.
|
|
378
408
|
8. You must self-check before previewing/committing:
|
|
379
409
|
- There is exactly one entry node
|
|
380
410
|
- There is at least one `exit_flow`
|
|
@@ -437,6 +467,7 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
437
467
|
- `references/add-approver.md` / `references/approver-list.md` (`engage-setting.approval-approver.{add,list}`)
|
|
438
468
|
- `references/whitelist-list.md` / `references/whitelist.md` (`engage-setting.whitelist.{list,add,update,delete,verify}`)
|
|
439
469
|
- `references/cancel-query-by-request-id.md` (`engage-setting.query.cancel`, L3)
|
|
470
|
+
- `references/cancel-query-run.md` (`engage-query.query.cancel`)
|
|
440
471
|
- `references/push-language.md` (`engage-setting.push-language.{get,set}`)
|
|
441
472
|
- `references/client-param.md` (`engage-setting.client-param.{create,update,delete,list}`)
|
|
442
473
|
- `references/config-table.md` (`engage-setting.config-table.{upload,save,list,query-data,update-data,delete}`)
|
|
@@ -456,6 +487,7 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
456
487
|
- `references/config-item-analysis-report.md` (`engage-scene.report.config-item-analysis`, L3)
|
|
457
488
|
- `references/config-item-strategy-comparison.md` (`engage-scene.report.strategy-comparison`, L3)
|
|
458
489
|
- `references/activity-activity.md` (`engage-activity.activity.{create,update,delete,list,get,pause,end,stats,info-list}`)
|
|
490
|
+
- `references/activity-data-detail.md` (`engage-activity.activity-data.detail`, L3)
|
|
459
491
|
- `references/activity-approval.md` (`engage-activity.approval.{submit,approve,reject,cancel}`)
|
|
460
492
|
- `references/activity-topic.md` (`engage-activity.topic.{create,update,remove-task,delete,get,copy}`)
|
|
461
493
|
- `references/activity-activity-type.md` (`engage-activity.activity-type.{list,batch-add,update,batch-delete}`)
|
|
@@ -474,6 +506,9 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
474
506
|
- `references/group-list.md` (`engage-task.group.list`)
|
|
475
507
|
- `references/task-delete.md` (`engage-task.task.delete`)
|
|
476
508
|
- `references/task-submit-approval.md` (`engage-task.task.submit-approval`)
|
|
509
|
+
- `references/task-data-detail.md` (`engage-task data-detail query`; capability `engage-task.task-data.detail`)
|
|
510
|
+
- `references/task-metric-detail.md` (`engage-task effect query`; capability `engage-task.task-data.metric-detail`)
|
|
511
|
+
- `references/flow-metric-update.md` (`engage-flow metric update`; capability `engage-flow.metric.update`)
|
|
477
512
|
|
|
478
513
|
This split documentation structure is easier to extend later, because commands with more complex object inputs can stay centralized in the `references/` root directory.
|
|
479
514
|
|
|
@@ -485,7 +520,11 @@ This split documentation structure is easier to extend later, because commands w
|
|
|
485
520
|
|
|
486
521
|
### task
|
|
487
522
|
|
|
488
|
-
`operation-log query` / `push-record query` / `segment-list *` / `ops *` / `metric *` / `race release` / `channel-ref stats` / `group *` / `task delete` / `task modify-group` / `task submit-approval` / `task get` / `task list` / `task stats` / `task build-save-guide` / `task save` / `task manage` (via `engage-task`), plus L3 capabilities `engage-task.task-data.{overview,detail,metric-detail,experiment-report}`
|
|
523
|
+
`operation-log query` / `push-record query` / `segment-list *` / `ops *` / `metric *` / `race release` / `channel-ref stats` / `group *` / `task delete` / `task modify-group` / `task submit-approval` / `task get` / `task list` / `task stats` / `task build-save-guide` / `task save` / `task manage` / `effect query` / `data-detail query` (via `engage-task`), plus L3 capabilities `engage-task.task-data.{overview,detail,metric-detail,experiment-report}`
|
|
524
|
+
|
|
525
|
+
### query
|
|
526
|
+
|
|
527
|
+
`run inspect` / `artifact download` / `query cancel` (via `engage-query`), capability ID `engage-query.query.cancel`
|
|
489
528
|
|
|
490
529
|
### config
|
|
491
530
|
|
|
@@ -505,7 +544,7 @@ Legacy config MCP commands are migrated into the `scene` L2 group and the three
|
|
|
505
544
|
|
|
506
545
|
### flow
|
|
507
546
|
|
|
508
|
-
`operation-log query` / `version list` / `flow update-remark` / `flow save` / `node-config schema` / `flow get` / `flow list` / `flow manage` / `node-config validate` / `flow delete` / `flow modify-base-info` (via `engage-flow`), plus L3 capabilities `engage-flow.report.{node-overview,process,node-detail,ab-split-node}`
|
|
547
|
+
`operation-log query` / `version list` / `flow update-remark` / `flow save` / `node-config schema` / `flow get` / `flow list` / `flow manage` / `node-config validate` / `flow delete` / `flow modify-base-info` / `metric update` / `report metric-detail run` / `report metric-detail export` / `metric-user run` / `metric-user export` / `node-user run` / `node-user export` / `node-metric-user run` / `node-metric-user export` (via `engage-flow`), plus L3 capabilities `engage-flow.report.{node-overview,process,node-detail,ab-split-node}`
|
|
509
548
|
|
|
510
549
|
## Date Format
|
|
511
550
|
|
|
@@ -526,18 +565,27 @@ For task draft creation or update, use this workflow:
|
|
|
526
565
|
1. `ae-cli engage-setting channel list --project-id <projectId>`
|
|
527
566
|
2. `ae-cli engage-task task build-save-guide --project-id <projectId> --req '{...}'`
|
|
528
567
|
3. For a custom audience, pass the Analysis semantic contract as
|
|
529
|
-
`targetConfig.definitionRequest`.
|
|
530
|
-
`
|
|
568
|
+
`targetConfig.definitionRequest`. For an event-triggered task, use semantic
|
|
569
|
+
`triggerConfig.triggerDefinition` and
|
|
570
|
+
always include `periodTimeSymbol` (`TS01`, `TS02`, `TS03`, or `TS04`) on its primary A rule.
|
|
571
|
+
Use semantic `completionIndicatorDef.completionIndicators[].eventDefinition`. Build shapes from
|
|
531
572
|
`ae-analysis` user-cluster / audience models. For existing-cluster audiences
|
|
532
573
|
(`targetClusterType=2`), use `analysis user-cluster get`. For event-triggered tasks, pass
|
|
533
574
|
`channelType`, `triggerType`, and `eventTriggerType` to `build-save-guide`, then use its
|
|
534
575
|
type-specific semantic event shape. Accumulated events are aggregate conditions, continuous
|
|
535
576
|
events use count/eq with a value of at least 2, ordered events use sequence-step envelopes,
|
|
536
|
-
and every-completion events use count/eq/1.
|
|
577
|
+
and every-completion events use count/eq/1. Completion target and experiment main-goal event
|
|
578
|
+
filters must not use properties whose metadata `select_type` is `datetime`. Never construct
|
|
579
|
+
persisted QP fields.
|
|
537
580
|
4. `ae-cli engage-task task save --project-id <projectId> --req '{...}'`
|
|
538
581
|
5. `ae-cli engage-task task submit-approval --project-id <projectId> --task-id <taskId>`
|
|
539
582
|
|
|
540
583
|
`engage-task task build-save-guide` is a read-only helper. It returns scenario-specific required fields, channel content schema, unsupported combinations, examples, and a handoff template for `save_task`.
|
|
584
|
+
When `enableExp=true`, capability `engage-task.task.build-save-guide` enriches the handoff so
|
|
585
|
+
`groupContentList` association fields
|
|
586
|
+
(`expGroupName`/`expGroupType`/`percentageInExperiment`/`order`) stay aligned with
|
|
587
|
+
`expConfig.expGroupList`; only replace `contentList[].content`. Capability `engage-task.task.save`
|
|
588
|
+
rejects misaligned experiment content with `TASK_EXPERIMENT_GROUP_CONTENT_INVALID`.
|
|
541
589
|
|
|
542
590
|
`engage-task task save` creates or updates a task configuration. It does not submit approval, does not start sending, and does not trigger task execution. If `req.taskId` is omitted it creates a new draft; if `req.taskId` is present it updates an existing **draft or paused** task. Update mode rejects running/ended tasks with `invalid_status`. Omitted fields inherit from the existing task before validation (partial rename/update is supported).
|
|
543
591
|
|
|
@@ -551,3 +599,5 @@ Audience creation is not a fixed preflight step. For custom task audiences, use
|
|
|
551
599
|
`definition_request`. `clientConfig.clientQp` is server-authored and must be omitted from
|
|
552
600
|
Capability requests; partial updates preserve existing server state. Do not assemble raw QP
|
|
553
601
|
manually.
|
|
602
|
+
For a `behavior_sequence`, omit second-step `relative_to_first` or set it to `false`; reserve
|
|
603
|
+
`true` for step 3 or later when the window is measured from step 1.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# engage-activity.activity-data.detail
|
|
2
|
+
|
|
3
|
+
Query activity delivery trends through the L3 Capability Gateway.
|
|
4
|
+
|
|
5
|
+
Mapped command:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli capability run engage-activity.activity-data.detail --input '<json>'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Input
|
|
12
|
+
|
|
13
|
+
Required fields:
|
|
14
|
+
|
|
15
|
+
- `project_id`: project that owns the activity.
|
|
16
|
+
- `activity_id`: activity to query.
|
|
17
|
+
- `start_time`: inclusive start date in `yyyy-MM-dd` format.
|
|
18
|
+
- `end_time`: inclusive end date in `yyyy-MM-dd` format.
|
|
19
|
+
|
|
20
|
+
Optional fields:
|
|
21
|
+
|
|
22
|
+
- `time_particle_size`: `T1` (day), `T2` (week), `T3` (month), or `T5` (total). Defaults to `T1`.
|
|
23
|
+
- `source`: `activity` or `topic_and_task`. Defaults to `activity`.
|
|
24
|
+
- `topic_id_list`: selected topic IDs.
|
|
25
|
+
- `task_id_list`: selected standalone task IDs.
|
|
26
|
+
- `request_id`: cancelable query ID. A UUID is generated when omitted.
|
|
27
|
+
|
|
28
|
+
When `source=topic_and_task` and both ID lists are omitted or empty, the capability selects every topic and standalone task in the activity. When either list is provided, only the explicitly selected resources are queried. Selected resources must belong to the activity and project.
|
|
29
|
+
|
|
30
|
+
## Recent seven-day topic trend
|
|
31
|
+
|
|
32
|
+
Use an inclusive seven-day range, `T1`, and `topic_and_task`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
ae-cli capability run engage-activity.activity-data.detail --input \
|
|
36
|
+
'{"project_id":1,"activity_id":"act-1","start_time":"2026-07-25","end_time":"2026-07-31","time_particle_size":"T1","source":"topic_and_task","request_id":"<uuid>"}'
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The report exposes the existing activity-page indicators:
|
|
40
|
+
|
|
41
|
+
- `plan`: planned trigger users.
|
|
42
|
+
- `actualTrigger`: actual push users.
|
|
43
|
+
- `trigger`: successful push users.
|
|
44
|
+
|
|
45
|
+
It does not expose `view` (actual arrival) or `click`. Use the returned header values instead of treating `trigger` as an actual-arrival metric.
|
|
46
|
+
|
|
47
|
+
## Output
|
|
48
|
+
|
|
49
|
+
Successful output contains:
|
|
50
|
+
|
|
51
|
+
- `data.request_id`: the request ID used by the query.
|
|
52
|
+
- `data.result_generate_time`: ISO-8601 generation time.
|
|
53
|
+
- `data.data.x`: summary/date axis.
|
|
54
|
+
- `data.data.headers`: indicator keys.
|
|
55
|
+
- `data.data.total`: activity totals aligned with `headers`.
|
|
56
|
+
- `data.data.values`: topic or standalone-task rows aligned with `x` and `headers`.
|
|
57
|
+
- `data.data.topic_list`: selected source IDs and names using `topic_id` and `topic_name`.
|
|
58
|
+
|
|
59
|
+
The first `x`/`total` row is the overall summary. For non-total time grains, subsequent rows are the requested date buckets.
|
|
60
|
+
|
|
61
|
+
Use `engage-setting.query.cancel` with the same `request_id` to cancel a running query.
|
|
@@ -23,7 +23,18 @@ Use this sequence when creating or updating a task draft:
|
|
|
23
23
|
Build event primitives from `ae-analysis` user-cluster / audience models. Hermes wraps those
|
|
24
24
|
primitives in the task-specific envelope selected by `channelType`, `triggerType`, and
|
|
25
25
|
`eventTriggerType`, then validates the final persisted QP before save. Never construct persisted
|
|
26
|
-
execution QP.
|
|
26
|
+
execution QP. Follow the documented closed semantic shapes: unknown fields are rejected, and a
|
|
27
|
+
property `field` may be a technical-name string or a `{name,type}` reference.
|
|
28
|
+
Every custom-audience `event` and `behavior_sequence` requires its own `time_range`. For
|
|
29
|
+
`recent` and `previous`, use a positive integer `value` and only `unit=day`; `custom` requires
|
|
30
|
+
both `start_time` and `end_time`.
|
|
31
|
+
|
|
32
|
+
Custom audiences support `behavior_sequence` nodes, including sequence/step windows, step
|
|
33
|
+
filters, `completed`, and `relative_to_first`. A task `get` may return top-level `compound`
|
|
34
|
+
nodes when the stored member-group, event-group, and outer relations differ. Preserve those
|
|
35
|
+
compounds when reusing `definition_request`; flattening them changes audience semantics.
|
|
36
|
+
For the second sequence step, omit `relative_to_first` or set it to `false`; use `true` only
|
|
37
|
+
from the third step onward when its window must be measured from step 1.
|
|
27
38
|
|
|
28
39
|
For existing-cluster audiences (`targetClusterType=2`), you may copy server-authored definitions via:
|
|
29
40
|
|
|
@@ -213,6 +224,12 @@ Use it to understand what must appear in:
|
|
|
213
224
|
- `controlConfig`
|
|
214
225
|
- `expConfig` when experiment mode is enabled
|
|
215
226
|
|
|
227
|
+
When experiment mode is enabled (`context.enableExp=true` or draft `expConfig.enableExp=true`):
|
|
228
|
+
|
|
229
|
+
- capability `engage-task.task.build-save-guide` enriches `handoff.reqTemplate.channelConfig.groupContentList`
|
|
230
|
+
so each entry carries `expGroupName`, `expGroupType`, `percentageInExperiment`, `order`, and `contentList`
|
|
231
|
+
- do not drop those association fields when filling content; they must stay aligned with `expConfig.expGroupList`
|
|
232
|
+
|
|
216
233
|
### 4.8 `fieldRules`
|
|
217
234
|
|
|
218
235
|
This is the most important construction section.
|
|
@@ -263,9 +280,26 @@ The guide treats the A rule as a discriminated envelope:
|
|
|
263
280
|
- `eventTriggerType=2`: at least two ordered steps with `eventDefinition` and `hasDone`
|
|
264
281
|
- `eventTriggerType=3`: client-side count/eq/1 events with `eventTriggerCaliberType`
|
|
265
282
|
|
|
283
|
+
Every event-triggered task A rule must include `periodTimeSymbol`. Use `TS01` for daily,
|
|
284
|
+
`TS02` for the complete configured period, `TS03` for weekly, or `TS04` for monthly.
|
|
285
|
+
Do not omit this field even when `periodStart` and `periodEnd` are present.
|
|
286
|
+
|
|
266
287
|
Do not copy the accumulated example and only change `eventTriggerType`. Hermes rejects a final QP
|
|
267
288
|
whose event structure does not match its envelope.
|
|
268
289
|
|
|
290
|
+
#### `fieldRules.blocks.controlConfig.completionIndicatorDef.filterPropertySelectTypes`
|
|
291
|
+
|
|
292
|
+
Treat this as the source of truth for completion target and experiment main-goal event-filter
|
|
293
|
+
property types:
|
|
294
|
+
|
|
295
|
+
- `allowed` lists the supported metadata `select_type` values.
|
|
296
|
+
- `excluded` lists values that must not be used.
|
|
297
|
+
- `datetime` is excluded because the task completion-indicator editor cannot display it.
|
|
298
|
+
|
|
299
|
+
Apply this rule only to
|
|
300
|
+
`completionIndicatorDef.completionIndicators[].eventDefinition.filters`. Trigger-event filters have
|
|
301
|
+
their own scenario rules and are not subject to this completion-filter restriction.
|
|
302
|
+
|
|
269
303
|
### 4.9 `handoff`
|
|
270
304
|
|
|
271
305
|
This is the final section before `save_task`.
|
|
@@ -275,6 +309,8 @@ Important fields:
|
|
|
275
309
|
- `reqTemplate`
|
|
276
310
|
- a scenario-aware grouped request template
|
|
277
311
|
- use it as a starting point, not as unquestioned final truth
|
|
312
|
+
- for experiment tasks, keep `groupContentList` association fields from the template;
|
|
313
|
+
only replace `contentList[].content` with real channel content
|
|
278
314
|
- `readyToSubmit`
|
|
279
315
|
- `true` means the current scenario or draft has no blocking placeholders
|
|
280
316
|
- `blockingPlaceholders`
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Cancel a running Engage query or export
|
|
2
|
+
|
|
3
|
+
Cancel asynchronous Engage work by the Capability Gateway run ID.
|
|
4
|
+
|
|
5
|
+
Mapped command:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-query query cancel --run-id <run_id>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Mapped capability: `engage-query.query.cancel`
|
|
12
|
+
|
|
13
|
+
## Input
|
|
14
|
+
|
|
15
|
+
| Field | Type | Required | Description |
|
|
16
|
+
|------|------|------|------|
|
|
17
|
+
| `run_id` | string | Yes | Run ID returned by an asynchronous query or export capability |
|
|
18
|
+
| `reason` | string | No | Optional cancellation reason |
|
|
19
|
+
|
|
20
|
+
## Safety Constraints
|
|
21
|
+
|
|
22
|
+
This command is a **write operation**. Use only the `run_id` returned by the asynchronous
|
|
23
|
+
query/export lifecycle; a report `request_id` is not accepted.
|
|
24
|
+
|
|
25
|
+
## Example
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
ae-cli engage-query query cancel \
|
|
29
|
+
--run-id run_123 \
|
|
30
|
+
--reason "No longer needed"
|
|
31
|
+
```
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
> Trigger keywords: common metric, shared metric · Capability ids: `engage-setting.common-metric.{list,get,create,update,delete}` · Permission: `opsEditSetting`.
|
|
4
4
|
|
|
5
5
|
Common metric capabilities expose semantic event/formula definitions. Do not submit or reuse `metric_qp`, `Axxx`, display metadata, formula dependency internals, or property metadata.
|
|
6
|
+
Metric definitions and formula dependencies reject unknown fields. Event filter `field` accepts
|
|
7
|
+
either a technical-name string or `{"name":"...","type":"event_property"}`.
|
|
8
|
+
|
|
9
|
+
When metadata reports an event property as `array_row`, express it as an `object_group` filter
|
|
10
|
+
with `any_satisfy`, `none_satisfy`, or `all_satisfy`; its nested `conditions.items` may reference
|
|
11
|
+
only child properties of that parent. Flat filters on the `array_row` parent are rejected before
|
|
12
|
+
the metric is saved.
|
|
6
13
|
|
|
7
14
|
## Commands
|
|
8
15
|
|
|
@@ -39,8 +46,41 @@ ae-cli engage-setting common-metric delete --project-id <project_id> --metric-na
|
|
|
39
46
|
}
|
|
40
47
|
```
|
|
41
48
|
|
|
49
|
+
Object-group filter example:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"type": "object_group",
|
|
54
|
+
"field": "equipment_list",
|
|
55
|
+
"operator": "any_satisfy",
|
|
56
|
+
"conditions": {
|
|
57
|
+
"relation": "and",
|
|
58
|
+
"items": [
|
|
59
|
+
{
|
|
60
|
+
"field": "equipment_list.item_level",
|
|
61
|
+
"operator": "gte",
|
|
62
|
+
"values": [10]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
42
69
|
Supported aggregations include `total_count`, `user_count`, `per_user_count`, `sum`, `avg`, `avg_per_user`, `max`, `min`, `distinct_count`, `median`, `percentile`, `variance`, and `stddev`.
|
|
43
70
|
|
|
71
|
+
Property aggregations require `property`. `percentile` additionally requires a numeric
|
|
72
|
+
`percentile` greater than `0` and at most `100`:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"type": "event",
|
|
77
|
+
"event": "purchase",
|
|
78
|
+
"aggregation": "percentile",
|
|
79
|
+
"property": "amount",
|
|
80
|
+
"percentile": 90
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
44
84
|
## Formula metric
|
|
45
85
|
|
|
46
86
|
```json
|
|
@@ -65,6 +105,11 @@ Supported aggregations include `total_count`, `user_count`, `per_user_count`, `s
|
|
|
65
105
|
}
|
|
66
106
|
```
|
|
67
107
|
|
|
108
|
+
Every dependency requires a non-empty, unique `key`, and every key must be used in
|
|
109
|
+
`expression`. Write bare keys only: use `purchases/refunds`, never `purchases.A100/refunds.A100`.
|
|
110
|
+
Aggregation codes are derived from each dependency. Formula dependencies follow the same
|
|
111
|
+
property and percentile requirements as event metrics.
|
|
112
|
+
|
|
68
113
|
Resolve every event and property through `ae-cli analysis-meta event list` and the corresponding property metadata before writing. `get` and `list` return `metric_definition`, `metric_definition_status`, and an optional unavailable reason. Raw metric QP is hidden.
|
|
69
114
|
|
|
70
115
|
`metric_type=1` remains required for setting-page common metrics. Metric windows remain separate from the semantic definition, and their unit must be `minute` / `hour` / `day`.
|
|
@@ -8,7 +8,20 @@ Required input: `project_id`, `config_id`, `start_time`, `end_time`. Optional in
|
|
|
8
8
|
`template_id_list`, `strategy_id_list`, `show_time_zone`. `template_id_list` and `strategy_id_list`
|
|
9
9
|
are mutually exclusive.
|
|
10
10
|
|
|
11
|
+
## Input contract
|
|
12
|
+
|
|
13
|
+
| Field | JSON type | Required | Rules |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| `project_id` | integer | Yes | Positive project ID. |
|
|
16
|
+
| `config_id` | string | Yes | Config item ID. |
|
|
17
|
+
| `start_time` | string | Yes | Date in `yyyy-MM-dd` format. |
|
|
18
|
+
| `end_time` | string | Yes | Date in `yyyy-MM-dd` format; must not be earlier than `start_time`. |
|
|
19
|
+
| `request_id` | string | No | Request identifier for continuation or cancellation. |
|
|
20
|
+
| `template_id_list` | array of strings | No | Cannot be used together with `strategy_id_list`. |
|
|
21
|
+
| `strategy_id_list` | array of strings | No | Cannot be used together with `template_id_list`. |
|
|
22
|
+
| `show_time_zone` | number | No | Hour offset from `-12.0` through `14.0`; use `8`, not the string `"8"`. |
|
|
23
|
+
|
|
11
24
|
```bash
|
|
12
25
|
ae-cli capability run engage-scene.report.config-item-analysis \
|
|
13
|
-
--input '{"project_id":1,"config_id":"cfg_123","start_time":"2026-04-01","end_time":"2026-04-07"}'
|
|
26
|
+
--input '{"project_id":1,"config_id":"cfg_123","start_time":"2026-04-01","end_time":"2026-04-07","show_time_zone":8}'
|
|
14
27
|
```
|
|
@@ -7,7 +7,17 @@ Mapped command: `ae-cli capability run engage-scene.report.strategy-comparison -
|
|
|
7
7
|
Required input: `project_id`, `config_id`, `strategy_id_list` with at least two IDs. Optional input:
|
|
8
8
|
`request_id`, `show_time_zone`.
|
|
9
9
|
|
|
10
|
+
## Input contract
|
|
11
|
+
|
|
12
|
+
| Field | JSON type | Required | Rules |
|
|
13
|
+
| --- | --- | --- | --- |
|
|
14
|
+
| `project_id` | integer | Yes | Positive project ID. |
|
|
15
|
+
| `config_id` | string | Yes | Config item ID. |
|
|
16
|
+
| `strategy_id_list` | array of strings | Yes | Must contain at least two strategy IDs. |
|
|
17
|
+
| `request_id` | string | No | Request identifier for continuation or cancellation. |
|
|
18
|
+
| `show_time_zone` | number | No | Hour offset from `-12.0` through `14.0`; use `8`, not the string `"8"`. |
|
|
19
|
+
|
|
10
20
|
```bash
|
|
11
21
|
ae-cli capability run engage-scene.report.strategy-comparison \
|
|
12
|
-
--input '{"project_id":1,"config_id":"cfg_123","strategy_id_list":["strategy_a","strategy_b"]}'
|
|
22
|
+
--input '{"project_id":1,"config_id":"cfg_123","strategy_id_list":["strategy_a","strategy_b"],"show_time_zone":8}'
|
|
13
23
|
```
|
|
@@ -8,7 +8,21 @@ Required input: `project_id`, `config_id`, `start_time`, `end_time`. Optional in
|
|
|
8
8
|
`template_id_list`, `strategy_id_list`, `show_time_zone`, `analyze_report_internal_query`.
|
|
9
9
|
`template_id_list` and `strategy_id_list` are mutually exclusive.
|
|
10
10
|
|
|
11
|
+
## Input contract
|
|
12
|
+
|
|
13
|
+
| Field | JSON type | Required | Rules |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| `project_id` | integer | Yes | Positive project ID. |
|
|
16
|
+
| `config_id` | string | Yes | Config item ID. |
|
|
17
|
+
| `start_time` | string | Yes | Date in `yyyy-MM-dd` format. |
|
|
18
|
+
| `end_time` | string | Yes | Date in `yyyy-MM-dd` format; must not be earlier than `start_time`. |
|
|
19
|
+
| `request_id` | string | No | Request identifier for continuation or cancellation. |
|
|
20
|
+
| `template_id_list` | array of strings | No | Cannot be used together with `strategy_id_list`. |
|
|
21
|
+
| `strategy_id_list` | array of strings | No | Cannot be used together with `template_id_list`. |
|
|
22
|
+
| `show_time_zone` | number | No | Hour offset from `-12.0` through `14.0`; use `8`, not the string `"8"`. |
|
|
23
|
+
| `analyze_report_internal_query` | boolean | No | Use `true` or `false`, not a quoted string. |
|
|
24
|
+
|
|
11
25
|
```bash
|
|
12
26
|
ae-cli capability run engage-scene.report.config-item-trigger \
|
|
13
|
-
--input '{"project_id":1,"config_id":"cfg_123","start_time":"2026-04-01","end_time":"2026-04-07"}'
|
|
27
|
+
--input '{"project_id":1,"config_id":"cfg_123","start_time":"2026-04-01","end_time":"2026-04-07","show_time_zone":8}'
|
|
14
28
|
```
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Flow metric-detail report
|
|
2
|
+
|
|
3
|
+
Use this reference when the user asks for a flow node metric-detail report, or wants to export the detailed metric table behind a node on the flow canvas.
|
|
4
|
+
|
|
5
|
+
Mapped CLI commands:
|
|
6
|
+
|
|
7
|
+
- `ae-cli engage-flow report metric-detail run`
|
|
8
|
+
- `ae-cli engage-flow report metric-detail export`
|
|
9
|
+
|
|
10
|
+
Mapped capabilities:
|
|
11
|
+
|
|
12
|
+
- `engage-flow.report.metric-detail.run`
|
|
13
|
+
- `engage-flow.report.metric-detail.export`
|
|
14
|
+
|
|
15
|
+
## Choose the command
|
|
16
|
+
|
|
17
|
+
- Use `run` for quick inline inspection. It returns the original Hermes report object under `report`.
|
|
18
|
+
- Use `export` when the user needs a downloadable, flattened artifact.
|
|
19
|
+
- Use `--report-mode node` or omit it for normal nodes.
|
|
20
|
+
- Use `--report-mode ab` for AB split node metric details.
|
|
21
|
+
|
|
22
|
+
Do not use the older generic capability form unless the structured command is unavailable.
|
|
23
|
+
|
|
24
|
+
## Required input
|
|
25
|
+
|
|
26
|
+
- `--project-id`
|
|
27
|
+
- one of `--flow-id` or `--flow-uuid`
|
|
28
|
+
- `--node-uuid`
|
|
29
|
+
- `--start-time yyyy-MM-dd`
|
|
30
|
+
- `--end-time yyyy-MM-dd`
|
|
31
|
+
|
|
32
|
+
## Optional input
|
|
33
|
+
|
|
34
|
+
- `--report-mode node|ab` (default: `node`)
|
|
35
|
+
- `--branch-id`
|
|
36
|
+
- `--indicator-name` for normal node metric selection
|
|
37
|
+
- `--indicators-uuid` for AB metric selection
|
|
38
|
+
- `--data-dim-type uv|pv`
|
|
39
|
+
- `--push-language-code`
|
|
40
|
+
- `--show-time-zone`
|
|
41
|
+
- `--request-id`
|
|
42
|
+
- `--timeout-seconds`
|
|
43
|
+
- `run` only: `--limit` is accepted for command consistency, but metric-detail reports are not row-limited by Hermes
|
|
44
|
+
- `export` only: `--artifact-format csv|jsonl` (default: `jsonl`)
|
|
45
|
+
|
|
46
|
+
## Parameter guidance
|
|
47
|
+
|
|
48
|
+
- Prefer `flow_uuid` when the user is talking about a specific flow version; prefer `flow_id` when they mean the current logical flow.
|
|
49
|
+
- `node_uuid` must be the canvas node UUID, not the node type.
|
|
50
|
+
- Dates are inclusive report dates and must be in `yyyy-MM-dd`.
|
|
51
|
+
- For AB mode, pass the AB node UUID and usually `--indicators-uuid`; `--branch-id` is optional and only use it when the selected report cell is branch-specific.
|
|
52
|
+
- If both `flow-id` and `flow-uuid` are supplied, Hermes checks they match.
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
Inline normal node metric detail:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
ae-cli engage-flow report metric-detail run \
|
|
60
|
+
--project-id 1 \
|
|
61
|
+
--flow-id flow_id_123 \
|
|
62
|
+
--node-uuid node_uuid_123 \
|
|
63
|
+
--start-time 2026-04-01 \
|
|
64
|
+
--end-time 2026-04-07 \
|
|
65
|
+
--timeout-seconds 120
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Export normal node metric detail as CSV:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
ae-cli engage-flow report metric-detail export \
|
|
72
|
+
--project-id 1 \
|
|
73
|
+
--flow-id flow_id_123 \
|
|
74
|
+
--node-uuid node_uuid_123 \
|
|
75
|
+
--start-time 2026-04-01 \
|
|
76
|
+
--end-time 2026-04-07 \
|
|
77
|
+
--artifact-format csv \
|
|
78
|
+
--timeout-seconds 21600
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Inline AB node metric detail:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
ae-cli engage-flow report metric-detail run \
|
|
85
|
+
--project-id 1 \
|
|
86
|
+
--flow-id flow_id_123 \
|
|
87
|
+
--node-uuid ab_node_uuid_123 \
|
|
88
|
+
--report-mode ab \
|
|
89
|
+
--indicators-uuid indicator_uuid_123 \
|
|
90
|
+
--start-time 2026-04-01 \
|
|
91
|
+
--end-time 2026-04-07
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Export lifecycle
|
|
95
|
+
|
|
96
|
+
`export` returns `run_id` and `artifact_id`. Poll and download with:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
ae-cli engage-query run inspect --run-id <run_id>
|
|
100
|
+
ae-cli engage-query artifact download \
|
|
101
|
+
--run-id <run_id> \
|
|
102
|
+
--artifact-id <artifact_id> \
|
|
103
|
+
--output ./flow-metric-detail.csv.gz
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Downloaded artifacts are gzip-compressed; keep the `.gz` suffix. Cancel running async work with:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
ae-cli engage-query query cancel --run-id <run_id>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Output rows
|
|
113
|
+
|
|
114
|
+
Normal node export rows:
|
|
115
|
+
|
|
116
|
+
- `time`
|
|
117
|
+
- `indicator`
|
|
118
|
+
- `value_index`
|
|
119
|
+
- `value`
|
|
120
|
+
|
|
121
|
+
AB node export rows:
|
|
122
|
+
|
|
123
|
+
- `time`
|
|
124
|
+
- `branch_id`
|
|
125
|
+
- `branch_name`
|
|
126
|
+
- `indicator`
|
|
127
|
+
- `value`
|
|
128
|
+
- `total`
|
|
129
|
+
|
|
130
|
+
## Common mistakes
|
|
131
|
+
|
|
132
|
+
- Do not pass `report-mode ab` for a normal node; Hermes will call the AB report backend.
|
|
133
|
+
- Do not use `indicator_name` and `indicators_uuid` interchangeably: normal node uses `indicator_name`, AB mode usually uses `indicators_uuid`.
|
|
134
|
+
- Do not save a gzip artifact as `.csv` or `.jsonl`; use `.csv.gz` or `.jsonl.gz`.
|