@thinkingai/ae-cli 6.0.38 → 6.0.40
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-L72HWRGO.js} +716 -118
- package/dist/{te-engage-E7F4HTXU.js → te-engage-QWM4GFS7.js} +716 -118
- 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 +5 -2
- 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 +67 -27
- 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-data-detail.md +61 -0
- 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 +66 -29
- package/skills/ae-engage/references/channel-update-config.md +3 -2
- package/skills/ae-engage/references/common-metric.md +88 -115
- package/skills/ae-engage/references/flow-detail.md +13 -0
- package/skills/ae-engage/references/preset-event.md +14 -32
- package/skills/ae-engage/references/save-flow.md +141 -64
- package/skills/ae-engage/references/save-task.md +231 -58
- 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 +56 -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,59 @@ 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
|
-
|
|
113
|
+
Use semantic event definitions for:
|
|
114
|
+
|
|
115
|
+
- `triggerConfig.triggerDefinition`
|
|
116
|
+
- `completionIndicatorDef.completionIndicators[].eventDefinition`
|
|
117
|
+
|
|
118
|
+
Task aggregate and completion event definitions support:
|
|
119
|
+
|
|
120
|
+
- `aggregation`: `count`, `sum`, or `distinct_count`
|
|
121
|
+
- `operator`: `gt`, `gte`, or `eq`
|
|
122
|
+
|
|
123
|
+
Completion target and experiment main-goal event filters must not use properties whose metadata
|
|
124
|
+
`select_type` is `datetime`. The supported filter-property select types are `string`, `number`,
|
|
125
|
+
`bool`, `bool-s`, `date`, `array`, `array_string`, `row`, and `array_row`. This restriction applies
|
|
126
|
+
to `completionIndicatorDef.completionIndicators[].eventDefinition.filters`; it does not apply to
|
|
127
|
+
trigger-event filters.
|
|
128
|
+
|
|
129
|
+
For an event property whose metadata `select_type` is `array_row`, never submit it as a flat
|
|
130
|
+
property filter. Use an object-group filter and place only that parent's child properties inside
|
|
131
|
+
`conditions`:
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"type": "object_group",
|
|
136
|
+
"field": "equipment_list",
|
|
137
|
+
"operator": "any_satisfy",
|
|
138
|
+
"conditions": {
|
|
139
|
+
"relation": "and",
|
|
140
|
+
"items": [
|
|
141
|
+
{
|
|
142
|
+
"field": "equipment_list.item_level",
|
|
143
|
+
"operator": "gte",
|
|
144
|
+
"values": [10]
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
}
|
|
111
149
|
```
|
|
112
150
|
|
|
113
|
-
|
|
151
|
+
Object-group operators are `any_satisfy`, `none_satisfy`, and `all_satisfy`. Resolve the parent
|
|
152
|
+
and child fields from current metadata. Hermes validates the metadata type, child-parent
|
|
153
|
+
relationship, and supported operators before saving, so do not flatten `array_row` or invent child
|
|
154
|
+
field names.
|
|
114
155
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
156
|
+
Trigger events have an additional envelope contract selected by `eventTriggerType`. Do not apply
|
|
157
|
+
one aggregate event shape to every trigger type. Use the matrix and examples in section 4.4.
|
|
158
|
+
|
|
159
|
+
`clientConfig.clientQp` is not an AI-authored field. Always omit it from Capability requests;
|
|
160
|
+
partial task updates preserve existing server state.
|
|
119
161
|
|
|
120
162
|
Do not create an audience by default for every task. It is conditional, not mandatory.
|
|
121
163
|
|
|
@@ -192,16 +234,12 @@ Content guidance:
|
|
|
192
234
|
|
|
193
235
|
Use the guide to decide which audience shape applies:
|
|
194
236
|
|
|
195
|
-
- `targetClusterType=1`: custom audience, requires `
|
|
237
|
+
- `targetClusterType=1`: custom audience, requires `definitionRequest`
|
|
196
238
|
- `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:
|
|
239
|
+
- `targetClusterType=3`: all users, forbids `definitionRequest` and `clusterKey`
|
|
200
240
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
ae-cli analysis user-cluster get --project-id <projectId> --cluster-names '["<condition_cluster_name>"]'
|
|
204
|
-
```
|
|
241
|
+
For a custom audience, pass the semantic definition directly. Do not create an intermediate
|
|
242
|
+
cluster or copy persisted QP.
|
|
205
243
|
|
|
206
244
|
### 4.4 `triggerConfig`
|
|
207
245
|
|
|
@@ -209,32 +247,175 @@ Use the guide to determine the current trigger rule set:
|
|
|
209
247
|
|
|
210
248
|
- `triggerType=0`: requires `triggerTime`
|
|
211
249
|
- `triggerType=1`: requires `startDate`, `endDate`, `triggerCrontab`
|
|
212
|
-
- `triggerType=2`: manual, no `
|
|
213
|
-
- `triggerType=3/4/5`: requires `
|
|
250
|
+
- `triggerType=2`: manual, no `triggerDefinition`
|
|
251
|
+
- `triggerType=3/4/5`: requires `triggerDefinition`
|
|
214
252
|
|
|
215
253
|
Rules:
|
|
216
254
|
|
|
217
255
|
- `triggerType=6` is not supported
|
|
218
256
|
- use the guide for cron format and wrong-example checks
|
|
219
|
-
- if `
|
|
257
|
+
- if `triggerDefinition` is needed, build it from semantic event definitions and resolve real
|
|
258
|
+
event/property names through Analysis metadata
|
|
259
|
+
- always set the A rule's `eventTriggerType` explicitly
|
|
260
|
+
- Hermes compiles the semantic event and then validates the final persisted trigger-rule envelope
|
|
261
|
+
- for semantic event-trigger tasks, Hermes backfills missing task-level `startDate` / `endDate`
|
|
262
|
+
from the A rule's `periodStart` / `periodEnd`; explicit task-level dates remain authoritative
|
|
220
263
|
|
|
221
|
-
|
|
222
|
-
|
|
264
|
+
#### Trigger envelope matrix
|
|
265
|
+
|
|
266
|
+
| Channel | `triggerType` | Allowed A-rule `eventTriggerType` |
|
|
267
|
+
| --- | --- | --- |
|
|
268
|
+
| Server channels | `3` | `0`, `1`, `2` |
|
|
269
|
+
| Server channels | `4` | `0` only |
|
|
270
|
+
| Server channels | `5` | `0`, `1`, `2` |
|
|
271
|
+
| `client_push` (`channelType=3`) | `3` | `1`, `2`, `3` |
|
|
272
|
+
| `client_push` (`channelType=3`) | `5` | `1`, `2`, `3` |
|
|
273
|
+
|
|
274
|
+
For `triggerType=4/5`, the second B rule is always an aggregate rule. It also requires
|
|
275
|
+
`delayTime`, `delayTimeSymbol`, and `eventCondition`; use `1` for `triggerType=4` and `0` for
|
|
276
|
+
`triggerType=5`.
|
|
277
|
+
|
|
278
|
+
#### `eventTriggerType=0`: accumulated completion
|
|
279
|
+
|
|
280
|
+
Use aggregate semantic events:
|
|
281
|
+
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"eventTriggerType": 0,
|
|
285
|
+
"events": [
|
|
286
|
+
{
|
|
287
|
+
"type": "event",
|
|
288
|
+
"event": "purchase",
|
|
289
|
+
"aggregation": "sum",
|
|
290
|
+
"property": "amount",
|
|
291
|
+
"operator": "gt",
|
|
292
|
+
"value": 100
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
}
|
|
223
296
|
```
|
|
224
297
|
|
|
225
|
-
|
|
298
|
+
#### `eventTriggerType=1`: continuous completion
|
|
226
299
|
|
|
227
|
-
|
|
300
|
+
Use exactly one count event with `operator=eq` and `value>=2`. `blackList` is optional and accepts
|
|
301
|
+
semantic events that Hermes compiles as non-aggregate event selectors. The rule-level window is
|
|
302
|
+
optional; provide `windowGap` and `windowGapTimeUnit` together.
|
|
303
|
+
`relationProps` is optional and uses semantic event-property references. Hermes resolves their
|
|
304
|
+
legacy metadata before persistence:
|
|
228
305
|
|
|
229
|
-
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"relationProps": [
|
|
309
|
+
{
|
|
310
|
+
"property": {
|
|
311
|
+
"type": "event_property",
|
|
312
|
+
"name": "#city"
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
]
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"eventTriggerType": 1,
|
|
322
|
+
"windowGap": 7,
|
|
323
|
+
"windowGapTimeUnit": "day",
|
|
324
|
+
"events": [
|
|
325
|
+
{
|
|
326
|
+
"type": "event",
|
|
327
|
+
"event": "login",
|
|
328
|
+
"aggregation": "count",
|
|
329
|
+
"operator": "eq",
|
|
330
|
+
"value": 3
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
"blackList": [
|
|
334
|
+
{
|
|
335
|
+
"type": "event",
|
|
336
|
+
"event": "logout",
|
|
337
|
+
"aggregation": "count",
|
|
338
|
+
"operator": "eq",
|
|
339
|
+
"value": 1
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
```
|
|
230
344
|
|
|
231
|
-
|
|
345
|
+
#### `eventTriggerType=2`: ordered completion
|
|
232
346
|
|
|
233
|
-
|
|
234
|
-
|
|
347
|
+
Use at least two sequence steps. The first and last steps must have `hasDone=true`. Put the
|
|
348
|
+
Analysis semantic event inside `eventDefinition`; do not add persisted aggregate fields such as
|
|
349
|
+
`taPropQuota`, `uceCalcuSymbol`, or `num`.
|
|
350
|
+
Optional `relationProps` use the same semantic event-property structure documented for
|
|
351
|
+
`eventTriggerType=1`.
|
|
352
|
+
|
|
353
|
+
```json
|
|
354
|
+
{
|
|
355
|
+
"eventTriggerType": 2,
|
|
356
|
+
"events": [
|
|
357
|
+
{
|
|
358
|
+
"eventDefinition": {
|
|
359
|
+
"type": "event",
|
|
360
|
+
"event": "login",
|
|
361
|
+
"aggregation": "count",
|
|
362
|
+
"operator": "eq",
|
|
363
|
+
"value": 1
|
|
364
|
+
},
|
|
365
|
+
"hasDone": true,
|
|
366
|
+
"hasDistanceStart": false
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"eventDefinition": {
|
|
370
|
+
"type": "event",
|
|
371
|
+
"event": "purchase",
|
|
372
|
+
"aggregation": "count",
|
|
373
|
+
"operator": "eq",
|
|
374
|
+
"value": 1
|
|
375
|
+
},
|
|
376
|
+
"hasDone": true,
|
|
377
|
+
"hasDistanceStart": false,
|
|
378
|
+
"windowGap": 2,
|
|
379
|
+
"windowGapTimeUnit": "day"
|
|
380
|
+
}
|
|
381
|
+
]
|
|
382
|
+
}
|
|
235
383
|
```
|
|
236
384
|
|
|
237
|
-
|
|
385
|
+
`hasDone=false` is allowed only for optional intermediate steps. Hermes removes aggregate fields
|
|
386
|
+
from every persisted sequence step and rejects unsafe sequence envelopes before save.
|
|
387
|
+
|
|
388
|
+
#### `eventTriggerType=3`: every completion
|
|
389
|
+
|
|
390
|
+
This type is available only for `client_push`. Use count/eq/1 events and set
|
|
391
|
+
`eventTriggerCaliberType` to `0` (combined trigger) or `1` (separate trigger).
|
|
392
|
+
|
|
393
|
+
```json
|
|
394
|
+
{
|
|
395
|
+
"eventTriggerType": 3,
|
|
396
|
+
"eventTriggerCaliberType": 0,
|
|
397
|
+
"events": [
|
|
398
|
+
{
|
|
399
|
+
"type": "event",
|
|
400
|
+
"event": "login",
|
|
401
|
+
"aggregation": "count",
|
|
402
|
+
"operator": "eq",
|
|
403
|
+
"value": 1
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
}
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### 4.5 `controlConfig`
|
|
410
|
+
|
|
411
|
+
Minimum required field:
|
|
412
|
+
|
|
413
|
+
- `completionIndicatorDef`
|
|
414
|
+
|
|
415
|
+
When the guide points to event-based completion or experiment-driven main-goal rules, build
|
|
416
|
+
`completionIndicatorDef.completionIndicators[].eventDefinition` from the semantic event contract.
|
|
417
|
+
Read `fieldRules.blocks.controlConfig.completionIndicatorDef.filterPropertySelectTypes` and exclude
|
|
418
|
+
every property type listed under `excluded` before constructing its `filters`.
|
|
238
419
|
|
|
239
420
|
Important constraints that still apply:
|
|
240
421
|
|
|
@@ -249,13 +430,10 @@ Important constraints that still apply:
|
|
|
249
430
|
|
|
250
431
|
Use this block only when client-side conditions are needed.
|
|
251
432
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
Only call that schema query when the guide explicitly shows that the field is needed.
|
|
433
|
+
Never include `clientConfig.clientQp` in a Capability request. It is a server-authored
|
|
434
|
+
compatibility field, and partial task updates preserve the existing server value. If a requested
|
|
435
|
+
client-side condition has no semantic field in the current contract, stop and report that it cannot
|
|
436
|
+
be safely authored through this Capability.
|
|
259
437
|
|
|
260
438
|
---
|
|
261
439
|
|
|
@@ -266,13 +444,14 @@ Before submission, verify:
|
|
|
266
444
|
1. `channelId` comes from a real channel query.
|
|
267
445
|
2. `build_task_save_guide` has already been called for the current scenario or partial draft.
|
|
268
446
|
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`
|
|
447
|
+
4. Audience, trigger, and completion conditions use semantic definitions only.
|
|
448
|
+
5. `targetClusterType` matches the presence or absence of `clusterKey` / `definitionRequest`.
|
|
449
|
+
6. `channelType`, `triggerType`, and `eventTriggerType` match the trigger envelope matrix.
|
|
272
450
|
7. `completionIndicatorDef` is present and structurally valid for the current scenario.
|
|
273
451
|
8. `taskId` is omitted for create mode and present only for updating a draft or paused task.
|
|
274
452
|
9. No unsupported `triggerType=6` is used.
|
|
275
|
-
10.
|
|
453
|
+
10. Ordered steps contain `eventDefinition` and sequence metadata, not persisted aggregate fields.
|
|
454
|
+
11. No placeholder IDs or fabricated resource names remain in the request.
|
|
276
455
|
|
|
277
456
|
---
|
|
278
457
|
|
|
@@ -286,14 +465,8 @@ ae-cli engage-task task build-save-guide --project-id 1 --req '{"context":{"trig
|
|
|
286
465
|
ae-cli engage-task task save --project-id 1 --req '{...final grouped req...}'
|
|
287
466
|
```
|
|
288
467
|
|
|
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`.
|
|
468
|
+
If the guide indicates a custom audience or event condition, insert the semantic definition
|
|
469
|
+
directly before building the final `req`.
|
|
297
470
|
|
|
298
471
|
---
|
|
299
472
|
|
|
@@ -308,4 +481,4 @@ This command is a write operation.
|
|
|
308
481
|
- Do not invent `channelId`, `clusterKey`, audience definitions, or content keys
|
|
309
482
|
- Do not use `taskId` for a running or ended task
|
|
310
483
|
- Do not pass `occasionKeys`; Hermes derives them from content
|
|
311
|
-
- Do not
|
|
484
|
+
- 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.
|