@thinkingai/ae-cli 6.1.10 → 6.1.11

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 (225) hide show
  1. package/README.md +25 -3
  2. package/README.zh.md +25 -3
  3. package/dist/{auth-56Z45UVR.js → auth-GDV3H5I4.js} +18 -8
  4. package/dist/{auth-ENM3FE6L.js → auth-NN55553T.js} +3 -3
  5. package/dist/{capability-2H6PAOA3.js → capability-TPORIKRQ.js} +19 -15
  6. package/dist/{capability-YPOQX6PL.js → capability-VQNC5CF7.js} +19 -15
  7. package/dist/chunk-4NN5IWVN.js +26 -0
  8. package/dist/{chunk-DB4Q3ANU.js → chunk-6A2FUCIS.js} +3 -3
  9. package/dist/{chunk-PVBYJWC2.js → chunk-7KQWSBSL.js} +4 -4
  10. package/dist/{chunk-24BAVOX3.js → chunk-AXDXJTPC.js} +3 -1
  11. package/dist/{chunk-CPVTECJ3.js → chunk-DT6Y3TD7.js} +5 -5
  12. package/dist/{chunk-EGEIXA2Z.js → chunk-DWO43OIB.js} +0 -248
  13. package/dist/{chunk-V6FR6WTW.js → chunk-GJJA4CQZ.js} +34 -2
  14. package/dist/{chunk-RGXCNC4N.js → chunk-GS2P7LFD.js} +50 -17
  15. package/dist/{chunk-LYVNONC4.js → chunk-JHENBQ5B.js} +35 -0
  16. package/dist/{chunk-3P3562ZX.js → chunk-MVDZ7DBQ.js} +5 -5
  17. package/dist/{chunk-LCXU3AAT.js → chunk-NBPKWKRA.js} +2 -2
  18. package/dist/{chunk-HQ2A7ITL.js → chunk-RBNKI5ZW.js} +50 -17
  19. package/dist/{chunk-LHVM35J4.js → chunk-TS6BUGUY.js} +4 -4
  20. package/dist/chunk-TUKQZTMI.js +250 -0
  21. package/dist/{chunk-J7MZHDHQ.js → chunk-VKD5WQKN.js} +5 -5
  22. package/dist/{chunk-3KI3RRXX.js → chunk-VTXHDCBW.js} +3 -3
  23. package/dist/{chunk-KTYR3U6D.js → chunk-YTG6Q75E.js} +10 -6
  24. package/dist/{chunk-IR4ZLVPW.js → chunk-YV52FB5G.js} +25 -3
  25. package/dist/{chunk-E7UXXHO3.js → chunk-Z3OXWCIA.js} +3 -3
  26. package/dist/{cli-token-4SBMXAUK.js → cli-token-GL5MS5FK.js} +4 -4
  27. package/dist/{client-PP5FETMW.js → client-DAIPF7XN.js} +4 -4
  28. package/dist/{community-report-client-KK2QBANO.js → community-report-client-M2RW4MXD.js} +2 -2
  29. package/dist/config-4VZNLBKF.js +489 -0
  30. package/dist/index.js +94 -35
  31. package/dist/memory-RWJW4XFO.js +892 -0
  32. package/dist/memory-VO2ZJCRT.js +892 -0
  33. package/dist/{metadata-JIQ77HFY.js → metadata-YGTHR2XJ.js} +8 -8
  34. package/dist/{metadata-AN3YFZEV.js → metadata-ZRN2GHPN.js} +8 -8
  35. package/dist/{model-JASQVOFD.js → model-CLUIK3K5.js} +7 -5
  36. package/dist/{raw-XJCAT3HX.js → raw-52B4UKO4.js} +8 -7
  37. package/dist/sync-3REDHGY6.js +10259 -0
  38. package/dist/{te-agent-JHUG6DVV.js → te-agent-XNPELAKX.js} +580 -84
  39. package/dist/{te-analysis-ITKTO6JS.js → te-analysis-GJI5FZUL.js} +1152 -13
  40. package/dist/{te-analysis-RAC67YYD.js → te-analysis-N2BRDJZ5.js} +1152 -13
  41. package/dist/{te-community-QOYIYEJI.js → te-community-SQXKE5OO.js} +7 -7
  42. package/dist/{te-community-UFKI6ONP.js → te-community-TYSNU3NQ.js} +7 -7
  43. package/dist/{te-dataops-PZQ5NQLY.js → te-dataops-5TM7WZDI.js} +370 -189
  44. package/dist/{te-dataops-XTWVTJCA.js → te-dataops-OWIADNSM.js} +370 -189
  45. package/dist/{te-engage-NLZUPSBK.js → te-engage-F7V55KVW.js} +333 -105
  46. package/dist/{te-engage-E7F4HTXU.js → te-engage-FMYAYCNV.js} +333 -105
  47. package/dist/{te-experiment-N63WF7XA.js → te-experiment-JWXOYJ3W.js} +83 -10
  48. package/dist/{te-experiment-D32TB6ZB.js → te-experiment-UPDMHCAJ.js} +83 -10
  49. package/dist/{te-kb-E7NSCBRB.js → te-kb-VRMEY3D4.js} +6 -6
  50. package/dist/{te-meta-GBDTMPEL.js → te-meta-53BVXPFI.js} +7 -7
  51. package/dist/{te-meta-ZTLTSHXC.js → te-meta-TOCBPBXI.js} +7 -7
  52. package/dist/{te-system-AH7DMCAQ.js → te-system-XGS5EQIQ.js} +4 -4
  53. package/dist/{te-team-BQ3SKSZV.js → te-team-BZRDV2CM.js} +7 -7
  54. package/dist/{update-DKG6UXEM.js → update-HEDXGOJH.js} +8 -6
  55. package/package.json +4 -1
  56. package/skills/ae-agent/SKILL.md +178 -16
  57. package/skills/ae-agent/references/add-skill.md +22 -10
  58. package/skills/ae-agent/references/edit-skill.md +24 -14
  59. package/skills/ae-agent/references/find-archived-conversations.md +82 -0
  60. package/skills/ae-agent/references/restore-conversation.md +54 -0
  61. package/skills/ae-agent/references/upload-skill.md +24 -14
  62. package/skills/ae-analysis/SKILL.md +1 -1
  63. package/skills/ae-analysis/references/command_index.md +104 -42
  64. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  65. package/skills/ae-analysis/references/project_access_detail_get.md +3 -3
  66. package/skills/ae-analysis/references/project_data_power_delete.md +3 -3
  67. package/skills/ae-analysis/references/project_data_power_get.md +3 -3
  68. package/skills/ae-analysis/references/project_data_power_list.md +3 -3
  69. package/skills/ae-analysis/references/project_data_power_upsert.md +3 -3
  70. package/skills/ae-analysis/references/project_entity_create.md +3 -3
  71. package/skills/ae-analysis/references/project_entity_delete.md +3 -3
  72. package/skills/ae-analysis/references/project_entity_event_list.md +3 -3
  73. package/skills/ae-analysis/references/project_entity_get.md +3 -3
  74. package/skills/ae-analysis/references/project_entity_list.md +3 -3
  75. package/skills/ae-analysis/references/project_entity_update.md +3 -3
  76. package/skills/ae-analysis/references/project_function_list.md +3 -3
  77. package/skills/ae-analysis/references/project_info_create.md +25 -0
  78. package/skills/ae-analysis/references/project_info_delete.md +24 -0
  79. package/skills/ae-analysis/references/project_info_get.md +3 -3
  80. package/skills/ae-analysis/references/project_info_list.md +3 -3
  81. package/skills/ae-analysis/references/project_info_update.md +3 -3
  82. package/skills/ae-analysis/references/project_mark_time_create.md +3 -3
  83. package/skills/ae-analysis/references/project_mark_time_delete.md +3 -3
  84. package/skills/ae-analysis/references/project_mark_time_list.md +3 -3
  85. package/skills/ae-analysis/references/project_mark_time_update.md +3 -3
  86. package/skills/ae-analysis/references/project_member_add.md +3 -3
  87. package/skills/ae-analysis/references/project_member_batch_update.md +3 -3
  88. package/skills/ae-analysis/references/project_member_candidate_list.md +3 -3
  89. package/skills/ae-analysis/references/project_member_handover_export.md +3 -3
  90. package/skills/ae-analysis/references/project_member_handover_run.md +3 -3
  91. package/skills/ae-analysis/references/project_member_import.md +3 -3
  92. package/skills/ae-analysis/references/project_member_list.md +3 -3
  93. package/skills/ae-analysis/references/project_member_receiver_list.md +3 -3
  94. package/skills/ae-analysis/references/project_member_remove.md +3 -3
  95. package/skills/ae-analysis/references/project_member_update.md +3 -3
  96. package/skills/ae-analysis/references/project_owner_update.md +3 -3
  97. package/skills/ae-analysis/references/project_permission_binding_list.md +3 -3
  98. package/skills/ae-analysis/references/project_receive_status_update.md +3 -3
  99. package/skills/ae-analysis/references/project_role_delete.md +3 -3
  100. package/skills/ae-analysis/references/project_role_function_list.md +3 -3
  101. package/skills/ae-analysis/references/project_role_get.md +3 -3
  102. package/skills/ae-analysis/references/project_role_list.md +3 -3
  103. package/skills/ae-analysis/references/project_role_upsert.md +3 -3
  104. package/skills/ae-analysis/references/project_role_user_list.md +3 -3
  105. package/skills/ae-analysis/references/project_space_list.md +1 -1
  106. package/skills/ae-analysis/references/project_timezone_get.md +3 -3
  107. package/skills/ae-analysis/references/project_timezone_overview.md +3 -3
  108. package/skills/ae-analysis/references/project_timezone_update.md +3 -3
  109. package/skills/ae-analysis/references/project_user_id_items_update.md +3 -3
  110. package/skills/ae-analysis/references/system_admin_function_list.md +22 -0
  111. package/skills/ae-analysis/references/system_admin_function_update.md +26 -0
  112. package/skills/ae-analysis/references/system_admin_list.md +21 -0
  113. package/skills/ae-analysis/references/system_admin_remove.md +25 -0
  114. package/skills/ae-analysis/references/system_admin_upsert.md +25 -0
  115. package/skills/ae-analysis/references/system_function_list.md +21 -0
  116. package/skills/ae-analysis/references/system_member_add.md +25 -0
  117. package/skills/ae-analysis/references/system_member_candidate_list.md +22 -0
  118. package/skills/ae-analysis/references/system_member_delete.md +25 -0
  119. package/skills/ae-analysis/references/system_member_list.md +24 -0
  120. package/skills/ae-analysis/references/system_member_mfa_unbind.md +25 -0
  121. package/skills/ae-analysis/references/system_member_password_reset.md +32 -0
  122. package/skills/ae-analysis/references/system_member_project_batch_update.md +27 -0
  123. package/skills/ae-analysis/references/system_member_status_update.md +26 -0
  124. package/skills/ae-analysis/references/system_member_update.md +23 -0
  125. package/skills/ae-analysis/references/system_mfa_get.md +21 -0
  126. package/skills/ae-analysis/references/system_mfa_update.md +25 -0
  127. package/skills/ae-analysis/references/system_node_monitor_list.md +24 -0
  128. package/skills/ae-analysis/references/system_oauth2_update.md +22 -0
  129. package/skills/ae-analysis/references/system_ops_alert_contact_delete.md +25 -0
  130. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +23 -0
  131. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +29 -0
  132. package/skills/ae-analysis/references/system_ops_alert_contact_upsert.md +39 -0
  133. package/skills/ae-analysis/references/system_preference_get.md +21 -0
  134. package/skills/ae-analysis/references/system_preference_update.md +22 -0
  135. package/skills/ae-analysis/references/system_project_usage_list.md +28 -0
  136. package/skills/ae-analysis/references/system_query_alert_rule_list.md +21 -0
  137. package/skills/ae-analysis/references/system_query_alert_rule_update.md +26 -0
  138. package/skills/ae-analysis/references/system_query_monitor_overview.md +26 -0
  139. package/skills/ae-analysis/references/system_query_task_cancel.md +25 -0
  140. package/skills/ae-analysis/references/system_query_task_export.md +49 -0
  141. package/skills/ae-analysis/references/system_query_task_get.md +23 -0
  142. package/skills/ae-analysis/references/system_query_task_list.md +35 -0
  143. package/skills/ae-analysis/references/system_query_task_options.md +27 -0
  144. package/skills/ae-analysis/references/system_receiver_address_delete.md +26 -0
  145. package/skills/ae-analysis/references/system_receiver_address_overview.md +21 -0
  146. package/skills/ae-analysis/references/system_receiver_address_project_list.md +21 -0
  147. package/skills/ae-analysis/references/system_receiver_address_promote.md +24 -0
  148. package/skills/ae-analysis/references/system_receiver_address_upsert.md +27 -0
  149. package/skills/ae-analysis/references/system_receiver_detection_get.md +22 -0
  150. package/skills/ae-analysis/references/system_receiver_detection_run.md +22 -0
  151. package/skills/ae-analysis/references/system_receiver_detection_update.md +25 -0
  152. package/skills/ae-analysis/references/system_role_delete.md +26 -0
  153. package/skills/ae-analysis/references/system_role_function_list.md +22 -0
  154. package/skills/ae-analysis/references/system_role_get.md +22 -0
  155. package/skills/ae-analysis/references/system_role_list.md +24 -0
  156. package/skills/ae-analysis/references/system_role_upsert.md +27 -0
  157. package/skills/ae-analysis/references/system_role_user_list.md +22 -0
  158. package/skills/ae-analysis/references/system_seat_list.md +25 -0
  159. package/skills/ae-analysis/references/system_seat_update.md +26 -0
  160. package/skills/ae-analysis/references/system_smtp_delete.md +24 -0
  161. package/skills/ae-analysis/references/system_smtp_get.md +21 -0
  162. package/skills/ae-analysis/references/system_smtp_test.md +22 -0
  163. package/skills/ae-analysis/references/system_smtp_upsert.md +31 -0
  164. package/skills/ae-analysis/references/system_third_party_login_disable.md +25 -0
  165. package/skills/ae-analysis/references/system_third_party_login_list.md +21 -0
  166. package/skills/ae-analysis/references/system_third_party_login_upsert.md +33 -0
  167. package/skills/ae-analysis/references/system_usage_overview.md +21 -0
  168. package/skills/ae-analysis/references/system_usage_trend_export.md +44 -0
  169. package/skills/ae-analysis/references/system_usage_trend_query.md +28 -0
  170. package/skills/ae-dataops/SKILL.md +1 -1
  171. package/skills/ae-dataops/references/dataops-flow-create.md +51 -16
  172. package/skills/ae-engage/SKILL.md +56 -26
  173. package/skills/ae-engage/references/activity-activity.md +3 -0
  174. package/skills/ae-engage/references/activity-approval.md +12 -4
  175. package/skills/ae-engage/references/activity-task.md +21 -6
  176. package/skills/ae-engage/references/activity-topic.md +31 -13
  177. package/skills/ae-engage/references/add-channel.md +170 -41
  178. package/skills/ae-engage/references/build-task-save-guide.md +40 -27
  179. package/skills/ae-engage/references/channel-update-config.md +3 -2
  180. package/skills/ae-engage/references/common-metric.md +48 -120
  181. package/skills/ae-engage/references/flow-detail.md +13 -0
  182. package/skills/ae-engage/references/preset-event.md +12 -32
  183. package/skills/ae-engage/references/save-flow.md +127 -64
  184. package/skills/ae-engage/references/save-task.md +197 -59
  185. package/skills/ae-engage/references/scene-config-metric.md +3 -0
  186. package/skills/ae-engage/references/scene-preset-metric.md +8 -37
  187. package/skills/ae-engage/references/scene-strategy-audience.md +51 -643
  188. package/skills/ae-engage/references/scene-strategy.md +6 -6
  189. package/skills/ae-engage/references/task-detail.md +10 -0
  190. package/skills/ae-engage/references/task-submit-approval.md +45 -0
  191. package/skills/ae-engage/references/validate-flow-node-config.md +1 -1
  192. package/skills/ae-experiment/SKILL.md +21 -1
  193. package/skills/ae-experiment/references/check_experiment_ready.md +2 -0
  194. package/skills/ae-experiment/references/query_experiment_detail.md +6 -0
  195. package/skills/ae-experiment/references/query_experiment_list.md +4 -0
  196. package/skills/ae-experiment/references/query_experiment_list_archived.md +3 -0
  197. package/skills/ae-experiment/references/query_metric_detail.md +5 -0
  198. package/skills/ae-experiment/references/query_metric_list.md +3 -0
  199. package/skills/ae-experiment/references/save_experiment.md +46 -3
  200. package/skills/ae-experiment/references/save_metric.md +62 -0
  201. package/skills/ae-experiment/references/save_submit_experiment.md +3 -0
  202. package/skills/ae-experiment-design/SKILL.md +149 -0
  203. package/skills/ae-experiment-design/agents/openai.yaml +4 -0
  204. package/skills/ae-experiment-design/references/client-experiment-sdk.md +147 -0
  205. package/skills/ae-experiment-design/references/experiment-creation.md +108 -0
  206. package/skills/ae-experiment-design/references/experiment-sdk-contract.md +100 -0
  207. package/skills/ae-experiment-design/references/exposure-contract.md +91 -0
  208. package/skills/ae-experiment-design/references/hybrid-experiment-sdk.md +74 -0
  209. package/skills/ae-experiment-design/references/metric-readiness.md +143 -0
  210. package/skills/ae-experiment-design/references/platform-operations.md +99 -0
  211. package/skills/ae-experiment-design/references/sdk-index.md +76 -0
  212. package/skills/ae-experiment-design/references/sdk-integration.md +114 -0
  213. package/skills/ae-experiment-design/references/sdk-troubleshooting.md +139 -0
  214. package/skills/ae-experiment-design/references/server-experiment-sdk.md +78 -0
  215. package/skills/ae-experiment-design/scripts/calculate_experiment_plan.py +450 -0
  216. package/skills/ae-experiment-insight/SKILL.md +149 -0
  217. package/skills/ae-experiment-insight/agents/openai.yaml +4 -0
  218. package/skills/ae-experiment-insight/references/decision-framework.md +69 -0
  219. package/skills/ae-experiment-insight/references/diagnostic-playbook.md +225 -0
  220. package/skills/ae-experiment-insight/references/platform-operations.md +76 -0
  221. package/skills/ae-experiment-insight/scripts/analyze_experiment.py +478 -0
  222. package/skills/ae-generate-tracking-code/SKILL.md +2 -2
  223. package/skills/ae-metadata/SKILL.md +1 -1
  224. package/dist/config-BSSALXEN.js +0 -128
  225. package/dist/sync-QFP4XFN3.js +0 -485
@@ -10,18 +10,20 @@ Recommended workflow:
10
10
 
11
11
  1. `ae-cli engage-setting channel list --project-id <projectId>`
12
12
  2. `ae-cli engage-task task build-save-guide --project-id <projectId> --req '{...}'`
13
- 3. If the guide indicates QP-derived fields, call `ae-cli engage-setting query cluster-qp-skill --project-id <projectId>` and build
14
- `targetConfig.qp`, `triggerConfig.triggerRule`, `clientConfig.clientQp`, or `completionIndicatorDef.event`
15
- from the returned skill text. For existing-cluster audiences, use `analysis user-cluster get`.
13
+ 3. If the guide indicates a custom target audience, build the semantic
14
+ `targetConfig.definitionRequest` contract used by Analysis. Hermes compiles it to persisted QP.
15
+ Use `triggerConfig.triggerDefinition` and
16
+ `completionIndicatorDef.completionIndicators[].eventDefinition` for event conditions.
17
+ For existing-cluster audiences, use `analysis user-cluster get`.
18
+ Never construct persisted execution QP.
16
19
  4. Build the final grouped `req`
17
20
  5. `ae-cli engage-task task save --project-id <projectId> --req '{...}'`
18
21
 
19
22
  Audience creation is not a fixed preflight step. Use direct create/get only when the guide indicates that you must construct:
20
23
 
21
- - `targetConfig.qp`
22
- - `triggerConfig.triggerRule`
23
- - `clientConfig.clientQp`
24
- - `completionIndicatorDef.event`
24
+ - `targetConfig.definitionRequest`
25
+ - `triggerConfig.triggerDefinition`
26
+ - `completionIndicatorDef.completionIndicators[].eventDefinition`
25
27
 
26
28
  For the full guide contract, request format, return sections, and handoff usage, read:
27
29
 
@@ -31,7 +33,9 @@ For the full guide contract, request format, return sections, and handoff usage,
31
33
 
32
34
  ## 1. General Principles
33
35
 
34
- `engage-task task save` accepts only the final grouped draft-save payload that Hermes can validate and persist.
36
+ `engage-task task save` accepts the grouped draft-save payload. For a custom audience
37
+ (`targetClusterType=1`), pass semantic `targetConfig.definitionRequest`; do not pass raw
38
+ persisted audience fields.
35
39
 
36
40
  The command supports two modes:
37
41
 
@@ -101,21 +105,26 @@ Use the guide to determine:
101
105
  - current handoff template
102
106
  - whether the current payload is already close to submit-ready
103
107
 
104
- ### 2.3 Create and Read the Audience Only When Needed
108
+ ### 2.3 Build Semantic Conditions
105
109
 
106
- If the guide indicates that an audience or QP-derived fields are needed, run:
110
+ If the guide indicates that audience or event conditions are needed, build semantic definitions
111
+ directly. Resolve real events and properties through Analysis metadata.
107
112
 
108
- ```bash
109
- ae-cli analysis user-cluster create --project-id <projectId> --cluster-name <condition_cluster_name> --display-name <display_name> --definition-request '<semantic-definition-json>'
110
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
111
- ```
113
+ Use semantic event definitions for:
114
+
115
+ - `triggerConfig.triggerDefinition`
116
+ - `completionIndicatorDef.completionIndicators[].eventDefinition`
117
+
118
+ Task aggregate and completion event definitions support:
112
119
 
113
- Prefer the returned `cluster_name`/`clusterKey`. Only when required, use the server-authored definition to build:
120
+ - `aggregation`: `count`, `sum`, or `distinct_count`
121
+ - `operator`: `gt`, `gte`, or `eq`
114
122
 
115
- - `targetConfig.qp`
116
- - `triggerConfig.triggerRule`
117
- - `clientConfig.clientQp`
118
- - `completionIndicatorDef.event`
123
+ Trigger events have an additional envelope contract selected by `eventTriggerType`. Do not apply
124
+ one aggregate event shape to every trigger type. Use the matrix and examples in section 4.4.
125
+
126
+ `clientConfig.clientQp` is not an AI-authored field. Always omit it from Capability requests;
127
+ partial task updates preserve existing server state.
119
128
 
120
129
  Do not create an audience by default for every task. It is conditional, not mandatory.
121
130
 
@@ -192,16 +201,12 @@ Content guidance:
192
201
 
193
202
  Use the guide to decide which audience shape applies:
194
203
 
195
- - `targetClusterType=1`: custom audience, requires `qp`
204
+ - `targetClusterType=1`: custom audience, requires `definitionRequest`
196
205
  - `targetClusterType=2`: existing cluster, requires `clusterKey`
197
- - `targetClusterType=3`: all users, forbids both `qp` and `clusterKey`
198
-
199
- If `qp` is required, create/read a server-authored audience and copy the saved definition rather than building raw QP:
206
+ - `targetClusterType=3`: all users, forbids `definitionRequest` and `clusterKey`
200
207
 
201
- ```bash
202
- ae-cli analysis user-cluster create --project-id <projectId> --cluster-name <condition_cluster_name> --display-name <display_name> --definition-request '<semantic-definition-json>'
203
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
204
- ```
208
+ For a custom audience, pass the semantic definition directly. Do not create an intermediate
209
+ cluster or copy persisted QP.
205
210
 
206
211
  ### 4.4 `triggerConfig`
207
212
 
@@ -209,32 +214,173 @@ Use the guide to determine the current trigger rule set:
209
214
 
210
215
  - `triggerType=0`: requires `triggerTime`
211
216
  - `triggerType=1`: requires `startDate`, `endDate`, `triggerCrontab`
212
- - `triggerType=2`: manual, no `triggerRule`
213
- - `triggerType=3/4/5`: requires `triggerRule`
217
+ - `triggerType=2`: manual, no `triggerDefinition`
218
+ - `triggerType=3/4/5`: requires `triggerDefinition`
214
219
 
215
220
  Rules:
216
221
 
217
222
  - `triggerType=6` is not supported
218
223
  - use the guide for cron format and wrong-example checks
219
- - if `triggerRule` is needed, copy it from the saved server-authored audience definition:
224
+ - if `triggerDefinition` is needed, build it from semantic event definitions and resolve real
225
+ event/property names through Analysis metadata
226
+ - always set the A rule's `eventTriggerType` explicitly
227
+ - Hermes compiles the semantic event and then validates the final persisted trigger-rule envelope
228
+ - for semantic event-trigger tasks, Hermes backfills missing task-level `startDate` / `endDate`
229
+ from the A rule's `periodStart` / `periodEnd`; explicit task-level dates remain authoritative
220
230
 
221
- ```bash
222
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
231
+ #### Trigger envelope matrix
232
+
233
+ | Channel | `triggerType` | Allowed A-rule `eventTriggerType` |
234
+ | --- | --- | --- |
235
+ | Server channels | `3` | `0`, `1`, `2` |
236
+ | Server channels | `4` | `0` only |
237
+ | Server channels | `5` | `0`, `1`, `2` |
238
+ | `client_push` (`channelType=3`) | `3` | `1`, `2`, `3` |
239
+ | `client_push` (`channelType=3`) | `5` | `1`, `2`, `3` |
240
+
241
+ For `triggerType=4/5`, the second B rule is always an aggregate rule. It also requires
242
+ `delayTime`, `delayTimeSymbol`, and `eventCondition`; use `1` for `triggerType=4` and `0` for
243
+ `triggerType=5`.
244
+
245
+ #### `eventTriggerType=0`: accumulated completion
246
+
247
+ Use aggregate semantic events:
248
+
249
+ ```json
250
+ {
251
+ "eventTriggerType": 0,
252
+ "events": [
253
+ {
254
+ "type": "event",
255
+ "event": "purchase",
256
+ "aggregation": "sum",
257
+ "property": "amount",
258
+ "operator": "gt",
259
+ "value": 100
260
+ }
261
+ ]
262
+ }
223
263
  ```
224
264
 
225
- ### 4.5 `controlConfig`
265
+ #### `eventTriggerType=1`: continuous completion
226
266
 
227
- Minimum required field:
267
+ Use exactly one count event with `operator=eq` and `value>=2`. `blackList` is optional and accepts
268
+ semantic events that Hermes compiles as non-aggregate event selectors. The rule-level window is
269
+ optional; provide `windowGap` and `windowGapTimeUnit` together.
270
+ `relationProps` is optional and uses semantic event-property references. Hermes resolves their
271
+ legacy metadata before persistence:
228
272
 
229
- - `completionIndicatorDef`
273
+ ```json
274
+ {
275
+ "relationProps": [
276
+ {
277
+ "property": {
278
+ "type": "event_property",
279
+ "name": "#city"
280
+ }
281
+ }
282
+ ]
283
+ }
284
+ ```
285
+
286
+ ```json
287
+ {
288
+ "eventTriggerType": 1,
289
+ "windowGap": 7,
290
+ "windowGapTimeUnit": "day",
291
+ "events": [
292
+ {
293
+ "type": "event",
294
+ "event": "login",
295
+ "aggregation": "count",
296
+ "operator": "eq",
297
+ "value": 3
298
+ }
299
+ ],
300
+ "blackList": [
301
+ {
302
+ "type": "event",
303
+ "event": "logout",
304
+ "aggregation": "count",
305
+ "operator": "eq",
306
+ "value": 1
307
+ }
308
+ ]
309
+ }
310
+ ```
230
311
 
231
- When the guide points to event-based completion or experiment-driven main-goal rules, use the saved server-authored audience definition:
312
+ #### `eventTriggerType=2`: ordered completion
232
313
 
233
- ```bash
234
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
314
+ Use at least two sequence steps. The first and last steps must have `hasDone=true`. Put the
315
+ Analysis semantic event inside `eventDefinition`; do not add persisted aggregate fields such as
316
+ `taPropQuota`, `uceCalcuSymbol`, or `num`.
317
+ Optional `relationProps` use the same semantic event-property structure documented for
318
+ `eventTriggerType=1`.
319
+
320
+ ```json
321
+ {
322
+ "eventTriggerType": 2,
323
+ "events": [
324
+ {
325
+ "eventDefinition": {
326
+ "type": "event",
327
+ "event": "login",
328
+ "aggregation": "count",
329
+ "operator": "eq",
330
+ "value": 1
331
+ },
332
+ "hasDone": true,
333
+ "hasDistanceStart": false
334
+ },
335
+ {
336
+ "eventDefinition": {
337
+ "type": "event",
338
+ "event": "purchase",
339
+ "aggregation": "count",
340
+ "operator": "eq",
341
+ "value": 1
342
+ },
343
+ "hasDone": true,
344
+ "hasDistanceStart": false,
345
+ "windowGap": 2,
346
+ "windowGapTimeUnit": "day"
347
+ }
348
+ ]
349
+ }
350
+ ```
351
+
352
+ `hasDone=false` is allowed only for optional intermediate steps. Hermes removes aggregate fields
353
+ from every persisted sequence step and rejects unsafe sequence envelopes before save.
354
+
355
+ #### `eventTriggerType=3`: every completion
356
+
357
+ This type is available only for `client_push`. Use count/eq/1 events and set
358
+ `eventTriggerCaliberType` to `0` (combined trigger) or `1` (separate trigger).
359
+
360
+ ```json
361
+ {
362
+ "eventTriggerType": 3,
363
+ "eventTriggerCaliberType": 0,
364
+ "events": [
365
+ {
366
+ "type": "event",
367
+ "event": "login",
368
+ "aggregation": "count",
369
+ "operator": "eq",
370
+ "value": 1
371
+ }
372
+ ]
373
+ }
235
374
  ```
236
375
 
237
- to build `completionIndicatorDef.event`.
376
+ ### 4.5 `controlConfig`
377
+
378
+ Minimum required field:
379
+
380
+ - `completionIndicatorDef`
381
+
382
+ When the guide points to event-based completion or experiment-driven main-goal rules, build
383
+ `completionIndicatorDef.completionIndicators[].eventDefinition` from the semantic event contract.
238
384
 
239
385
  Important constraints that still apply:
240
386
 
@@ -249,13 +395,10 @@ Important constraints that still apply:
249
395
 
250
396
  Use this block only when client-side conditions are needed.
251
397
 
252
- If `clientConfig.clientQp` is required, copy it from the saved server-authored audience definition:
253
-
254
- ```bash
255
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
256
- ```
257
-
258
- Only call that schema query when the guide explicitly shows that the field is needed.
398
+ Never include `clientConfig.clientQp` in a Capability request. It is a server-authored
399
+ compatibility field, and partial task updates preserve the existing server value. If a requested
400
+ client-side condition has no semantic field in the current contract, stop and report that it cannot
401
+ be safely authored through this Capability.
259
402
 
260
403
  ---
261
404
 
@@ -266,13 +409,14 @@ Before submission, verify:
266
409
  1. `channelId` comes from a real channel query.
267
410
  2. `build_task_save_guide` has already been called for the current scenario or partial draft.
268
411
  3. `fieldRules.channelContentSchema` was used as the source of truth for content structure.
269
- 4. Any required QP-derived fields came from `analysis user-cluster get`, never from hand-built raw QP.
270
- 5. `targetClusterType` matches the presence or absence of `clusterKey` / `qp`.
271
- 6. `triggerType` matches the provided scheduling or event fields.
412
+ 4. Audience, trigger, and completion conditions use semantic definitions only.
413
+ 5. `targetClusterType` matches the presence or absence of `clusterKey` / `definitionRequest`.
414
+ 6. `channelType`, `triggerType`, and `eventTriggerType` match the trigger envelope matrix.
272
415
  7. `completionIndicatorDef` is present and structurally valid for the current scenario.
273
416
  8. `taskId` is omitted for create mode and present only for updating a draft or paused task.
274
417
  9. No unsupported `triggerType=6` is used.
275
- 10. No placeholder IDs or fabricated resource names remain in the request.
418
+ 10. Ordered steps contain `eventDefinition` and sequence metadata, not persisted aggregate fields.
419
+ 11. No placeholder IDs or fabricated resource names remain in the request.
276
420
 
277
421
  ---
278
422
 
@@ -286,14 +430,8 @@ ae-cli engage-task task build-save-guide --project-id 1 --req '{"context":{"trig
286
430
  ae-cli engage-task task save --project-id 1 --req '{...final grouped req...}'
287
431
  ```
288
432
 
289
- If the guide indicates an audience or QP-derived fields are needed, insert direct create/get:
290
-
291
- ```bash
292
- ae-cli analysis user-cluster create --project-id <projectId> --cluster-name <condition_cluster_name> --display-name <display_name> --definition-request '<semantic-definition-json>'
293
- ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
294
- ```
295
-
296
- before building the final `req`.
433
+ If the guide indicates a custom audience or event condition, insert the semantic definition
434
+ directly before building the final `req`.
297
435
 
298
436
  ---
299
437
 
@@ -308,4 +446,4 @@ This command is a write operation.
308
446
  - Do not invent `channelId`, `clusterKey`, audience definitions, or content keys
309
447
  - Do not use `taskId` for a running or ended task
310
448
  - Do not pass `occasionKeys`; Hermes derives them from content
311
- - Do not call the semantic cluster definition builder as a reflex; call it only when guide output says QP-derived fields are needed
449
+ - Do not create an intermediate cluster merely to obtain an execution QP
@@ -52,6 +52,9 @@ ae-cli engage-scene config-metric batch-delete --project-id <project_id> --confi
52
52
 
53
53
  ### update-rule
54
54
 
55
+ `event_list` is a scene metric attribution-rule list, not a complete analysis QP. It intentionally
56
+ keeps its existing `event_name`/`filter` contract and does not use TriggerEvent conversion.
57
+
55
58
  | Parameter | Required | Description |
56
59
  |---|---|---|
57
60
  | `--project-id` / `-p` | Yes | Numeric project ID. |
@@ -1,45 +1,16 @@
1
- # engage-scene preset-metric
1
+ # Scene preset metric semantic events
2
2
 
3
- > Trigger keywords: config center, config item · Capability ids: `engage-scene.preset-metric.{get,set}` · Domain: `engage`.
4
-
5
- Scene management / config center — config item preset metrics (impression / click / engagement) QP configuration.
6
-
7
- ## Commands
3
+ Config-item impression, click, and attend metrics are stored as event QP but exposed to the CLI as semantic event definitions.
8
4
 
9
5
  ```bash
10
- # Get preset metric QP config of a config item
11
6
  ae-cli engage-scene preset-metric get --project-id <project_id> --config-id <config_id>
12
7
 
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>']
8
+ ae-cli engage-scene preset-metric set --project-id <project_id> --config-id <config_id> \
9
+ --impression-event-definition '{"type":"event","event":"impression","aggregation":"count","operator":"gte","value":1}' \
10
+ --click-event-definition '{"type":"event","event":"click","aggregation":"count","operator":"gte","value":1}' \
11
+ --attend-event-definition '{"type":"event","event":"attend","aggregation":"count","operator":"gte","value":1}'
17
12
  ```
18
13
 
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
14
+ All three event flags are optional; an omitted definition clears that stored preset event, preserving existing set semantics. Resolve real event/property metadata before writing.
44
15
 
45
- - `get` is read; `set` is `write`.
16
+ Get returns the three semantic definitions with per-field conversion status and never returns raw event QP.