@thinkingai/ae-cli 6.0.31 → 6.0.33
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/{auth-MEJ642P4.js → auth-ENM3FE6L.js} +3 -2
- package/dist/{auth-7H3HAAJ3.js → auth-UPGUOKTW.js} +13 -6
- package/dist/{capability-SEH3JWLN.js → capability-AJC5CBRT.js} +50 -18
- package/dist/{capability-SQ2IWKP3.js → capability-TQ5KU5Q6.js} +50 -18
- package/dist/chunk-24BAVOX3.js +51 -0
- package/dist/{chunk-MDJGDI6K.js → chunk-3KI3RRXX.js} +5 -5
- package/dist/{chunk-PKRD2IEM.js → chunk-3P3562ZX.js} +9 -7
- package/dist/{chunk-R77JT7XD.js → chunk-4Q5TNP4Q.js} +4 -4
- package/dist/{chunk-TKQJQXWT.js → chunk-6CHYBI64.js} +7 -4
- package/dist/{chunk-6LEYLOV3.js → chunk-CPVTECJ3.js} +9 -7
- package/dist/{chunk-KCA6BA5D.js → chunk-DB4Q3ANU.js} +5 -3
- package/dist/{chunk-2NDGFQHW.js → chunk-E7UXXHO3.js} +11 -3
- package/dist/{chunk-I4A62X3N.js → chunk-HQ2A7ITL.js} +23 -14
- package/dist/chunk-IMMGMU54.js +674 -0
- package/dist/{chunk-AJTH7LT3.js → chunk-IR4ZLVPW.js} +4 -2
- package/dist/{chunk-N2QORU5D.js → chunk-ISY6HMHM.js} +7 -4
- package/dist/{chunk-KGJQCYVC.js → chunk-LCXU3AAT.js} +4 -2
- package/dist/chunk-LYVNONC4.js +86 -0
- package/dist/{chunk-DYOS6YY7.js → chunk-RGXCNC4N.js} +23 -14
- package/dist/{chunk-YCLVYFK7.js → chunk-V6FR6WTW.js} +45 -87
- package/dist/chunk-VTWMIC5L.js +27 -0
- package/dist/{cli-token-TVQRSE46.js → cli-token-4SBMXAUK.js} +6 -3
- package/dist/{client-2643Z5AG.js → client-PP5FETMW.js} +4 -3
- package/dist/community-report-client-KK2QBANO.js +145 -0
- package/dist/{config-7UZWDE74.js → config-RCCGHHYA.js} +6 -3
- package/dist/index.js +541 -234
- package/dist/{metadata-W6JFFMBA.js → metadata-3M5F2AED.js} +15 -14
- package/dist/{metadata-X62TKIVK.js → metadata-W2MEOI4Z.js} +15 -14
- package/dist/{model-T3KZJWLW.js → model-OYQLXCQY.js} +3 -2
- package/dist/{raw-CN542NGT.js → raw-TPB7KSZO.js} +6 -4
- package/dist/{sync-ERNHDPB5.js → sync-EFJKFZK2.js} +6 -3
- package/dist/{te-agent-FCCWUDTJ.js → te-agent-K2OWMZXT.js} +3 -2
- package/dist/{te-analysis-NJGNWZFC.js → te-analysis-I73ZS4NK.js} +2196 -120
- package/dist/{te-analysis-YGV5V5EX.js → te-analysis-Q7AZCDU4.js} +2196 -120
- package/dist/te-common-ST3QPSXJ.js +61 -0
- package/dist/te-common-WSLIKKPC.js +61 -0
- package/dist/te-community-WXGB6IOX.js +1659 -0
- package/dist/te-community-X2AHXGCA.js +1659 -0
- package/dist/{te-dataops-ZNJBQ6VT.js → te-dataops-MJV54MNY.js} +10 -8
- package/dist/{te-dataops-F36T656A.js → te-dataops-OA7I6HBG.js} +10 -8
- package/dist/te-engage-GJRVQMK3.js +3895 -0
- package/dist/te-engage-JIXX3WBI.js +3895 -0
- package/dist/{te-kb-NT33UHAE.js → te-kb-CIZXRWMO.js} +105 -23
- package/dist/{te-meta-VKWNAWO4.js → te-meta-Q4L6EE3Q.js} +8 -240
- package/dist/{te-meta-MAAUHFQO.js → te-meta-VHCN4Q62.js} +8 -240
- package/dist/{te-team-OKCOX7OE.js → te-team-PDKKW7Q5.js} +7 -6
- package/dist/tracking/i18n/resources/cli/en.json +4 -3
- package/dist/tracking/i18n/resources/cli/ja.json +4 -3
- package/dist/tracking/i18n/resources/cli/ko.json +4 -3
- package/dist/tracking/i18n/resources/cli/zh.json +4 -3
- package/package.json +6 -2
- package/skills/ae-agent/SKILL.md +2 -1
- package/skills/ae-analysis/SKILL.md +21 -7
- package/skills/ae-analysis/references/adhoc_export.md +5 -6
- package/skills/ae-analysis/references/adhoc_run.md +7 -9
- package/skills/ae-analysis/references/ai_models.md +17 -1
- package/skills/ae-analysis/references/alert_create.md +25 -0
- package/skills/ae-analysis/references/alert_definition_schema_get.md +24 -0
- package/skills/ae-analysis/references/alert_delete.md +26 -0
- package/skills/ae-analysis/references/alert_detail_list.md +27 -0
- package/skills/ae-analysis/references/alert_get.md +25 -0
- package/skills/ae-analysis/references/alert_job_list.md +24 -0
- package/skills/ae-analysis/references/alert_list.md +27 -0
- package/skills/ae-analysis/references/alert_notice_config_list.md +24 -0
- package/skills/ae-analysis/references/alert_start.md +25 -0
- package/skills/ae-analysis/references/alert_stop.md +25 -0
- package/skills/ae-analysis/references/alert_update.md +26 -0
- 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_create.md +3 -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/check_delete.md +27 -0
- package/skills/ae-analysis/references/check_export.md +27 -0
- package/skills/ae-analysis/references/check_get.md +27 -0
- package/skills/ae-analysis/references/check_list.md +24 -0
- package/skills/ae-analysis/references/check_retry.md +27 -0
- package/skills/ae-analysis/references/check_run.md +25 -0
- package/skills/ae-analysis/references/command_index.md +114 -46
- package/skills/ae-analysis/references/create_entity.md +2 -2
- package/skills/ae-analysis/references/dashboard_create.md +3 -3
- package/skills/ae-analysis/references/dashboard_daily_report_send.md +1 -0
- package/skills/ae-analysis/references/dashboard_daily_report_update.md +2 -0
- package/skills/ae-analysis/references/dashboard_report_data_export.md +4 -4
- package/skills/ae-analysis/references/dashboard_report_data_run.md +4 -4
- 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_blacklist_add.md +25 -0
- package/skills/ae-analysis/references/event_blacklist_list.md +24 -0
- package/skills/ae-analysis/references/event_blacklist_update.md +26 -0
- 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/ingest_error_list.md +27 -0
- package/skills/ae-analysis/references/ingest_summary.md +26 -0
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/live_data_export.md +27 -0
- package/skills/ae-analysis/references/live_data_list.md +27 -0
- 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/plan_change_log_export.md +27 -0
- package/skills/ae-analysis/references/plan_change_log_list.md +24 -0
- package/skills/ae-analysis/references/plan_delete_items.md +30 -0
- package/skills/ae-analysis/references/plan_export.md +26 -0
- package/skills/ae-analysis/references/plan_generate.md +27 -0
- package/skills/ae-analysis/references/plan_get.md +24 -0
- package/skills/ae-analysis/references/plan_import_excel.md +26 -0
- package/skills/ae-analysis/references/plan_save_items.md +27 -0
- package/skills/ae-analysis/references/plan_sync_from_meta.md +24 -0
- 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 +26 -0
- package/skills/ae-analysis/references/project_role_function_list.md +27 -0
- package/skills/ae-analysis/references/project_role_get.md +24 -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 +24 -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 +15 -32
- package/skills/ae-analysis/references/report_create.md +1 -1
- package/skills/ae-analysis/references/report_data_export.md +5 -3
- package/skills/ae-analysis/references/report_data_run.md +13 -3
- 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/sdk_sample_generate.md +24 -0
- package/skills/ae-analysis/references/user_cluster_create.md +5 -1
- package/skills/ae-analysis/references/user_cluster_create_id.md +2 -0
- 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 +5 -1
- package/skills/ae-analysis/references/user_cluster_update_id.md +2 -0
- package/skills/ae-analysis/references/user_tag_create.md +5 -1
- package/skills/ae-analysis/references/user_tag_create_id.md +2 -0
- 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 +5 -1
- package/skills/ae-analysis/references/user_tag_update_id.md +2 -0
- 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-analysis-global/SKILL.md +2 -0
- package/skills/ae-capability/SKILL.md +7 -5
- package/skills/ae-community/SKILL.md +72 -8
- package/skills/ae-community/references/community-chat-analysis.md +341 -0
- package/skills/ae-community/references/community-data-report.md +301 -0
- package/skills/ae-dataops/SKILL.md +2 -1
- package/skills/ae-engage/SKILL.md +204 -8
- 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-generate-tracking-code/SKILL.md +4 -4
- package/skills/ae-generate-tracking-plan/SKILL.md +140 -16
- package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +98 -33
- package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
- package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +16 -14
- package/skills/ae-kb/SKILL.md +36 -9
- package/skills/ae-metadata/SKILL.md +3 -2
- 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/skills/ae-team/SKILL.md +2 -1
- package/dist/chunk-NOO24N7W.js +0 -11
- package/dist/chunk-TNW2CI4W.js +0 -129
- package/dist/te-common-5NJLF3XG.js +0 -130
- package/dist/te-common-7VTJZPII.js +0 -130
- package/dist/te-community-PEZ2VEF7.js +0 -687
- package/dist/te-community-TSKJ652U.js +0 -687
- 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
|
@@ -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.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# engage-setting channel test-send
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.channel.test-send` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-setting channel test-send \
|
|
9
|
+
--project-id <project_id> --channel-id <channel_id> --push-id <send_id> \
|
|
10
|
+
--content-list '[{"key":"title","value":"hello"}]' \
|
|
11
|
+
[--user-params-list '<json_array>'] [--push-environment dev|pro] \
|
|
12
|
+
[--mock-push] [--channel-template-id <id>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Required | Description |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
20
|
+
| `--channel-id` | Yes | Channel ID to test. |
|
|
21
|
+
| `--push-id` | Yes | Recipient send ID (e.g. a test device id). |
|
|
22
|
+
| `--content-list` | Yes | JSON array of key/value content pairs, e.g. `[{"key":"title","value":"hello"}]`. |
|
|
23
|
+
| `--user-params-list` | No | JSON array of custom user params for the test push. |
|
|
24
|
+
| `--push-environment` | No | Push environment: `dev` or `pro`. |
|
|
25
|
+
| `--mock-push` | No | Mock the push (build request only, do not send). |
|
|
26
|
+
| `--channel-template-id` | No | WeChat channel template ID. |
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
- `data.push_succeeded`: whether the test push succeeded.
|
|
31
|
+
|
|
32
|
+
## Decision Rules
|
|
33
|
+
|
|
34
|
+
- Use this command when the user asks to send a test message to a channel / verify channel delivery.
|
|
35
|
+
- Discover the real channel id with `ae-cli engage +channel_list` first; never invent a channel id.
|
|
36
|
+
- `--mock-push` is useful to inspect the request body/headers without actually delivering a message.
|
|
37
|
+
- Risk is `write`; sending a real test push to a recipient is a write action.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# engage-setting channel-touch-limits batch-update
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.channel-touch-limits.batch-update` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-setting channel-touch-limits batch-update \
|
|
9
|
+
--project-id <project_id> \
|
|
10
|
+
--items '[{"rule_id":"r1","enable":true,"rule_def":"[]"},{"rule_id":"r2","enable":false,"rule_def":"[]"}]'
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
| Parameter | Required | Description |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
18
|
+
| `--items` | Yes | JSON array of rule updates. Each item: `rule_id`, `enable` (boolean), `rule_def` (rule definition JSON string). |
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
|
|
22
|
+
- `data.success`: whether the batch update succeeded.
|
|
23
|
+
|
|
24
|
+
## Decision Rules
|
|
25
|
+
|
|
26
|
+
- Use this command when the user asks to batch edit/update multiple touch-limit (fatigue-control) rules at once.
|
|
27
|
+
- Discover existing rule IDs with `ae-cli engage-setting channel-touch-limits list --project-id <project_id>` first; never invent rule IDs.
|
|
28
|
+
- Risk is `write`; ordinary update, no confirmation gate.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# engage-setting channel-touch-limits save
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.channel-touch-limits.save` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Create a new touch-limit rule (omit --rule-id)
|
|
9
|
+
ae-cli engage-setting channel-touch-limits save \
|
|
10
|
+
--project-id <project_id> --channel-biz-type <biz_type> \
|
|
11
|
+
--rule-def '<rule_def_json>' --enable true
|
|
12
|
+
|
|
13
|
+
# Update an existing touch-limit rule (provide --rule-id)
|
|
14
|
+
ae-cli engage-setting channel-touch-limits save \
|
|
15
|
+
--project-id <project_id> --channel-biz-type <biz_type> \
|
|
16
|
+
--rule-def '<rule_def_json>' --enable false --rule-id <rule_id>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
|
|
21
|
+
| Parameter | Required | Description |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
24
|
+
| `--channel-biz-type` | Yes | Channel business type the rule belongs to. |
|
|
25
|
+
| `--rule-def` | Yes | Touch-limit rule definition (JSON string, see ChannelTouchLimitRuleDTO). |
|
|
26
|
+
| `--enable` | Yes | Whether the touch-limit rule is enabled. |
|
|
27
|
+
| `--rule-id` | No | Existing rule ID. When omitted a new rule is created. |
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
|
|
31
|
+
- `data.success`: whether the save succeeded.
|
|
32
|
+
|
|
33
|
+
## Decision Rules
|
|
34
|
+
|
|
35
|
+
- Use this command when the user asks to create or update a single touch-limit (fatigue-control) rule.
|
|
36
|
+
- For updates, discover the real rule ID with `ae-cli engage-setting channel-touch-limits list --project-id <project_id>` first.
|
|
37
|
+
- Risk is `write`; ordinary write, no confirmation gate.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# engage-setting channel-touch-limits toggle
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.channel-touch-limits.toggle` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-setting channel-touch-limits toggle \
|
|
9
|
+
--project-id <project_id> --rule-id <rule_id> --enable <true|false>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| Parameter | Required | Description |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
17
|
+
| `--rule-id` | Yes | Touch-limit rule ID to enable/disable. |
|
|
18
|
+
| `--enable` | Yes | Whether the touch-limit rule is enabled. |
|
|
19
|
+
|
|
20
|
+
## Output
|
|
21
|
+
|
|
22
|
+
- `data.success`: whether the toggle succeeded.
|
|
23
|
+
|
|
24
|
+
## Decision Rules
|
|
25
|
+
|
|
26
|
+
- Use this command when the user asks to enable or disable a single touch-limit (fatigue-control) rule.
|
|
27
|
+
- Discover the real rule ID with `ae-cli engage-setting channel-touch-limits list --project-id <project_id>` first.
|
|
28
|
+
- Risk is `write`; ordinary update, no confirmation gate.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# engage-setting channel update-config
|
|
2
|
+
|
|
3
|
+
> Capability id: `engage-setting.channel.update-config` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli engage-setting channel update-config \
|
|
9
|
+
--project-id <project_id> --channel-id <channel_id> --enable-touch-event <0|1> \
|
|
10
|
+
[--channel-name <name>] [--push-id-type <prop>] [--config '<json_string>'] \
|
|
11
|
+
[--touch-event-source <src>] [--event-delivery-name <name>] [--event-click-name <name>]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
| Parameter | Required | Description |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
19
|
+
| `--channel-id` | Yes | Channel ID to update. |
|
|
20
|
+
| `--enable-touch-event` | Yes | Reach funnel toggle: `1` enabled, `0` disabled. |
|
|
21
|
+
| `--channel-name` | No | New channel name. |
|
|
22
|
+
| `--push-id-type` | No | User property used as the push ID. |
|
|
23
|
+
| `--config` | No | Channel-specific JSON config string (see ChannelConfigDTO). |
|
|
24
|
+
| `--touch-event-source` | No | Reach event source. |
|
|
25
|
+
| `--event-delivery-name` | No | Actual delivery event name. |
|
|
26
|
+
| `--event-click-name` | No | Click event name. |
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
- `data.success`: whether the channel config was updated.
|
|
31
|
+
|
|
32
|
+
## Decision Rules
|
|
33
|
+
|
|
34
|
+
- Use this command when the user asks to edit/update an existing channel's name, config, push-id type, or reach-funnel settings.
|
|
35
|
+
- `--config` is the channel-specific JSON config; discover the existing config with `ae-cli engage +channel_detail` first rather than inventing it.
|
|
36
|
+
- Risk is `write`; ordinary update, no confirmation gate.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# engage-setting client-param
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-setting.client-param.{update,delete,list}` · Domain: `engage`. (`create` temporarily disabled in CLI.)
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Update a custom client param
|
|
9
|
+
ae-cli engage-setting client-param update \
|
|
10
|
+
--project-id <project_id> --column-name <name> --column-type <type> --select-type <select> \
|
|
11
|
+
[--column-desc <desc>]
|
|
12
|
+
|
|
13
|
+
# Delete a custom client param (high-risk)
|
|
14
|
+
ae-cli engage-setting client-param delete --project-id <project_id> --column-name <name> --yes
|
|
15
|
+
|
|
16
|
+
# List custom client params
|
|
17
|
+
ae-cli engage-setting client-param list --project-id <project_id>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
### update
|
|
23
|
+
|
|
24
|
+
| Parameter | Required | Description |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
27
|
+
| `--column-name` | Yes | Client param column name. |
|
|
28
|
+
| `--column-type` | Yes | Column type (see ColumnTypeEnum). |
|
|
29
|
+
| `--select-type` | Yes | Select type (see SelectTypeEnum). |
|
|
30
|
+
| `--column-source` | No | Param source: preset or custom. |
|
|
31
|
+
| `--column-desc` | No | Display name of the param. Defaults to an empty string. |
|
|
32
|
+
| `--column-remark` | No | Description/remark for the param. |
|
|
33
|
+
| `--alternative-val` | No | JSON array of alternative values. |
|
|
34
|
+
| `--system-id-param` | No | Whether this is a system identifier param. |
|
|
35
|
+
|
|
36
|
+
### delete
|
|
37
|
+
|
|
38
|
+
| Parameter | Required | Description |
|
|
39
|
+
|---|---|---|
|
|
40
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
41
|
+
| `--column-name` | Yes | Client param column name to delete. |
|
|
42
|
+
|
|
43
|
+
### list
|
|
44
|
+
|
|
45
|
+
| Parameter | Required | Description |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
48
|
+
|
|
49
|
+
## Output
|
|
50
|
+
|
|
51
|
+
- `update`: `data.success` — whether the operation succeeded.
|
|
52
|
+
- `delete`: `data.success` and `data.task_list` (tasks still referencing the param, which block deletion; each item has `task_id`, `task_name`).
|
|
53
|
+
- `list`: `data.items` (each with `column_name`, `column_type`, `select_type`, `column_source`, `column_desc`, `column_remark`, `alternative_val`, `system_id_param`) and `data.total`.
|
|
54
|
+
|
|
55
|
+
## Decision Rules
|
|
56
|
+
|
|
57
|
+
- Use these commands when the user asks to manage custom client params (客户端参数).
|
|
58
|
+
- `delete` is `high-risk-write` and requires `--yes` (or interactive confirmation). When `data.success` is false, `data.task_list` lists tasks that still reference the param — report them instead of forcing deletion.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# engage-setting common-metric
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-setting.common-metric.{list,get,update,delete}` · Domain: `engage`. (`create` temporarily disabled in CLI.)
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# List common metrics
|
|
9
|
+
ae-cli engage-setting common-metric list --project-id <project_id>
|
|
10
|
+
|
|
11
|
+
# Get a common metric detail
|
|
12
|
+
ae-cli engage-setting common-metric get --project-id <project_id> --metric-name <name>
|
|
13
|
+
|
|
14
|
+
# Update a common metric
|
|
15
|
+
ae-cli engage-setting common-metric update \
|
|
16
|
+
--project-id <project_id> --metric-type <type> --metric-name <name> --metric-qp <qp> \
|
|
17
|
+
--metric-window-num <num> --metric-window-time-unit DAY --display-name <display>
|
|
18
|
+
|
|
19
|
+
# Delete a common metric (high-risk)
|
|
20
|
+
ae-cli engage-setting common-metric delete --project-id <project_id> --metric-name <name> --yes
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
### list
|
|
26
|
+
|
|
27
|
+
| Parameter | Required | Description |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
30
|
+
|
|
31
|
+
### get / delete
|
|
32
|
+
|
|
33
|
+
| Parameter | Required | Description |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
36
|
+
| `--metric-name` | Yes | Metric name. |
|
|
37
|
+
|
|
38
|
+
### update
|
|
39
|
+
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
43
|
+
| `--metric-type` | Yes | Metric type (see MetricTypeEunm). |
|
|
44
|
+
| `--metric-name` | Yes | Metric name. |
|
|
45
|
+
| `--metric-qp` | Yes | Metric qp (event/property expression). |
|
|
46
|
+
| `--metric-window-num` | Yes | Metric window number. |
|
|
47
|
+
| `--metric-window-time-unit` | Yes | Metric window time unit (MINUTE/HOUR/DAY). |
|
|
48
|
+
| `--display-name` | Yes | Display name of the metric. |
|
|
49
|
+
| `--note` | No | Metric note/remark. |
|
|
50
|
+
| `--order-id` | No | Sort order id. |
|
|
51
|
+
| `--metric-setting-id` | No | Metric setting id (when binding to a setting). |
|
|
52
|
+
| `--metric-params` | No | Metric params JSON string. |
|
|
53
|
+
|
|
54
|
+
## Output
|
|
55
|
+
|
|
56
|
+
- `list`: `data.items` (each with `project_id`, `metric_type`, `metric_name`, `metric_qp`, `metric_window_num`, `metric_window_time_unit`, `note`, `last_editer`, `last_update_time`, `order_id`, `display_name`, `metric_setting_id`, `metric_params`) and `data.total`.
|
|
57
|
+
- `get`: `data.metric` — a single metric object with the same fields, or `null`.
|
|
58
|
+
- `update` / `delete`: `data.success`.
|
|
59
|
+
|
|
60
|
+
## Preflight for config-metric batch-add
|
|
61
|
+
|
|
62
|
+
`engage-scene config-metric batch-add --ta-metric-ids` requires TA common metrics to exist in the project. List them first:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
ae-cli engage-setting common-metric list --project-id <project_id>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
If `items` is empty, common metrics must be created in the Engage console before binding them to a config item, or treat the case as environment-blocked.
|
|
69
|
+
|
|
70
|
+
## Decision Rules
|
|
71
|
+
|
|
72
|
+
- Use these commands when the user asks to manage common metrics (常用指标) for the analysis workbench.
|
|
73
|
+
- Discover existing metric names with `common-metric list` first; never invent names for `get`/`update`/`delete`.
|
|
74
|
+
- `--metric-qp` must be a complete metric QP expression; do not pass `{}` as a placeholder.
|
|
75
|
+
- `delete` is `high-risk-write` and requires `--yes` (or interactive confirmation).
|