@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.
Files changed (164) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{capability-SQ2IWKP3.js → capability-QW4AVJHI.js} +1 -1
  4. package/dist/{capability-SEH3JWLN.js → capability-SCRFGODD.js} +1 -1
  5. package/dist/{chunk-N2QORU5D.js → chunk-7OLGDQQ2.js} +5 -2
  6. package/dist/{chunk-TKQJQXWT.js → chunk-TBHBYKXZ.js} +5 -2
  7. package/dist/index.js +46 -24
  8. package/dist/{metadata-X62TKIVK.js → metadata-BFDL6RUK.js} +2 -2
  9. package/dist/{metadata-W6JFFMBA.js → metadata-FCLDBXX2.js} +2 -2
  10. package/dist/{te-analysis-NJGNWZFC.js → te-analysis-PUVF5IF4.js} +1297 -91
  11. package/dist/{te-analysis-YGV5V5EX.js → te-analysis-UJDOKPAN.js} +1297 -91
  12. package/dist/te-common-VUX3VOXZ.js +60 -0
  13. package/dist/te-common-XLAGWNIV.js +60 -0
  14. package/dist/te-engage-K4AEUPK5.js +3894 -0
  15. package/dist/te-engage-QBCCME22.js +3894 -0
  16. package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
  17. package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
  18. package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
  19. package/package.json +1 -1
  20. package/skills/ae-analysis/SKILL.md +10 -7
  21. package/skills/ae-analysis/references/adhoc_export.md +3 -6
  22. package/skills/ae-analysis/references/adhoc_run.md +5 -9
  23. package/skills/ae-analysis/references/ai_models.md +17 -1
  24. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  25. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  26. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  27. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  28. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  29. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  30. package/skills/ae-analysis/references/command_index.md +62 -28
  31. package/skills/ae-analysis/references/create_entity.md +2 -2
  32. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
  33. package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
  34. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  35. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  36. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  37. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  38. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  39. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  40. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  41. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  42. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  43. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  44. package/skills/ae-analysis/references/event_list.md +10 -2
  45. package/skills/ae-analysis/references/list_entities.md +1 -1
  46. package/skills/ae-analysis/references/metric_create.md +13 -4
  47. package/skills/ae-analysis/references/metric_delete.md +7 -0
  48. package/skills/ae-analysis/references/metric_get.md +6 -0
  49. package/skills/ae-analysis/references/metric_list.md +16 -3
  50. package/skills/ae-analysis/references/metric_update.md +12 -1
  51. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  52. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  53. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  54. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  55. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  56. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  57. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  58. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  59. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  60. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  61. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  62. package/skills/ae-analysis/references/project_function_list.md +24 -0
  63. package/skills/ae-analysis/references/project_info_get.md +23 -0
  64. package/skills/ae-analysis/references/project_info_list.md +26 -0
  65. package/skills/ae-analysis/references/project_info_update.md +25 -0
  66. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  67. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  68. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  69. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  70. package/skills/ae-analysis/references/project_member_add.md +25 -0
  71. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  72. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  73. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  74. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  75. package/skills/ae-analysis/references/project_member_import.md +25 -0
  76. package/skills/ae-analysis/references/project_member_list.md +23 -0
  77. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  78. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  79. package/skills/ae-analysis/references/project_member_update.md +25 -0
  80. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  81. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  82. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  83. package/skills/ae-analysis/references/project_role_delete.md +25 -0
  84. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  85. package/skills/ae-analysis/references/project_role_get.md +23 -0
  86. package/skills/ae-analysis/references/project_role_list.md +25 -0
  87. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  88. package/skills/ae-analysis/references/project_role_user_list.md +23 -0
  89. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  90. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  91. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  92. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  93. package/skills/ae-analysis/references/property_list.md +21 -6
  94. package/skills/ae-analysis/references/public_link_create.md +1 -1
  95. package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
  96. package/skills/ae-analysis/references/report_create.md +1 -1
  97. package/skills/ae-analysis/references/report_data_export.md +2 -2
  98. package/skills/ae-analysis/references/report_data_run.md +2 -2
  99. package/skills/ae-analysis/references/report_get.md +2 -0
  100. package/skills/ae-analysis/references/report_update.md +1 -1
  101. package/skills/ae-analysis/references/user_cluster_create.md +3 -1
  102. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  103. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  104. package/skills/ae-analysis/references/user_cluster_update.md +3 -1
  105. package/skills/ae-analysis/references/user_tag_create.md +3 -1
  106. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  107. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  108. package/skills/ae-analysis/references/user_tag_update.md +3 -1
  109. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  110. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  111. package/skills/ae-engage/SKILL.md +202 -7
  112. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  113. package/skills/ae-engage/references/activity-activity.md +70 -0
  114. package/skills/ae-engage/references/activity-approval.md +53 -0
  115. package/skills/ae-engage/references/activity-task.md +87 -0
  116. package/skills/ae-engage/references/activity-topic.md +98 -0
  117. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  118. package/skills/ae-engage/references/channel-test-send.md +37 -0
  119. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  120. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  121. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  122. package/skills/ae-engage/references/channel-update-config.md +36 -0
  123. package/skills/ae-engage/references/client-param.md +58 -0
  124. package/skills/ae-engage/references/common-metric.md +75 -0
  125. package/skills/ae-engage/references/config-table.md +92 -0
  126. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  127. package/skills/ae-engage/references/operation-log-query.md +1 -1
  128. package/skills/ae-engage/references/preset-event.md +42 -0
  129. package/skills/ae-engage/references/push-language.md +39 -0
  130. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  131. package/skills/ae-engage/references/scene-config-group.md +62 -0
  132. package/skills/ae-engage/references/scene-config-item.md +68 -0
  133. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  134. package/skills/ae-engage/references/scene-config-param.md +72 -0
  135. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  136. package/skills/ae-engage/references/scene-strategy.md +47 -0
  137. package/skills/ae-engage/references/scene-template.md +71 -0
  138. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  139. package/skills/ae-engage/references/whitelist.md +72 -0
  140. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  141. package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
  142. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  143. package/skills/ae-kb/SKILL.md +34 -8
  144. package/skills/ae-metadata/SKILL.md +1 -1
  145. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  146. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  147. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  148. package/dist/te-common-5NJLF3XG.js +0 -130
  149. package/dist/te-common-7VTJZPII.js +0 -130
  150. package/dist/te-engage-BUWVSSSK.js +0 -1912
  151. package/dist/te-engage-EPE3QKDE.js +0 -1912
  152. package/skills/ae-analysis/references/create_metric.md +0 -58
  153. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  154. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  155. package/skills/ae-analysis/references/delete_metric.md +0 -32
  156. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  157. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  158. package/skills/ae-analysis/references/get_metric.md +0 -38
  159. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  160. package/skills/ae-analysis/references/list_events.md +0 -46
  161. package/skills/ae-analysis/references/list_metrics.md +0 -52
  162. package/skills/ae-analysis/references/list_properties.md +0 -47
  163. package/skills/ae-analysis/references/update_metric.md +0 -58
  164. 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 ops delete
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.ops.delete` · Domain: `engage`.
5
+ > Capability id: `engage-task.task.delete` · Domain: `engage`.
6
6
 
7
7
  ```bash
8
- ae-cli engage-task ops delete --project-id <project-id> --task-id <task-id> --yes
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` i18n pipeline by setting `AE_LANG=<user_lang>`, writing `draft.meta.lang`, and regenerating through `ae-cli tracking code import-template` / `ae-cli tracking plan draft`.**
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` 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, regenerate with the intended locale instead of editing labels by hand.
502
- - ⚠️ **event_tag is not free-form model translation**: Do not manually map `业务事件`/`系统事件` to another language. Preserve template tags, or rely on `src/tracking` i18n/autotrack generation for system labels when the CLI owns them.
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 / `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.
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 language is controlled locally by `AE_LANG`, `--lang`, or `draft.meta.lang`. 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:
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` is optional for backward compatibility, but Agents should pass the generated xlsx language (`zh` / `en` / `ja` / `ko`) so the backend resolves localized sheet names and headers consistently.
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**(同名不覆盖、新名新增)。若要完全替换,