@thinkingai/ae-cli 6.0.38 → 6.0.39
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 +25 -3
- package/README.zh.md +25 -3
- package/dist/{auth-56Z45UVR.js → auth-GDV3H5I4.js} +18 -8
- package/dist/{auth-ENM3FE6L.js → auth-NN55553T.js} +3 -3
- package/dist/{capability-2H6PAOA3.js → capability-TPORIKRQ.js} +19 -15
- package/dist/{capability-YPOQX6PL.js → capability-VQNC5CF7.js} +19 -15
- package/dist/chunk-4NN5IWVN.js +26 -0
- package/dist/{chunk-DB4Q3ANU.js → chunk-6A2FUCIS.js} +3 -3
- package/dist/{chunk-PVBYJWC2.js → chunk-7KQWSBSL.js} +4 -4
- package/dist/{chunk-24BAVOX3.js → chunk-AXDXJTPC.js} +3 -1
- package/dist/{chunk-CPVTECJ3.js → chunk-DT6Y3TD7.js} +5 -5
- package/dist/{chunk-EGEIXA2Z.js → chunk-DWO43OIB.js} +0 -248
- package/dist/{chunk-V6FR6WTW.js → chunk-GJJA4CQZ.js} +34 -2
- package/dist/{chunk-RGXCNC4N.js → chunk-GS2P7LFD.js} +50 -17
- package/dist/{chunk-LYVNONC4.js → chunk-JHENBQ5B.js} +35 -0
- package/dist/{chunk-3P3562ZX.js → chunk-MVDZ7DBQ.js} +5 -5
- package/dist/{chunk-LCXU3AAT.js → chunk-NBPKWKRA.js} +2 -2
- package/dist/{chunk-HQ2A7ITL.js → chunk-RBNKI5ZW.js} +50 -17
- package/dist/{chunk-LHVM35J4.js → chunk-TS6BUGUY.js} +4 -4
- package/dist/chunk-TUKQZTMI.js +250 -0
- package/dist/{chunk-J7MZHDHQ.js → chunk-VKD5WQKN.js} +5 -5
- package/dist/{chunk-3KI3RRXX.js → chunk-VTXHDCBW.js} +3 -3
- package/dist/{chunk-KTYR3U6D.js → chunk-YTG6Q75E.js} +10 -6
- package/dist/{chunk-IR4ZLVPW.js → chunk-YV52FB5G.js} +25 -3
- package/dist/{chunk-E7UXXHO3.js → chunk-Z3OXWCIA.js} +3 -3
- package/dist/{cli-token-4SBMXAUK.js → cli-token-GL5MS5FK.js} +4 -4
- package/dist/{client-PP5FETMW.js → client-DAIPF7XN.js} +4 -4
- package/dist/{community-report-client-KK2QBANO.js → community-report-client-M2RW4MXD.js} +2 -2
- package/dist/config-4VZNLBKF.js +489 -0
- package/dist/index.js +96 -37
- package/dist/memory-RWJW4XFO.js +892 -0
- package/dist/memory-VO2ZJCRT.js +892 -0
- package/dist/{metadata-JIQ77HFY.js → metadata-YGTHR2XJ.js} +8 -8
- package/dist/{metadata-AN3YFZEV.js → metadata-ZRN2GHPN.js} +8 -8
- package/dist/{model-JASQVOFD.js → model-CLUIK3K5.js} +7 -5
- package/dist/{raw-XJCAT3HX.js → raw-52B4UKO4.js} +8 -7
- package/dist/sync-3REDHGY6.js +10259 -0
- package/dist/{te-agent-JHUG6DVV.js → te-agent-XNPELAKX.js} +580 -84
- package/dist/{te-analysis-ITKTO6JS.js → te-analysis-GJI5FZUL.js} +1152 -13
- package/dist/{te-analysis-RAC67YYD.js → te-analysis-N2BRDJZ5.js} +1152 -13
- package/dist/{te-community-QOYIYEJI.js → te-community-SQXKE5OO.js} +7 -7
- package/dist/{te-community-UFKI6ONP.js → te-community-TYSNU3NQ.js} +7 -7
- package/dist/{te-dataops-PZQ5NQLY.js → te-dataops-5TM7WZDI.js} +370 -189
- package/dist/{te-dataops-XTWVTJCA.js → te-dataops-OWIADNSM.js} +370 -189
- package/dist/{te-engage-NLZUPSBK.js → te-engage-F7V55KVW.js} +333 -105
- package/dist/{te-engage-E7F4HTXU.js → te-engage-FMYAYCNV.js} +333 -105
- package/dist/{te-kb-E7NSCBRB.js → te-kb-VRMEY3D4.js} +6 -6
- package/dist/{te-meta-GBDTMPEL.js → te-meta-53BVXPFI.js} +7 -7
- package/dist/{te-meta-ZTLTSHXC.js → te-meta-TOCBPBXI.js} +7 -7
- package/dist/{te-system-AH7DMCAQ.js → te-system-XGS5EQIQ.js} +4 -4
- package/dist/{te-team-BQ3SKSZV.js → te-team-BZRDV2CM.js} +7 -7
- package/dist/{update-DKG6UXEM.js → update-HEDXGOJH.js} +8 -6
- package/package.json +4 -1
- package/skills/ae-agent/SKILL.md +178 -16
- package/skills/ae-agent/references/add-skill.md +22 -10
- package/skills/ae-agent/references/edit-skill.md +24 -14
- package/skills/ae-agent/references/find-archived-conversations.md +82 -0
- package/skills/ae-agent/references/restore-conversation.md +54 -0
- package/skills/ae-agent/references/upload-skill.md +24 -14
- package/skills/ae-analysis/SKILL.md +1 -1
- package/skills/ae-analysis/references/command_index.md +104 -42
- package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
- package/skills/ae-analysis/references/project_access_detail_get.md +3 -3
- package/skills/ae-analysis/references/project_data_power_delete.md +3 -3
- package/skills/ae-analysis/references/project_data_power_get.md +3 -3
- package/skills/ae-analysis/references/project_data_power_list.md +3 -3
- package/skills/ae-analysis/references/project_data_power_upsert.md +3 -3
- package/skills/ae-analysis/references/project_entity_create.md +3 -3
- package/skills/ae-analysis/references/project_entity_delete.md +3 -3
- package/skills/ae-analysis/references/project_entity_event_list.md +3 -3
- package/skills/ae-analysis/references/project_entity_get.md +3 -3
- package/skills/ae-analysis/references/project_entity_list.md +3 -3
- package/skills/ae-analysis/references/project_entity_update.md +3 -3
- package/skills/ae-analysis/references/project_function_list.md +3 -3
- package/skills/ae-analysis/references/project_info_create.md +25 -0
- package/skills/ae-analysis/references/project_info_delete.md +24 -0
- package/skills/ae-analysis/references/project_info_get.md +3 -3
- package/skills/ae-analysis/references/project_info_list.md +3 -3
- package/skills/ae-analysis/references/project_info_update.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_create.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_delete.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_list.md +3 -3
- package/skills/ae-analysis/references/project_mark_time_update.md +3 -3
- package/skills/ae-analysis/references/project_member_add.md +3 -3
- package/skills/ae-analysis/references/project_member_batch_update.md +3 -3
- package/skills/ae-analysis/references/project_member_candidate_list.md +3 -3
- package/skills/ae-analysis/references/project_member_handover_export.md +3 -3
- package/skills/ae-analysis/references/project_member_handover_run.md +3 -3
- package/skills/ae-analysis/references/project_member_import.md +3 -3
- package/skills/ae-analysis/references/project_member_list.md +3 -3
- package/skills/ae-analysis/references/project_member_receiver_list.md +3 -3
- package/skills/ae-analysis/references/project_member_remove.md +3 -3
- package/skills/ae-analysis/references/project_member_update.md +3 -3
- package/skills/ae-analysis/references/project_owner_update.md +3 -3
- package/skills/ae-analysis/references/project_permission_binding_list.md +3 -3
- package/skills/ae-analysis/references/project_receive_status_update.md +3 -3
- package/skills/ae-analysis/references/project_role_delete.md +3 -3
- package/skills/ae-analysis/references/project_role_function_list.md +3 -3
- package/skills/ae-analysis/references/project_role_get.md +3 -3
- package/skills/ae-analysis/references/project_role_list.md +3 -3
- package/skills/ae-analysis/references/project_role_upsert.md +3 -3
- package/skills/ae-analysis/references/project_role_user_list.md +3 -3
- package/skills/ae-analysis/references/project_space_list.md +1 -1
- package/skills/ae-analysis/references/project_timezone_get.md +3 -3
- package/skills/ae-analysis/references/project_timezone_overview.md +3 -3
- package/skills/ae-analysis/references/project_timezone_update.md +3 -3
- package/skills/ae-analysis/references/project_user_id_items_update.md +3 -3
- package/skills/ae-analysis/references/system_admin_function_list.md +22 -0
- package/skills/ae-analysis/references/system_admin_function_update.md +26 -0
- package/skills/ae-analysis/references/system_admin_list.md +21 -0
- package/skills/ae-analysis/references/system_admin_remove.md +25 -0
- package/skills/ae-analysis/references/system_admin_upsert.md +25 -0
- package/skills/ae-analysis/references/system_function_list.md +21 -0
- package/skills/ae-analysis/references/system_member_add.md +25 -0
- package/skills/ae-analysis/references/system_member_candidate_list.md +22 -0
- package/skills/ae-analysis/references/system_member_delete.md +25 -0
- package/skills/ae-analysis/references/system_member_list.md +24 -0
- package/skills/ae-analysis/references/system_member_mfa_unbind.md +25 -0
- package/skills/ae-analysis/references/system_member_password_reset.md +32 -0
- package/skills/ae-analysis/references/system_member_project_batch_update.md +27 -0
- package/skills/ae-analysis/references/system_member_status_update.md +26 -0
- package/skills/ae-analysis/references/system_member_update.md +23 -0
- package/skills/ae-analysis/references/system_mfa_get.md +21 -0
- package/skills/ae-analysis/references/system_mfa_update.md +25 -0
- package/skills/ae-analysis/references/system_node_monitor_list.md +24 -0
- package/skills/ae-analysis/references/system_oauth2_update.md +22 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_delete.md +25 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_list.md +23 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_test.md +29 -0
- package/skills/ae-analysis/references/system_ops_alert_contact_upsert.md +39 -0
- package/skills/ae-analysis/references/system_preference_get.md +21 -0
- package/skills/ae-analysis/references/system_preference_update.md +22 -0
- package/skills/ae-analysis/references/system_project_usage_list.md +28 -0
- package/skills/ae-analysis/references/system_query_alert_rule_list.md +21 -0
- package/skills/ae-analysis/references/system_query_alert_rule_update.md +26 -0
- package/skills/ae-analysis/references/system_query_monitor_overview.md +26 -0
- package/skills/ae-analysis/references/system_query_task_cancel.md +25 -0
- package/skills/ae-analysis/references/system_query_task_export.md +49 -0
- package/skills/ae-analysis/references/system_query_task_get.md +23 -0
- package/skills/ae-analysis/references/system_query_task_list.md +35 -0
- package/skills/ae-analysis/references/system_query_task_options.md +27 -0
- package/skills/ae-analysis/references/system_receiver_address_delete.md +26 -0
- package/skills/ae-analysis/references/system_receiver_address_overview.md +21 -0
- package/skills/ae-analysis/references/system_receiver_address_project_list.md +21 -0
- package/skills/ae-analysis/references/system_receiver_address_promote.md +24 -0
- package/skills/ae-analysis/references/system_receiver_address_upsert.md +27 -0
- package/skills/ae-analysis/references/system_receiver_detection_get.md +22 -0
- package/skills/ae-analysis/references/system_receiver_detection_run.md +22 -0
- package/skills/ae-analysis/references/system_receiver_detection_update.md +25 -0
- package/skills/ae-analysis/references/system_role_delete.md +26 -0
- package/skills/ae-analysis/references/system_role_function_list.md +22 -0
- package/skills/ae-analysis/references/system_role_get.md +22 -0
- package/skills/ae-analysis/references/system_role_list.md +24 -0
- package/skills/ae-analysis/references/system_role_upsert.md +27 -0
- package/skills/ae-analysis/references/system_role_user_list.md +22 -0
- package/skills/ae-analysis/references/system_seat_list.md +25 -0
- package/skills/ae-analysis/references/system_seat_update.md +26 -0
- package/skills/ae-analysis/references/system_smtp_delete.md +24 -0
- package/skills/ae-analysis/references/system_smtp_get.md +21 -0
- package/skills/ae-analysis/references/system_smtp_test.md +22 -0
- package/skills/ae-analysis/references/system_smtp_upsert.md +31 -0
- package/skills/ae-analysis/references/system_third_party_login_disable.md +25 -0
- package/skills/ae-analysis/references/system_third_party_login_list.md +21 -0
- package/skills/ae-analysis/references/system_third_party_login_upsert.md +33 -0
- package/skills/ae-analysis/references/system_usage_overview.md +21 -0
- package/skills/ae-analysis/references/system_usage_trend_export.md +44 -0
- package/skills/ae-analysis/references/system_usage_trend_query.md +28 -0
- package/skills/ae-dataops/SKILL.md +1 -1
- package/skills/ae-dataops/references/dataops-flow-create.md +51 -16
- package/skills/ae-engage/SKILL.md +56 -26
- package/skills/ae-engage/references/activity-activity.md +3 -0
- package/skills/ae-engage/references/activity-approval.md +12 -4
- package/skills/ae-engage/references/activity-task.md +21 -6
- package/skills/ae-engage/references/activity-topic.md +31 -13
- package/skills/ae-engage/references/add-channel.md +170 -41
- package/skills/ae-engage/references/build-task-save-guide.md +40 -27
- package/skills/ae-engage/references/channel-update-config.md +3 -2
- package/skills/ae-engage/references/common-metric.md +48 -120
- package/skills/ae-engage/references/flow-detail.md +13 -0
- package/skills/ae-engage/references/preset-event.md +12 -32
- package/skills/ae-engage/references/save-flow.md +127 -64
- package/skills/ae-engage/references/save-task.md +197 -59
- package/skills/ae-engage/references/scene-config-metric.md +3 -0
- package/skills/ae-engage/references/scene-preset-metric.md +8 -37
- package/skills/ae-engage/references/scene-strategy-audience.md +51 -643
- package/skills/ae-engage/references/scene-strategy.md +6 -6
- package/skills/ae-engage/references/task-detail.md +10 -0
- package/skills/ae-engage/references/task-submit-approval.md +45 -0
- package/skills/ae-engage/references/validate-flow-node-config.md +1 -1
- package/skills/ae-generate-tracking-code/SKILL.md +2 -2
- package/skills/ae-metadata/SKILL.md +1 -1
- package/dist/config-BSSALXEN.js +0 -128
- 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
|
|
14
|
-
`targetConfig.
|
|
15
|
-
|
|
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.
|
|
22
|
-
- `triggerConfig.
|
|
23
|
-
- `
|
|
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
|
|
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
|
|
108
|
+
### 2.3 Build Semantic Conditions
|
|
105
109
|
|
|
106
|
-
If the guide indicates that
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
120
|
+
- `aggregation`: `count`, `sum`, or `distinct_count`
|
|
121
|
+
- `operator`: `gt`, `gte`, or `eq`
|
|
114
122
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
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 `
|
|
204
|
+
- `targetClusterType=1`: custom audience, requires `definitionRequest`
|
|
196
205
|
- `targetClusterType=2`: existing cluster, requires `clusterKey`
|
|
197
|
-
- `targetClusterType=3`: all users, forbids
|
|
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
|
-
|
|
202
|
-
|
|
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 `
|
|
213
|
-
- `triggerType=3/4/5`: requires `
|
|
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 `
|
|
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
|
-
|
|
222
|
-
|
|
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
|
-
|
|
265
|
+
#### `eventTriggerType=1`: continuous completion
|
|
226
266
|
|
|
227
|
-
|
|
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
|
-
|
|
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
|
-
|
|
312
|
+
#### `eventTriggerType=2`: ordered completion
|
|
232
313
|
|
|
233
|
-
|
|
234
|
-
|
|
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
|
-
|
|
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
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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.
|
|
270
|
-
5. `targetClusterType` matches the presence or absence of `clusterKey` / `
|
|
271
|
-
6. `triggerType`
|
|
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.
|
|
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
|
|
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
|
|
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
|
-
#
|
|
1
|
+
# Scene preset metric semantic events
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
--
|
|
16
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
16
|
+
Get returns the three semantic definitions with per-field conversion status and never returns raw event QP.
|