@thinkingai/ae-cli 6.0.32 → 6.0.34
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 +505 -220
- 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-kb-AYCODNU6.js → te-kb-E7NSCBRB.js} +74 -12
- package/dist/{te-meta-UUROEODR.js → te-meta-Q4L6EE3Q.js} +7 -6
- package/dist/{te-meta-ARDIW3YI.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 +6 -2
- 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-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/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,44 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# engage-task.task-data.experiment-report
|
|
2
2
|
|
|
3
|
+
Query a task experiment report through the L3 Capability Gateway.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
Mapped command: `ae-cli capability run engage-task.task-data.experiment-report --input '<json>'`
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## Flags
|
|
9
|
-
|
|
10
|
-
| Flag | Type | Required | Description |
|
|
11
|
-
|------|------|------|------|
|
|
12
|
-
| `--project_id` / `-p` | number | Yes | Project ID |
|
|
13
|
-
| `--task_id` | string | Yes | task ID |
|
|
14
|
-
| `--report_type` | string | Yes | report type: `overview` or `detail` |
|
|
15
|
-
| `--start_time` | string | Yes | Start date |
|
|
16
|
-
| `--end_time` | string | Yes | End date |
|
|
17
|
-
| `--request_id` | string | No | query requestId |
|
|
18
|
-
| `--push_language_code` | string | No | push language code |
|
|
19
|
-
|
|
20
|
-
## Enum Notes
|
|
21
|
-
|
|
22
|
-
### `--report_type`
|
|
23
|
-
|
|
24
|
-
- `overview`: experiment overview
|
|
25
|
-
- `detail`: experiment detail
|
|
26
|
-
|
|
27
|
-
### `--push_language_code`
|
|
28
|
-
|
|
29
|
-
Common values include:
|
|
30
|
-
|
|
31
|
-
- `default`
|
|
32
|
-
- `en`
|
|
33
|
-
- `zh-Hans`
|
|
34
|
-
- `zh-Hant`
|
|
35
|
-
- `ja`
|
|
36
|
-
- `ko`
|
|
37
|
-
|
|
38
|
-
## Examples
|
|
7
|
+
Required input: `project_id`, `task_id`, `report_type`, `start_time`, `end_time`. `report_type` is `overview` or `detail`.
|
|
39
8
|
|
|
40
9
|
```bash
|
|
41
|
-
ae-cli engage
|
|
42
|
-
--project_id 1 --task_id task_123 \
|
|
43
|
-
--report_type overview --start_time 2026-04-01 --end_time 2026-04-07
|
|
10
|
+
ae-cli capability run engage-task.task-data.experiment-report --input '{"project_id":1,"task_id":"task_123","report_type":"overview","start_time":"2026-04-01","end_time":"2026-04-07"}'
|
|
44
11
|
```
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-cli engage-task task list
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query the paginated task list.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-task task 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
|
| `--req` | json | Yes | query-condition JSON object |
|
|
14
14
|
|
|
15
15
|
## `--req` Object Fields
|
|
@@ -86,5 +86,5 @@ Common fields are listed below; provide them as needed:
|
|
|
86
86
|
## Examples
|
|
87
87
|
|
|
88
88
|
```bash
|
|
89
|
-
ae-cli engage
|
|
89
|
+
ae-cli engage-task task list --project-id 1 --req '{"pageNum":1,"pageSize":20}'
|
|
90
90
|
```
|
|
@@ -1,49 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# engage-task.task-data.metric-detail
|
|
2
2
|
|
|
3
|
+
Query a task metric detail report through the L3 Capability Gateway.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
Mapped command: `ae-cli capability run engage-task.task-data.metric-detail --input '<json>'`
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## Flags
|
|
9
|
-
|
|
10
|
-
| Flag | Type | Required | Description |
|
|
11
|
-
|------|------|------|------|
|
|
12
|
-
| `--project_id` / `-p` | number | Yes | Project ID |
|
|
13
|
-
| `--task_id` | string | Yes | task ID |
|
|
14
|
-
| `--start_time` | string | Yes | Start date |
|
|
15
|
-
| `--end_time` | string | Yes | End date |
|
|
16
|
-
| `--request_id` | string | No | query requestId |
|
|
17
|
-
| `--push_language_code` | string | No | push language code |
|
|
18
|
-
| `--metric_id_list` | json | No | metric ID JSON array |
|
|
19
|
-
| `--group_type` | number | No | group type |
|
|
20
|
-
| `--show_time_zone` | string | No | Display timezone offset |
|
|
21
|
-
|
|
22
|
-
## Enum Notes
|
|
23
|
-
|
|
24
|
-
### `--group_type`
|
|
25
|
-
|
|
26
|
-
- `1`: group by batch
|
|
27
|
-
- `2`: group by date
|
|
28
|
-
- `3`: group by trigger
|
|
29
|
-
- `4`: group by experiment result
|
|
30
|
-
|
|
31
|
-
### `--push_language_code`
|
|
32
|
-
|
|
33
|
-
Common values include:
|
|
34
|
-
|
|
35
|
-
- `default`
|
|
36
|
-
- `en`
|
|
37
|
-
- `zh-Hans`
|
|
38
|
-
- `zh-Hant`
|
|
39
|
-
- `ja`
|
|
40
|
-
- `ko`
|
|
41
|
-
|
|
42
|
-
## Examples
|
|
7
|
+
Required input: `project_id`, `task_id`, `start_time`, `end_time`. Optional input includes `request_id`, `push_language_code`, `metric_id_list`, `group_type`, and `show_time_zone`.
|
|
43
8
|
|
|
44
9
|
```bash
|
|
45
|
-
ae-cli engage
|
|
46
|
-
--project_id 1 --task_id task_123 \
|
|
47
|
-
--start_time 2026-04-01 --end_time 2026-04-07 \
|
|
48
|
-
--metric_id_list '["metric_1"]'
|
|
10
|
+
ae-cli capability run engage-task.task-data.metric-detail --input '{"project_id":1,"task_id":"task_123","start_time":"2026-04-01","end_time":"2026-04-07"}'
|
|
49
11
|
```
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-cli engage-task task stats
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query task status statistics.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-task task stats`
|
|
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 | statistics-condition JSON object |
|
|
14
14
|
|
|
15
15
|
## `--req` Object Fields
|
|
16
16
|
|
|
17
|
-
The `--req` structure of
|
|
17
|
+
The `--req` structure of `engage-task task stats` is broadly the same as `engage-task task list`, and common fields include:
|
|
18
18
|
|
|
19
19
|
| Field | Type | Required | Description |
|
|
20
20
|
|------|------|------|------|
|
|
@@ -84,5 +84,5 @@ The `--req` structure of `+task_stats` is broadly the same as `+task_list`, and
|
|
|
84
84
|
## Examples
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
ae-cli engage
|
|
87
|
+
ae-cli engage-task task stats --project-id 1 --req '{"pageNum":1,"pageSize":20}'
|
|
88
88
|
```
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting channel update-status
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Update the status of an Engage channel.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting channel update-status`
|
|
7
7
|
|
|
8
8
|
## Flags
|
|
9
9
|
|
|
10
10
|
| Flag | Type | Required | Description |
|
|
11
11
|
|------|------|------|------|
|
|
12
|
-
| `--
|
|
13
|
-
| `--
|
|
12
|
+
| `--project-id` / `-p` | number | Yes | Project ID |
|
|
13
|
+
| `--channel-id` | string | Yes | channel ID |
|
|
14
14
|
| `--status` | number | Yes | channel status |
|
|
15
15
|
|
|
16
16
|
## Enum Notes
|
|
17
17
|
|
|
18
18
|
### `--status`
|
|
19
19
|
|
|
20
|
-
- `0`: disabled
|
|
21
20
|
- `1`: enabled
|
|
21
|
+
- `2`: disabled
|
|
22
22
|
|
|
23
23
|
## Safety Constraints
|
|
24
24
|
|
|
@@ -27,5 +27,5 @@ This command is a **write operation** and Before executing, confirm that the use
|
|
|
27
27
|
## Examples
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
ae-cli engage
|
|
30
|
+
ae-cli engage-setting channel update-status --project-id 1 --channel-id <channel_id> --status 1
|
|
31
31
|
```
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-cli engage-flow node-config validate
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Validate and normalize a single node configuration before placing it into a `save_flow` request.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-flow node-config validate`
|
|
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
|
+
| `--node-type` | string | Yes | Flow node type |
|
|
13
14
|
| `--config` | string | Yes | Node config JSON object encoded as a string |
|
|
14
|
-
| `--
|
|
15
|
+
| `--operation-mode` | string | Yes | Validation mode |
|
|
15
16
|
|
|
16
17
|
## When To Use
|
|
17
18
|
|
|
18
|
-
Use this after
|
|
19
|
+
Use this after `engage-flow node-config schema` and before passing a config into `engage-flow flow save`.
|
|
19
20
|
|
|
20
21
|
The command validates one node config only; it does not validate the full canvas topology. It returns:
|
|
21
22
|
|
|
22
23
|
- `valid`: whether the candidate config passed validation
|
|
23
24
|
- `normalizedConfigObject`: backend-normalized config with defaulted fields
|
|
24
|
-
- `errors`: hard validation failures to fix before calling
|
|
25
|
+
- `errors`: hard validation failures to fix before calling `engage-flow flow save`
|
|
25
26
|
- `warnings`: issues that depend on live channel/template/config data
|
|
26
27
|
|
|
27
|
-
Use `--
|
|
28
|
+
Use `--operation-mode save_flow` for the current exposed MCP protocol. Use `save_submit_flow` only when you intentionally want stricter submit-time checks.
|
|
28
29
|
|
|
29
30
|
Important current rules:
|
|
30
31
|
|
|
@@ -38,7 +39,7 @@ Important current rules:
|
|
|
38
39
|
|
|
39
40
|
## Enum Notes
|
|
40
41
|
|
|
41
|
-
### `--
|
|
42
|
+
### `--node-type`
|
|
42
43
|
|
|
43
44
|
Schema-backed node types include:
|
|
44
45
|
|
|
@@ -56,7 +57,7 @@ Schema-backed node types include:
|
|
|
56
57
|
- `ab_split_flow`
|
|
57
58
|
- `exit_flow`
|
|
58
59
|
|
|
59
|
-
### `--
|
|
60
|
+
### `--operation-mode`
|
|
60
61
|
|
|
61
62
|
- `save_flow`
|
|
62
63
|
- `save_submit_flow`
|
|
@@ -64,6 +65,6 @@ Schema-backed node types include:
|
|
|
64
65
|
## Examples
|
|
65
66
|
|
|
66
67
|
```bash
|
|
67
|
-
ae-cli engage
|
|
68
|
-
--
|
|
68
|
+
ae-cli engage-flow node-config validate \
|
|
69
|
+
--project-id 1 --node-type message_push --operation-mode save_flow --config '{}'
|
|
69
70
|
```
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# ae-engage
|
|
1
|
+
# ae-engage engage-setting whitelist list
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Query the whitelist list in a project.
|
|
5
5
|
|
|
6
|
-
Mapped command: `ae-cli engage
|
|
6
|
+
Mapped command: `ae-cli engage-setting whitelist 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 whitelist list --project-id 1
|
|
18
18
|
```
|
|
@@ -68,5 +68,5 @@ ae-cli engage-setting whitelist verify \
|
|
|
68
68
|
## Decision Rules
|
|
69
69
|
|
|
70
70
|
- Use these commands when the user asks to add / edit / delete / verify project whitelist entries.
|
|
71
|
-
- Discover existing whitelist IDs with `ae-cli engage
|
|
71
|
+
- Discover existing whitelist IDs with `ae-cli engage-setting whitelist list --project-id <project_id>` first; never invent IDs.
|
|
72
72
|
- `delete` is `high-risk-write` and requires `--yes` (or interactive confirmation).
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Capability ids: `engage-workbench.workbench.{list,add,update,delete}` · Domain: `engage`.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Workbench — workbench metric slot management. Each user may configure up to 4 metric cards per project; slots are scoped to the current login user, so `update`/`delete` only affect the caller's own slots. The first `list` auto-initialises 4 default slots.
|
|
6
6
|
|
|
7
7
|
## Commands
|
|
8
8
|
|
|
@@ -118,15 +118,15 @@ First, check if both `.ae-cli/draft.json` and `.ae-cli/draft.xlsx` exist:
|
|
|
118
118
|
- Reference: tracking plan document (Feishu: https://www.feishu.cn/docx/Jt0VdhNB6oSJ4TxISs1cq2Ebnmg)
|
|
119
119
|
|
|
120
120
|
2. **If you already have a tracking plan**
|
|
121
|
-
- Provide the xlsx file path and use `ae-cli tracking code import-
|
|
121
|
+
- Provide the xlsx file path and use `ae-cli tracking code import-template --template` to import
|
|
122
122
|
- Or place the xlsx file at `.ae-cli/draft.xlsx` and re-run
|
|
123
123
|
|
|
124
|
-
**If xlsx file exists** (provided via `ae-cli tracking code import-
|
|
124
|
+
**If xlsx file exists** (provided via `ae-cli tracking code import-template --template` or placed at `.ae-cli/draft.xlsx`):
|
|
125
125
|
|
|
126
126
|
**Step 1: Parse the xlsx file**
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
ae-cli tracking code import-
|
|
129
|
+
ae-cli tracking code import-template --template <xlsx-path> --out .ae-cli/draft.json
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
This command:
|
|
@@ -155,7 +155,7 @@ This command:
|
|
|
155
155
|
- `服务端` / `server` → server-only collection, parsed as `platform: "server"`
|
|
156
156
|
- `客户端,服务端` / `client,server` / `服务端,客户端` / `server,client` → both platforms, parsed as `platform: "both"`
|
|
157
157
|
|
|
158
|
-
**Internal representation**: xlsx "Platform" column values are parsed by `ae-cli tracking code import-
|
|
158
|
+
**Internal representation**: xlsx "Platform" column values are parsed by `ae-cli tracking code import-template --template` into internal `platform` field values:
|
|
159
159
|
- `client` → client-side collection
|
|
160
160
|
- `server` → server-side collection
|
|
161
161
|
- `both` → both platforms
|
|
@@ -33,8 +33,9 @@ description: "Interactive generation of an AE tracking plan and upload. Trigger
|
|
|
33
33
|
| 用户属性 | User Property | Property on the user profile (persistent state) |
|
|
34
34
|
| 预置属性 | Preset Property | System property prefixed with `#` (`#device_id`, `#time`, etc.) |
|
|
35
35
|
| 自动采集事件 | Auto-track Event | SDK auto-collected events (`ta_app_start`, `ta_page_show`, etc.) |
|
|
36
|
-
| 系统事件 | System Event |
|
|
37
|
-
|
|
|
36
|
+
| 系统事件 | System Event | event_tag value reserved for SDK auto-track events (`ta_*`). One of two non-module tags (together with 基础事件). |
|
|
37
|
+
| 基础事件 | Basic | event_tag value for account-level lifecycle/progression events (register, login, level_up, create_role, etc.). Not tied to any functional module. |
|
|
38
|
+
| 功能模块 | Functional Module | event_tag value for feature-specific business events; identifies which module the event belongs to (e.g. Battle, Shop, Ads, Payment, Basic) |
|
|
38
39
|
| SDK 集成模式 | SDK Integration Mode | `client_only` / `server_only` / `both` / `none` |
|
|
39
40
|
| 客户端平台 | Client Platform | Android, iOS, Web, Unity, Mini-program, etc. |
|
|
40
41
|
| 服务端语言 | Server Language | Java, Python, Go, Node.js, PHP, etc. |
|
|
@@ -54,7 +55,7 @@ description: "Interactive generation of an AE tracking plan and upload. Trigger
|
|
|
54
55
|
| xlsx 格式契约 | xlsx Format Contract | Column rules for AE-compatible Excel generation |
|
|
55
56
|
| draft.json | draft.json | Internal intermediate representation (JSON) of the tracking plan |
|
|
56
57
|
| display_name | Display Name | Human-readable name in the user's language |
|
|
57
|
-
| event_tag | Event Tag |
|
|
58
|
+
| event_tag | Event Tag | Functional module the event belongs to (e.g. Battle, Shop, Ads, Payment). Auto-track events use "System Event". |
|
|
58
59
|
| snake_case | snake_case | Canonical naming format: `lowercase_with_underscores` |
|
|
59
60
|
|
|
60
61
|
## When to Trigger
|
|
@@ -88,7 +89,7 @@ Phase 0 → 1 → 2 → 3 → 4, do not skip steps.
|
|
|
88
89
|
> All subsequent CLI commands must be prefixed with `AE_LANG=<user_lang>` to ensure CLI output and generated xlsx headers match the user's language.
|
|
89
90
|
> When uploading the xlsx, pass `--lang <user_lang>` as well; it must match `draft.meta.lang` / the generated xlsx language.
|
|
90
91
|
|
|
91
|
-
Collect the following **
|
|
92
|
+
Collect the following **5 items** sequentially, **do NOT ask all at once**:
|
|
92
93
|
|
|
93
94
|
### Item 1 — Application Scenario
|
|
94
95
|
|
|
@@ -111,8 +112,9 @@ Choose your source material (up to 2):
|
|
|
111
112
|
2 - Detailed description (conversational) — Describe app business flow, core features, user behaviors, monetization model, etc.
|
|
112
113
|
3 - Codebase (local project path; hidden in sandbox) — Analyze source code to extract events and properties
|
|
113
114
|
4 - Pre-built template (built-in industry and game genre templates) — Select a built-in template
|
|
115
|
+
5 - Modify existing tracking plan (local AE format xlsx file) — Import an existing tracking plan xlsx as baseline for modification; can be combined with Product doc / Description / Codebase, but NOT with Pre-built template
|
|
114
116
|
|
|
115
|
-
Reply with number(s), e.g. 1 or
|
|
117
|
+
Reply with number(s), e.g. 1,5 or 4. Select up to 2.
|
|
116
118
|
```
|
|
117
119
|
|
|
118
120
|
If in a sandbox environment, ask exactly:
|
|
@@ -123,8 +125,9 @@ Choose your source material (up to 2):
|
|
|
123
125
|
1 - Product document (sandbox workspace path, uploaded attachment, URL, image file, or folder) — Extract events and properties from product docs; supports md/pdf/docx/URL/images (png/jpg/jpeg/webp). You can attach/upload relevant files here.
|
|
124
126
|
2 - Detailed description (conversational) — Describe app business flow, core features, user behaviors, monetization model, etc.
|
|
125
127
|
3 - Pre-built template (built-in industry and game genre templates) — Select a built-in template
|
|
128
|
+
4 - Modify existing tracking plan (sandbox workspace path) — Import an existing tracking plan xlsx as baseline for modification; can be combined with Product doc / Description, but NOT with Pre-built template
|
|
126
129
|
|
|
127
|
-
Reply with number(s), e.g. 1 or
|
|
130
|
+
Reply with number(s), e.g. 1,4 or 3. Select up to 2.
|
|
128
131
|
```
|
|
129
132
|
|
|
130
133
|
Do not rewrite this source material list as unnumbered bullets, cards, or prose. The user must be able to reply with the visible numbers.
|
|
@@ -147,9 +150,11 @@ Based on user selection, determine source material type and record to `meta.sour
|
|
|
147
150
|
| Description only | `chat` | Construct events in Draft phase based on description |
|
|
148
151
|
| Codebase only | `codebase` | Scan source code, extract events/properties from business logic |
|
|
149
152
|
| Template only | `template` | Provide built-in template selection |
|
|
150
|
-
|
|
|
153
|
+
| Existing plan only | `existing_plan` | Import xlsx as baseline (see "Modify Existing Tracking Plan Flow" below) |
|
|
154
|
+
| Any two-item combo | Join two types with `_` | First as baseline, second as supplement (priority: existing_plan → template → codebase → prd → chat) |
|
|
155
|
+
| Existing plan + Pre-built template | **NOT allowed** | Both provide event baselines; semantic conflict |
|
|
151
156
|
|
|
152
|
-
**Follow-up questions** (ask in
|
|
157
|
+
**Follow-up questions** (ask in follow-up order defined in Multi-Source Combination Rules below):
|
|
153
158
|
- Product doc → if not in a sandbox environment, ask exactly:
|
|
154
159
|
```text
|
|
155
160
|
What is the product document path?
|
|
@@ -176,6 +181,49 @@ Based on user selection, determine source material type and record to `meta.sour
|
|
|
176
181
|
- Detailed description → If too vague, follow up on core features, user behaviors, business flows, monetization
|
|
177
182
|
- Codebase → ask **"What is the project directory path?"**, then scan source to extract business logic
|
|
178
183
|
- Pre-built template → display matching templates for user confirmation
|
|
184
|
+
- Modify existing tracking plan → ask **"Please provide the xlsx file path of your existing tracking plan"**, then follow the flow below
|
|
185
|
+
|
|
186
|
+
**Modify Existing Tracking Plan Flow** (when user selects this option):
|
|
187
|
+
|
|
188
|
+
1. **Import**: Ask user for the file path, then immediately import:
|
|
189
|
+
```bash
|
|
190
|
+
AE_LANG=<user_lang> ae-cli tracking code import-template --template <path> --out .ae-cli/draft.json
|
|
191
|
+
```
|
|
192
|
+
2. **Check result**:
|
|
193
|
+
- If CLI errors (file not found / parse failure) → report error, ask user to fix the file and retry
|
|
194
|
+
- If `draft.json` has `events` array empty → 🛑 **Severe: No AE-format sheets found** (missing `#` prefix sheets like `#事件数据`). Tell user the file does not appear to be an AE tracking plan xlsx. User must fix the original file and re-import.
|
|
195
|
+
3. **Content validation** (when events are non-empty):
|
|
196
|
+
```bash
|
|
197
|
+
AE_LANG=<user_lang> ae-cli tracking plan validate --in .ae-cli/draft.json --fix
|
|
198
|
+
```
|
|
199
|
+
4. **Handle validation results by severity**:
|
|
200
|
+
- If validate passes with **no issues at all** → skip to Step 5.
|
|
201
|
+
|
|
202
|
+
| Severity | Examples | Handling | User Action |
|
|
203
|
+
|---|---|---|---|
|
|
204
|
+
| 🔧 **Minor** (auto-fixable) | `display_name` duplicate, `array_row` sub-property inconsistency, event name duplicate | `--fix` auto-fixes, writes to `draft.json`. Inform user of what was fixed. | None (informed) |
|
|
205
|
+
| ⚠️ **Medium** (needs confirmation) | snake_case violation, property name duplicate, invalid property type, nested property parent is not a composite type | List each issue with current value → suggested fix. User confirms item by item before writing to `draft.json`. | Confirm each fix |
|
|
206
|
+
| 🛑 **Severe** | File cannot be parsed, or events array is empty after import | Reject. Tell user the specific issue. User fixes **original file** and re-imports. | Fix original file |
|
|
207
|
+
|
|
208
|
+
**Medium issue confirmation format**:
|
|
209
|
+
```
|
|
210
|
+
⚠️ The following content needs to be fixed:
|
|
211
|
+
|
|
212
|
+
| # | Issue | Location | Current | Suggested |
|
|
213
|
+
|---|-------|----------|---------|------------|
|
|
214
|
+
| 1 | snake_case | event_name | UserLogin | user_login |
|
|
215
|
+
| 2 | snake_case | prop_name | vipLevel | vip_level |
|
|
216
|
+
| 3 | invalid type | property "level" | integer | number |
|
|
217
|
+
|
|
218
|
+
Apply all suggested fixes? ok / specify per item / skip
|
|
219
|
+
```
|
|
220
|
+
- `ok` → apply all suggested fixes to `draft.json`
|
|
221
|
+
- `specify per item` → confirm each item one by one
|
|
222
|
+
- `skip` → keep current values, handle in Refine phase later
|
|
223
|
+
|
|
224
|
+
⚠️ **Never modify the user's original xlsx file.** All changes go into `draft.json`.
|
|
225
|
+
|
|
226
|
+
5. **Re-validate** after fixes → loop until clean, then continue to the next follow-up question (if combined with another source material), or Item 3 (if existing_plan is the only source).
|
|
179
227
|
|
|
180
228
|
**Codebase analysis flow** (when source_type includes `codebase`):
|
|
181
229
|
|
|
@@ -196,9 +244,11 @@ After source material is confirmed, **must** process business dimension info bas
|
|
|
196
244
|
| source_type | Handling |
|
|
197
245
|
|---|---|
|
|
198
246
|
| `template` | Directly display template's inherited business dimensions; skip detailed inference |
|
|
247
|
+
| `existing_plan` | Infer business dimensions from existing plan content (analyze event modules, payment events, currency properties); follow up on missing items; event injection preview |
|
|
199
248
|
| `prd` / `codebase` / `chat` | Infer business dimensions → follow up on missing items → event injection preview |
|
|
249
|
+
| Combo (e.g. `template_prd`) | See detailed rules below — baseline source's method is primary, supplementary source contributes additional context |
|
|
200
250
|
|
|
201
|
-
**If source_type
|
|
251
|
+
**If source_type is template or starts with template_** (covers `template`, `template_prd`, `template_codebase`, `template_chat`):
|
|
202
252
|
|
|
203
253
|
Display template's preset business dimensions:
|
|
204
254
|
|
|
@@ -215,6 +265,27 @@ Confirm using these business dimensions? ok / modify
|
|
|
215
265
|
|
|
216
266
|
- User `ok` → proceed to next step
|
|
217
267
|
- User says "modify" → switch to prd/chat flow for user to supplement
|
|
268
|
+
- For combos (e.g. `template_prd`): after confirming template dimensions, also note any supplementary insights from `prd`/`chat` as context for Phase 1.2.
|
|
269
|
+
|
|
270
|
+
**If source_type includes existing_plan**:
|
|
271
|
+
|
|
272
|
+
Infer business dimensions from the imported plan content:
|
|
273
|
+
|
|
274
|
+
1. **Analyze existing events**: Examine `event_tag` values to identify functional modules (e.g. events tagged "Battle" → 战斗 module). Examine event names for payment/ad-related patterns to infer revenue model.
|
|
275
|
+
2. **Inference display**: Format inference results as a summary:
|
|
276
|
+
```
|
|
277
|
+
Business Dimension (inferred from existing plan: <filename>)
|
|
278
|
+
|
|
279
|
+
Revenue Model: <inferred from payment/ad events>
|
|
280
|
+
Core Loop: <inferred from event flow>
|
|
281
|
+
Functional Entries: <inferred from event_tag values>
|
|
282
|
+
Currency System: <inferred from currency-related properties>
|
|
283
|
+
|
|
284
|
+
Confirm these business dimensions? ok / modify
|
|
285
|
+
```
|
|
286
|
+
3. **Follow up missing**: Only ask about items that could not be inferred
|
|
287
|
+
4. **Event injection preview**: Show suggested injected event modules (only add events not already in the plan); user `ok` to proceed
|
|
288
|
+
- For combos (e.g. `existing_plan_prd`): after confirming dimensions from the plan, also note any supplementary insights from `prd`/`chat` as context for Phase 1.2.
|
|
218
289
|
|
|
219
290
|
**If source_type is prd / codebase / chat**:
|
|
220
291
|
|
|
@@ -224,7 +295,7 @@ Confirm using these business dimensions? ok / modify
|
|
|
224
295
|
|
|
225
296
|
Platform validation: Use `business-dimension-mapping.md` Chapter 5 decision rules to check if injected events' platform assignments are reasonable.
|
|
226
297
|
|
|
227
|
-
**Template matching** (prd / codebase / chat scenarios, optional):
|
|
298
|
+
**Template matching** (prd / codebase / chat scenarios, optional; **NOT applicable to existing_plan or template scenarios**):
|
|
228
299
|
|
|
229
300
|
After business dimension confirmation, auto-detect matching templates based on app type:
|
|
230
301
|
```bash
|
|
@@ -233,6 +304,51 @@ AE_LANG=<user_lang> ae-cli tracking plan list-templates --json
|
|
|
233
304
|
|
|
234
305
|
Show matching templates to user for confirmation. Confirmed templates serve as baseline and participate in Phase 1 event merging.
|
|
235
306
|
|
|
307
|
+
### Multi-Source Combination Rules (when user selects 2 source materials)
|
|
308
|
+
|
|
309
|
+
**Follow-up Order** (Phase 0 questioning sequence):
|
|
310
|
+
|
|
311
|
+
Do **not** follow user's selection order. Instead, use this order:
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
existing_plan(blocking validation, always first)→ codebase/prd(user's selection order)→ chat → template
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Rationale:
|
|
318
|
+
- `existing_plan` must go first — import + validate may require the user to fix their file; processing it early avoids wasted context
|
|
319
|
+
- `codebase` / `prd` — directly reflect actual business requirements, prioritized over generic descriptions and templates
|
|
320
|
+
- `chat` — conversational description, supplements business context
|
|
321
|
+
- `template` — generic industry template, least specific to the user's business
|
|
322
|
+
|
|
323
|
+
Source material processing happens primarily in Phase 1.2 (Merge Source Materials). The one exception is `existing_plan`: it is imported and validated in Phase 0 because user-provided files may need fixing before proceeding. All other sources are processed in Phase 1.2 per their standard flow.
|
|
324
|
+
|
|
325
|
+
Merge priority (Phase 1.2): `existing_plan → template → codebase → prd → chat → autotrack`
|
|
326
|
+
Earlier sources take precedence — same-name events keep the earlier version, later sources only add new events or merge `prop_names` without overwriting.
|
|
327
|
+
|
|
328
|
+
**Business Dimension Inference (combined scenarios)**:
|
|
329
|
+
|
|
330
|
+
Use the baseline source's inference method as primary. Supplementary sources (especially prd/chat) may contribute additional information — present a merged view for user confirmation.
|
|
331
|
+
|
|
332
|
+
**Valid Combinations**:
|
|
333
|
+
|
|
334
|
+
> The "Baseline" column identifies which source has higher merge priority (see Phase 1.2 merge order), which may differ from the user's selection order. Follow-up questioning uses the fixed order in "Multi-Source Combination Rules" above, not the user's selection order.
|
|
335
|
+
|
|
336
|
+
| Baseline | Supplementary | Phase 0 for supplementary |
|
|
337
|
+
|---|---|---|
|
|
338
|
+
| existing_plan | codebase | Collect path + quick tech stack detection |
|
|
339
|
+
| existing_plan | prd | Collect path |
|
|
340
|
+
| existing_plan | chat | Collect description; participates in dimension inference |
|
|
341
|
+
| template | codebase | Collect path + quick tech stack detection; template matching/import deferred to Phase 1.2 |
|
|
342
|
+
| template | prd | Collect path; template matching/import deferred to Phase 1.2 |
|
|
343
|
+
| template | chat | Collect description |
|
|
344
|
+
| codebase | prd | Collect path |
|
|
345
|
+
| codebase | chat | Collect description |
|
|
346
|
+
| prd | chat | Collect description |
|
|
347
|
+
| codebase | template | Same as template+codebase row above (template is baseline per merge priority) |
|
|
348
|
+
| prd | template | Same as template+prd row above (template is baseline per merge priority) |
|
|
349
|
+
|
|
350
|
+
**Forbidden**: `existing_plan + template` (both provide event baselines; semantic conflict).
|
|
351
|
+
|
|
236
352
|
**Record business dimension info to `meta.business_dimension`**:
|
|
237
353
|
```json
|
|
238
354
|
"business_dimension": {
|
|
@@ -493,8 +609,11 @@ Draft
|
|
|
493
609
|
|
|
494
610
|
### 1.2 Merge Source Materials
|
|
495
611
|
|
|
496
|
-
|
|
612
|
+
Merge order: **existing_plan → template → codebase → prd → chat → autotrack**
|
|
497
613
|
|
|
614
|
+
Earlier sources take precedence — same-name events keep the earlier version, later sources only add new events or merge `prop_names` without overwriting.
|
|
615
|
+
|
|
616
|
+
- **existing_plan**: Already imported and validated in Phase 0 (see "Modify Existing Tracking Plan Flow"). Events are in draft.json as the baseline; each item marked `source: "existing_plan"`. Higher-priority sources supplement with new events only; same-name events keep the existing_plan version.
|
|
498
617
|
- **template**: User-selected industry template (see "Template Lookup Convention" below) as baseline; each item marked `source: "template"`
|
|
499
618
|
- Templates are resolved by ae-cli from the ae-cli package root and user template directory
|
|
500
619
|
- Import command: `AE_LANG=<user_lang> ae-cli tracking code import-template --template-name "<template name>" --out .ae-cli/draft.json`
|
|
@@ -657,6 +776,8 @@ AE_LANG=<user_lang> ae-cli tracking plan draft --in .ae-cli/draft.json --out .ae
|
|
|
657
776
|
|
|
658
777
|
**Note**: Display names can be the same across different property pools (e.g. `vip_level` can be both an event property and a user property).
|
|
659
778
|
|
|
779
|
+
> **Relationship to Phase 0 existing_plan validation**: The underlying rule engine is the same, but Phase 0 uses **interactive 3-tier** (Minor/Medium/Severe) because the user is present to confirm each fix. Phase 1.6 uses **batch 2-tier** (auto-fixable / manual-fix-needed) because it runs as part of the automated draft generation. Rules that are "Medium (needs confirmation)" in Phase 0 appear as "❌ Manual fix needed" here — the same rule, just without the interactive prompt.
|
|
780
|
+
|
|
660
781
|
### 1.7 Show Summary
|
|
661
782
|
|
|
662
783
|
Display to user via markdown table: event count / event property pool size / super property count / user property count; show deliverable paths.
|