@thinkingai/ae-cli 6.0.31 → 6.1.4
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 +3 -2
- package/README.zh.md +3 -2
- package/dist/{capability-SQ2IWKP3.js → capability-QW4AVJHI.js} +1 -1
- package/dist/{capability-SEH3JWLN.js → capability-SCRFGODD.js} +1 -1
- package/dist/{chunk-N2QORU5D.js → chunk-7OLGDQQ2.js} +5 -2
- package/dist/{chunk-TKQJQXWT.js → chunk-TBHBYKXZ.js} +5 -2
- package/dist/index.js +51 -24
- package/dist/{metadata-X62TKIVK.js → metadata-BFDL6RUK.js} +2 -2
- package/dist/{metadata-W6JFFMBA.js → metadata-FCLDBXX2.js} +2 -2
- package/dist/{te-analysis-NJGNWZFC.js → te-analysis-PUVF5IF4.js} +1297 -91
- package/dist/{te-analysis-YGV5V5EX.js → te-analysis-UJDOKPAN.js} +1297 -91
- package/dist/te-common-VUX3VOXZ.js +60 -0
- package/dist/te-common-XLAGWNIV.js +60 -0
- package/dist/te-engage-K4AEUPK5.js +3894 -0
- package/dist/te-engage-QBCCME22.js +3894 -0
- package/dist/te-experiment-JINSMHMW.js +606 -0
- package/dist/te-experiment-NWNQHJS5.js +606 -0
- package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
- package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
- package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
- package/package.json +2 -1
- package/skills/ae-analysis/SKILL.md +10 -7
- package/skills/ae-analysis/references/adhoc_export.md +3 -6
- package/skills/ae-analysis/references/adhoc_run.md +5 -9
- package/skills/ae-analysis/references/ai_models.md +17 -1
- package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
- package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
- package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
- package/skills/ae-analysis/references/asset_url_get.md +4 -3
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
- package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
- package/skills/ae-analysis/references/command_index.md +62 -28
- package/skills/ae-analysis/references/create_entity.md +2 -2
- package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
- package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
- package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
- package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
- package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
- package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
- package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
- package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
- package/skills/ae-analysis/references/entity_detail_export.md +2 -0
- package/skills/ae-analysis/references/entity_detail_run.md +8 -1
- package/skills/ae-analysis/references/event_detail_export.md +2 -0
- package/skills/ae-analysis/references/event_detail_run.md +2 -0
- package/skills/ae-analysis/references/event_list.md +10 -2
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/metric_create.md +13 -4
- package/skills/ae-analysis/references/metric_delete.md +7 -0
- package/skills/ae-analysis/references/metric_get.md +6 -0
- package/skills/ae-analysis/references/metric_list.md +16 -3
- package/skills/ae-analysis/references/metric_update.md +12 -1
- package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
- package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
- package/skills/ae-analysis/references/project_data_power_get.md +24 -0
- package/skills/ae-analysis/references/project_data_power_list.md +23 -0
- package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
- package/skills/ae-analysis/references/project_entity_create.md +27 -0
- package/skills/ae-analysis/references/project_entity_delete.md +25 -0
- package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
- package/skills/ae-analysis/references/project_entity_get.md +24 -0
- package/skills/ae-analysis/references/project_entity_list.md +28 -0
- package/skills/ae-analysis/references/project_entity_update.md +28 -0
- package/skills/ae-analysis/references/project_function_list.md +24 -0
- package/skills/ae-analysis/references/project_info_get.md +23 -0
- package/skills/ae-analysis/references/project_info_list.md +26 -0
- package/skills/ae-analysis/references/project_info_update.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
- package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
- package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
- package/skills/ae-analysis/references/project_member_add.md +25 -0
- package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
- package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
- package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
- package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
- package/skills/ae-analysis/references/project_member_import.md +25 -0
- package/skills/ae-analysis/references/project_member_list.md +23 -0
- package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
- package/skills/ae-analysis/references/project_member_remove.md +26 -0
- package/skills/ae-analysis/references/project_member_update.md +25 -0
- package/skills/ae-analysis/references/project_owner_update.md +27 -0
- package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
- package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
- package/skills/ae-analysis/references/project_role_delete.md +25 -0
- package/skills/ae-analysis/references/project_role_function_list.md +27 -0
- package/skills/ae-analysis/references/project_role_get.md +23 -0
- package/skills/ae-analysis/references/project_role_list.md +25 -0
- package/skills/ae-analysis/references/project_role_upsert.md +24 -0
- package/skills/ae-analysis/references/project_role_user_list.md +23 -0
- package/skills/ae-analysis/references/project_timezone_get.md +23 -0
- package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
- package/skills/ae-analysis/references/project_timezone_update.md +25 -0
- package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
- package/skills/ae-analysis/references/property_list.md +21 -6
- package/skills/ae-analysis/references/public_link_create.md +1 -1
- package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
- package/skills/ae-analysis/references/report_create.md +1 -1
- package/skills/ae-analysis/references/report_data_export.md +2 -2
- package/skills/ae-analysis/references/report_data_run.md +2 -2
- package/skills/ae-analysis/references/report_get.md +2 -0
- package/skills/ae-analysis/references/report_update.md +1 -1
- package/skills/ae-analysis/references/user_cluster_create.md +3 -1
- package/skills/ae-analysis/references/user_cluster_get.md +4 -0
- package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
- package/skills/ae-analysis/references/user_cluster_update.md +3 -1
- package/skills/ae-analysis/references/user_tag_create.md +3 -1
- package/skills/ae-analysis/references/user_tag_get.md +4 -0
- package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
- package/skills/ae-analysis/references/user_tag_update.md +3 -1
- package/skills/ae-analysis/references/virtual_event_create.md +22 -3
- package/skills/ae-analysis/references/virtual_property_create.md +23 -2
- package/skills/ae-engage/SKILL.md +202 -7
- package/skills/ae-engage/references/activity-activity-type.md +42 -0
- package/skills/ae-engage/references/activity-activity.md +70 -0
- package/skills/ae-engage/references/activity-approval.md +53 -0
- package/skills/ae-engage/references/activity-task.md +87 -0
- package/skills/ae-engage/references/activity-topic.md +98 -0
- package/skills/ae-engage/references/approval-approver-delete.md +26 -0
- package/skills/ae-engage/references/channel-test-send.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
- package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
- package/skills/ae-engage/references/channel-update-config.md +36 -0
- package/skills/ae-engage/references/client-param.md +58 -0
- package/skills/ae-engage/references/common-metric.md +75 -0
- package/skills/ae-engage/references/config-table.md +92 -0
- package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
- package/skills/ae-engage/references/operation-log-query.md +1 -1
- package/skills/ae-engage/references/preset-event.md +42 -0
- package/skills/ae-engage/references/push-language.md +39 -0
- package/skills/ae-engage/references/scene-config-channel.md +58 -0
- package/skills/ae-engage/references/scene-config-group.md +62 -0
- package/skills/ae-engage/references/scene-config-item.md +68 -0
- package/skills/ae-engage/references/scene-config-metric.md +79 -0
- package/skills/ae-engage/references/scene-config-param.md +72 -0
- package/skills/ae-engage/references/scene-preset-metric.md +45 -0
- package/skills/ae-engage/references/scene-strategy.md +47 -0
- package/skills/ae-engage/references/scene-template.md +71 -0
- package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
- package/skills/ae-engage/references/whitelist.md +72 -0
- package/skills/ae-engage/references/workbench-workbench.md +48 -0
- package/skills/ae-experiment/SKILL.md +64 -0
- package/skills/ae-experiment/references/batch_delete_experiment.md +11 -0
- package/skills/ae-experiment/references/batch_delete_feature.md +11 -0
- package/skills/ae-experiment/references/batch_delete_traffic_layer.md +11 -0
- package/skills/ae-experiment/references/cancel_experiment_query_by_request_id.md +10 -0
- package/skills/ae-experiment/references/check_experiment_ready.md +13 -0
- package/skills/ae-experiment/references/delete_metric.md +11 -0
- package/skills/ae-experiment/references/manage_experiment.md +15 -0
- package/skills/ae-experiment/references/manage_feature_status.md +11 -0
- package/skills/ae-experiment/references/query_bucket_list.md +10 -0
- package/skills/ae-experiment/references/query_experiment_detail.md +11 -0
- package/skills/ae-experiment/references/query_experiment_list.md +10 -0
- package/skills/ae-experiment/references/query_experiment_metric_trend.md +16 -0
- package/skills/ae-experiment/references/query_experiment_report_summary.md +12 -0
- package/skills/ae-experiment/references/query_experiment_sample_size_report.md +16 -0
- package/skills/ae-experiment/references/query_feature_detail.md +12 -0
- package/skills/ae-experiment/references/query_feature_list.md +10 -0
- package/skills/ae-experiment/references/query_metric_detail.md +11 -0
- package/skills/ae-experiment/references/query_metric_list.md +10 -0
- package/skills/ae-experiment/references/query_traffic_layer_detail.md +11 -0
- package/skills/ae-experiment/references/query_traffic_layer_list.md +10 -0
- package/skills/ae-experiment/references/save_experiment.md +17 -0
- package/skills/ae-experiment/references/save_feature.md +13 -0
- package/skills/ae-experiment/references/save_metric.md +13 -0
- package/skills/ae-experiment/references/save_submit_experiment.md +13 -0
- package/skills/ae-experiment/references/save_traffic_layer.md +13 -0
- package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
- package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
- package/skills/ae-kb/SKILL.md +34 -8
- package/skills/ae-metadata/SKILL.md +1 -1
- package/skills/ae-metadata/references/metadata_event_get.md +4 -4
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
- package/skills/ae-metadata/references/metadata_property_get.md +4 -4
- package/dist/te-common-5NJLF3XG.js +0 -130
- package/dist/te-common-7VTJZPII.js +0 -130
- package/dist/te-engage-BUWVSSSK.js +0 -1912
- package/dist/te-engage-EPE3QKDE.js +0 -1912
- package/skills/ae-analysis/references/create_metric.md +0 -58
- package/skills/ae-analysis/references/create_virtual_event.md +0 -60
- package/skills/ae-analysis/references/create_virtual_property.md +0 -69
- package/skills/ae-analysis/references/delete_metric.md +0 -32
- package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
- package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
- package/skills/ae-analysis/references/get_metric.md +0 -38
- package/skills/ae-analysis/references/get_resource_url.md +0 -33
- package/skills/ae-analysis/references/list_events.md +0 -46
- package/skills/ae-analysis/references/list_metrics.md +0 -52
- package/skills/ae-analysis/references/list_properties.md +0 -47
- package/skills/ae-analysis/references/update_metric.md +0 -58
- package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
|
@@ -76,6 +76,53 @@ ae-cli engage +config_channel_list --project_id 1
|
|
|
76
76
|
|
|
77
77
|
# Query project channel touch-limit rules
|
|
78
78
|
ae-cli engage-setting channel-touch-limits list --project-id <project_id>
|
|
79
|
+
|
|
80
|
+
# Update a channel's config / reach-funnel settings
|
|
81
|
+
ae-cli engage-setting channel update-config --project-id <project_id> --channel-id <channel_id> --enable-touch-event 1
|
|
82
|
+
|
|
83
|
+
# Send a test message to a channel
|
|
84
|
+
ae-cli engage-setting channel test-send --project-id <project_id> --channel-id <channel_id> --push-id <send_id> --content-list '[{"key":"title","value":"hello"}]'
|
|
85
|
+
|
|
86
|
+
# Batch update / toggle / save channel touch-limit (fatigue-control) rules
|
|
87
|
+
ae-cli engage-setting channel-touch-limits batch-update --project-id <project_id> --items '[{"rule_id":"r1","enable":true,"rule_def":"[]"}]'
|
|
88
|
+
ae-cli engage-setting channel-touch-limits toggle --project-id <project_id> --rule-id <rule_id> --enable false
|
|
89
|
+
ae-cli engage-setting channel-touch-limits save --project-id <project_id> --channel-biz-type <biz_type> --rule-def '[]' --enable true
|
|
90
|
+
|
|
91
|
+
# Remove an approver from a project
|
|
92
|
+
ae-cli engage-setting approval-approver delete --project-id <project_id> --approver <open_id> --yes
|
|
93
|
+
|
|
94
|
+
# Whitelist add / update / delete / verify
|
|
95
|
+
ae-cli engage-setting whitelist add --project-id <project_id> --prop-code <prop_code> --column-name <column_name> --column-type string --whitelist-list '[{"entity_id":"u1","source_value":"v1"}]'
|
|
96
|
+
ae-cli engage-setting whitelist update --project-id <project_id> --whitelist-id <id> --note-name <name>
|
|
97
|
+
ae-cli engage-setting whitelist delete --project-id <project_id> --whitelist-ids '["wl-1"]' --yes
|
|
98
|
+
ae-cli engage-setting whitelist verify --project-id <project_id> --prop-code <prop_code> --column-type string --whitelist-prop-list '["v1"]'
|
|
99
|
+
|
|
100
|
+
# Push-language (本地化) get / set
|
|
101
|
+
ae-cli engage-setting push-language get --project-id <project_id>
|
|
102
|
+
ae-cli engage-setting push-language set --project-id <project_id> --push-language-column <prop_code>
|
|
103
|
+
|
|
104
|
+
# Client param (客户端参数) update / delete / list
|
|
105
|
+
ae-cli engage-setting client-param update --project-id <project_id> --column-name level --column-type string --select-type single --column-desc Level
|
|
106
|
+
ae-cli engage-setting client-param delete --project-id <project_id> --column-name level --yes
|
|
107
|
+
ae-cli engage-setting client-param list --project-id <project_id>
|
|
108
|
+
|
|
109
|
+
# Config table (配置表) upload / save / list / query-data / update-data / delete
|
|
110
|
+
ae-cli engage-setting config-table upload --project-id <project_id> --request-id <rid> --file-name data.csv --file-content "$(base64 -i data.csv)"
|
|
111
|
+
ae-cli engage-setting config-table save --project-id <project_id> --request-id <rid> --info-name <table_name>
|
|
112
|
+
ae-cli engage-setting config-table list --project-id <project_id>
|
|
113
|
+
ae-cli engage-setting config-table query-data --project-id <project_id> --info-id <info_id>
|
|
114
|
+
ae-cli engage-setting config-table update-data --project-id <project_id> --request-id <rid> --info-name <table_name> --info-id <info_id>
|
|
115
|
+
ae-cli engage-setting config-table delete --project-id <project_id> --info-id <info_id> --yes
|
|
116
|
+
|
|
117
|
+
# Preset event (预置事件) list / update
|
|
118
|
+
ae-cli engage-setting preset-event list --project-id <project_id>
|
|
119
|
+
ae-cli engage-setting preset-event update --project-id <project_id> --add-event-desc <qp>
|
|
120
|
+
|
|
121
|
+
# Common metric (常用指标) list / get / update / delete
|
|
122
|
+
ae-cli engage-setting common-metric list --project-id <project_id>
|
|
123
|
+
ae-cli engage-setting common-metric get --project-id <project_id> --metric-name <name>
|
|
124
|
+
ae-cli engage-setting common-metric update --project-id <project_id> --metric-type <type> --metric-name <name> --metric-qp <qp> --metric-window-num 1 --metric-window-time-unit DAY --display-name <display>
|
|
125
|
+
ae-cli engage-setting common-metric delete --project-id <project_id> --metric-name <name> --yes
|
|
79
126
|
```
|
|
80
127
|
|
|
81
128
|
### 2. task
|
|
@@ -122,7 +169,7 @@ ae-cli engage +flow_list --project_id 1
|
|
|
122
169
|
ae-cli engage +flow_detail --project_id 1 --flow_uuid flow_uuid_123
|
|
123
170
|
|
|
124
171
|
# Query flow operation records and application logs
|
|
125
|
-
ae-cli engage-flow operation-log query --project-id 1 --flow-
|
|
172
|
+
ae-cli engage-flow operation-log query --project-id 1 --flow-id flow_id_123
|
|
126
173
|
|
|
127
174
|
# Query flow versions and task push records
|
|
128
175
|
ae-cli engage-flow version list --project-id 1 --flow-id flow_id_123
|
|
@@ -132,12 +179,123 @@ ae-cli engage-task segment-list query --project-id 1 --task-id task_id_123
|
|
|
132
179
|
ae-cli engage-task group list --project-id 1
|
|
133
180
|
ae-cli engage-task metric list --project-id 1 --task-id task_id_123
|
|
134
181
|
ae-cli engage-task channel-ref stats --project-id 1 --channel-id channel_123
|
|
135
|
-
ae-cli engage-task
|
|
182
|
+
ae-cli engage-task task delete --project-id 1 --task-id task_id_123 --yes
|
|
136
183
|
|
|
137
184
|
# Query the node schema
|
|
138
185
|
ae-cli engage +flow_node_config_schema --node_type message_push
|
|
139
186
|
```
|
|
140
187
|
|
|
188
|
+
### 5. scene (场景管理 / 配置中心)
|
|
189
|
+
|
|
190
|
+
New capability-gateway command group `engage-scene` covers 配置中心 (config center): config items, params, groups, preset/related metrics, config channels, strategies, and templates. Complex DTOs are passed with `--payload` (native camelCase JSON).
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Config item (配置项) list / create / update
|
|
194
|
+
ae-cli engage-scene config-item list --project-id <project_id>
|
|
195
|
+
ae-cli engage-scene config-item create --project-id <project_id> --config-id <config_id> --config-name <name> --business-type params
|
|
196
|
+
ae-cli engage-scene config-item update --project-id <project_id> --config-id <config_id> --config-name <name>
|
|
197
|
+
|
|
198
|
+
# Config param (配置项参数) list / batch-add / update / batch-delete
|
|
199
|
+
ae-cli engage-scene config-param list --project-id <project_id> --config-id <config_id>
|
|
200
|
+
ae-cli engage-scene config-param batch-add --project-id <project_id> --config-id <config_id> --params '[{"param_name":"a","param_type":"string"}]'
|
|
201
|
+
ae-cli engage-scene config-param update --project-id <project_id> --config-id <config_id> --param-id <param_id> --param-name a
|
|
202
|
+
ae-cli engage-scene config-param batch-delete --project-id <project_id> --param-ids '[1,2]' --yes
|
|
203
|
+
|
|
204
|
+
# Config group (配置项分组) list / batch-add / update / batch-delete
|
|
205
|
+
ae-cli engage-scene config-group list --project-id <project_id>
|
|
206
|
+
ae-cli engage-scene config-group batch-add --project-id <project_id> --group-names '["g1"]'
|
|
207
|
+
ae-cli engage-scene config-group update --project-id <project_id> --group-id <group_id> --group-name g2
|
|
208
|
+
ae-cli engage-scene config-group batch-delete --project-id <project_id> --group-ids '[1,2]' --yes
|
|
209
|
+
|
|
210
|
+
# Preset metric (预置指标) get / set
|
|
211
|
+
ae-cli engage-scene preset-metric get --project-id <project_id> --config-id <config_id>
|
|
212
|
+
ae-cli engage-scene preset-metric set --project-id <project_id> --config-id <config_id> --impression-event-qp '<qp>'
|
|
213
|
+
|
|
214
|
+
# Config metric (关联指标) list / get / batch-add / update-rule / batch-delete
|
|
215
|
+
ae-cli engage-scene config-metric list --project-id <project_id> --config-id <config_id>
|
|
216
|
+
ae-cli engage-scene config-metric get --project-id <project_id> --metric-id <metric_id>
|
|
217
|
+
ae-cli engage-scene config-metric batch-add --project-id <project_id> --config-id <config_id> --ta-metric-ids '[1,2]'
|
|
218
|
+
ae-cli engage-scene config-metric update-rule --project-id <project_id> --metric-id <metric_id> --event-list '[{"event_name":"e1","filter":"true"}]'
|
|
219
|
+
ae-cli engage-scene config-metric batch-delete --project-id <project_id> --config-id <config_id> --metric-ids '[1,2]' --yes
|
|
220
|
+
|
|
221
|
+
# Config channel (配置通道) create / update / query-log
|
|
222
|
+
ae-cli engage-scene config-channel create --project-id <project_id> --channel-name <name> --channel-type 0 --config '<json>'
|
|
223
|
+
ae-cli engage-scene config-channel update --project-id <project_id> --channel-id <channel_id> --channel-name <name> [--config '<json>']
|
|
224
|
+
ae-cli engage-scene config-channel query-log --project-id <project_id> --channel-id <channel_id>
|
|
225
|
+
|
|
226
|
+
# Strategy (策略) create / update / log / batch-copy
|
|
227
|
+
ae-cli engage-scene strategy create --project-id <project_id> --payload '{"configId":"cfg-1","templateId":"tpl-1","strategyName":"s1"}'
|
|
228
|
+
ae-cli engage-scene strategy update --project-id <project_id> --payload '{"strategyUuid":"uuid-1"}'
|
|
229
|
+
ae-cli engage-scene strategy log --project-id <project_id> --strategy-uuid <uuid>
|
|
230
|
+
ae-cli engage-scene strategy batch-copy --project-id <project_id> --config-id <config_id> --strategy-ids '["s1"]'
|
|
231
|
+
|
|
232
|
+
# Template (模板) list / get / create / update / update-status / delete
|
|
233
|
+
ae-cli engage-scene template list --project-id <project_id> --config-id <config_id>
|
|
234
|
+
ae-cli engage-scene template get --project-id <project_id> --config-id <config_id> --template-id <template_id>
|
|
235
|
+
ae-cli engage-scene template create --project-id <project_id> --payload '{"configId":"cfg-1","templateId":"tpl-1","templateName":"t1"}'
|
|
236
|
+
ae-cli engage-scene template update --project-id <project_id> --payload '{"configId":"cfg-1","templateId":"tpl-1","config":[]}'
|
|
237
|
+
ae-cli engage-scene template update-status --project-id <project_id> --config-id <config_id> --template-id <template_id> --status 1
|
|
238
|
+
ae-cli engage-scene template delete --project-id <project_id> --config-id <config_id> --template-id <template_id> --yes
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### 6. activity (运营活动)
|
|
242
|
+
|
|
243
|
+
New capability-gateway command group `engage-activity` covers 运营活动: activities, approval workflow, topics, activity types, and standalone tasks. Complex DTOs are passed with `--payload` (native camelCase JSON).
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
# Activity (运营活动) create / update / delete / list / get / pause / end / stats / info-list
|
|
247
|
+
ae-cli engage-activity activity create --project-id <project_id> --payload '{"activityName":"a1","activityType":"other_type","tzOffset":8,"periodType":0}'
|
|
248
|
+
ae-cli engage-activity activity update --project-id <project_id> --payload '{"activityId":"act-1","activityName":"a1","activityType":"other_type","tzOffset":8,"periodType":0}'
|
|
249
|
+
ae-cli engage-activity activity delete --project-id <project_id> --activity-id <activity_id> --yes
|
|
250
|
+
ae-cli engage-activity activity list --project-id <project_id> --page 1 --page-size 20
|
|
251
|
+
ae-cli engage-activity activity get --project-id <project_id> --activity-id <activity_id>
|
|
252
|
+
ae-cli engage-activity activity pause --project-id <project_id> --activity-id <activity_id>
|
|
253
|
+
ae-cli engage-activity activity end --project-id <project_id> --activity-id <activity_id>
|
|
254
|
+
ae-cli engage-activity activity stats --project-id <project_id>
|
|
255
|
+
ae-cli engage-activity activity info-list --project-id <project_id> --activity-id <activity_id>
|
|
256
|
+
|
|
257
|
+
# Approval (活动审批) submit / approve / reject / cancel
|
|
258
|
+
ae-cli engage-activity approval submit --project-id <project_id> --activity-id <activity_id>
|
|
259
|
+
ae-cli engage-activity approval approve --project-id <project_id> --activity-id <activity_id>
|
|
260
|
+
ae-cli engage-activity approval reject --project-id <project_id> --activity-id <activity_id> --reason <reason>
|
|
261
|
+
ae-cli engage-activity approval cancel --project-id <project_id> --activity-id <activity_id>
|
|
262
|
+
|
|
263
|
+
# Topic (活动主题) remove-task / delete / get / copy
|
|
264
|
+
# Temporarily disabled: topic create / topic update
|
|
265
|
+
# See references/activity-topic.md for topicClusterKey vs task clusterKey and remaining commands.
|
|
266
|
+
# ae-cli engage-activity topic create --project-id <project_id> --payload '{"activityId":"act-1","topicName":"t1","targetClusterType":2,"topicClusterKey":"<cluster>","channelType":1,"channelId":"c1","triggerType":0,"enableChannelTouchLimits":false,"frequencyLimits":"{}","tasks":[...]}'
|
|
267
|
+
# ae-cli engage-activity topic update --project-id <project_id> --payload '{"topicId":"topic-1", ...}'
|
|
268
|
+
ae-cli engage-activity topic remove-task --project-id <project_id> --task-id <task_id> --yes
|
|
269
|
+
ae-cli engage-activity topic delete --project-id <project_id> --topic-id <topic_id> --yes
|
|
270
|
+
ae-cli engage-activity topic get --project-id <project_id> --topic-id <topic_id>
|
|
271
|
+
ae-cli engage-activity topic copy --project-id <project_id> --topic-id <topic_id> [--new-name <name>]
|
|
272
|
+
|
|
273
|
+
# Activity type (活动类型) list / batch-add / update / batch-delete
|
|
274
|
+
ae-cli engage-activity activity-type list --project-id <project_id>
|
|
275
|
+
ae-cli engage-activity activity-type batch-add --project-id <project_id> --type-names '["t1","t2"]'
|
|
276
|
+
ae-cli engage-activity activity-type update --project-id <project_id> --id <type_id> --type-name t3
|
|
277
|
+
ae-cli engage-activity activity-type batch-delete --project-id <project_id> --ids '["id1","id2"]' --yes
|
|
278
|
+
|
|
279
|
+
# Standalone task (独立任务) get / copy
|
|
280
|
+
# Temporarily disabled: task create / task update
|
|
281
|
+
ae-cli engage-activity task get --project-id <project_id> --task-id <task_id>
|
|
282
|
+
# ae-cli engage-activity task create --project-id <project_id> --payload '{"taskName":"t1","activityId":"act-1", ...}'
|
|
283
|
+
# ae-cli engage-activity task update --project-id <project_id> --payload '{"taskId":"task-1", ...}'
|
|
284
|
+
ae-cli engage-activity task copy --project-id <project_id> --task-id <task_id> [--new-name <name>]
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### 7. workbench (工作台)
|
|
288
|
+
|
|
289
|
+
New capability-gateway command group `engage-workbench` covers 工作台 metric slots (指标卡槽): each user configures up to 4 metric cards per project. Slots are per-user; `update`/`delete` only affect the caller's own slots. The first `list` auto-initialises 4 default slots.
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# Workbench slot (工作台卡槽) list / add / update / delete
|
|
293
|
+
ae-cli engage-workbench workbench list --project-id <project_id>
|
|
294
|
+
ae-cli engage-workbench workbench add --project-id <project_id> --metric-type <metric_type> --date-type <date_type> --order-id 1
|
|
295
|
+
ae-cli engage-workbench workbench update --project-id <project_id> --slot-id <slot_id> --metric-type <metric_type> --date-type <date_type> --order-id 1
|
|
296
|
+
ae-cli engage-workbench workbench delete --project-id <project_id> --slot-id <slot_id> --yes
|
|
297
|
+
```
|
|
298
|
+
|
|
141
299
|
## `+save_flow` Critical Constraints
|
|
142
300
|
|
|
143
301
|
When the user wants to "create a flow / generate a flow canvas / save a flow", do not treat `+save_flow` as a normal single command. You must follow the workflow below.
|
|
@@ -215,6 +373,32 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
215
373
|
|
|
216
374
|
- `references/channel-list.md`
|
|
217
375
|
- `references/channel_touch_limits_list.md` (`engage-setting.channel-touch-limits.list`)
|
|
376
|
+
- `references/channel-touch-limits-batch-update.md` (`engage-setting.channel-touch-limits.batch-update`)
|
|
377
|
+
- `references/channel-touch-limits-toggle.md` (`engage-setting.channel-touch-limits.toggle`)
|
|
378
|
+
- `references/channel-touch-limits-save.md` (`engage-setting.channel-touch-limits.save`)
|
|
379
|
+
- `references/channel-update-config.md` (`engage-setting.channel.update-config`)
|
|
380
|
+
- `references/channel-test-send.md` (`engage-setting.channel.test-send`)
|
|
381
|
+
- `references/approval-approver-delete.md` (`engage-setting.approval-approver.delete`)
|
|
382
|
+
- `references/whitelist.md` (`engage-setting.whitelist.{add,update,delete,verify}`)
|
|
383
|
+
- `references/push-language.md` (`engage-setting.push-language.{get,set}`)
|
|
384
|
+
- `references/client-param.md` (`engage-setting.client-param.{update,delete,list}`; create temporarily disabled)
|
|
385
|
+
- `references/config-table.md` (`engage-setting.config-table.{upload,save,list,query-data,update-data,delete}`)
|
|
386
|
+
- `references/preset-event.md` (`engage-setting.preset-event.{list,update}`)
|
|
387
|
+
- `references/common-metric.md` (`engage-setting.common-metric.{list,get,update,delete}`; create temporarily disabled)
|
|
388
|
+
- `references/scene-config-item.md` (`engage-scene.config-item.{list,create,update}`)
|
|
389
|
+
- `references/scene-config-param.md` (`engage-scene.config-param.{list,batch-add,update,batch-delete}`)
|
|
390
|
+
- `references/scene-config-group.md` (`engage-scene.config-group.{list,batch-add,update,batch-delete}`)
|
|
391
|
+
- `references/scene-preset-metric.md` (`engage-scene.preset-metric.{get,set}`)
|
|
392
|
+
- `references/scene-config-metric.md` (`engage-scene.config-metric.{list,get,batch-add,update-rule,batch-delete}`)
|
|
393
|
+
- `references/scene-config-channel.md` (`engage-scene.config-channel.{create,update,query-log}`)
|
|
394
|
+
- `references/scene-strategy.md` (`engage-scene.strategy.{create,update,log,batch-copy}`)
|
|
395
|
+
- `references/scene-template.md` (`engage-scene.template.{list,get,create,update,update-status,delete}`)
|
|
396
|
+
- `references/activity-activity.md` (`engage-activity.activity.{create,update,delete,list,get,pause,end,stats,info-list}`)
|
|
397
|
+
- `references/activity-approval.md` (`engage-activity.approval.{submit,approve,reject,cancel}`)
|
|
398
|
+
- `references/activity-topic.md` (`engage-activity.topic.{remove-task,delete,get,copy}`; create/update temporarily disabled)
|
|
399
|
+
- `references/activity-activity-type.md` (`engage-activity.activity-type.{list,batch-add,update,batch-delete}`)
|
|
400
|
+
- `references/activity-task.md` (`engage-activity.task.{get,copy}`; create/update temporarily disabled)
|
|
401
|
+
- `references/workbench-workbench.md` (`engage-workbench.workbench.{list,add,update,delete}`)
|
|
218
402
|
- `references/build-task-save-guide.md`
|
|
219
403
|
- `references/save-task.md`
|
|
220
404
|
- `references/task-list.md`
|
|
@@ -226,7 +410,7 @@ More detailed single-command guidance is available in the business-oriented `ref
|
|
|
226
410
|
- `references/push-record-query.md` (`engage-task.push-record.query`)
|
|
227
411
|
- `references/segment-list-query.md` (`engage-task.segment-list.query`)
|
|
228
412
|
- `references/group-list.md` (`engage-task.group.list`)
|
|
229
|
-
- `references/
|
|
413
|
+
- `references/task-delete.md` (`engage-task.task.delete`)
|
|
230
414
|
|
|
231
415
|
This split documentation structure is easier to extend later, because commands with more complex object inputs can stay centralized in the `references/` root directory.
|
|
232
416
|
|
|
@@ -234,18 +418,29 @@ This split documentation structure is easier to extend later, because commands w
|
|
|
234
418
|
|
|
235
419
|
### setting
|
|
236
420
|
|
|
237
|
-
`channel-touch-limits list` (via `engage-setting`), `+channel_list`, `+channel_detail`, `+update_channel_status`, `+delete_channel`, `+add_channel`, `+whitelist_list`, `+add_approver`, `+approver_list`, `+cancel_query_by_request_id`, `+config_channel_detail`, `+config_channel_list`, `+delete_config_channel`, `+update_config_channel_status`
|
|
421
|
+
`channel-touch-limits list` / `channel-touch-limits batch-update` / `channel-touch-limits toggle` / `channel-touch-limits save` / `channel update-config` / `channel test-send` / `approval-approver delete` / `whitelist add` / `whitelist update` / `whitelist delete` / `whitelist verify` / `push-language get` / `push-language set` / `client-param update` / `client-param delete` / `client-param list` / `config-table upload` / `config-table save` / `config-table list` / `config-table query-data` / `config-table update-data` / `config-table delete` / `preset-event list` / `preset-event update` / `common-metric list` / `common-metric get` / `common-metric update` / `common-metric delete` (via `engage-setting`), `+channel_list`, `+channel_detail`, `+update_channel_status`, `+delete_channel`, `+add_channel`, `+whitelist_list`, `+add_approver`, `+approver_list`, `+cancel_query_by_request_id`, `+config_channel_detail`, `+config_channel_list`, `+delete_config_channel`, `+update_config_channel_status`
|
|
238
422
|
|
|
239
423
|
### task
|
|
240
424
|
|
|
241
|
-
`operation-log query` / `push-record query` / `segment-list
|
|
242
|
-
|
|
243
|
-
> Temporarily disabled engage-task commands (do not use): `group delete`, `segment-list set-visibility`, `ops submit-approval`, `race release`.
|
|
425
|
+
`operation-log query` / `push-record query` / `segment-list *` / `ops *` / `metric *` / `race release` / `channel-ref stats` / `group *` (via `engage-task`), `+task_data_overview`, `+task_data_detail`, `+task_metric_detail`, `+task_experiment_report`, `+task_detail`, `+task_list`, `+task_stats`, `+build_task_save_guide`, `+save_task`, `+manage_task`
|
|
244
426
|
|
|
245
427
|
### config
|
|
246
428
|
|
|
247
429
|
`+config_item_trigger_report`, `+config_item_analysis_report`, `+config_item_strategy_comparison`, `+config_item_list`, `+config_item_detail`, `+delete_config_item`, `+copy_config_template`, `+strategy_list`, `+strategy_detail`, `+manage_strategy`
|
|
248
430
|
|
|
431
|
+
### scene
|
|
432
|
+
|
|
433
|
+
`config-item list` / `config-item create` / `config-item update` / `config-param list` / `config-param batch-add` / `config-param update` / `config-param batch-delete` / `config-group list` / `config-group batch-add` / `config-group update` / `config-group batch-delete` / `preset-metric get` / `preset-metric set` / `config-metric list` / `config-metric get` / `config-metric batch-add` / `config-metric update-rule` / `config-metric batch-delete` / `config-channel create` / `config-channel update` / `config-channel query-log` / `strategy create` / `strategy update` / `strategy log` / `strategy batch-copy` / `template list` / `template get` / `template create` / `template update` / `template update-status` / `template delete` (via `engage-scene`), capability ids `engage-scene.config-item.{list,create,update}`, `engage-scene.config-param.{list,batch-add,update,batch-delete}`, `engage-scene.config-group.{list,batch-add,update,batch-delete}`, `engage-scene.preset-metric.{get,set}`, `engage-scene.config-metric.{list,get,batch-add,update-rule,batch-delete}`, `engage-scene.config-channel.{create,update,query-log}`, `engage-scene.strategy.{create,update,log,batch-copy}`, `engage-scene.template.{list,get,create,update,update-status,delete}`
|
|
434
|
+
|
|
435
|
+
### activity
|
|
436
|
+
|
|
437
|
+
`activity create` / `activity update` / `activity delete` / `activity list` / `activity get` / `activity pause` / `activity end` / `activity stats` / `activity info-list` / `approval submit` / `approval approve` / `approval reject` / `approval cancel` / `topic remove-task` / `topic delete` / `topic get` / `topic copy` / `activity-type list` / `activity-type batch-add` / `activity-type update` / `activity-type batch-delete` / `task get` / `task copy` (via `engage-activity`), capability ids `engage-activity.activity.{create,update,delete,list,get,pause,end,stats,info-list}`, `engage-activity.approval.{submit,approve,reject,cancel}`, `engage-activity.topic.{remove-task,delete,get,copy}`, `engage-activity.activity-type.{list,batch-add,update,batch-delete}`, `engage-activity.task.{get,copy}`
|
|
438
|
+
<!-- Temporarily disabled: topic create / topic update / task create / task update -->
|
|
439
|
+
|
|
440
|
+
### workbench
|
|
441
|
+
|
|
442
|
+
`workbench list` / `workbench add` / `workbench update` / `workbench delete` (via `engage-workbench`), capability ids `engage-workbench.workbench.{list,add,update,delete}`
|
|
443
|
+
|
|
249
444
|
### flow
|
|
250
445
|
|
|
251
446
|
`operation-log query` / `version list` (via `engage-flow`), `+save_flow`, `+flow_node_config_schema`, `+flow_detail`, `+flow_list`, `+flow_node_overview_report`, `+manage_flow`, `+flow_ab_split_node_report`, `+flow_process_report`, `+validate_flow_node_config`, `+flow_node_detail_report`, `+delete_flow`, `+modify_flow_base_info`
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# engage-activity activity-type
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-activity.activity-type.{list,batch-add,update,batch-delete}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
运营活动 - 活动类型(系统 + 自定义)。批量增删在 capability service 内循环调用现有单条后端方法(无批量后端 API)。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List activity types
|
|
11
|
+
ae-cli engage-activity activity-type list --project-id <project_id>
|
|
12
|
+
|
|
13
|
+
# Batch-add custom activity types
|
|
14
|
+
ae-cli engage-activity activity-type batch-add --project-id <project_id> --type-names '["t1","t2"]'
|
|
15
|
+
|
|
16
|
+
# Update a custom activity type name
|
|
17
|
+
ae-cli engage-activity activity-type update --project-id <project_id> --id <type_id> --type-name t3
|
|
18
|
+
|
|
19
|
+
# Batch-delete custom activity types (high-risk)
|
|
20
|
+
ae-cli engage-activity activity-type batch-delete --project-id <project_id> --ids '["id1","id2"]' --yes
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
| Command | Required flags | Notes |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| list | `--project-id` | read. |
|
|
28
|
+
| batch-add | `--project-id`, `--type-names` | `--type-names` = JSON array of names. |
|
|
29
|
+
| update | `--project-id`, `--id`, `--type-name` | write. |
|
|
30
|
+
| batch-delete | `--project-id`, `--ids` | high-risk; `--ids` = JSON array; requires `--yes`; no dry-run. |
|
|
31
|
+
|
|
32
|
+
## Output
|
|
33
|
+
|
|
34
|
+
- `list`: `data.total`, `data.items`.
|
|
35
|
+
- `batch-add`: `data.total`, `data.ids`.
|
|
36
|
+
- `update`: `data.success`.
|
|
37
|
+
- `batch-delete`: `data.total`, `data.deleted`.
|
|
38
|
+
|
|
39
|
+
## Decision Rules
|
|
40
|
+
|
|
41
|
+
- `batch-delete` is `high-risk-write` — requires `--yes`, no dry-run; loops single delete (non-atomic).
|
|
42
|
+
- Only custom types are editable; system types are read-only.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# engage-activity activity
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-activity.activity.{create,update,delete,list,get,pause,end,stats,info-list}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
运营活动 - 活动主体管理。`create`/`update` 使用 `--payload` 直传后端 DTO(原生 camelCase 结构,`project_id` 单独作为参数)。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Create an activity (draft)
|
|
11
|
+
ae-cli engage-activity activity create --project-id <project_id> \
|
|
12
|
+
--payload '{"activityName":"a1","activityType":"other_type","tzOffset":99,"periodType":0}'
|
|
13
|
+
|
|
14
|
+
# Update an activity
|
|
15
|
+
ae-cli engage-activity activity update --project-id <project_id> \
|
|
16
|
+
--payload '{"activityId":"act-1","activityName":"a1","activityType":"other_type","tzOffset":99,"periodType":0}'
|
|
17
|
+
|
|
18
|
+
# Delete an activity (draft/denied/ended only, high-risk)
|
|
19
|
+
ae-cli engage-activity activity delete --project-id <project_id> --activity-id <activity_id> --yes
|
|
20
|
+
|
|
21
|
+
# List activities
|
|
22
|
+
ae-cli engage-activity activity list --project-id <project_id> [--fuzzy-field <text>] [--page 1] [--page-size 20]
|
|
23
|
+
|
|
24
|
+
# Get an activity detail
|
|
25
|
+
ae-cli engage-activity activity get --project-id <project_id> --activity-id <activity_id>
|
|
26
|
+
|
|
27
|
+
# Pause / End an activity (write, no dry-run)
|
|
28
|
+
ae-cli engage-activity activity pause --project-id <project_id> --activity-id <activity_id>
|
|
29
|
+
ae-cli engage-activity activity end --project-id <project_id> --activity-id <activity_id>
|
|
30
|
+
|
|
31
|
+
# Activity status distribution statistics
|
|
32
|
+
ae-cli engage-activity activity stats --project-id <project_id> [--fuzzy-field <text>]
|
|
33
|
+
|
|
34
|
+
# Query an activity's topics + standalone tasks
|
|
35
|
+
ae-cli engage-activity activity info-list --project-id <project_id> --activity-id <activity_id>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Parameters
|
|
39
|
+
|
|
40
|
+
| Command | Required flags | Notes |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| create | `--project-id`, `--payload` | payload = `ActivityAddDTO`. |
|
|
43
|
+
| update | `--project-id`, `--payload` | payload = `ActivityDTO` (`activityId` + base fields). |
|
|
44
|
+
| delete | `--project-id`, `--activity-id` | high-risk; requires `--yes`; no dry-run. |
|
|
45
|
+
| list | `--project-id` | `--fuzzy-field` / `--page` / `--page-size` optional. |
|
|
46
|
+
| get | `--project-id`, `--activity-id` | read. |
|
|
47
|
+
| pause | `--project-id`, `--activity-id` | write; no dry-run. |
|
|
48
|
+
| end | `--project-id`, `--activity-id` | write; no dry-run. |
|
|
49
|
+
| stats | `--project-id` | read; `--fuzzy-field` optional. |
|
|
50
|
+
| info-list | `--project-id`, `--activity-id` | read. |
|
|
51
|
+
|
|
52
|
+
## Output
|
|
53
|
+
|
|
54
|
+
- `create` / `update`: `data.activity_id`.
|
|
55
|
+
- `list`: `data.status_count`, `data.activity_list`, `data.pager_result`.
|
|
56
|
+
- `get`: `data.activity`.
|
|
57
|
+
- `stats`: `data.status_count`.
|
|
58
|
+
- `info-list`: `data.info` with `taskList` (standalone tasks) and `topicList` (topics under the activity).
|
|
59
|
+
- `delete` / `pause` / `end`: `data.success`.
|
|
60
|
+
|
|
61
|
+
## Timezone (`tzOffset`)
|
|
62
|
+
|
|
63
|
+
When the project has **timezone disabled**, use `tzOffset: 99` (server default sentinel) on create/update. Using `8` or other offsets returns `PROJECT_TIME_ZONE_NONE` when creating topics/tasks under the activity.
|
|
64
|
+
|
|
65
|
+
When timezone is enabled, `tzOffset` must match one of the project's configured offsets. Keep activity `tzOffset` aligned with tasks/topics created under it.
|
|
66
|
+
|
|
67
|
+
## Decision Rules
|
|
68
|
+
|
|
69
|
+
- `delete` is `high-risk-write` and requires `--yes`; `pause`/`end` are state-changing `write` (no `--yes`) and do not support dry-run.
|
|
70
|
+
- Discover real activity IDs via `list` first; never invent IDs.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# engage-activity approval
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-activity.approval.{submit,approve,reject,cancel}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
运营活动 - 活动审批流。所有操作均针对活动(`ApprovalActivityIdDealDTO`:`projectId` + `activityId` + `reason`),均为状态变更 `write`,不支持 dry-run。`reject` 的 `reason` 必填;其余操作 `reason` 可选。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Submit an activity for approval
|
|
11
|
+
ae-cli engage-activity approval submit --project-id <project_id> --activity-id <activity_id>
|
|
12
|
+
|
|
13
|
+
# Approve an activity
|
|
14
|
+
ae-cli engage-activity approval approve --project-id <project_id> --activity-id <activity_id>
|
|
15
|
+
|
|
16
|
+
# Reject an activity (reason required)
|
|
17
|
+
ae-cli engage-activity approval reject --project-id <project_id> --activity-id <activity_id> --reason <reason>
|
|
18
|
+
|
|
19
|
+
# Cancel/withdraw a submitted approval
|
|
20
|
+
ae-cli engage-activity approval cancel --project-id <project_id> --activity-id <activity_id>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
| Command | Required flags | Notes |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| submit | `--project-id`, `--activity-id` | `--reason` optional. |
|
|
28
|
+
| approve | `--project-id`, `--activity-id` | `--reason` optional. |
|
|
29
|
+
| reject | `--project-id`, `--activity-id`, `--reason` | `--reason` required, max 72 characters. |
|
|
30
|
+
| cancel | `--project-id`, `--activity-id` | `--reason` optional. |
|
|
31
|
+
|
|
32
|
+
## Output
|
|
33
|
+
|
|
34
|
+
- All actions: `data.success`.
|
|
35
|
+
|
|
36
|
+
## Decision Rules
|
|
37
|
+
|
|
38
|
+
- All approval actions are `write` (real state changes) and do not support dry-run; they do not require `--yes` (only `high-risk-write` does).
|
|
39
|
+
- Approve/reject require the caller to be a valid approver of the activity (enforced server-side).
|
|
40
|
+
|
|
41
|
+
## Common Errors
|
|
42
|
+
|
|
43
|
+
| code | when |
|
|
44
|
+
|---|---|
|
|
45
|
+
| `ACTIVITY_NOT_FOUND` | activity id missing in project |
|
|
46
|
+
| `ACTIVITY_NO_APPROVAL_TASK` | submit with no standalone/topic tasks |
|
|
47
|
+
| `ACTIVITY_STATUS_INVALID` | activity not in draft/pending |
|
|
48
|
+
| `APPROVAL_NOT_PENDING` | no under-approval record |
|
|
49
|
+
| `NOT_APPROVER` | caller is not a project approver |
|
|
50
|
+
| `REASON_REQUIRED` | reject without `--reason` |
|
|
51
|
+
| `REASON_TOO_LONG` | reject reason longer than 72 characters |
|
|
52
|
+
| `CAPABILITY_PERMISSION_DENIED` | cancel caller is neither owner nor ops-manage-other-assets |
|
|
53
|
+
| `TOO_FREQUENT` | concurrent approve/submit lock conflict |
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# engage-activity task
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-activity.task.{get,copy}` · Domain: `engage`.
|
|
4
|
+
>
|
|
5
|
+
> Temporarily disabled: `task create` / `task update` (command registration + skill guidance).
|
|
6
|
+
|
|
7
|
+
运营活动 - 独立任务(活动下不属于主题的任务)。`copy` 读取源任务详情、改名后重新创建(无后端复制 API)。
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Get a standalone task detail
|
|
13
|
+
ae-cli engage-activity task get --project-id <project_id> --task-id <task_id>
|
|
14
|
+
|
|
15
|
+
# Copy a standalone task (loads detail, renames, re-creates)
|
|
16
|
+
ae-cli engage-activity task copy --project-id <project_id> --task-id <task_id> [--new-name <name>]
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
<!-- Temporarily disabled: task create / task update
|
|
20
|
+
```bash
|
|
21
|
+
# Create a standalone task under an activity (webhook + existing cluster)
|
|
22
|
+
ae-cli engage-activity task create --project-id <project_id> \
|
|
23
|
+
--payload '{ ... }'
|
|
24
|
+
|
|
25
|
+
# Update a standalone task
|
|
26
|
+
ae-cli engage-activity task update --project-id <project_id> \
|
|
27
|
+
--payload '{"taskId":"task-1","taskName":"t1", ...}'
|
|
28
|
+
```
|
|
29
|
+
-->
|
|
30
|
+
|
|
31
|
+
## Parameters
|
|
32
|
+
|
|
33
|
+
| Command | Required flags | Notes |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| get | `--project-id`, `--task-id` | read. |
|
|
36
|
+
| copy | `--project-id`, `--task-id` | `--new-name` optional (default source name + `_copy`). |
|
|
37
|
+
|
|
38
|
+
<!-- Temporarily disabled
|
|
39
|
+
| create | `--project-id`, `--payload` | payload = `OperationTaskOpDTO`; set `activityId`, leave `topicId` empty. |
|
|
40
|
+
| update | `--project-id`, `--payload` | payload = `OperationTaskOpDTO` including `taskId`. |
|
|
41
|
+
-->
|
|
42
|
+
|
|
43
|
+
## Output
|
|
44
|
+
|
|
45
|
+
- `get`: `data.task`.
|
|
46
|
+
- `copy`: `data.task_id`, optional `data.trigger_time_stale` (true when source schedule-single time is already past).
|
|
47
|
+
|
|
48
|
+
## Payload notes (for copy / detail shape)
|
|
49
|
+
|
|
50
|
+
### Channel content
|
|
51
|
+
|
|
52
|
+
- `channelType` `1` = webhook, `2` = app_push, `3` = client_push, `4` = wechat, `5` = dou_yin`.
|
|
53
|
+
- `groupContentList[].contentList[].content` must be a JSON **array string**.
|
|
54
|
+
- **TEXT (rich text) params** must include both `value` and `config` (Slate.js JSON **string**). If `config` is missing, Hermes copy auto-fills
|
|
55
|
+
`config = [{"type":"paragraph","children":[{"text":"<value>"}]}]` as a JSON string.
|
|
56
|
+
|
|
57
|
+
### Audience (`targetClusterType`)
|
|
58
|
+
|
|
59
|
+
| Value | Required | Notes |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| `2` (existed) | `clusterKey` | From `analysis user-cluster list/get`. |
|
|
62
|
+
| `1` (custom) | `qp` | JSON object string. |
|
|
63
|
+
| `3` (all) | — | Do not pass `clusterKey` or `qp`. |
|
|
64
|
+
|
|
65
|
+
## Decision Rules
|
|
66
|
+
|
|
67
|
+
- Discover a real `task_id` via `get`/activity `info-list` first; never invent IDs.
|
|
68
|
+
- `copy` duplicates the editable task config (not runtime/trigger state).
|
|
69
|
+
- `copy` saves via **draft** add (`draft=true`), so a past schedule-single `triggerTime` is allowed; output may include `trigger_time_stale=true`. Update the time before `approval submit`.
|
|
70
|
+
- Standalone tasks must **not** include `topicId`; topic tasks use `engage-activity topic copy` (topic create/update are temporarily disabled).
|
|
71
|
+
|
|
72
|
+
## Copy errors
|
|
73
|
+
|
|
74
|
+
`copy` = get detail → rename → draft `add` (no dedicated copy API). Prefer actionable codes over `INVALID_CAPABILITY_REQUEST`:
|
|
75
|
+
|
|
76
|
+
| code | when |
|
|
77
|
+
|---|---|
|
|
78
|
+
| `TASK_NOT_FOUND` | source `task_id` missing |
|
|
79
|
+
| `TASK_PROJECT_MISMATCH` | task exists but not in `--project-id` |
|
|
80
|
+
| `TOPIC_TASK_FORBIDDEN` | source has `topicId` (use `topic copy`) |
|
|
81
|
+
| `ACTIVITY_ID_REQUIRED` | source has no `activityId` (not a standalone activity task) |
|
|
82
|
+
| `TRIGGER_TIME_REQUIRED` | schedule-single missing `triggerTime` |
|
|
83
|
+
| `CHANNEL_NOT_FOUND` | source channel missing / type mismatch |
|
|
84
|
+
| `TASK_COUNT_LIMIT` | project task count limit exceeded |
|
|
85
|
+
| `RCC_SERVER_REQUIRED` | client push (`channelType=3`) but RCC server is not installed |
|
|
86
|
+
|
|
87
|
+
Past `triggerTime` no longer fails copy; check `data.trigger_time_stale` and fix before approval. Unmapped domain `PARAMETER_ERROR` may still return `INVALID_CAPABILITY_REQUEST` with a readable fallback message.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# engage-activity topic
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-activity.topic.{remove-task,delete,get,copy}` · Domain: `engage`.
|
|
4
|
+
>
|
|
5
|
+
> Temporarily disabled: `topic create` / `topic update` (command registration + skill guidance).
|
|
6
|
+
|
|
7
|
+
Activity topics and tasks under a topic. `copy` loads the source topic, renames it, and re-creates (no dedicated backend copy API).
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Remove a task from its topic (high-risk)
|
|
13
|
+
ae-cli engage-activity topic remove-task --project-id <project_id> --task-id <task_id> --yes
|
|
14
|
+
|
|
15
|
+
# Delete a topic (high-risk)
|
|
16
|
+
ae-cli engage-activity topic delete --project-id <project_id> --topic-id <topic_id> --yes
|
|
17
|
+
|
|
18
|
+
# Get a topic detail
|
|
19
|
+
ae-cli engage-activity topic get --project-id <project_id> --topic-id <topic_id>
|
|
20
|
+
|
|
21
|
+
# Copy a topic (loads detail, renames, re-creates)
|
|
22
|
+
ae-cli engage-activity topic copy --project-id <project_id> --topic-id <topic_id> [--new-name <name>]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
<!-- Temporarily disabled: topic create / topic update
|
|
26
|
+
```bash
|
|
27
|
+
# Create a topic and its tasks under an activity
|
|
28
|
+
ae-cli engage-activity topic create --project-id <project_id> --payload '{ ... }'
|
|
29
|
+
|
|
30
|
+
# Update a topic and its task relations
|
|
31
|
+
ae-cli engage-activity topic update --project-id <project_id> --payload '{"topicId":"topic-1", ...}'
|
|
32
|
+
```
|
|
33
|
+
-->
|
|
34
|
+
|
|
35
|
+
## Parameters
|
|
36
|
+
|
|
37
|
+
| Command | Required flags | Notes |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| remove-task | `--project-id`, `--task-id` | high-risk; requires `--yes`; no dry-run. Only tasks with a non-empty `topicId`. |
|
|
40
|
+
| delete | `--project-id`, `--topic-id` | high-risk; requires `--yes`; no dry-run. |
|
|
41
|
+
| get | `--project-id`, `--topic-id` | read. |
|
|
42
|
+
| copy | `--project-id`, `--topic-id` | `--new-name` optional (default source name + `_copy`). |
|
|
43
|
+
|
|
44
|
+
<!-- Temporarily disabled
|
|
45
|
+
| create | `--project-id`, `--payload` | payload = `TopicAddDTO` (camelCase). |
|
|
46
|
+
| update | `--project-id`, `--payload` | payload = `TopicModifyReq` (`topicId` + fields + task lists). |
|
|
47
|
+
-->
|
|
48
|
+
|
|
49
|
+
## Notes for get / copy
|
|
50
|
+
|
|
51
|
+
TEXT (rich text) params inside `groupContentList[].contentList[].content` need both `value` and Slate `config` (JSON string). If `config` is omitted, Hermes copy auto-fills
|
|
52
|
+
`[{"type":"paragraph","children":[{"text":"<value>"}]}]`. See `activity-task.md` Channel content.
|
|
53
|
+
|
|
54
|
+
Topic-level audience uses `topicClusterKey` / `topicQp`; do **not** pass task-level `clusterKey` at topic root.
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
- `get`: `data.topic` (includes `topicClusterKey` for topic audience).
|
|
59
|
+
- `remove-task` / `delete` / `copy`: `data.success`.
|
|
60
|
+
- `copy` may include `data.trigger_time_stale=true` when source schedule-single time is already past.
|
|
61
|
+
|
|
62
|
+
## Decision Rules
|
|
63
|
+
|
|
64
|
+
- `remove-task` and `delete` are `high-risk-write` — require `--yes`, no dry-run.
|
|
65
|
+
- `remove-task` only deletes **topic tasks** (`topicId` present). Standalone tasks → use `engage-task task delete`.
|
|
66
|
+
- `copy` duplicates the editable topic config and its tasks (not runtime/approval state).
|
|
67
|
+
- `copy` saves via **draft** add (`isDraft=true`), so a past schedule-single `triggerTime` is allowed; output may include `trigger_time_stale=true`. Update the time before `approval submit`.
|
|
68
|
+
- Prefer `topic get` as a template when inspecting channel/content fields.
|
|
69
|
+
|
|
70
|
+
## Copy errors
|
|
71
|
+
|
|
72
|
+
`copy` = get topic detail → rename → draft `addTopicAndTask` (no dedicated copy API). Prefer actionable codes over `INVALID_CAPABILITY_REQUEST` / mismatched i18n text like "Campaign does not exist.":
|
|
73
|
+
|
|
74
|
+
| code | when |
|
|
75
|
+
|---|---|
|
|
76
|
+
| `TOPIC_NOT_FOUND` | source `topic_id` missing |
|
|
77
|
+
| `TOPIC_PROJECT_MISMATCH` | topic exists but not in `--project-id` |
|
|
78
|
+
| `ACTIVITY_ID_REQUIRED` | source topic detail has no `activityId` |
|
|
79
|
+
| `ACTIVITY_NOT_FOUND` | parent activity missing / deleted / wrong project |
|
|
80
|
+
| `TOPIC_TASKS_REQUIRED` | source topic has no tasks |
|
|
81
|
+
| `ACTIVITY_STATUS_INVALID` | parent activity is approving/working/complete |
|
|
82
|
+
| `TOPIC_COUNT_LIMIT` | activity topic count limit exceeded |
|
|
83
|
+
| `CHANNEL_NOT_FOUND` | source channel missing / type mismatch |
|
|
84
|
+
| `TASK_COUNT_LIMIT` | project task count limit exceeded |
|
|
85
|
+
| `RCC_SERVER_REQUIRED` | client push (`channelType=3`) but RCC server is not installed |
|
|
86
|
+
| `TRIGGER_TIME_REQUIRED` | schedule-single missing `triggerTime` |
|
|
87
|
+
|
|
88
|
+
Past `triggerTime` no longer fails copy; check `data.trigger_time_stale` and fix before approval.
|
|
89
|
+
|
|
90
|
+
## remove-task errors
|
|
91
|
+
|
|
92
|
+
| code | when |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `TASK_NOT_FOUND` | `--task-id` missing |
|
|
95
|
+
| `TASK_PROJECT_MISMATCH` | task exists but not in `--project-id` |
|
|
96
|
+
| `NOT_TOPIC_TASK` | task has no `topicId` (standalone); use `engage-task task delete` |
|
|
97
|
+
| `TASK_WORKING` | topic task `mappingStatus=working`; pause/end first |
|
|
98
|
+
| `TASK_APPROVING` | topic task pending approval; withdraw first |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# engage-setting approval-approver delete
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.approval-approver.delete` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-setting approval-approver delete --project-id <project_id> --approver <open_id> --yes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Required | Description |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
16
|
+
| `--approver` | Yes | OpenID of the approver to remove. |
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
- `data.success`: whether the approver was removed.
|
|
21
|
+
|
|
22
|
+
## Decision Rules
|
|
23
|
+
|
|
24
|
+
- Use this command when the user asks to remove/delete an approver from a project.
|
|
25
|
+
- Discover the real approver OpenID with `ae-cli engage +approver_list --project_id <project_id>` first; never invent an OpenID.
|
|
26
|
+
- Risk is `high-risk-write`; the CLI confirmation gate requires `--yes` (or interactive confirmation) before executing.
|