@thinkingai/ae-cli 6.1.4 → 6.1.6
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-QW4AVJHI.js → capability-AJC5CBRT.js} +49 -17
- package/dist/{capability-SCRFGODD.js → capability-TQ5KU5Q6.js} +49 -17
- 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-7OLGDQQ2.js → chunk-6CHYBI64.js} +2 -2
- 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-TBHBYKXZ.js → chunk-ISY6HMHM.js} +2 -2
- 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 +506 -221
- package/dist/{metadata-BFDL6RUK.js → metadata-3M5F2AED.js} +14 -13
- package/dist/{metadata-FCLDBXX2.js → metadata-W2MEOI4Z.js} +14 -13
- 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-PUVF5IF4.js → te-analysis-I73ZS4NK.js} +903 -33
- package/dist/{te-analysis-UJDOKPAN.js → te-analysis-Q7AZCDU4.js} +903 -33
- package/dist/{te-common-XLAGWNIV.js → te-common-ST3QPSXJ.js} +7 -6
- package/dist/{te-common-VUX3VOXZ.js → te-common-WSLIKKPC.js} +7 -6
- 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-QBCCME22.js → te-engage-2FSDUOIZ.js} +973 -1585
- package/dist/{te-engage-K4AEUPK5.js → te-engage-BMJ6UOUU.js} +973 -1585
- package/dist/te-experiment-4JC7WUKW.js +590 -0
- package/dist/te-experiment-KYRWAUZY.js +590 -0
- package/dist/{te-kb-AYCODNU6.js → te-kb-E7NSCBRB.js} +74 -12
- package/dist/{te-meta-ARDIW3YI.js → te-meta-Q4L6EE3Q.js} +7 -6
- package/dist/{te-meta-UUROEODR.js → te-meta-VHCN4Q62.js} +7 -6
- 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 +7 -3
- package/skills/ae-agent/SKILL.md +2 -1
- package/skills/ae-analysis/SKILL.md +12 -1
- package/skills/ae-analysis/references/adhoc_export.md +2 -0
- package/skills/ae-analysis/references/adhoc_run.md +2 -0
- 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/bi_panel_create.md +3 -3
- 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 +61 -27
- 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 +3 -3
- package/skills/ae-analysis/references/dashboard_report_data_run.md +3 -3
- 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/ingest_error_list.md +27 -0
- package/skills/ae-analysis/references/ingest_summary.md +26 -0
- 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/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_role_delete.md +4 -3
- package/skills/ae-analysis/references/project_role_get.md +4 -3
- package/skills/ae-analysis/references/project_role_user_list.md +4 -3
- package/skills/ae-analysis/references/query_create_result_cluster.md +2 -1
- package/skills/ae-analysis/references/report_data_export.md +3 -1
- package/skills/ae-analysis/references/report_data_run.md +12 -2
- package/skills/ae-analysis/references/sdk_sample_generate.md +24 -0
- package/skills/ae-analysis/references/user_cluster_create.md +2 -0
- package/skills/ae-analysis/references/user_cluster_create_id.md +2 -0
- package/skills/ae-analysis/references/user_cluster_update.md +2 -0
- package/skills/ae-analysis/references/user_cluster_update_id.md +2 -0
- package/skills/ae-analysis/references/user_tag_create.md +2 -0
- package/skills/ae-analysis/references/user_tag_create_id.md +2 -0
- package/skills/ae-analysis/references/user_tag_update.md +2 -0
- package/skills/ae-analysis/references/user_tag_update_id.md +2 -0
- 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 +129 -105
- package/skills/ae-engage/references/activity-activity-type.md +1 -1
- package/skills/ae-engage/references/activity-activity.md +1 -1
- package/skills/ae-engage/references/activity-approval.md +5 -7
- package/skills/ae-engage/references/activity-task.md +12 -18
- package/skills/ae-engage/references/activity-topic.md +39 -22
- package/skills/ae-engage/references/add-approver.md +4 -4
- package/skills/ae-engage/references/add-channel.md +10 -5
- package/skills/ae-engage/references/approval-approver-delete.md +1 -1
- package/skills/ae-engage/references/approver-list.md +4 -4
- package/skills/ae-engage/references/build-task-save-guide.md +13 -13
- package/skills/ae-engage/references/cancel-query-by-request-id.md +7 -6
- package/skills/ae-engage/references/channel-detail.md +14 -9
- package/skills/ae-engage/references/channel-list.md +15 -10
- package/skills/ae-engage/references/channel-mgmt.md +109 -0
- package/skills/ae-engage/references/channel-test-send.md +1 -1
- package/skills/ae-engage/references/channel-update-config.md +1 -1
- package/skills/ae-engage/references/channel_touch_limits_list.md +1 -1
- package/skills/ae-engage/references/client-param.md +34 -16
- package/skills/ae-engage/references/common-metric.md +85 -18
- package/skills/ae-engage/references/config-item-analysis-report.md +8 -27
- package/skills/ae-engage/references/config-item-strategy-comparison.md +7 -18
- package/skills/ae-engage/references/config-item-trigger-report.md +8 -35
- package/skills/ae-engage/references/delete-channel.md +5 -5
- package/skills/ae-engage/references/delete-flow.md +5 -5
- package/skills/ae-engage/references/flow-ab-split-node-report.md +11 -45
- package/skills/ae-engage/references/flow-detail.md +15 -10
- package/skills/ae-engage/references/flow-list.md +9 -4
- package/skills/ae-engage/references/flow-node-config-schema.md +9 -8
- package/skills/ae-engage/references/flow-node-detail-report.md +11 -46
- package/skills/ae-engage/references/flow-node-overview-report.md +11 -43
- package/skills/ae-engage/references/flow-process-report.md +12 -50
- package/skills/ae-engage/references/flow-update-remark.md +19 -0
- package/skills/ae-engage/references/manage-flow.md +19 -19
- package/skills/ae-engage/references/manage-task.md +5 -5
- package/skills/ae-engage/references/modify-flow-base-info.md +8 -8
- package/skills/ae-engage/references/preset-event.md +1 -1
- package/skills/ae-engage/references/push-language.md +1 -1
- package/skills/ae-engage/references/save-flow.md +54 -52
- package/skills/ae-engage/references/save-task.md +23 -17
- package/skills/ae-engage/references/scene-config-channel.md +90 -10
- package/skills/ae-engage/references/scene-config-group.md +1 -1
- package/skills/ae-engage/references/scene-config-item.md +27 -4
- package/skills/ae-engage/references/scene-config-metric.md +1 -1
- package/skills/ae-engage/references/scene-config-param.md +2 -2
- package/skills/ae-engage/references/scene-preset-metric.md +1 -1
- package/skills/ae-engage/references/scene-strategy.md +19 -3
- package/skills/ae-engage/references/scene-template.md +10 -4
- package/skills/ae-engage/references/task-data-detail.md +5 -67
- package/skills/ae-engage/references/task-data-overview.md +5 -35
- package/skills/ae-engage/references/task-detail.md +5 -5
- package/skills/ae-engage/references/task-experiment-report.md +5 -38
- package/skills/ae-engage/references/task-list.md +4 -4
- package/skills/ae-engage/references/task-metric-detail.md +5 -43
- package/skills/ae-engage/references/task-stats.md +5 -5
- package/skills/ae-engage/references/update-channel-status.md +6 -6
- package/skills/ae-engage/references/validate-flow-node-config.md +12 -11
- package/skills/ae-engage/references/whitelist-list.md +4 -4
- package/skills/ae-engage/references/whitelist.md +1 -1
- package/skills/ae-engage/references/workbench-workbench.md +1 -1
- package/skills/ae-experiment/SKILL.md +30 -20
- package/skills/ae-experiment/references/batch_delete_experiment.md +4 -4
- package/skills/ae-experiment/references/batch_delete_feature.md +3 -3
- package/skills/ae-experiment/references/batch_delete_traffic_layer.md +4 -4
- package/skills/ae-experiment/references/cancel_experiment_query_by_request_id.md +5 -4
- package/skills/ae-experiment/references/check_experiment_ready.md +7 -5
- package/skills/ae-experiment/references/check_experiment_traffic_layer_conflict.md +37 -0
- package/skills/ae-experiment/references/delete_metric.md +4 -4
- package/skills/ae-experiment/references/manage_experiment.md +8 -6
- package/skills/ae-experiment/references/manage_feature_status.md +3 -3
- package/skills/ae-experiment/references/query_bucket_list.md +5 -3
- package/skills/ae-experiment/references/query_experiment_detail.md +6 -4
- package/skills/ae-experiment/references/query_experiment_list.md +12 -4
- package/skills/ae-experiment/references/query_experiment_list_archived.md +15 -0
- package/skills/ae-experiment/references/query_experiment_metric_trend.md +6 -10
- package/skills/ae-experiment/references/query_experiment_operation_log.md +17 -0
- package/skills/ae-experiment/references/query_experiment_report_summary.md +5 -6
- package/skills/ae-experiment/references/query_experiment_sample_size_report.md +6 -10
- package/skills/ae-experiment/references/query_feature_detail.md +6 -4
- package/skills/ae-experiment/references/query_feature_list.md +5 -3
- package/skills/ae-experiment/references/query_feature_operation_log.md +19 -0
- package/skills/ae-experiment/references/query_feature_version_list.md +20 -0
- package/skills/ae-experiment/references/query_metric_detail.md +6 -4
- package/skills/ae-experiment/references/query_metric_list.md +5 -3
- package/skills/ae-experiment/references/query_traffic_layer_detail.md +6 -4
- package/skills/ae-experiment/references/query_traffic_layer_list.md +5 -3
- package/skills/ae-experiment/references/save_experiment.md +148 -9
- package/skills/ae-experiment/references/save_feature.md +3 -3
- package/skills/ae-experiment/references/save_metric.md +3 -3
- package/skills/ae-experiment/references/save_submit_experiment.md +6 -6
- package/skills/ae-experiment/references/save_traffic_layer.md +3 -3
- package/skills/ae-experiment/references/update_experiment_group.md +20 -0
- package/skills/ae-generate-tracking-code/SKILL.md +4 -4
- package/skills/ae-generate-tracking-plan/SKILL.md +132 -11
- package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +98 -33
- package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +16 -14
- package/skills/ae-kb/SKILL.md +11 -6
- package/skills/ae-metadata/SKILL.md +2 -1
- 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-community-PEZ2VEF7.js +0 -687
- package/dist/te-community-TSKJ652U.js +0 -687
- package/dist/te-experiment-JINSMHMW.js +0 -606
- package/dist/te-experiment-NWNQHJS5.js +0 -606
- package/skills/ae-engage/references/config-channel-detail.md +0 -31
- package/skills/ae-engage/references/config-channel-list.md +0 -26
- package/skills/ae-engage/references/config-item-detail.md +0 -29
- package/skills/ae-engage/references/config-item-list.md +0 -18
- package/skills/ae-engage/references/copy-config-template.md +0 -28
- package/skills/ae-engage/references/delete-config-channel.md +0 -23
- package/skills/ae-engage/references/delete-config-item.md +0 -24
- package/skills/ae-engage/references/engage-scene-config-item.md +0 -69
- package/skills/ae-engage/references/manage-strategy.md +0 -73
- package/skills/ae-engage/references/strategy-detail.md +0 -72
- package/skills/ae-engage/references/strategy-list.md +0 -20
- package/skills/ae-engage/references/update-config-channel-status.md +0 -31
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
# engage-activity task
|
|
2
2
|
|
|
3
|
-
> Capability ids: `engage-activity.task.{get,copy}` · Domain: `engage`.
|
|
4
|
-
>
|
|
5
|
-
> Temporarily disabled: `task create` / `task update` (command registration + skill guidance).
|
|
3
|
+
> Capability ids: `engage-activity.task.{get,create,update,copy}` · Domain: `engage`.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
Campaign activities — standalone tasks (tasks under an activity that do not belong to a topic). `copy` loads the source task detail, renames it, and re-creates it (no dedicated backend copy API).
|
|
8
6
|
|
|
9
7
|
## Commands
|
|
10
8
|
|
|
@@ -12,12 +10,6 @@
|
|
|
12
10
|
# Get a standalone task detail
|
|
13
11
|
ae-cli engage-activity task get --project-id <project_id> --task-id <task_id>
|
|
14
12
|
|
|
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
13
|
# Create a standalone task under an activity (webhook + existing cluster)
|
|
22
14
|
ae-cli engage-activity task create --project-id <project_id> \
|
|
23
15
|
--payload '{ ... }'
|
|
@@ -25,24 +17,25 @@ ae-cli engage-activity task create --project-id <project_id> \
|
|
|
25
17
|
# Update a standalone task
|
|
26
18
|
ae-cli engage-activity task update --project-id <project_id> \
|
|
27
19
|
--payload '{"taskId":"task-1","taskName":"t1", ...}'
|
|
20
|
+
|
|
21
|
+
# Copy a standalone task (loads detail, renames, re-creates)
|
|
22
|
+
ae-cli engage-activity task copy --project-id <project_id> --task-id <task_id> [--new-name <name>]
|
|
28
23
|
```
|
|
29
|
-
-->
|
|
30
24
|
|
|
31
25
|
## Parameters
|
|
32
26
|
|
|
33
27
|
| Command | Required flags | Notes |
|
|
34
28
|
|---|---|---|
|
|
35
29
|
| get | `--project-id`, `--task-id` | read. |
|
|
30
|
+
| create | `--project-id`, `--payload` | payload = `OperationTaskOpDTO`; set `activityId`, leave `topicId` empty. Missing `expConfig` is auto-filled as `{"enableExp":false}`. |
|
|
31
|
+
| update | `--project-id`, `--payload` | payload = `OperationTaskOpDTO` including `taskId`. Prefer get detail as base. Missing `expConfig` is auto-filled as `{"enableExp":false}`. |
|
|
36
32
|
| copy | `--project-id`, `--task-id` | `--new-name` optional (default source name + `_copy`). |
|
|
37
33
|
|
|
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
34
|
## Output
|
|
44
35
|
|
|
45
36
|
- `get`: `data.task`.
|
|
37
|
+
- `create`: `data.task_id`.
|
|
38
|
+
- `update`: `data.success`.
|
|
46
39
|
- `copy`: `data.task_id`, optional `data.trigger_time_stale` (true when source schedule-single time is already past).
|
|
47
40
|
|
|
48
41
|
## Payload notes (for copy / detail shape)
|
|
@@ -53,6 +46,7 @@ ae-cli engage-activity task update --project-id <project_id> \
|
|
|
53
46
|
- `groupContentList[].contentList[].content` must be a JSON **array string**.
|
|
54
47
|
- **TEXT (rich text) params** must include both `value` and `config` (Slate.js JSON **string**). If `config` is missing, Hermes copy auto-fills
|
|
55
48
|
`config = [{"type":"paragraph","children":[{"text":"<value>"}]}]` as a JSON string.
|
|
49
|
+
- Missing `expConfig` on create/update is auto-filled as `{"enableExp":false}` (same shape as task `get`).
|
|
56
50
|
|
|
57
51
|
### Audience (`targetClusterType`)
|
|
58
52
|
|
|
@@ -66,8 +60,8 @@ ae-cli engage-activity task update --project-id <project_id> \
|
|
|
66
60
|
|
|
67
61
|
- Discover a real `task_id` via `get`/activity `info-list` first; never invent IDs.
|
|
68
62
|
- `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
|
|
70
|
-
- Standalone tasks must **not** include `topicId`; topic tasks use `engage-activity topic
|
|
63
|
+
- `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 submitting for approval (`engage-activity.approval.submit` is temporarily unavailable).
|
|
64
|
+
- Standalone tasks must **not** include `topicId`; topic tasks use `engage-activity topic create` / `topic copy`.
|
|
71
65
|
|
|
72
66
|
## Copy errors
|
|
73
67
|
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
# engage-activity topic
|
|
2
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).
|
|
3
|
+
> Capability ids: `engage-activity.topic.{create,update,remove-task,delete,get,copy}` · Domain: `engage`.
|
|
6
4
|
|
|
7
5
|
Activity topics and tasks under a topic. `copy` loads the source topic, renames it, and re-creates (no dedicated backend copy API).
|
|
8
6
|
|
|
9
7
|
## Commands
|
|
10
8
|
|
|
11
9
|
```bash
|
|
10
|
+
# Create a topic and its tasks under an activity
|
|
11
|
+
ae-cli engage-activity topic create --project-id <project_id> --payload '{ ... }'
|
|
12
|
+
|
|
13
|
+
# Update a topic and its task relations
|
|
14
|
+
ae-cli engage-activity topic update --project-id <project_id> --payload '{"topicId":"topic-1", ...}'
|
|
15
|
+
|
|
12
16
|
# Remove a task from its topic (high-risk)
|
|
13
17
|
ae-cli engage-activity topic remove-task --project-id <project_id> --task-id <task_id> --yes
|
|
14
18
|
|
|
@@ -22,41 +26,44 @@ ae-cli engage-activity topic get --project-id <project_id> --topic-id <topic_id>
|
|
|
22
26
|
ae-cli engage-activity topic copy --project-id <project_id> --topic-id <topic_id> [--new-name <name>]
|
|
23
27
|
```
|
|
24
28
|
|
|
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
29
|
## Parameters
|
|
36
30
|
|
|
37
31
|
| Command | Required flags | Notes |
|
|
38
32
|
|---|---|---|
|
|
33
|
+
| create | `--project-id`, `--payload` | payload = `TopicAddDTO` (camelCase). Prefer `triggerType` `0` (schedule single) or `1` (schedule repeat); activity topics do not use manual (`2`). |
|
|
34
|
+
| update | `--project-id`, `--payload` | payload = `TopicModifyReq` (`topicId` + fields + task lists). |
|
|
39
35
|
| remove-task | `--project-id`, `--task-id` | high-risk; requires `--yes`; no dry-run. Only tasks with a non-empty `topicId`. |
|
|
40
36
|
| delete | `--project-id`, `--topic-id` | high-risk; requires `--yes`; no dry-run. |
|
|
41
37
|
| get | `--project-id`, `--topic-id` | read. |
|
|
42
38
|
| copy | `--project-id`, `--topic-id` | `--new-name` optional (default source name + `_copy`). |
|
|
43
39
|
|
|
44
|
-
|
|
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
|
|
40
|
+
## Notes for get / copy / create
|
|
50
41
|
|
|
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
|
|
42
|
+
TEXT (rich text) params inside `groupContentList[].contentList[].content` need both `value` and Slate `config` (JSON string). If `config` is omitted, Hermes copy/create auto-fills
|
|
52
43
|
`[{"type":"paragraph","children":[{"text":"<value>"}]}]`. See `activity-task.md` Channel content.
|
|
53
44
|
|
|
54
45
|
Topic-level audience uses `topicClusterKey` / `topicQp`; do **not** pass task-level `clusterKey` at topic root.
|
|
55
46
|
|
|
47
|
+
### Audience (`targetClusterType`)
|
|
48
|
+
|
|
49
|
+
| Value | Required | Notes |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `1` (custom) | `topicQp` | Valid condition JSON object string (not `{}`). |
|
|
52
|
+
| `2` (existed) | `topicClusterKey` | From an existing user cluster. |
|
|
53
|
+
| `3` (all) | — | **Not supported for activity topics** → `TOPIC_TARGET_CLUSTER_TYPE_UNSUPPORTED`. Use standalone `engage-activity task create` for all-users. |
|
|
54
|
+
|
|
55
|
+
### Trigger (`triggerType`)
|
|
56
|
+
|
|
57
|
+
| Value | Required | Notes |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `0` (schedule single) | `triggerTime` (`yyyy-MM-dd HH:mm`, future) | Preferred for CLI create. |
|
|
60
|
+
| `1` (schedule repeat) | `startDate`, `endDate`, `triggerCrontab` | |
|
|
61
|
+
| `2` (manual) | — | **Not supported for activity topics** (UI only offers 0/1). Using it without `endDate` causes `CAPABILITY_EXECUTION_FAILED`. |
|
|
62
|
+
|
|
56
63
|
## Output
|
|
57
64
|
|
|
58
65
|
- `get`: `data.topic` (includes `topicClusterKey` for topic audience).
|
|
59
|
-
- `remove-task` / `delete` / `copy`: `data.success`.
|
|
66
|
+
- `create` / `update` / `remove-task` / `delete` / `copy`: `data.success`.
|
|
60
67
|
- `copy` may include `data.trigger_time_stale=true` when source schedule-single time is already past.
|
|
61
68
|
|
|
62
69
|
## Decision Rules
|
|
@@ -64,9 +71,19 @@ Topic-level audience uses `topicClusterKey` / `topicQp`; do **not** pass task-le
|
|
|
64
71
|
- `remove-task` and `delete` are `high-risk-write` — require `--yes`, no dry-run.
|
|
65
72
|
- `remove-task` only deletes **topic tasks** (`topicId` present). Standalone tasks → use `engage-task task delete`.
|
|
66
73
|
- `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
|
|
74
|
+
- `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 submitting for approval (`engage-activity.approval.submit` is temporarily unavailable).
|
|
68
75
|
- Prefer `topic get` as a template when inspecting channel/content fields.
|
|
69
76
|
|
|
77
|
+
## Create / update audience errors
|
|
78
|
+
|
|
79
|
+
| code | when |
|
|
80
|
+
|---|---|
|
|
81
|
+
| `TOPIC_TARGET_CLUSTER_TYPE_UNSUPPORTED` | `targetClusterType=3` (all); topics only allow 1/2 |
|
|
82
|
+
| `TOPIC_CLUSTER_KEY_REQUIRED` | `targetClusterType=2` missing `topicClusterKey`, or topic-root `clusterKey` alias |
|
|
83
|
+
| `TOPIC_QP_REQUIRED` | `targetClusterType=1` missing `topicQp` |
|
|
84
|
+
| `TOPIC_QP_INVALID` | `topicQp` is not a JSON object string |
|
|
85
|
+
| `TARGET_CLUSTER_TYPE_INVALID` | `targetClusterType` not a known enum value |
|
|
86
|
+
|
|
70
87
|
## Copy errors
|
|
71
88
|
|
|
72
89
|
`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.":
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting approval-approver add
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Batch add approvers.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting approval-approver add`
|
|
7
7
|
|
|
8
8
|
## Flags
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
12
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
13
13
|
| `--approvers` | json | Yes | approver open ID JSON array |
|
|
14
14
|
|
|
15
15
|
## Safety Constraints
|
|
@@ -19,5 +19,5 @@ This command is a **write operation** and and modifies the project approver conf
|
|
|
19
19
|
## Examples
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
ae-cli engage
|
|
22
|
+
ae-cli engage-setting approval-approver add --project-id 1 --approvers '["ou_xxx","ou_yyy"]'
|
|
23
23
|
```
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting channel create
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Create a new Engage channel.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting channel create`
|
|
7
7
|
|
|
8
8
|
## Flags
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
12
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
13
13
|
| `--req` | json | Yes | Channel creation request JSON object |
|
|
14
14
|
|
|
15
15
|
## `--req` Object Fields
|
|
@@ -26,7 +26,12 @@ Mapped command: `ae-cli engage +add_channel`
|
|
|
26
26
|
| `eventDeliveryName` | string | Yes | delivery event name |
|
|
27
27
|
| `touchEventSource` | string | Yes | touch event source |
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
The outer Capability input uses `project_id` and `req`; fields inside `req` keep the native camelCase DTO shape in this table. The Hermes Capability handler assigns the outer `--project-id` to `req.projectId`, so you do not need to fill it manually and the outer value takes precedence.
|
|
30
|
+
|
|
31
|
+
## Response shape
|
|
32
|
+
|
|
33
|
+
The created channel is under `data.item`; its response keys recursively use snake_case, such as
|
|
34
|
+
`channel_id`, `channel_status`, and `channel_type`.
|
|
30
35
|
|
|
31
36
|
## Enum Notes
|
|
32
37
|
|
|
@@ -68,6 +73,6 @@ This command is a **write operation** and creates a new channel. Check that the
|
|
|
68
73
|
## Examples
|
|
69
74
|
|
|
70
75
|
```bash
|
|
71
|
-
ae-cli engage
|
|
76
|
+
ae-cli engage-setting channel create --project-id 1 \
|
|
72
77
|
--req '{"channelType":1,"channelSubBizType":"webhook","channelName":"demo","pushIdType":"user_id","config":"{}","enableTouchEvent":0,"eventClickName":"","eventDeliveryName":"","touchEventSource":""}'
|
|
73
78
|
```
|
|
@@ -22,5 +22,5 @@ ae-cli engage-setting approval-approver delete --project-id <project_id> --appro
|
|
|
22
22
|
## Decision Rules
|
|
23
23
|
|
|
24
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
|
|
25
|
+
- Discover the real approver OpenID with `ae-cli engage-setting approval-approver list --project-id <project_id>` first; never invent an OpenID.
|
|
26
26
|
- Risk is `high-risk-write`; the CLI confirmation gate requires `--yes` (or interactive confirmation) before executing.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting approval-approver list
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query the project approver list.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting approval-approver list`
|
|
7
7
|
|
|
8
8
|
## Flags
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
12
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
13
13
|
|
|
14
14
|
## Examples
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
ae-cli engage
|
|
17
|
+
ae-cli engage-setting approval-approver list --project-id 1
|
|
18
18
|
```
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-cli `engage-task task build-save-guide`
|
|
2
2
|
|
|
3
3
|
Build a scenario-specific guide for constructing `save_task.req`.
|
|
4
4
|
|
|
5
|
-
Mapped command: `ae-cli engage
|
|
5
|
+
Mapped command: `ae-cli engage-task task build-save-guide`
|
|
6
6
|
|
|
7
7
|
This is a read-only helper. It does not save tasks, submit approvals, or trigger execution. Its job is to tell you how to build a valid `save_task` request for the current scenario.
|
|
8
8
|
|
|
@@ -12,8 +12,8 @@ This is a read-only helper. It does not save tasks, submit approvals, or trigger
|
|
|
12
12
|
|
|
13
13
|
Use this sequence when creating or updating a task draft:
|
|
14
14
|
|
|
15
|
-
1. Query channels with `ae-cli engage
|
|
16
|
-
2. Call `ae-cli engage
|
|
15
|
+
1. Query channels with `ae-cli engage-setting channel list --project-id <projectId>`.
|
|
16
|
+
2. Call `ae-cli engage-task task build-save-guide --project-id <projectId> --req '{...}'`.
|
|
17
17
|
3. If the guide says an audience or QP-derived fields are required, create the audience directly and read it back:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
@@ -22,7 +22,7 @@ ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<co
|
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
4. Build the final grouped `save_task.req`.
|
|
25
|
-
5. Submit with `ae-cli engage
|
|
25
|
+
5. Submit with `ae-cli engage-task task save --project-id <projectId> --req '{...}'`.
|
|
26
26
|
|
|
27
27
|
Important:
|
|
28
28
|
|
|
@@ -40,7 +40,7 @@ Important:
|
|
|
40
40
|
The CLI call shape is:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
ae-cli engage
|
|
43
|
+
ae-cli engage-task task build-save-guide --project-id <projectId> --req '<req-json>'
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
This CLI requires `--req`, but `{}` is valid when you want a generic guide without scenario context.
|
|
@@ -48,9 +48,9 @@ This CLI requires `--req`, but `{}` is valid when you want a generic guide witho
|
|
|
48
48
|
Common request patterns:
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
ae-cli engage
|
|
52
|
-
ae-cli engage
|
|
53
|
-
ae-cli engage
|
|
51
|
+
ae-cli engage-task task build-save-guide --project-id 1 --req '{}'
|
|
52
|
+
ae-cli engage-task task build-save-guide --project-id 1 --req '{"context":{"triggerType":2,"channelId":"channel_123"}}'
|
|
53
|
+
ae-cli engage-task task build-save-guide --project-id 1 --req '{"draft":{"baseInfo":{"taskName":"Demo Task"}}}'
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Supported request fields:
|
|
@@ -259,8 +259,8 @@ Important fields:
|
|
|
259
259
|
|
|
260
260
|
Recommended usage pattern:
|
|
261
261
|
|
|
262
|
-
1. resolve a real `channelId` with
|
|
263
|
-
2. call
|
|
262
|
+
1. resolve a real `channelId` with `engage-setting channel list`
|
|
263
|
+
2. call `engage-task task build-save-guide`
|
|
264
264
|
3. read `fieldRules.channelContentSchema`
|
|
265
265
|
4. read `handoff.reqTemplate`
|
|
266
266
|
5. fix everything in `blockingPlaceholders`
|
|
@@ -272,13 +272,13 @@ ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<co
|
|
|
272
272
|
```
|
|
273
273
|
|
|
274
274
|
7. prefer the created cluster reference; only copy server-authored fields from `user-cluster get` when the guide explicitly requires QP-derived fields
|
|
275
|
-
8. call
|
|
275
|
+
8. call `engage-task task save`
|
|
276
276
|
|
|
277
277
|
---
|
|
278
278
|
|
|
279
279
|
## 6. Safety Notes
|
|
280
280
|
|
|
281
|
-
-
|
|
281
|
+
- `engage-task task build-save-guide` is read-only; it does not save a draft
|
|
282
282
|
- do not skip the guide and build `save_task.req` from memory alone
|
|
283
283
|
- do not treat the semantic cluster definition builder as mandatory for every task
|
|
284
284
|
- do not invent `channelId`, `clusterKey`, content keys, or QP structures
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cancel a running Engage report query
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Cancel a running data query by requestId.
|
|
5
5
|
|
|
6
|
-
Mapped
|
|
6
|
+
Mapped capability: `engage-setting.query.cancel` (L3)
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Input
|
|
9
9
|
|
|
10
|
-
|
|
|
10
|
+
| Field | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
|
|
|
12
|
+
| `request_id` | string | Yes | Query requestId |
|
|
13
13
|
|
|
14
14
|
## Safety Constraints
|
|
15
15
|
|
|
@@ -18,5 +18,6 @@ This command is a **write operation** and cancels an existing query.
|
|
|
18
18
|
## Examples
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
ae-cli
|
|
21
|
+
ae-cli capability run engage-setting.query.cancel \
|
|
22
|
+
--input '{"request_id":"00000000-0000-0000-0000-000000000000"}'
|
|
22
23
|
```
|
|
@@ -1,25 +1,30 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting channel get
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query the details of a single Engage channel.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting channel get`
|
|
7
|
+
|
|
8
|
+
## Response shape
|
|
9
|
+
|
|
10
|
+
The channel detail is under `data.item`. Every response key is snake_case, for example
|
|
11
|
+
`data.item.channel_status`, `data.item.channel_type`, and `data.item.config.params_list`.
|
|
7
12
|
|
|
8
13
|
## Flags
|
|
9
14
|
|
|
10
15
|
| Flag | Type | Required | Description |
|
|
11
16
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
13
|
-
| `--
|
|
17
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
18
|
+
| `--channel-id` | string | Yes | channel ID |
|
|
14
19
|
|
|
15
20
|
## Common enums in the response
|
|
16
21
|
|
|
17
|
-
### `
|
|
22
|
+
### `data.item.channel_status`
|
|
18
23
|
|
|
19
24
|
- `0`: disabled
|
|
20
25
|
- `1`: enabled
|
|
21
26
|
|
|
22
|
-
### `
|
|
27
|
+
### `data.item.channel_type`
|
|
23
28
|
|
|
24
29
|
- `1`: `WEBHOOK`
|
|
25
30
|
- `2`: `APP_PUSH`
|
|
@@ -27,7 +32,7 @@ Mapped command: `ae-cli engage +channel_detail`
|
|
|
27
32
|
- `4`: `WECHAT`
|
|
28
33
|
- `5`: `DOU_YIN`
|
|
29
34
|
|
|
30
|
-
### `
|
|
35
|
+
### `data.item.channel_sub_biz_type`
|
|
31
36
|
|
|
32
37
|
Common values include:
|
|
33
38
|
|
|
@@ -39,7 +44,7 @@ Common values include:
|
|
|
39
44
|
- `wechat_mini_game`
|
|
40
45
|
- `dou_yin_recommended_game_card`
|
|
41
46
|
|
|
42
|
-
### `
|
|
47
|
+
### `data.item.enable_touch_event`
|
|
43
48
|
|
|
44
49
|
- `0`: disable the touch funnel
|
|
45
50
|
- `1`: enable the touch funnel
|
|
@@ -47,5 +52,5 @@ Common values include:
|
|
|
47
52
|
## Examples
|
|
48
53
|
|
|
49
54
|
```bash
|
|
50
|
-
ae-cli engage
|
|
55
|
+
ae-cli engage-setting channel get --project-id 1 --channel-id <channel_id>
|
|
51
56
|
```
|
|
@@ -1,26 +1,31 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting channel list
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query the list of Engage channels in a project.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting channel list`
|
|
7
|
+
|
|
8
|
+
## Response shape
|
|
9
|
+
|
|
10
|
+
The result is `{ data: { items, total } }`. Channel fields recursively use snake_case, for
|
|
11
|
+
example `data.items[].channel_id`, `data.items[].channel_status`, and `data.items[].channel_type`.
|
|
7
12
|
|
|
8
13
|
## Flags
|
|
9
14
|
|
|
10
15
|
| Flag | Type | Required | Description |
|
|
11
16
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
13
|
-
| `--
|
|
14
|
-
| `--
|
|
17
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
18
|
+
| `--provider-list` | json | No | Provider list JSON array |
|
|
19
|
+
| `--channel-status` | number | No | Channel status filter |
|
|
15
20
|
|
|
16
21
|
## Enum Notes
|
|
17
22
|
|
|
18
|
-
### `--
|
|
23
|
+
### `--channel-status`
|
|
19
24
|
|
|
20
|
-
- `0`: disabled
|
|
21
25
|
- `1`: enabled
|
|
26
|
+
- `2`: disabled
|
|
22
27
|
|
|
23
|
-
### `--
|
|
28
|
+
### `--provider-list`
|
|
24
29
|
|
|
25
30
|
Common provider / channelSubBizType values:
|
|
26
31
|
|
|
@@ -35,6 +40,6 @@ Common provider / channelSubBizType values:
|
|
|
35
40
|
## Examples
|
|
36
41
|
|
|
37
42
|
```bash
|
|
38
|
-
ae-cli engage
|
|
39
|
-
ae-cli engage
|
|
43
|
+
ae-cli engage-setting channel list --project-id 1
|
|
44
|
+
ae-cli engage-setting channel list --project-id 1 --provider-list '["webhook","fcm"]'
|
|
40
45
|
```
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Config channel management workflows
|
|
2
|
+
|
|
3
|
+
> Commands: `ae-cli engage-scene config-channel …` · See [`scene-config-channel.md`](scene-config-channel.md) for flags, `config` JSON shape, and capability ids.
|
|
4
|
+
|
|
5
|
+
Use for AE Engage **config center channel management**: Webhook (`channel_type=0`) and client (`channel_type=1`) config channels — list, get, create, update, copy, enable/disable, operation log, and delete.
|
|
6
|
+
|
|
7
|
+
## Hard rules
|
|
8
|
+
|
|
9
|
+
1. Use `ae-cli engage-scene config-channel <action>` only.
|
|
10
|
+
2. Discover real `channel_id` values with `list` first; never invent IDs.
|
|
11
|
+
3. `channel_type`: **0 = Webhook**, **1 = client** (not the same as engage push `channelType`, where 1 = webhook).
|
|
12
|
+
4. `channel_status`: **1 = enabled**, **2 = disabled**.
|
|
13
|
+
5. Writes require explicit user intent; `delete` is high-risk — confirm, then `--yes`.
|
|
14
|
+
6. Before changing Webhook URL, auth, or parameter definitions on an enabled channel, disable it first.
|
|
15
|
+
|
|
16
|
+
## Permissions
|
|
17
|
+
|
|
18
|
+
| Operation | Permission |
|
|
19
|
+
|---|---|
|
|
20
|
+
| List / get / query-log | `@opsViewConfigChannel@` |
|
|
21
|
+
| Create / update / copy / delete | `@opsEditConfigChannel@` |
|
|
22
|
+
| Enable / disable | `@opsManageConfigChannel@` |
|
|
23
|
+
|
|
24
|
+
## Workflows
|
|
25
|
+
|
|
26
|
+
### 1. List / filter by name
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
ae-cli engage-scene config-channel list --project-id <pid> --channel-type 0
|
|
30
|
+
ae-cli engage-scene config-channel list --project-id <pid> --channel-type 1
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
To filter by name, substring-match `data.items[].channel_name`.
|
|
34
|
+
|
|
35
|
+
### 2. Detail
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
ae-cli engage-scene config-channel get --project-id <pid> --channel-id <channel_id>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Parse `data.channel.config` for URL, auth, user params, and env params.
|
|
42
|
+
|
|
43
|
+
### 3. Create
|
|
44
|
+
|
|
45
|
+
Webhook requires `channel_name` and `config.url`. Optional: `testUrl`, auth, user params, env params.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
ae-cli engage-scene config-channel create \
|
|
49
|
+
--project-id <pid> \
|
|
50
|
+
--channel-name '<name>' \
|
|
51
|
+
--channel-type 0 \
|
|
52
|
+
--config '{"url":"https://...","testUrl":"","authConfig":{"enable":false},"customsParamList":[{"key":"uid","columnName":"#account_id","defaultValue":"","systemIdParam":false}],"envParamList":[]}'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Returns `data.channel_id`. Created channels start **enabled**.
|
|
56
|
+
|
|
57
|
+
### 4. Update
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
ae-cli engage-scene config-channel get --project-id <pid> --channel-id <id>
|
|
61
|
+
# If channel_status=1 and changing URL / auth / param definitions:
|
|
62
|
+
ae-cli engage-scene config-channel update-status --project-id <pid> --channel-id <id> --channel-status 2
|
|
63
|
+
ae-cli engage-scene config-channel update \
|
|
64
|
+
--project-id <pid> --channel-id <id> --channel-name '<name>' --config '<json>'
|
|
65
|
+
# Re-enable if needed
|
|
66
|
+
ae-cli engage-scene config-channel update-status --project-id <pid> --channel-id <id> --channel-status 1
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Rename-only on an enabled channel: omit `--config`.
|
|
70
|
+
|
|
71
|
+
Before changing the system-integration identity (`systemIdParam`), warn the user about risk, then update.
|
|
72
|
+
|
|
73
|
+
### 5. Copy
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
ae-cli engage-scene config-channel get --project-id <pid> --channel-id <id>
|
|
77
|
+
ae-cli engage-scene config-channel create \
|
|
78
|
+
--project-id <pid> --channel-name '<name>_copy' --channel-type <0|1> --config '<config from get>'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 6. Enable / disable
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
ae-cli engage-scene config-channel update-status --project-id <pid> --channel-id <id> --channel-status 1
|
|
85
|
+
ae-cli engage-scene config-channel update-status --project-id <pid> --channel-id <id> --channel-status 2
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
If disable fails or the user asks about impact: the channel may still have publishing strategies; suggest checking related config items.
|
|
89
|
+
|
|
90
|
+
### 7. Operation log
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
ae-cli engage-scene config-channel query-log --project-id <pid> --channel-id <id>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 8. Delete
|
|
97
|
+
|
|
98
|
+
Enabled channels cannot be deleted:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
ae-cli engage-scene config-channel get --project-id <pid> --channel-id <id>
|
|
102
|
+
# If channel_status=1 → update-status 2 first (with user confirmation)
|
|
103
|
+
ae-cli engage-scene config-channel delete --project-id <pid> --channel-id <id> --yes
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Do not
|
|
107
|
+
|
|
108
|
+
- Treat engage push channels as config-center channels (`channel_type` meanings differ)
|
|
109
|
+
- Run `delete` without explicit user confirmation
|
|
@@ -32,6 +32,6 @@ ae-cli engage-setting channel test-send \
|
|
|
32
32
|
## Decision Rules
|
|
33
33
|
|
|
34
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
|
|
35
|
+
- Discover the real channel id with `ae-cli engage-setting channel list` first; never invent a channel id.
|
|
36
36
|
- `--mock-push` is useful to inspect the request body/headers without actually delivering a message.
|
|
37
37
|
- Risk is `write`; sending a real test push to a recipient is a write action.
|
|
@@ -32,5 +32,5 @@ ae-cli engage-setting channel update-config \
|
|
|
32
32
|
## Decision Rules
|
|
33
33
|
|
|
34
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
|
|
35
|
+
- `--config` is the channel-specific JSON config; discover the existing config with `ae-cli engage-setting channel get` first rather than inventing it.
|
|
36
36
|
- Risk is `write`; ordinary update, no confirmation gate.
|
|
@@ -25,5 +25,5 @@ ae-cli engage-setting channel-touch-limits list --project-id <project_id> --dry-
|
|
|
25
25
|
## Decision Rules
|
|
26
26
|
|
|
27
27
|
- Use this command when the user asks for project channel touch-limit, delivery-cap, or fatigue-control rules.
|
|
28
|
-
- Use
|
|
28
|
+
- Use `engage-setting channel list` to list channels and `engage-setting channel get` to inspect one channel; neither returns the project touch-limit rule list.
|
|
29
29
|
- If `items` is empty, do not invent rule IDs or channel IDs; report that no touch-limit rules were returned for the project.
|