@thinkingai/ae-cli 6.0.31 → 6.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/README.zh.md +3 -2
- package/dist/{capability-SQ2IWKP3.js → capability-QW4AVJHI.js} +1 -1
- package/dist/{capability-SEH3JWLN.js → capability-SCRFGODD.js} +1 -1
- package/dist/{chunk-N2QORU5D.js → chunk-7OLGDQQ2.js} +5 -2
- package/dist/{chunk-TKQJQXWT.js → chunk-TBHBYKXZ.js} +5 -2
- package/dist/index.js +46 -24
- package/dist/{metadata-X62TKIVK.js → metadata-BFDL6RUK.js} +2 -2
- package/dist/{metadata-W6JFFMBA.js → metadata-FCLDBXX2.js} +2 -2
- package/dist/{te-analysis-NJGNWZFC.js → te-analysis-PUVF5IF4.js} +1297 -91
- package/dist/{te-analysis-YGV5V5EX.js → te-analysis-UJDOKPAN.js} +1297 -91
- package/dist/te-common-VUX3VOXZ.js +60 -0
- package/dist/te-common-XLAGWNIV.js +60 -0
- package/dist/te-engage-K4AEUPK5.js +3894 -0
- package/dist/te-engage-QBCCME22.js +3894 -0
- package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
- package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
- package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
- package/package.json +1 -1
- package/skills/ae-analysis/SKILL.md +10 -7
- package/skills/ae-analysis/references/adhoc_export.md +3 -6
- package/skills/ae-analysis/references/adhoc_run.md +5 -9
- package/skills/ae-analysis/references/ai_models.md +17 -1
- package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
- package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
- package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
- package/skills/ae-analysis/references/asset_url_get.md +4 -3
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
- package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
- package/skills/ae-analysis/references/command_index.md +62 -28
- package/skills/ae-analysis/references/create_entity.md +2 -2
- package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
- package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
- package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
- package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
- package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
- package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
- package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
- package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
- package/skills/ae-analysis/references/entity_detail_export.md +2 -0
- package/skills/ae-analysis/references/entity_detail_run.md +8 -1
- package/skills/ae-analysis/references/event_detail_export.md +2 -0
- package/skills/ae-analysis/references/event_detail_run.md +2 -0
- package/skills/ae-analysis/references/event_list.md +10 -2
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/metric_create.md +13 -4
- package/skills/ae-analysis/references/metric_delete.md +7 -0
- package/skills/ae-analysis/references/metric_get.md +6 -0
- package/skills/ae-analysis/references/metric_list.md +16 -3
- package/skills/ae-analysis/references/metric_update.md +12 -1
- package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
- package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
- package/skills/ae-analysis/references/project_data_power_get.md +24 -0
- package/skills/ae-analysis/references/project_data_power_list.md +23 -0
- package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
- package/skills/ae-analysis/references/project_entity_create.md +27 -0
- package/skills/ae-analysis/references/project_entity_delete.md +25 -0
- package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
- package/skills/ae-analysis/references/project_entity_get.md +24 -0
- package/skills/ae-analysis/references/project_entity_list.md +28 -0
- package/skills/ae-analysis/references/project_entity_update.md +28 -0
- package/skills/ae-analysis/references/project_function_list.md +24 -0
- package/skills/ae-analysis/references/project_info_get.md +23 -0
- package/skills/ae-analysis/references/project_info_list.md +26 -0
- package/skills/ae-analysis/references/project_info_update.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
- package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
- package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
- package/skills/ae-analysis/references/project_member_add.md +25 -0
- package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
- package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
- package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
- package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
- package/skills/ae-analysis/references/project_member_import.md +25 -0
- package/skills/ae-analysis/references/project_member_list.md +23 -0
- package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
- package/skills/ae-analysis/references/project_member_remove.md +26 -0
- package/skills/ae-analysis/references/project_member_update.md +25 -0
- package/skills/ae-analysis/references/project_owner_update.md +27 -0
- package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
- package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
- package/skills/ae-analysis/references/project_role_delete.md +25 -0
- package/skills/ae-analysis/references/project_role_function_list.md +27 -0
- package/skills/ae-analysis/references/project_role_get.md +23 -0
- package/skills/ae-analysis/references/project_role_list.md +25 -0
- package/skills/ae-analysis/references/project_role_upsert.md +24 -0
- package/skills/ae-analysis/references/project_role_user_list.md +23 -0
- package/skills/ae-analysis/references/project_timezone_get.md +23 -0
- package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
- package/skills/ae-analysis/references/project_timezone_update.md +25 -0
- package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
- package/skills/ae-analysis/references/property_list.md +21 -6
- package/skills/ae-analysis/references/public_link_create.md +1 -1
- package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
- package/skills/ae-analysis/references/report_create.md +1 -1
- package/skills/ae-analysis/references/report_data_export.md +2 -2
- package/skills/ae-analysis/references/report_data_run.md +2 -2
- package/skills/ae-analysis/references/report_get.md +2 -0
- package/skills/ae-analysis/references/report_update.md +1 -1
- package/skills/ae-analysis/references/user_cluster_create.md +3 -1
- package/skills/ae-analysis/references/user_cluster_get.md +4 -0
- package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
- package/skills/ae-analysis/references/user_cluster_update.md +3 -1
- package/skills/ae-analysis/references/user_tag_create.md +3 -1
- package/skills/ae-analysis/references/user_tag_get.md +4 -0
- package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
- package/skills/ae-analysis/references/user_tag_update.md +3 -1
- package/skills/ae-analysis/references/virtual_event_create.md +22 -3
- package/skills/ae-analysis/references/virtual_property_create.md +23 -2
- package/skills/ae-engage/SKILL.md +202 -7
- package/skills/ae-engage/references/activity-activity-type.md +42 -0
- package/skills/ae-engage/references/activity-activity.md +70 -0
- package/skills/ae-engage/references/activity-approval.md +53 -0
- package/skills/ae-engage/references/activity-task.md +87 -0
- package/skills/ae-engage/references/activity-topic.md +98 -0
- package/skills/ae-engage/references/approval-approver-delete.md +26 -0
- package/skills/ae-engage/references/channel-test-send.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
- package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
- package/skills/ae-engage/references/channel-update-config.md +36 -0
- package/skills/ae-engage/references/client-param.md +58 -0
- package/skills/ae-engage/references/common-metric.md +75 -0
- package/skills/ae-engage/references/config-table.md +92 -0
- package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
- package/skills/ae-engage/references/operation-log-query.md +1 -1
- package/skills/ae-engage/references/preset-event.md +42 -0
- package/skills/ae-engage/references/push-language.md +39 -0
- package/skills/ae-engage/references/scene-config-channel.md +58 -0
- package/skills/ae-engage/references/scene-config-group.md +62 -0
- package/skills/ae-engage/references/scene-config-item.md +68 -0
- package/skills/ae-engage/references/scene-config-metric.md +79 -0
- package/skills/ae-engage/references/scene-config-param.md +72 -0
- package/skills/ae-engage/references/scene-preset-metric.md +45 -0
- package/skills/ae-engage/references/scene-strategy.md +47 -0
- package/skills/ae-engage/references/scene-template.md +71 -0
- package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
- package/skills/ae-engage/references/whitelist.md +72 -0
- package/skills/ae-engage/references/workbench-workbench.md +48 -0
- package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
- package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
- package/skills/ae-kb/SKILL.md +34 -8
- package/skills/ae-metadata/SKILL.md +1 -1
- package/skills/ae-metadata/references/metadata_event_get.md +4 -4
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
- package/skills/ae-metadata/references/metadata_property_get.md +4 -4
- package/dist/te-common-5NJLF3XG.js +0 -130
- package/dist/te-common-7VTJZPII.js +0 -130
- package/dist/te-engage-BUWVSSSK.js +0 -1912
- package/dist/te-engage-EPE3QKDE.js +0 -1912
- package/skills/ae-analysis/references/create_metric.md +0 -58
- package/skills/ae-analysis/references/create_virtual_event.md +0 -60
- package/skills/ae-analysis/references/create_virtual_property.md +0 -69
- package/skills/ae-analysis/references/delete_metric.md +0 -32
- package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
- package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
- package/skills/ae-analysis/references/get_metric.md +0 -38
- package/skills/ae-analysis/references/get_resource_url.md +0 -33
- package/skills/ae-analysis/references/list_events.md +0 -46
- package/skills/ae-analysis/references/list_metrics.md +0 -52
- package/skills/ae-analysis/references/list_properties.md +0 -47
- package/skills/ae-analysis/references/update_metric.md +0 -58
- package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# engage-scene config-item
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.config-item.{list,create,update}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项管理。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List config items of a project
|
|
11
|
+
ae-cli engage-scene config-item list --project-id <project_id>
|
|
12
|
+
|
|
13
|
+
# Create a config item (business type, group, optional avatar)
|
|
14
|
+
ae-cli engage-scene config-item create \
|
|
15
|
+
--project-id <project_id> --config-id <config_id> --config-name <name> \
|
|
16
|
+
--business-type <config_file|params> \
|
|
17
|
+
[--config-remark <remark>] [--group-id <group_id>] \
|
|
18
|
+
[--avatar-word '["A"]'] [--file-name icon.png] [--file-content "$(base64 -i icon.png)"]
|
|
19
|
+
|
|
20
|
+
# Update a config item's basic info and bound channel
|
|
21
|
+
ae-cli engage-scene config-item update \
|
|
22
|
+
--project-id <project_id> --config-id <config_id> \
|
|
23
|
+
[--config-name <name>] [--config-remark <remark>] [--business-type <type>] \
|
|
24
|
+
[--group-id <group_id>] [--channel-id <channel_id>]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Parameters
|
|
28
|
+
|
|
29
|
+
### list
|
|
30
|
+
|
|
31
|
+
| Parameter | Required | Description |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
34
|
+
|
|
35
|
+
### create
|
|
36
|
+
|
|
37
|
+
| Parameter | Required | Description |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
40
|
+
| `--config-id` | Yes | Config item ID (unique within the project). |
|
|
41
|
+
| `--config-name` | Yes | Config item display name (<=80 chars). |
|
|
42
|
+
| `--business-type` | Yes | Business type: `config_file` or `params`. |
|
|
43
|
+
| `--config-remark` | No | Remark (<=200 chars). |
|
|
44
|
+
| `--group-id` | No | Group ID (0 = default group). |
|
|
45
|
+
| `--avatar-word` | No | JSON array of avatar words for the icon. |
|
|
46
|
+
| `--file-name` | No | Avatar file name including extension. |
|
|
47
|
+
| `--file-content` | No | Base64-encoded avatar file content. |
|
|
48
|
+
|
|
49
|
+
### update
|
|
50
|
+
|
|
51
|
+
| Parameter | Required | Description |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
54
|
+
| `--config-id` | Yes | Config item ID to update. |
|
|
55
|
+
| `--config-name` | No | New display name. |
|
|
56
|
+
| `--config-remark` | No | New remark. |
|
|
57
|
+
| `--business-type` | No | New business type. |
|
|
58
|
+
| `--group-id` | No | New group ID. |
|
|
59
|
+
| `--channel-id` | No | Config channel ID to bind. |
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
|
|
63
|
+
- `list`: `data.items` + `data.total`.
|
|
64
|
+
- `create` / `update`: `data.success` — whether the operation succeeded.
|
|
65
|
+
|
|
66
|
+
## Decision Rules
|
|
67
|
+
|
|
68
|
+
- `create` / `update` are `write`; `list` is read. Use `config-item list` (or `engage +config_item_list`) to discover real `config_id`s and group IDs; never invent IDs.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# engage-scene config-metric
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.config-metric.{list,get,batch-add,update-rule,batch-delete}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项关联指标管理。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List related metrics of a config item (optionally include preset metrics)
|
|
11
|
+
ae-cli engage-scene config-metric list --project-id <project_id> --config-id <config_id> [--all-metric]
|
|
12
|
+
|
|
13
|
+
# Get a related metric's detail
|
|
14
|
+
ae-cli engage-scene config-metric get --project-id <project_id> --metric-id <metric_id>
|
|
15
|
+
|
|
16
|
+
# Batch-relate TA (event-analysis) metrics to a config item
|
|
17
|
+
ae-cli engage-scene config-metric batch-add --project-id <project_id> --config-id <config_id> --ta-metric-ids '[1,2]'
|
|
18
|
+
|
|
19
|
+
# Update a config metric's event relation rule
|
|
20
|
+
ae-cli engage-scene config-metric update-rule \
|
|
21
|
+
--project-id <project_id> --metric-id <metric_id> \
|
|
22
|
+
--event-list '[{"event_name":"e1","filter":"true"}]'
|
|
23
|
+
|
|
24
|
+
# Batch-remove related metrics (high-risk)
|
|
25
|
+
ae-cli engage-scene config-metric batch-delete --project-id <project_id> --config-id <config_id> --metric-ids '[1,2]' --yes
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Parameters
|
|
29
|
+
|
|
30
|
+
### list
|
|
31
|
+
|
|
32
|
+
| Parameter | Required | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
35
|
+
| `--config-id` | Yes | Config item ID. |
|
|
36
|
+
| `--all-metric` | No | Include preset metrics as well. |
|
|
37
|
+
|
|
38
|
+
### get
|
|
39
|
+
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
43
|
+
| `--metric-id` | Yes | Config metric primary ID. |
|
|
44
|
+
|
|
45
|
+
### batch-add
|
|
46
|
+
|
|
47
|
+
| Parameter | Required | Description |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
50
|
+
| `--config-id` | Yes | Config item ID. |
|
|
51
|
+
| `--ta-metric-ids` | Yes | JSON array of TA metric IDs. |
|
|
52
|
+
|
|
53
|
+
### update-rule
|
|
54
|
+
|
|
55
|
+
| Parameter | Required | Description |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
58
|
+
| `--metric-id` | Yes | Config metric primary ID. |
|
|
59
|
+
| `--event-list` | Yes | JSON array of event rules (`event_name` or `eventName`, plus `filter`). |
|
|
60
|
+
|
|
61
|
+
### batch-delete
|
|
62
|
+
|
|
63
|
+
| Parameter | Required | Description |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
66
|
+
| `--config-id` | Yes | Config item ID. |
|
|
67
|
+
| `--metric-ids` | Yes | JSON array of config metric primary IDs. |
|
|
68
|
+
|
|
69
|
+
## Output
|
|
70
|
+
|
|
71
|
+
- `list`: `data.items` + `data.total`.
|
|
72
|
+
- `get`: `data` — metric detail.
|
|
73
|
+
- `batch-add` / `update-rule`: `data.success`.
|
|
74
|
+
- `batch-delete`: `data.success`.
|
|
75
|
+
|
|
76
|
+
## Decision Rules
|
|
77
|
+
|
|
78
|
+
- Discover real metric IDs via `list`/`get`; never invent IDs.
|
|
79
|
+
- `batch-delete` is `high-risk-write` and requires `--yes`.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# engage-scene config-param
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.config-param.{list,batch-add,update,batch-delete}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项参数管理。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List params of a config item
|
|
11
|
+
ae-cli engage-scene config-param list --project-id <project_id> --config-id <config_id>
|
|
12
|
+
|
|
13
|
+
# Batch-add params to a config item
|
|
14
|
+
ae-cli engage-scene config-param batch-add \
|
|
15
|
+
--project-id <project_id> --config-id <config_id> \
|
|
16
|
+
--params '[{"param_name":"title","param_display_name":"标题","param_type":"STRING","param_sub_type":"SHORT_TEXT","is_required":1}]'
|
|
17
|
+
|
|
18
|
+
# Update a param
|
|
19
|
+
ae-cli engage-scene config-param update \
|
|
20
|
+
--project-id <project_id> --config-id <config_id> --param-id <param_id> \
|
|
21
|
+
[--param-name <name>] [--param-display-name <name>] [--param-type <type>] \
|
|
22
|
+
[--param-sub-type <sub>] [--table-id <table_id>] [--param-placeholder <ph>] \
|
|
23
|
+
[--is-required 1] [--default-value <value>]
|
|
24
|
+
|
|
25
|
+
# Batch-delete params (high-risk)
|
|
26
|
+
ae-cli engage-scene config-param batch-delete --project-id <project_id> --param-ids '[1,2]' --yes
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Parameters
|
|
30
|
+
|
|
31
|
+
### list
|
|
32
|
+
|
|
33
|
+
| Parameter | Required | Description |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
36
|
+
| `--config-id` | Yes | Config item ID. |
|
|
37
|
+
|
|
38
|
+
### batch-add
|
|
39
|
+
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
43
|
+
| `--config-id` | Yes | Config item ID. |
|
|
44
|
+
| `--params` | Yes | JSON array of params (`param_name`, `param_display_name`, `param_type`, `param_sub_type`, `table_id`, `param_placeholder`, `is_required`, `default_value`). `param_type` must be uppercase enum: `STRING`, `NUM`, `DATE`, `DATE_TIME`, `BOOLEAN`, `OBJ`, `SINGLE_SELECT`, `ARRAY`, `JSON`. For `STRING`/`ARRAY`, `param_sub_type` is required (e.g. `SHORT_TEXT`, `LONG_TEXT`, `NUM`). For `SINGLE_SELECT`, `table_id` is required. **`param_display_name` must be unique within the config item** — duplicate display names return `INVALID_CAPABILITY_REQUEST`. |
|
|
45
|
+
|
|
46
|
+
### update
|
|
47
|
+
|
|
48
|
+
| Parameter | Required | Description |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
51
|
+
| `--config-id` | Yes | Config item ID. |
|
|
52
|
+
| `--param-id` | Yes | Param ID to update. |
|
|
53
|
+
| others | No | See flag descriptions above. |
|
|
54
|
+
|
|
55
|
+
### batch-delete
|
|
56
|
+
|
|
57
|
+
| Parameter | Required | Description |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
60
|
+
| `--param-ids` | Yes | JSON array of param IDs. |
|
|
61
|
+
|
|
62
|
+
## Output
|
|
63
|
+
|
|
64
|
+
- `list`: `data.items` + `data.total`.
|
|
65
|
+
- `batch-add` / `update`: `data.success`.
|
|
66
|
+
- `batch-delete`: `data.success_num` + `data.fail_list` (looped single deletes; non-atomic).
|
|
67
|
+
|
|
68
|
+
## Decision Rules
|
|
69
|
+
|
|
70
|
+
- Use `list` to discover real `param_id`s before update/delete; never invent IDs.
|
|
71
|
+
- `param_type` is case-sensitive; lowercase values like `"string"` are rejected with `PARAM_TYPE_INVALID`.
|
|
72
|
+
- `batch-delete` is `high-risk-write` and requires `--yes`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# engage-scene preset-metric
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.preset-metric.{get,set}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项预置指标(曝光/点击/参与)QP 配置。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Get preset metric QP config of a config item
|
|
11
|
+
ae-cli engage-scene preset-metric get --project-id <project_id> --config-id <config_id>
|
|
12
|
+
|
|
13
|
+
# Set preset metric QP config
|
|
14
|
+
ae-cli engage-scene preset-metric set \
|
|
15
|
+
--project-id <project_id> --config-id <config_id> \
|
|
16
|
+
[--impression-event-qp '<qp json>'] [--click-event-qp '<qp json>'] [--attend-event-qp '<qp json>']
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Parameters
|
|
20
|
+
|
|
21
|
+
### get
|
|
22
|
+
|
|
23
|
+
| Parameter | Required | Description |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
26
|
+
| `--config-id` | Yes | Config item ID. |
|
|
27
|
+
|
|
28
|
+
### set
|
|
29
|
+
|
|
30
|
+
| Parameter | Required | Description |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
33
|
+
| `--config-id` | Yes | Config item ID. |
|
|
34
|
+
| `--impression-event-qp` | No | Impression event QP JSON string. |
|
|
35
|
+
| `--click-event-qp` | No | Click event QP JSON string. |
|
|
36
|
+
| `--attend-event-qp` | No | Attend event QP JSON string. |
|
|
37
|
+
|
|
38
|
+
## Output
|
|
39
|
+
|
|
40
|
+
- `get`: `data` — preset metric QP config.
|
|
41
|
+
- `set`: `data.success` — whether the operation succeeded.
|
|
42
|
+
|
|
43
|
+
## Decision Rules
|
|
44
|
+
|
|
45
|
+
- `get` is read; `set` is `write`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# engage-scene strategy
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.strategy.{create,update,log,batch-copy}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项策略管理。create/update 使用 `--payload` 直传后端 DTO(原生 camelCase 结构),`project_id` 会注入 payload。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Create a config strategy (draft)
|
|
11
|
+
ae-cli engage-scene strategy create --project-id <project_id> \
|
|
12
|
+
--payload '{"configId":"cfg-1","templateId":"tpl-1","strategyName":"s1", ...}'
|
|
13
|
+
|
|
14
|
+
# Update a config strategy
|
|
15
|
+
ae-cli engage-scene strategy update --project-id <project_id> \
|
|
16
|
+
--payload '{"strategyUuid":"uuid-1","strategyName":"s2", ...}'
|
|
17
|
+
|
|
18
|
+
# Query a strategy's log
|
|
19
|
+
ae-cli engage-scene strategy log --project-id <project_id> --strategy-uuid <uuid>
|
|
20
|
+
|
|
21
|
+
# Batch-copy strategies
|
|
22
|
+
ae-cli engage-scene strategy batch-copy --project-id <project_id> --config-id <config_id> \
|
|
23
|
+
--strategy-ids '["s1","s2"]' [--op-mode batch]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Parameters
|
|
27
|
+
|
|
28
|
+
| Command | Required flags | Notes |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| create | `--project-id`, `--payload` | payload = `ConfigStrategyAddDTO`. |
|
|
31
|
+
| update | `--project-id`, `--payload` | payload = `ConfigStrategyModifyDTO` (`strategyUuid` + fields). |
|
|
32
|
+
| log | `--project-id`, `--strategy-uuid` | read. |
|
|
33
|
+
| batch-copy | `--project-id`, `--config-id`, `--strategy-ids` | `--op-mode` optional (default `batch`). |
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
|
|
37
|
+
- `create`: `data.strategy_uuid`.
|
|
38
|
+
- `update`: `data.success`.
|
|
39
|
+
- `log`: `data.log`.
|
|
40
|
+
- `batch-copy`: `data.result`.
|
|
41
|
+
|
|
42
|
+
## Decision Rules
|
|
43
|
+
|
|
44
|
+
- Discover real strategy UUIDs / config IDs first; never invent IDs.
|
|
45
|
+
- **`create` requires an enabled template** on the same config item. Enable workflow: `config-param batch-add` → `template create` → `template update` (non-empty `config[]` with real `paramId`) → `template update-status --status 1`. Otherwise `create` returns `TEMPLATE_ENABLE`.
|
|
46
|
+
- `create` output field is `data.strategy_uuid` (not `strategy_id`).
|
|
47
|
+
- Save-and-submit and strategy test-send are not exposed via `engage-scene` CLI; use legacy `engage +manage_strategy` or the product UI.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# engage-scene template
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-scene.template.{list,get,create,update,update-status,delete}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
场景管理 / 配置中心 - 配置项模板管理。create/update 使用 `--payload` 直传后端 DTO(原生 camelCase 结构),`project_id` 会注入 payload。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List templates of a config item
|
|
11
|
+
ae-cli engage-scene template list --project-id <project_id> --config-id <config_id>
|
|
12
|
+
|
|
13
|
+
# Get a template's detail
|
|
14
|
+
ae-cli engage-scene template get --project-id <project_id> --config-id <config_id> --template-id <template_id>
|
|
15
|
+
|
|
16
|
+
# Create a template
|
|
17
|
+
ae-cli engage-scene template create --project-id <project_id> \
|
|
18
|
+
--payload '{"configId":"cfg-1","templateId":"tpl-1","templateName":"t1","remark":""}'
|
|
19
|
+
|
|
20
|
+
# Update a template (bind config-item params into template.config — required before enable)
|
|
21
|
+
ae-cli engage-scene template update --project-id <project_id> \
|
|
22
|
+
--payload '{
|
|
23
|
+
"configId":"cfg-1",
|
|
24
|
+
"templateId":"tpl-1",
|
|
25
|
+
"templateName":"t1",
|
|
26
|
+
"config":[{
|
|
27
|
+
"paramId":48,
|
|
28
|
+
"paramName":"title",
|
|
29
|
+
"paramDisplayName":"标题",
|
|
30
|
+
"paramType":"STRING",
|
|
31
|
+
"paramSubType":"SHORT_TEXT",
|
|
32
|
+
"isRequired":1,
|
|
33
|
+
"defaultValue":"hello"
|
|
34
|
+
}]
|
|
35
|
+
}'
|
|
36
|
+
|
|
37
|
+
# Enable / disable a template (only after config[] is non-empty)
|
|
38
|
+
ae-cli engage-scene template update-status \
|
|
39
|
+
--project-id <project_id> --config-id <config_id> --template-id <template_id> --status <1|0>
|
|
40
|
+
|
|
41
|
+
# Delete a template (high-risk)
|
|
42
|
+
ae-cli engage-scene template delete --project-id <project_id> --config-id <config_id> --template-id <template_id> --yes
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Parameters
|
|
46
|
+
|
|
47
|
+
| Command | Required flags | Notes |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| list | `--project-id`, `--config-id` | read. |
|
|
50
|
+
| get | `--project-id`, `--config-id`, `--template-id` | read. |
|
|
51
|
+
| create | `--project-id`, `--payload` | payload = `ConfigTemplateAddDTO`. |
|
|
52
|
+
| update | `--project-id`, `--payload` | payload = `ConfigTemplateModifyDTO`. |
|
|
53
|
+
| update-status | `--project-id`, `--config-id`, `--template-id`, `--status` | status 1 enable / 0 disable. |
|
|
54
|
+
| delete | `--project-id`, `--config-id`, `--template-id` | high-risk. |
|
|
55
|
+
|
|
56
|
+
`template update-status --validate` and `--dry-run` perform the same read-only business preflight as execution. They reject incomplete template fields, missing dependency configuration, unsupported status transitions, and status values other than `0` or `1` before any template state is changed.
|
|
57
|
+
|
|
58
|
+
## Output
|
|
59
|
+
|
|
60
|
+
- `list`: `data.items` + `data.total`.
|
|
61
|
+
- `get`: `data.template`.
|
|
62
|
+
- `create` / `update` / `update-status` / `delete`: `data.success`.
|
|
63
|
+
|
|
64
|
+
## Decision Rules
|
|
65
|
+
|
|
66
|
+
- `delete` is `high-risk-write`; requires `--yes` and does not support dry-run.
|
|
67
|
+
- Discover real template IDs with `list`/`get` first; never invent IDs.
|
|
68
|
+
- **`create` requires `templateId` in payload** (unique within config item, <=80 chars), not only `templateName`.
|
|
69
|
+
- **Enable workflow:** (1) `config-param batch-add` on the config item → (2) `template create` → (3) **`template update` with non-empty `config[]`** referencing real `paramId` values from `config-param list` → (4) `template update-status --status 1`. Skipping step 3 returns `TEMPLATE_FIELDS_INCOMPLETE`.
|
|
70
|
+
- Enabling a template is a prerequisite for `strategy create` on the same config (`TEMPLATE_ENABLE` if template disabled).
|
|
71
|
+
- Template test-send is not exposed via `engage-scene` CLI; use the product UI.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# engage-task
|
|
1
|
+
# engage-task task delete
|
|
2
2
|
|
|
3
3
|
Delete an engagement task. High-risk write; requires `--yes` to skip confirmation.
|
|
4
4
|
|
|
5
|
-
> Capability id: `engage-task.
|
|
5
|
+
> Capability id: `engage-task.task.delete` · Domain: `engage`.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
ae-cli engage-task
|
|
8
|
+
ae-cli engage-task task delete --project-id <project-id> --task-id <task-id> --yes
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Parameters
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# engage-setting whitelist
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-setting.whitelist.{add,update,delete,verify}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
## Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Add whitelist entries
|
|
9
|
+
ae-cli engage-setting whitelist add \
|
|
10
|
+
--project-id <project_id> --prop-code <prop_code> --column-name <column_name> \
|
|
11
|
+
--column-type <column_type> \
|
|
12
|
+
--whitelist-list '[{"entity_id":"u1","source_value":"v1","note_name":"n"}]'
|
|
13
|
+
|
|
14
|
+
# Update a whitelist entry's note name
|
|
15
|
+
ae-cli engage-setting whitelist update --project-id <project_id> --whitelist-id <id> --note-name <name>
|
|
16
|
+
|
|
17
|
+
# Delete whitelist entries (high-risk)
|
|
18
|
+
ae-cli engage-setting whitelist delete --project-id <project_id> --whitelist-ids '["wl-1","wl-2"]' --yes
|
|
19
|
+
|
|
20
|
+
# Verify property values against the whitelist
|
|
21
|
+
ae-cli engage-setting whitelist verify \
|
|
22
|
+
--project-id <project_id> --prop-code <prop_code> --column-type <column_type> \
|
|
23
|
+
--whitelist-prop-list '["v1","v2"]'
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Parameters
|
|
27
|
+
|
|
28
|
+
### add
|
|
29
|
+
|
|
30
|
+
| Parameter | Required | Description |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
33
|
+
| `--prop-code` | Yes | Associated user property code. |
|
|
34
|
+
| `--column-name` | Yes | Associated user property field name. |
|
|
35
|
+
| `--column-type` | Yes | Associated user property field type. |
|
|
36
|
+
| `--whitelist-list` | Yes | JSON array of entries (`entity_id`, `source_value`, `note_name`). |
|
|
37
|
+
|
|
38
|
+
### update
|
|
39
|
+
|
|
40
|
+
| Parameter | Required | Description |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
43
|
+
| `--whitelist-id` | Yes | Whitelist entry ID to modify. |
|
|
44
|
+
| `--note-name` | No | New note name. |
|
|
45
|
+
|
|
46
|
+
### delete
|
|
47
|
+
|
|
48
|
+
| Parameter | Required | Description |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
51
|
+
| `--whitelist-ids` | Yes | JSON array of whitelist entry IDs. |
|
|
52
|
+
|
|
53
|
+
### verify
|
|
54
|
+
|
|
55
|
+
| Parameter | Required | Description |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
58
|
+
| `--prop-code` | Yes | Associated user property code. |
|
|
59
|
+
| `--column-type` | Yes | Associated user property field type. |
|
|
60
|
+
| `--whitelist-prop-list` | Yes | JSON array of property values to verify. |
|
|
61
|
+
|
|
62
|
+
## Output
|
|
63
|
+
|
|
64
|
+
- `add`: `data.success_num` — number of entries successfully added.
|
|
65
|
+
- `update` / `delete`: `data.success` — whether the operation succeeded.
|
|
66
|
+
- `verify`: `data.items` (verified entries with `entity_id`, `source_value`, `note_name`, `fail_msg`) and `data.total`.
|
|
67
|
+
|
|
68
|
+
## Decision Rules
|
|
69
|
+
|
|
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 +whitelist_list --project_id <project_id>` first; never invent IDs.
|
|
72
|
+
- `delete` is `high-risk-write` and requires `--yes` (or interactive confirmation).
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# engage-workbench workbench
|
|
2
|
+
|
|
3
|
+
> Capability ids: `engage-workbench.workbench.{list,add,update,delete}` · Domain: `engage`.
|
|
4
|
+
|
|
5
|
+
工作台 - 工作台指标卡槽(workbench slot)管理。每个用户在每个项目下最多 4 个指标卡;卡槽按当前登录用户隔离,`update`/`delete` 只能操作本人卡槽。首次 `list` 会自动初始化 4 个默认卡槽。
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# List the current user's workbench metric slots
|
|
11
|
+
ae-cli engage-workbench workbench list --project-id <project_id>
|
|
12
|
+
|
|
13
|
+
# Add a metric slot (metric + date range + order)
|
|
14
|
+
ae-cli engage-workbench workbench add --project-id <project_id> \
|
|
15
|
+
--metric-type <metric_type> --date-type <date_type> [--order-id <1-4>]
|
|
16
|
+
|
|
17
|
+
# Update a slot (own slot only)
|
|
18
|
+
ae-cli engage-workbench workbench update --project-id <project_id> \
|
|
19
|
+
--slot-id <slot_id> --metric-type <metric_type> --date-type <date_type> [--order-id <1-4>]
|
|
20
|
+
|
|
21
|
+
# Delete a slot (own slot only, high-risk)
|
|
22
|
+
ae-cli engage-workbench workbench delete --project-id <project_id> --slot-id <slot_id> --yes
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Parameters
|
|
26
|
+
|
|
27
|
+
| Command | Required flags | Notes |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| list | `--project-id` / `-p` | read; auto-inits 4 defaults on first access. |
|
|
30
|
+
| add | `--project-id`, `--metric-type`, `--date-type` | write; `--order-id` optional (1-4); max 4 slots. |
|
|
31
|
+
| update | `--project-id`, `--slot-id`, `--metric-type`, `--date-type` | write; own slot only; `--order-id` optional. |
|
|
32
|
+
| delete | `--project-id`, `--slot-id` | high-risk; requires `--yes`; no dry-run; soft-delete. |
|
|
33
|
+
|
|
34
|
+
- `--metric-type`: `WorkbenchSlotMetricTypeEnum` code (1-12), e.g. 1=PLAN, 2=PUSH_SUCCESS_PERSON, 5=NEW_USER_COUNT.
|
|
35
|
+
- `--date-type`: `WorkbenchSlotDateTypeEnum` code (1-13), e.g. 8=LAST_7_DAYS, 10=LAST_30_DAYS, 11=CURRENT.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
- `list`: `data.slots` (array of slot cards: `slot_id`, `metric_code`, `metric_name`, `date_code`, `date_name`, `value`, `order_id`, `status`, ...).
|
|
40
|
+
- `add` / `update`: `data.slot` (the created/updated slot card).
|
|
41
|
+
- `delete`: `data.success`.
|
|
42
|
+
|
|
43
|
+
## Decision Rules
|
|
44
|
+
|
|
45
|
+
- Discover real `slot_id` via `list` first; never invent slot IDs.
|
|
46
|
+
- The same `(metric_type, date_type)` combination cannot be added twice for the same user+project.
|
|
47
|
+
- `add` fails once the user already has 4 slots; remove one with `delete` first.
|
|
48
|
+
- `delete` is `high-risk-write`; it requires `--yes` and does not support dry-run.
|
|
@@ -9,7 +9,8 @@ description: "Interactive generation of an AE tracking plan and upload. Trigger
|
|
|
9
9
|
> English input → English reply; Chinese input → Chinese reply; Japanese input → Japanese reply.
|
|
10
10
|
> If uncertain, default to English.
|
|
11
11
|
> This applies to all output: section titles, phase names, template prompts, example text, option lists, etc.
|
|
12
|
-
> **⚠️ CRITICAL: Template localization is CLI-owned. Do NOT manually translate imported template content with the model. Use the `src/tracking`
|
|
12
|
+
> **⚠️ CRITICAL: Template localization is CLI-owned. Do NOT manually translate imported template content with the model. Use the `src/tracking/i18n` module as the source of truth by setting `AE_LANG=<user_lang>`, writing `draft.meta.lang`, and regenerating through `ae-cli tracking code import-template` / `ae-cli tracking plan draft`.**
|
|
13
|
+
> **Before changing any template-owned localized label, first look up the corresponding translation in `src/tracking/i18n` (for example `resources/xlsx/sheets.ts`, `resources/xlsx/headers.ts`, `resources/xlsx/types.ts`, and `resources/cli/*.json`). If no matching translation exists there, preserve the imported text and ask before rewriting business semantics.**
|
|
13
14
|
> Do NOT copy Chinese text verbatim from this document into English/Japanese replies unless it is an identifier, template name needed for CLI import, or original source material quoted for traceability.
|
|
14
15
|
|
|
15
16
|
## Terminology Glossary
|
|
@@ -72,6 +73,7 @@ Phase 0 → 1 → 2 → 3 → 4, do not skip steps.
|
|
|
72
73
|
> property `display_name`, property `desc`, etc.) should be generated in the **user's input language**.
|
|
73
74
|
> For imported templates, do NOT translate those fields manually. Template sheet names, headers, property type display values,
|
|
74
75
|
> CLI messages, and auto-track/i18n-owned labels must come from `src/tracking/i18n` via `AE_LANG=<user_lang>` and `draft.meta.lang`.
|
|
76
|
+
> When a localized label is needed, inspect `src/tracking/i18n` and use the existing resource key/value; do not invent translations from the model.
|
|
75
77
|
> If template business text needs localization and the CLI/i18n resources do not provide it, preserve the imported text and ask the user before rewriting business semantics.
|
|
76
78
|
> Only identifier fields like `event_name`, `prop_name` remain in English snake_case (canonical format).
|
|
77
79
|
> This skill only cares about command behavior, not internal implementation.
|
|
@@ -498,8 +500,9 @@ Priority from low to high: **template → codebase → prd → chat → autotrac
|
|
|
498
500
|
- Import command: `AE_LANG=<user_lang> ae-cli tracking code import-template --template-name "<template name>" --out .ae-cli/draft.json`
|
|
499
501
|
- ⚠️ **Must validate immediately after template import** (see Phase 1.6); template content may not be fully correct
|
|
500
502
|
- ⚠️ **Do not manually translate template content after import**: Do NOT read draft.json and model-translate `display_name`, `event_desc`, `event_tag`, or property `display_name`/`desc`. Keep imported business content as produced by the CLI/template reader unless the user explicitly asks for semantic rewriting.
|
|
501
|
-
- ⚠️ **Use `src/tracking`
|
|
502
|
-
- ⚠️ **
|
|
503
|
+
- ⚠️ **Use `src/tracking/i18n` for localization owned by the CLI**: `AE_LANG=<user_lang>` + `draft.meta.lang` control CLI messages, xlsx sheet names, xlsx headers, property type display values, and auto-track/i18n-owned labels. If these are wrong, inspect the existing translations under `src/tracking/i18n`, then regenerate with the intended locale instead of editing labels by hand.
|
|
504
|
+
- ⚠️ **No model-invented translations for template labels**: When replacing or explaining a localized template-owned label, use the exact value from `src/tracking/i18n` resources. If no corresponding resource exists, preserve the template text and ask the user before changing semantics.
|
|
505
|
+
- ⚠️ **event_tag is not free-form model translation**: Do not manually map `业务事件`/`系统事件` to another language. Preserve template tags, or rely on `src/tracking/i18n` and autotrack generation for system labels when the CLI owns them.
|
|
503
506
|
- **codebase**: Scan project source directory, extract events/properties from business logic; **same-name events merge prop_names without overwriting existing fields**; new items `source: "codebase"`
|
|
504
507
|
- **prd**: Read all user-provided product documents (md / pdf / docx / URL / images), extract events and properties from each file; **same-name events merge prop_names without overwriting existing fields**; image files analyzed via multimodal interpretation of UI elements and interaction flows; all new items `source: "prd"`
|
|
505
508
|
- **prd path is a folder**: Recursively scan all files in the directory:
|
|
@@ -673,7 +676,7 @@ Run the following command to dynamically discover available templates:
|
|
|
673
676
|
AE_LANG=<user_lang> ae-cli tracking plan list-templates --json
|
|
674
677
|
```
|
|
675
678
|
|
|
676
|
-
**Language rules**: Template names and template business content must not be model-translated. Use localized names only when they are returned by the CLI
|
|
679
|
+
**Language rules**: Template names and template business content must not be model-translated. Use localized names only when they are returned by the CLI or found in `src/tracking/i18n` resources. If `list-templates --json` only returns the original template `name`, display that name as-is and keep it unchanged for import. Before presenting or modifying any localized template-owned label, look it up in `src/tracking/i18n`; do not invent a translation.
|
|
677
680
|
|
|
678
681
|
Built-in templates are resolved by ae-cli from the ae-cli package root. User templates are resolved from the ae-cli user template directory. Do **not** manually construct `./tracking-plan-template/...` paths from the user's current workspace.
|
|
679
682
|
|
|
@@ -1116,7 +1119,7 @@ AE_LANG=<user_lang> ae-cli tracking plan upload --project <projectId> --xlsx .ae
|
|
|
1116
1119
|
- **With `--replace`**: Delete existing project plan first then upload (when user chooses "Replace", or severe conflict switches to replace)
|
|
1117
1120
|
- **Without `--replace`**: AE merge-by-name merge (no conflicts, or advisory only with user confirmation to append)
|
|
1118
1121
|
|
|
1119
|
-
Upload
|
|
1122
|
+
Upload commands MUST pass `--lang <user_lang>` explicitly. `--lang` must match the generated xlsx language and `draft.meta.lang`; `AE_LANG` is only used for CLI messages and xlsx regeneration context. Do not call AE user language config APIs and do not use `--switch-lang`. If the xlsx language is wrong, regenerate the xlsx with the intended language before uploading:
|
|
1120
1123
|
```bash
|
|
1121
1124
|
AE_LANG=<user_lang> ae-cli tracking plan draft --in .ae-cli/draft.json --out .ae-cli/draft.xlsx
|
|
1122
1125
|
AE_LANG=<user_lang> ae-cli tracking plan upload --project <projectId> --xlsx .ae-cli/draft.xlsx --draft .ae-cli/draft.json --lang <user_lang> [--replace]
|
|
@@ -99,7 +99,7 @@ Upload is a two-step capability-gateway flow:
|
|
|
99
99
|
{ "project_id": 1603, "input_file_id": "...", "lang": "zh" }
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
- `lang`
|
|
102
|
+
- Agents MUST pass `lang` with the generated xlsx language (`zh` / `en` / `ja` / `ko`) so the backend resolves localized sheet names and headers consistently.
|
|
103
103
|
- Response: `{ return_code: 0, return_message: "success" }` on success.
|
|
104
104
|
|
|
105
105
|
**合并语义**:对事件走 **merge-by-name**(同名不覆盖、新名新增)。若要完全替换,
|