@thinkingai/ae-cli 6.1.21 → 6.1.23
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/package.json
CHANGED
|
@@ -4,6 +4,8 @@ Shared input: [common building blocks](../ai_models.md#common-building-blocks).
|
|
|
4
4
|
|
|
5
5
|
Use for behavior paths before or after a source event.
|
|
6
6
|
|
|
7
|
+
`path.included_events` is required and must be non-empty. Include `path.source_event` and choose the remaining events from the user's requested path scope and confirmed event names.
|
|
8
|
+
|
|
7
9
|
```json
|
|
8
10
|
{
|
|
9
11
|
"time_range": {"mode": "previous", "unit": "day", "value": 7},
|
|
@@ -23,8 +25,6 @@ Use for behavior paths before or after a source event.
|
|
|
23
25
|
|
|
24
26
|
`direction=forward` asks what users do after `source_event`; `direction=backward` asks what users did before it. Do not send original-QP fields such as `source_type` or `event_names`.
|
|
25
27
|
|
|
26
|
-
For path analysis, `preview_rows` is a graph-display boundary aligned with the analysis UI: it keeps up to that many real nodes per path level, then combines overflow nodes into `more`. `result.nodes` retains the synthesized `more` node for graph structure and drilldown coordinates. The top-level `returned_rows` counts real business nodes actually returned across all levels; it excludes synthesized `more` nodes and the real nodes folded into them. The count may still exceed `preview_rows` because the boundary applies independently to each level. `has_more=true` means at least one level contains real nodes folded into `more`; a linear multi-level path can return more real nodes than `preview_rows` with `has_more=false`.
|
|
27
|
-
|
|
28
28
|
Path `filters` are global member filters compiled to the original QP `user_filter`. They support `user_property`, `cluster`, and `tag`, but not `event_property`. Do not move a user filter into the source event's event-property filter.
|
|
29
29
|
|
|
30
30
|
Path session timeout accepts only these unit/value ranges:
|
|
@@ -36,3 +36,20 @@ Path session timeout accepts only these unit/value ranges:
|
|
|
36
36
|
Do not use `day`. Express one day as `session_interval=24` with `session_unit=hour`.
|
|
37
37
|
|
|
38
38
|
Property types come from project metadata. If resolution says a field is an `event_property`, never relabel it as `user_property` just to satisfy the path schema. Remove the unsupported global filter, choose a model that supports event-property filtering, or ask the user to clarify the intended constraint. A familiar name such as `channel` is not universally an event or user property across projects.
|
|
39
|
+
|
|
40
|
+
## Result
|
|
41
|
+
|
|
42
|
+
`data.result.nodes` and `data.result.links` are two-dimensional arrays grouped by path level. Each outer item is a list; iterate the level first, then its node or link objects:
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
# response is the parsed CLI JSON envelope.
|
|
46
|
+
result = response["data"]["result"]
|
|
47
|
+
for level in result["nodes"]:
|
|
48
|
+
for node in level:
|
|
49
|
+
print(node["id"], node["event_name"], node["times"])
|
|
50
|
+
for level in result["links"]:
|
|
51
|
+
for link in level:
|
|
52
|
+
print(link["source"], link["target"], link["times"])
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
For path analysis, `preview_rows` is a graph-display boundary aligned with the analysis UI: it keeps up to that many real nodes per path level, then combines overflow nodes into `more`. `result.nodes` retains the synthesized `more` node for graph structure and drilldown coordinates. The top-level `returned_rows` counts real business nodes actually returned across all levels; it excludes synthesized `more` nodes and the real nodes folded into them. The count may still exceed `preview_rows` because the boundary applies independently to each level. `has_more=true` means at least one level contains real nodes folded into `more`; a linear multi-level path can return more real nodes than `preview_rows` with `has_more=false`.
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
# `prop_analysis` AI-facing definition
|
|
2
2
|
|
|
3
|
-
Shared
|
|
3
|
+
Shared field references and filters: [common building blocks](../ai_models.md#common-building-blocks).
|
|
4
4
|
|
|
5
5
|
`prop_analysis` dimensions and filters support `user_property`, `cluster`, and `tag`; they do not support `event_property`.
|
|
6
6
|
|
|
7
7
|
Use for user-property metrics, grouping, filters, and user-crowd comparison.
|
|
8
8
|
|
|
9
|
+
The definition accepts only the top-level `prop_analysis` object. Place `metric`, `groups`, `filters`, and `user_crowds` inside it; top-level `time_range` and `time_particle_size` are unsupported.
|
|
10
|
+
|
|
11
|
+
For a historical-date request, preserve the requested date constraint and use a query model that can express it, or explain the capability gap. Removing that constraint and returning current property statistics does not answer the historical question.
|
|
12
|
+
|
|
9
13
|
```json
|
|
10
14
|
{
|
|
11
15
|
"prop_analysis": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This file defines `model_type` spelling and shared AI-facing building blocks. Each model's definition contract has its own file below.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Open the selected model file directly from the registry and construct `definition` from its example and field rules. Use common building blocks only for fields supported by that model; add `time_range` or `time_particle_size` only when its contract supports them. Reuse unchanged content already read; other model files do not add requirements to the selected model.
|
|
6
6
|
|
|
7
7
|
## Capability coverage
|
|
8
8
|
|