@thinkingai/ae-cli 1.0.1 → 1.0.3
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 +16 -13
- package/dist/auth-BQC5DBE7.js +19 -0
- package/dist/auth-DXKYLMO7.js +81 -0
- package/dist/chunk-3CDLNXTD.js +218 -0
- package/dist/chunk-53FNNCZW.js +174 -0
- package/dist/chunk-EBFUVWIZ.js +127 -0
- package/dist/chunk-ZYXIGPG7.js +148 -0
- package/dist/client-T4VODLA6.js +16 -0
- package/dist/community-FVDAWGS4.js +684 -0
- package/dist/config-V7AXKDMB.js +242 -0
- package/dist/index.js +16 -15
- package/dist/raw-G3GKHAPZ.js +61 -0
- package/dist/te-analysis-CHFTDN55.js +871 -0
- package/dist/te-audience-M6LQY6M7.js +350 -0
- package/dist/te-common-BLQ7DVGC.js +144 -0
- package/dist/te-dataops-V4OTKY35.js +1853 -0
- package/dist/te-engage-DXE4R5EW.js +1470 -0
- package/dist/te-meta-FMM7KCVI.js +479 -0
- package/package.json +7 -5
- package/skills/te-analysis/SKILL.md +10 -10
- package/skills/te-analysis/references/build-entity-details-sql.md +10 -10
- package/skills/te-analysis/references/build-event-details-sql.md +10 -10
- package/skills/te-analysis/references/create-alert.md +4 -4
- package/skills/te-analysis/references/create-dashboard.md +4 -4
- package/skills/te-analysis/references/create-or-update-dashboard-note.md +4 -4
- package/skills/te-analysis/references/create-public-access-link.md +4 -4
- package/skills/te-analysis/references/create-report.md +10 -10
- package/skills/te-analysis/references/create-result-cluster.md +4 -4
- package/skills/te-analysis/references/drilldown-user-events.md +6 -6
- package/skills/te-analysis/references/drilldown-users.md +4 -4
- package/skills/te-analysis/references/get-alert-definition-schema.md +3 -3
- package/skills/te-analysis/references/get-alert.md +3 -3
- package/skills/te-analysis/references/get-analysis-query-schema.md +4 -4
- package/skills/te-analysis/references/get-filter-schema.md +3 -3
- package/skills/te-analysis/references/get-groupby-schema.md +3 -3
- package/skills/te-analysis/references/get-report-definition.md +3 -3
- package/skills/te-analysis/references/get-table-columns.md +3 -3
- package/skills/te-analysis/references/list-alerts.md +4 -4
- package/skills/te-analysis/references/list-dashboards.md +4 -4
- package/skills/te-analysis/references/list-public-access-links.md +3 -3
- package/skills/te-analysis/references/list-reports.md +4 -4
- package/skills/te-analysis/references/load-filters.md +4 -4
- package/skills/te-analysis/references/query-adhoc.md +10 -10
- package/skills/te-analysis/references/query-dashboard-detail.md +3 -3
- package/skills/te-analysis/references/query-dashboard-report-data.md +9 -9
- package/skills/te-analysis/references/query-entity-details.md +10 -10
- package/skills/te-analysis/references/query-event-details.md +10 -10
- package/skills/te-analysis/references/query-report-data.md +11 -11
- package/skills/te-analysis/references/update-alert.md +4 -4
- package/skills/te-analysis/references/update-dashboard.md +4 -4
- package/skills/te-analysis/references/update-public-access-link.md +4 -4
- package/skills/te-audience/SKILL.md +5 -5
- package/skills/te-audience/references/create-cluster.md +10 -10
- package/skills/te-audience/references/create-tag.md +10 -10
- package/skills/te-audience/references/get-cluster-definition-schema.md +9 -9
- package/skills/te-audience/references/get-clusters-by-name.md +3 -3
- package/skills/te-audience/references/get-tag-definition-schema.md +3 -3
- package/skills/te-audience/references/get-tags-by-name.md +3 -3
- package/skills/te-audience/references/list-cluster-members.md +4 -4
- package/skills/te-audience/references/list-clusters.md +4 -4
- package/skills/te-audience/references/list-tag-members.md +4 -4
- package/skills/te-audience/references/list-tags.md +4 -4
- package/skills/te-audience/references/refresh-cluster.md +3 -3
- package/skills/te-audience/references/refresh-tag.md +3 -3
- package/skills/te-audience/references/update-cluster.md +9 -9
- package/skills/te-audience/references/update-tag.md +10 -10
- package/skills/te-common/SKILL.md +2 -2
- package/skills/te-common/references/get-resource-url.md +5 -5
- package/skills/te-common/references/list-projects.md +3 -3
- package/skills/te-community/SKILL.md +61 -69
- package/skills/te-community/references/community-activity-analysis.md +43 -43
- package/skills/te-community/references/community-analyzing-official-content.md +47 -47
- package/skills/te-community/references/community-analyzing-theme-comment.md +87 -87
- package/skills/te-community/references/community-character-analysis.md +44 -44
- package/skills/te-community/references/community-daily-report.md +56 -53
- package/skills/te-community/references/community-hottopic-insight.md +81 -87
- package/skills/te-community/references/community-weekly-report.md +54 -53
- package/skills/te-community/references/get_channel_info.md +9 -9
- package/skills/te-community/references/get_comment_tag_analysis.md +15 -15
- package/skills/te-community/references/get_comments_summary.md +15 -15
- package/skills/te-community/references/get_corpus_tags.md +9 -9
- package/skills/te-community/references/get_daily_summary.md +10 -10
- package/skills/te-community/references/get_hot_topics.md +12 -12
- package/skills/te-community/references/get_livestream_analysis.md +9 -9
- package/skills/te-community/references/get_livestream_detail.md +19 -19
- package/skills/te-community/references/get_livestream_list.md +13 -13
- package/skills/te-community/references/get_livestream_overview.md +11 -11
- package/skills/te-community/references/get_livestream_room_metrics.md +12 -12
- package/skills/te-community/references/get_livestream_rooms.md +12 -12
- package/skills/te-community/references/get_overview_metrics.md +12 -12
- package/skills/te-community/references/get_post_detail.md +21 -21
- package/skills/te-community/references/get_risk_content.md +23 -23
- package/skills/te-community/references/get_sentiment_overview.md +16 -16
- package/skills/te-community/references/get_tag_trends.md +13 -13
- package/skills/te-community/references/get_topic_detail.md +12 -12
- package/skills/te-community/references/search_posts.md +26 -26
- package/skills/te-dataops/SKILL.md +390 -392
- package/skills/te-dataops/references/dataops-flow-create.md +87 -87
- package/skills/te-dataops/references/dataops-flow-monitor.md +65 -65
- package/skills/te-dataops/references/dataops-integration.md +90 -85
- package/skills/te-dataops/references/dataops-query.md +58 -58
- package/skills/te-dataops/references/dataops-table.md +63 -63
- package/skills/te-engage/SKILL.md +103 -103
- package/skills/te-engage/references/add-approver.md +11 -11
- package/skills/te-engage/references/add-channel.md +34 -34
- package/skills/te-engage/references/approver-list.md +8 -8
- package/skills/te-engage/references/cancel-query-by-request-id.md +10 -10
- package/skills/te-engage/references/channel-detail.md +13 -13
- package/skills/te-engage/references/channel-list.md +15 -15
- package/skills/te-engage/references/config-channel-detail.md +10 -10
- package/skills/te-engage/references/config-channel-list.md +11 -11
- package/skills/te-engage/references/config-item-analysis-report.md +21 -21
- package/skills/te-engage/references/config-item-detail.md +10 -10
- package/skills/te-engage/references/config-item-list.md +8 -8
- package/skills/te-engage/references/config-item-strategy-comparison.md +14 -14
- package/skills/te-engage/references/config-item-trigger-report.md +26 -26
- package/skills/te-engage/references/copy-config-template.md +16 -16
- package/skills/te-engage/references/delete-channel.md +11 -11
- package/skills/te-engage/references/delete-config-channel.md +11 -11
- package/skills/te-engage/references/delete-config-item.md +12 -12
- package/skills/te-engage/references/delete-flow.md +11 -11
- package/skills/te-engage/references/flow-ab-split-node-report.md +29 -29
- package/skills/te-engage/references/flow-detail.md +19 -19
- package/skills/te-engage/references/flow-list.md +8 -8
- package/skills/te-engage/references/flow-node-config-schema.md +11 -11
- package/skills/te-engage/references/flow-node-detail-report.md +30 -30
- package/skills/te-engage/references/flow-node-overview-report.md +27 -27
- package/skills/te-engage/references/flow-process-report.md +32 -32
- package/skills/te-engage/references/manage-flow.md +44 -44
- package/skills/te-engage/references/manage-strategy.md +37 -37
- package/skills/te-engage/references/manage-task.md +20 -20
- package/skills/te-engage/references/modify-flow-base-info.md +14 -14
- package/skills/te-engage/references/save-flow.md +264 -263
- package/skills/te-engage/references/strategy-detail.md +16 -16
- package/skills/te-engage/references/strategy-list.md +10 -10
- package/skills/te-engage/references/task-data-detail.md +47 -47
- package/skills/te-engage/references/task-data-overview.md +23 -23
- package/skills/te-engage/references/task-detail.md +18 -18
- package/skills/te-engage/references/task-experiment-report.md +26 -26
- package/skills/te-engage/references/task-list.md +35 -35
- package/skills/te-engage/references/task-metric-detail.md +31 -31
- package/skills/te-engage/references/task-stats.md +31 -31
- package/skills/te-engage/references/update-channel-status.md +13 -13
- package/skills/te-engage/references/update-config-channel-status.md +14 -14
- package/skills/te-engage/references/validate-flow-node-config.md +15 -15
- package/skills/te-engage/references/whitelist-list.md +8 -8
- package/skills/te-meta/SKILL.md +5 -5
- package/skills/te-meta/references/batch-create-metadata.md +4 -4
- package/skills/te-meta/references/batch-edit-metadata.md +3 -3
- package/skills/te-meta/references/create-metric.md +12 -12
- package/skills/te-meta/references/create-project-mark-time.md +4 -4
- package/skills/te-meta/references/create-virtual-event.md +10 -10
- package/skills/te-meta/references/create-virtual-property.md +8 -8
- package/skills/te-meta/references/delete-project-mark-times.md +3 -3
- package/skills/te-meta/references/delete-track-items.md +3 -3
- package/skills/te-meta/references/get-metric.md +3 -3
- package/skills/te-meta/references/get-project-config.md +3 -3
- package/skills/te-meta/references/get-track-program.md +3 -3
- package/skills/te-meta/references/list-entities.md +4 -4
- package/skills/te-meta/references/list-events.md +4 -4
- package/skills/te-meta/references/list-metrics.md +4 -4
- package/skills/te-meta/references/list-project-mark-times.md +4 -4
- package/skills/te-meta/references/list-project-users.md +3 -3
- package/skills/te-meta/references/list-properties.md +4 -4
- package/skills/te-meta/references/save-track-items.md +3 -3
- package/skills/te-meta/references/update-metric.md +10 -10
- package/skills/te-meta/references/update-project-mark-time.md +4 -4
- package/skills/te-shared/SKILL.md +8 -8
- package/skills/te-community/references/community-release-analysis.md +0 -79
- package/skills/te-dataops/references/dataops-operations.md +0 -107
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
import {
|
|
2
|
+
callMcpTool,
|
|
3
|
+
parseMcpResult,
|
|
4
|
+
resolveMcpUrl
|
|
5
|
+
} from "./chunk-53FNNCZW.js";
|
|
6
|
+
import "./chunk-3CDLNXTD.js";
|
|
7
|
+
import "./chunk-EBFUVWIZ.js";
|
|
8
|
+
|
|
9
|
+
// src/commands/te-meta/shared.ts
|
|
10
|
+
function createMcpCommand(config) {
|
|
11
|
+
const toolName = config.command.slice(1);
|
|
12
|
+
const mcpService = config.mcpService || "analysis";
|
|
13
|
+
return {
|
|
14
|
+
service: "analysis_meta",
|
|
15
|
+
command: config.command,
|
|
16
|
+
description: config.description,
|
|
17
|
+
flags: config.flags,
|
|
18
|
+
risk: config.risk,
|
|
19
|
+
dryRun: (ctx) => ({
|
|
20
|
+
method: "tools/call",
|
|
21
|
+
url: resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService),
|
|
22
|
+
body: {
|
|
23
|
+
name: toolName,
|
|
24
|
+
arguments: config.buildArgs(ctx)
|
|
25
|
+
}
|
|
26
|
+
}),
|
|
27
|
+
execute: async (ctx) => {
|
|
28
|
+
const url = resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService);
|
|
29
|
+
const result = await callMcpTool(url, toolName, config.buildArgs(ctx), ctx.host());
|
|
30
|
+
return parseMcpResult(result);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function optionalString(ctx, name) {
|
|
35
|
+
const value = ctx.str(name);
|
|
36
|
+
return value === "" ? void 0 : value;
|
|
37
|
+
}
|
|
38
|
+
function optionalNumber(ctx, name) {
|
|
39
|
+
const value = ctx.str(name);
|
|
40
|
+
return value === "" ? void 0 : Number(value);
|
|
41
|
+
}
|
|
42
|
+
function optionalBoolean(ctx, name) {
|
|
43
|
+
const value = ctx.str(name);
|
|
44
|
+
return value === "" ? void 0 : ctx.bool(name);
|
|
45
|
+
}
|
|
46
|
+
function optionalJson(ctx, name) {
|
|
47
|
+
const value = ctx.str(name);
|
|
48
|
+
return value === "" ? void 0 : ctx.json(name);
|
|
49
|
+
}
|
|
50
|
+
function optionalJsonString(ctx, name) {
|
|
51
|
+
const value = optionalJson(ctx, name);
|
|
52
|
+
return value === void 0 ? void 0 : JSON.stringify(value);
|
|
53
|
+
}
|
|
54
|
+
function requiredJsonString(ctx, name) {
|
|
55
|
+
return JSON.stringify(ctx.json(name));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// src/commands/te-meta/meta/list-events.ts
|
|
59
|
+
var listEvents = createMcpCommand({
|
|
60
|
+
command: "+list_events",
|
|
61
|
+
description: "Read-only query for effective system event metadata",
|
|
62
|
+
flags: [
|
|
63
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
64
|
+
{ name: "query", type: "string", required: false, desc: "Optional keyword filter", alias: "q" }
|
|
65
|
+
],
|
|
66
|
+
risk: "read",
|
|
67
|
+
buildArgs: (ctx) => ({
|
|
68
|
+
projectId: ctx.num("project_id"),
|
|
69
|
+
query: optionalString(ctx, "query")
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// src/commands/te-meta/meta/list-properties.ts
|
|
74
|
+
var listProperties = createMcpCommand({
|
|
75
|
+
command: "+list_properties",
|
|
76
|
+
description: "Read-only query for effective system property metadata",
|
|
77
|
+
flags: [
|
|
78
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
79
|
+
{ name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
|
|
80
|
+
{ name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
|
|
81
|
+
{ name: "query", type: "string", required: false, desc: "Optional keyword filter", alias: "q" }
|
|
82
|
+
],
|
|
83
|
+
risk: "read",
|
|
84
|
+
buildArgs: (ctx) => ({
|
|
85
|
+
projectId: ctx.num("project_id"),
|
|
86
|
+
scope: optionalString(ctx, "scope"),
|
|
87
|
+
eventName: optionalString(ctx, "event_name"),
|
|
88
|
+
query: optionalString(ctx, "query")
|
|
89
|
+
})
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// src/commands/te-meta/meta/batch-edit-metadata.ts
|
|
93
|
+
var batchEditMetadata = createMcpCommand({
|
|
94
|
+
command: "+batch_edit_metadata",
|
|
95
|
+
description: "Batch edit effective system metadata only",
|
|
96
|
+
flags: [
|
|
97
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
98
|
+
{ name: "type", type: "string", required: true, desc: "Metadata type: event, event_property, or user_property" },
|
|
99
|
+
{ name: "items", type: "json", required: true, desc: "Batch edit item list JSON array" }
|
|
100
|
+
],
|
|
101
|
+
risk: "write",
|
|
102
|
+
mcpService: "te_analysis_extend",
|
|
103
|
+
buildArgs: (ctx) => ({
|
|
104
|
+
projectId: ctx.num("project_id"),
|
|
105
|
+
type: ctx.str("type"),
|
|
106
|
+
items: ctx.json("items")
|
|
107
|
+
})
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// src/commands/te-meta/meta/batch-create-metadata.ts
|
|
111
|
+
var batchCreateMetadata = createMcpCommand({
|
|
112
|
+
command: "+batch_create_metadata",
|
|
113
|
+
description: "Batch create effective system metadata only",
|
|
114
|
+
flags: [
|
|
115
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
116
|
+
{ name: "events", type: "json", required: false, desc: "Event creation list JSON array" },
|
|
117
|
+
{ name: "event_properties", type: "json", required: false, desc: "Event property creation list JSON array" },
|
|
118
|
+
{ name: "user_properties", type: "json", required: false, desc: "User property creation list JSON array" }
|
|
119
|
+
],
|
|
120
|
+
risk: "write",
|
|
121
|
+
mcpService: "te_analysis_extend",
|
|
122
|
+
buildArgs: (ctx) => ({
|
|
123
|
+
projectId: ctx.num("project_id"),
|
|
124
|
+
events: optionalJson(ctx, "events"),
|
|
125
|
+
eventProperties: optionalJson(ctx, "event_properties"),
|
|
126
|
+
userProperties: optionalJson(ctx, "user_properties")
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// src/commands/te-meta/meta/create-virtual-event.ts
|
|
131
|
+
var createVirtualEvent = createMcpCommand({
|
|
132
|
+
command: "+create_virtual_event",
|
|
133
|
+
description: "Create a virtual event by combining multiple events with optional filters",
|
|
134
|
+
flags: [
|
|
135
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
136
|
+
{ name: "event_name", type: "string", required: true, desc: "Virtual event name. Must start with 'ta@' and follow the naming constraints in the schema" },
|
|
137
|
+
{ name: "event_desc", type: "string", required: true, desc: "Virtual event description" },
|
|
138
|
+
{ name: "remark", type: "string", required: false, desc: "Optional remark" },
|
|
139
|
+
{ name: "events", type: "json", required: true, desc: "JSON array of events to combine" },
|
|
140
|
+
{ name: "filter", type: "json", required: false, desc: "Optional global filter JSON" },
|
|
141
|
+
{ name: "override", type: "boolean", required: false, desc: "Whether to override if the event already exists. Default: false" }
|
|
142
|
+
],
|
|
143
|
+
risk: "write",
|
|
144
|
+
mcpService: "te_analysis_extend",
|
|
145
|
+
buildArgs: (ctx) => ({
|
|
146
|
+
projectId: ctx.num("project_id"),
|
|
147
|
+
eventName: ctx.str("event_name"),
|
|
148
|
+
eventDesc: ctx.str("event_desc"),
|
|
149
|
+
remark: optionalString(ctx, "remark"),
|
|
150
|
+
events: requiredJsonString(ctx, "events"),
|
|
151
|
+
filter: optionalJsonString(ctx, "filter"),
|
|
152
|
+
override: optionalBoolean(ctx, "override")
|
|
153
|
+
})
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// src/commands/te-meta/meta/create-virtual-property.ts
|
|
157
|
+
var createVirtualProperty = createMcpCommand({
|
|
158
|
+
command: "+create_virtual_property",
|
|
159
|
+
description: "Create a SQL-based virtual property",
|
|
160
|
+
flags: [
|
|
161
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
162
|
+
{ name: "property_name", type: "string", required: true, desc: "Property name. Must start with '#vp@' and follow the naming constraints in the schema" },
|
|
163
|
+
{ name: "property_desc", type: "string", required: false, desc: "Display name/description" },
|
|
164
|
+
{ name: "table_type", type: "string", required: true, desc: "Table type: event or user" },
|
|
165
|
+
{ name: "select_type", type: "string", required: true, desc: "Select type: string, number, bool, or datetime" },
|
|
166
|
+
{ name: "sql_expression", type: "string", required: true, desc: "SQL expression for computing the property" },
|
|
167
|
+
{ name: "sql_event_relation_type", type: "string", required: true, desc: "SQL event relation type: relation_default, relation_always, or relation_by_setting" },
|
|
168
|
+
{ name: "related_events", type: "json", required: false, desc: "Optional related events JSON array. Required when sql_event_relation_type is relation_by_setting" },
|
|
169
|
+
{ name: "property_remark", type: "string", required: false, desc: "Optional property remark" }
|
|
170
|
+
],
|
|
171
|
+
risk: "write",
|
|
172
|
+
mcpService: "te_analysis_extend",
|
|
173
|
+
buildArgs: (ctx) => ({
|
|
174
|
+
projectId: ctx.num("project_id"),
|
|
175
|
+
propertyName: ctx.str("property_name"),
|
|
176
|
+
propertyDesc: optionalString(ctx, "property_desc"),
|
|
177
|
+
tableType: ctx.str("table_type"),
|
|
178
|
+
selectType: ctx.str("select_type"),
|
|
179
|
+
sqlExpression: ctx.str("sql_expression"),
|
|
180
|
+
sqlEventRelationType: ctx.str("sql_event_relation_type"),
|
|
181
|
+
relatedEvents: optionalJsonString(ctx, "related_events"),
|
|
182
|
+
propertyRemark: optionalString(ctx, "property_remark")
|
|
183
|
+
})
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// src/commands/te-meta/meta/list-metrics.ts
|
|
187
|
+
var listMetrics = createMcpCommand({
|
|
188
|
+
command: "+list_metrics",
|
|
189
|
+
description: "List metric metadata in the project",
|
|
190
|
+
flags: [
|
|
191
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
192
|
+
{ name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter" }
|
|
193
|
+
],
|
|
194
|
+
risk: "read",
|
|
195
|
+
mcpService: "te_analysis_extend",
|
|
196
|
+
buildArgs: (ctx) => ({
|
|
197
|
+
projectId: ctx.num("project_id"),
|
|
198
|
+
query: optionalString(ctx, "query")
|
|
199
|
+
})
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
// src/commands/te-meta/meta/get-metric.ts
|
|
203
|
+
var getMetric = createMcpCommand({
|
|
204
|
+
command: "+get_metric",
|
|
205
|
+
description: "Get the definition details of a single metric",
|
|
206
|
+
flags: [
|
|
207
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
208
|
+
{ name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" }
|
|
209
|
+
],
|
|
210
|
+
risk: "read",
|
|
211
|
+
mcpService: "te_analysis_extend",
|
|
212
|
+
buildArgs: (ctx) => ({
|
|
213
|
+
projectId: ctx.num("project_id"),
|
|
214
|
+
metricId: ctx.num("metric_id")
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
// src/commands/te-meta/meta/create-metric.ts
|
|
219
|
+
var createMetric = createMcpCommand({
|
|
220
|
+
command: "+create_metric",
|
|
221
|
+
description: "Create a metric from analysis configuration",
|
|
222
|
+
flags: [
|
|
223
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
224
|
+
{ name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
|
|
225
|
+
{ name: "display_name", type: "string", required: true, desc: "Metric display name" },
|
|
226
|
+
{ name: "remark", type: "string", required: false, desc: "Optional metric remark" },
|
|
227
|
+
{ name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
|
|
228
|
+
{ name: "events", type: "json", required: true, desc: "Metric events JSON. Use get_analysis_query_schema first to obtain the schema." },
|
|
229
|
+
{ name: "params", type: "json", required: true, desc: "Metric parameters JSON. For event, use format config; for retention, use the eventView configuration." }
|
|
230
|
+
],
|
|
231
|
+
risk: "write",
|
|
232
|
+
mcpService: "te_analysis_extend",
|
|
233
|
+
buildArgs: (ctx) => ({
|
|
234
|
+
projectId: ctx.num("project_id"),
|
|
235
|
+
name: ctx.str("name"),
|
|
236
|
+
displayName: ctx.str("display_name"),
|
|
237
|
+
remark: optionalString(ctx, "remark"),
|
|
238
|
+
modelType: ctx.str("model_type"),
|
|
239
|
+
events: requiredJsonString(ctx, "events"),
|
|
240
|
+
params: requiredJsonString(ctx, "params")
|
|
241
|
+
})
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
// src/commands/te-meta/meta/update-metric.ts
|
|
245
|
+
var updateMetric = createMcpCommand({
|
|
246
|
+
command: "+update_metric",
|
|
247
|
+
description: "Update a metric definition",
|
|
248
|
+
flags: [
|
|
249
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
250
|
+
{ name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" },
|
|
251
|
+
{ name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
|
|
252
|
+
{ name: "display_name", type: "string", required: true, desc: "Metric display name" },
|
|
253
|
+
{ name: "remark", type: "string", required: false, desc: "Optional metric remark" },
|
|
254
|
+
{ name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
|
|
255
|
+
{ name: "events", type: "json", required: true, desc: "Metric event definition JSON" },
|
|
256
|
+
{ name: "params", type: "json", required: false, desc: "Metric parameter definition JSON" }
|
|
257
|
+
],
|
|
258
|
+
risk: "write",
|
|
259
|
+
mcpService: "te_analysis_extend",
|
|
260
|
+
buildArgs: (ctx) => ({
|
|
261
|
+
projectId: ctx.num("project_id"),
|
|
262
|
+
metricId: ctx.num("metric_id"),
|
|
263
|
+
name: ctx.str("name"),
|
|
264
|
+
displayName: ctx.str("display_name"),
|
|
265
|
+
remark: optionalString(ctx, "remark"),
|
|
266
|
+
modelType: ctx.str("model_type"),
|
|
267
|
+
events: requiredJsonString(ctx, "events"),
|
|
268
|
+
params: optionalJsonString(ctx, "params")
|
|
269
|
+
})
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
// src/commands/te-meta/meta/index.ts
|
|
273
|
+
var commands = [
|
|
274
|
+
listEvents,
|
|
275
|
+
listProperties,
|
|
276
|
+
batchEditMetadata,
|
|
277
|
+
batchCreateMetadata,
|
|
278
|
+
createVirtualEvent,
|
|
279
|
+
createVirtualProperty,
|
|
280
|
+
listMetrics,
|
|
281
|
+
getMetric,
|
|
282
|
+
createMetric,
|
|
283
|
+
updateMetric
|
|
284
|
+
];
|
|
285
|
+
var meta_default = commands;
|
|
286
|
+
|
|
287
|
+
// src/commands/te-meta/project/get-project-config.ts
|
|
288
|
+
var getProjectConfig = createMcpCommand({
|
|
289
|
+
command: "+get_project_config",
|
|
290
|
+
description: "Get project configuration details including timezone settings",
|
|
291
|
+
flags: [
|
|
292
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" }
|
|
293
|
+
],
|
|
294
|
+
risk: "read",
|
|
295
|
+
buildArgs: (ctx) => ({
|
|
296
|
+
projectId: ctx.num("project_id")
|
|
297
|
+
})
|
|
298
|
+
});
|
|
299
|
+
|
|
300
|
+
// src/commands/te-meta/project/list-project-users.ts
|
|
301
|
+
var listProjectUsers = createMcpCommand({
|
|
302
|
+
command: "+list_project_users",
|
|
303
|
+
description: "Get all project members",
|
|
304
|
+
flags: [
|
|
305
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" }
|
|
306
|
+
],
|
|
307
|
+
risk: "read",
|
|
308
|
+
buildArgs: (ctx) => ({
|
|
309
|
+
projectId: ctx.num("project_id")
|
|
310
|
+
})
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
// src/commands/te-meta/project/get-track-program.ts
|
|
314
|
+
var getTrackProgram = createMcpCommand({
|
|
315
|
+
command: "+get_track_program",
|
|
316
|
+
description: "Query tracking-plan metadata (bury program)",
|
|
317
|
+
flags: [
|
|
318
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" }
|
|
319
|
+
],
|
|
320
|
+
risk: "read",
|
|
321
|
+
mcpService: "te_analysis_extend",
|
|
322
|
+
buildArgs: (ctx) => ({
|
|
323
|
+
projectId: ctx.num("project_id")
|
|
324
|
+
})
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
// src/commands/te-meta/project/save-track-items.ts
|
|
328
|
+
var saveTrackItems = createMcpCommand({
|
|
329
|
+
command: "+save_track_items",
|
|
330
|
+
description: "Create or update tracking-plan metadata only",
|
|
331
|
+
flags: [
|
|
332
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
333
|
+
{ name: "track_data", type: "json", required: true, desc: "Track program JSON object with events/eventProps/userProps/commonEventProps" }
|
|
334
|
+
],
|
|
335
|
+
risk: "write",
|
|
336
|
+
mcpService: "te_analysis_extend",
|
|
337
|
+
buildArgs: (ctx) => ({
|
|
338
|
+
projectId: ctx.num("project_id"),
|
|
339
|
+
trackData: requiredJsonString(ctx, "track_data")
|
|
340
|
+
})
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
// src/commands/te-meta/project/delete-track-items.ts
|
|
344
|
+
var deleteTrackItems = createMcpCommand({
|
|
345
|
+
command: "+delete_track_items",
|
|
346
|
+
description: "Delete tracking-plan metadata items only",
|
|
347
|
+
flags: [
|
|
348
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
349
|
+
{ name: "delete_data", type: "json", required: true, desc: "Delete payload JSON object with events/eventPropNames/userPropNames/commonEventPropNames" }
|
|
350
|
+
],
|
|
351
|
+
risk: "write",
|
|
352
|
+
mcpService: "te_analysis_extend",
|
|
353
|
+
buildArgs: (ctx) => ({
|
|
354
|
+
projectId: ctx.num("project_id"),
|
|
355
|
+
deleteData: requiredJsonString(ctx, "delete_data")
|
|
356
|
+
})
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
// src/commands/te-meta/project/create-project-mark-time.ts
|
|
360
|
+
var createProjectMarkTime = createMcpCommand({
|
|
361
|
+
command: "+create_project_mark_time",
|
|
362
|
+
description: "Create a project date marker",
|
|
363
|
+
flags: [
|
|
364
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
365
|
+
{ name: "marked_at", type: "string", required: true, desc: "Marked time yyyy-MM-dd HH:mm" },
|
|
366
|
+
{ name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
|
|
367
|
+
{ name: "content", type: "string", required: true, desc: "Marker content" },
|
|
368
|
+
{ name: "is_visible", type: "number", required: false, desc: "Whether the marker is visible. Default: 1" }
|
|
369
|
+
],
|
|
370
|
+
risk: "write",
|
|
371
|
+
mcpService: "te_analysis_extend",
|
|
372
|
+
buildArgs: (ctx) => ({
|
|
373
|
+
projectId: ctx.num("project_id"),
|
|
374
|
+
markedAt: ctx.str("marked_at"),
|
|
375
|
+
zoneOffset: optionalNumber(ctx, "zone_offset"),
|
|
376
|
+
content: ctx.str("content"),
|
|
377
|
+
isVisible: optionalNumber(ctx, "is_visible")
|
|
378
|
+
})
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
// src/commands/te-meta/project/update-project-mark-time.ts
|
|
382
|
+
var updateProjectMarkTime = createMcpCommand({
|
|
383
|
+
command: "+update_project_mark_time",
|
|
384
|
+
description: "Update an existing project date marker",
|
|
385
|
+
flags: [
|
|
386
|
+
{ name: "mark_time_id", type: "number", required: true, desc: "Mark time ID" },
|
|
387
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
388
|
+
{ name: "marked_at", type: "string", required: true, desc: "Marked time yyyy-MM-dd HH:mm" },
|
|
389
|
+
{ name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
|
|
390
|
+
{ name: "content", type: "string", required: true, desc: "Marker content" },
|
|
391
|
+
{ name: "is_visible", type: "number", required: false, desc: "Whether the marker is visible. Default: 1" }
|
|
392
|
+
],
|
|
393
|
+
risk: "write",
|
|
394
|
+
mcpService: "te_analysis_extend",
|
|
395
|
+
buildArgs: (ctx) => ({
|
|
396
|
+
markTimeId: ctx.num("mark_time_id"),
|
|
397
|
+
projectId: ctx.num("project_id"),
|
|
398
|
+
markedAt: ctx.str("marked_at"),
|
|
399
|
+
zoneOffset: optionalNumber(ctx, "zone_offset"),
|
|
400
|
+
content: ctx.str("content"),
|
|
401
|
+
isVisible: optionalNumber(ctx, "is_visible")
|
|
402
|
+
})
|
|
403
|
+
});
|
|
404
|
+
|
|
405
|
+
// src/commands/te-meta/project/list-project-mark-times.ts
|
|
406
|
+
var listProjectMarkTimes = createMcpCommand({
|
|
407
|
+
command: "+list_project_mark_times",
|
|
408
|
+
description: "List project date markers",
|
|
409
|
+
flags: [
|
|
410
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
411
|
+
{ name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" }
|
|
412
|
+
],
|
|
413
|
+
risk: "read",
|
|
414
|
+
mcpService: "te_analysis_extend",
|
|
415
|
+
buildArgs: (ctx) => ({
|
|
416
|
+
projectId: ctx.num("project_id"),
|
|
417
|
+
zoneOffset: optionalNumber(ctx, "zone_offset")
|
|
418
|
+
})
|
|
419
|
+
});
|
|
420
|
+
|
|
421
|
+
// src/commands/te-meta/project/delete-project-mark-times.ts
|
|
422
|
+
var deleteProjectMarkTimes = createMcpCommand({
|
|
423
|
+
command: "+delete_project_mark_times",
|
|
424
|
+
description: "Delete one or more project date markers",
|
|
425
|
+
flags: [
|
|
426
|
+
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
427
|
+
{ name: "mark_time_ids", type: "json", required: true, desc: "Marker ID list JSON array" }
|
|
428
|
+
],
|
|
429
|
+
risk: "write",
|
|
430
|
+
mcpService: "te_analysis_extend",
|
|
431
|
+
buildArgs: (ctx) => ({
|
|
432
|
+
projectId: ctx.num("project_id"),
|
|
433
|
+
markTimeIds: ctx.json("mark_time_ids")
|
|
434
|
+
})
|
|
435
|
+
});
|
|
436
|
+
|
|
437
|
+
// src/commands/te-meta/project/index.ts
|
|
438
|
+
var commands2 = [
|
|
439
|
+
getProjectConfig,
|
|
440
|
+
listProjectUsers,
|
|
441
|
+
getTrackProgram,
|
|
442
|
+
saveTrackItems,
|
|
443
|
+
deleteTrackItems,
|
|
444
|
+
createProjectMarkTime,
|
|
445
|
+
updateProjectMarkTime,
|
|
446
|
+
listProjectMarkTimes,
|
|
447
|
+
deleteProjectMarkTimes
|
|
448
|
+
];
|
|
449
|
+
var project_default = commands2;
|
|
450
|
+
|
|
451
|
+
// src/commands/te-meta/entity/list-entities.ts
|
|
452
|
+
var listEntities = createMcpCommand({
|
|
453
|
+
command: "+list_entities",
|
|
454
|
+
description: "List entities in the project",
|
|
455
|
+
flags: [
|
|
456
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
457
|
+
{ name: "event_name", type: "string", required: false, desc: "Optional event name filter" }
|
|
458
|
+
],
|
|
459
|
+
risk: "read",
|
|
460
|
+
buildArgs: (ctx) => ({
|
|
461
|
+
projectId: ctx.num("project_id"),
|
|
462
|
+
eventName: optionalString(ctx, "event_name")
|
|
463
|
+
})
|
|
464
|
+
});
|
|
465
|
+
|
|
466
|
+
// src/commands/te-meta/entity/index.ts
|
|
467
|
+
var commands3 = [listEntities];
|
|
468
|
+
var entity_default = commands3;
|
|
469
|
+
|
|
470
|
+
// src/commands/te-meta/index.ts
|
|
471
|
+
var commands4 = [
|
|
472
|
+
...meta_default,
|
|
473
|
+
...project_default,
|
|
474
|
+
...entity_default
|
|
475
|
+
];
|
|
476
|
+
var te_meta_default = commands4;
|
|
477
|
+
export {
|
|
478
|
+
te_meta_default as default
|
|
479
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thinkingai/ae-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "CLI tool for ThinkingAI AgenticEngine (AE) analytics platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"dev": "tsx src/index.ts",
|
|
18
18
|
"build": "tsup src/index.ts --format esm --outDir dist",
|
|
19
|
-
"verify:
|
|
20
|
-
"verify:
|
|
21
|
-
"verify:
|
|
22
|
-
"verify:
|
|
19
|
+
"verify:analysis-tools": "node scripts/verify-te-analysis-tools.mjs",
|
|
20
|
+
"verify:analysis-audience-tools": "node scripts/verify-te-audience-tools.mjs",
|
|
21
|
+
"verify:analysis-meta-tools": "node scripts/verify-te-meta-tools.mjs",
|
|
22
|
+
"verify:analysis-common-tools": "node scripts/verify-te-common-tools.mjs",
|
|
23
23
|
"prepublishOnly": "npm run build",
|
|
24
24
|
"start": "node dist/index.js",
|
|
25
25
|
"test": "npx tsx src/index.ts --help"
|
|
@@ -39,8 +39,10 @@
|
|
|
39
39
|
"node": ">=18.0.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
+
"@types/json-bigint": "^1.0.4",
|
|
42
43
|
"cli-table3": "^0.6.5",
|
|
43
44
|
"commander": "^12.1.0",
|
|
45
|
+
"json-bigint": "^1.0.0",
|
|
44
46
|
"ws": "^8.18.0"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
@@ -5,13 +5,13 @@ description: "TE analysis query and visualization: report (report) and dashboard
|
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["ae-cli"]
|
|
8
|
-
cliHelp: "ae-cli
|
|
8
|
+
cliHelp: "ae-cli analysis --help"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# te-analysis
|
|
12
12
|
|
|
13
13
|
> **CRITICAL - Before starting, you MUST first read [`../te-shared/SKILL.md`](../te-shared/SKILL.md)**: authentication, host configuration, global parameters, and write-operation confirmation rules are all documented there.
|
|
14
|
-
> **CRITICAL - For write operations marked with ⚠️, after a successful execution you MUST first read and follow the "post-write link completion" constraint in [`../te-common/SKILL.md`](../te-common/SKILL.md). You MUST call `
|
|
14
|
+
> **CRITICAL - For write operations marked with ⚠️, after a successful execution you MUST first read and follow the "post-write link completion" constraint in [`../te-common/SKILL.md`](../te-common/SKILL.md). You MUST call `analysis_common +get_resource_url` to complete the link-completion loop.**
|
|
15
15
|
> **CRITICAL - For all commands that require `project_id`, you MUST follow `te-common`'s `PROJECT_ID_GATE` (stop if missing and confirm with the user).**
|
|
16
16
|
> **CRITICAL - Before running any `+<tool_name>` command, you MUST first read the corresponding reference document `./references/<tool-name>.md`.** For example: before running `+get_analysis_query_schema`, you must first read [`./references/get-analysis-query-schema.md`](./references/get-analysis-query-schema.md)
|
|
17
17
|
|
|
@@ -44,7 +44,7 @@ When the user requests the following, switch to the corresponding skill:
|
|
|
44
44
|
|
|
45
45
|
## Parameters and Conventions
|
|
46
46
|
|
|
47
|
-
- Command format: `ae-cli
|
|
47
|
+
- Command format: `ae-cli analysis +<tool_name> [options]`
|
|
48
48
|
- CLI flags use underscores: `--project_id`
|
|
49
49
|
- MCP parameters map automatically to camelCase: `projectId`
|
|
50
50
|
- Pass JSON parameters directly as JSON strings: `'{}'`, `'[1,2]'`
|
|
@@ -60,15 +60,15 @@ When the user requests the following, switch to the corresponding skill:
|
|
|
60
60
|
- `+update_alert` ([doc](./references/update-alert.md))
|
|
61
61
|
|
|
62
62
|
### Reports and Dashboards (13)
|
|
63
|
-
- `+create_report` ([doc](./references/create-report.md)) ⚠️ write operation, after it succeeds you MUST call `
|
|
63
|
+
- `+create_report` ([doc](./references/create-report.md)) ⚠️ write operation, after it succeeds you MUST call `analysis_common +get_resource_url` to complete the link-completion loop
|
|
64
64
|
- `+get_report_definition` ([doc](./references/get-report-definition.md))
|
|
65
65
|
- `+list_reports` ([doc](./references/list-reports.md))
|
|
66
66
|
- `+query_report_data` ([doc](./references/query-report-data.md))
|
|
67
|
-
- `+create_dashboard` ([doc](./references/create-dashboard.md)) ⚠️ write operation, after it succeeds you MUST call `
|
|
67
|
+
- `+create_dashboard` ([doc](./references/create-dashboard.md)) ⚠️ write operation, after it succeeds you MUST call `analysis_common +get_resource_url` to complete the link-completion loop
|
|
68
68
|
- `+list_dashboards` ([doc](./references/list-dashboards.md))
|
|
69
69
|
- `+query_dashboard_detail` ([doc](./references/query-dashboard-detail.md))
|
|
70
70
|
- `+query_dashboard_report_data` ([doc](./references/query-dashboard-report-data.md))
|
|
71
|
-
- `+update_dashboard` ([doc](./references/update-dashboard.md)) ⚠️ write operation, after it succeeds you MUST call `
|
|
71
|
+
- `+update_dashboard` ([doc](./references/update-dashboard.md)) ⚠️ write operation, after it succeeds you MUST call `analysis_common +get_resource_url` to complete the link-completion loop
|
|
72
72
|
- `+create_or_update_dashboard_note` ([doc](./references/create-or-update-dashboard-note.md))
|
|
73
73
|
- `+list_public_access_links` ([doc](./references/list-public-access-links.md))
|
|
74
74
|
- `+create_public_access_link` ([doc](./references/create-public-access-link.md))
|
|
@@ -78,7 +78,7 @@ When the user requests the following, switch to the corresponding skill:
|
|
|
78
78
|
- `+query_adhoc` ([doc](./references/query-adhoc.md))
|
|
79
79
|
- `+drilldown_users` ([doc](./references/drilldown-users.md))
|
|
80
80
|
- `+drilldown_user_events` ([doc](./references/drilldown-user-events.md))
|
|
81
|
-
- `+create_result_cluster` ([doc](./references/create-result-cluster.md)) ⚠️ write operation, after it succeeds you MUST call `
|
|
81
|
+
- `+create_result_cluster` ([doc](./references/create-result-cluster.md)) ⚠️ write operation, after it succeeds you MUST call `analysis_common +get_resource_url` to complete the link-completion loop
|
|
82
82
|
- `+load_filters` ([doc](./references/load-filters.md))
|
|
83
83
|
- `+get_table_columns` ([doc](./references/get-table-columns.md))
|
|
84
84
|
|
|
@@ -96,10 +96,10 @@ When the user requests the following, switch to the corresponding skill:
|
|
|
96
96
|
## Quick Verification
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
|
-
ae-cli
|
|
100
|
-
npm run verify:
|
|
99
|
+
ae-cli analysis --help
|
|
100
|
+
npm run verify:analysis-tools
|
|
101
101
|
# Example: use dry-run to preview the request (replace project_id with your actual project ID)
|
|
102
|
-
ae-cli
|
|
102
|
+
ae-cli analysis +query_adhoc --project_id <YOUR_PROJECT_ID> --model_type event --qp "{}" --dry-run
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
## Reference Docs
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# analysis +build_entity_details_sql (Generate Entity Details SQL)
|
|
2
2
|
|
|
3
3
|
> **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
|
|
4
4
|
|
|
@@ -18,16 +18,16 @@ Domain: **Entity details SQL queries**
|
|
|
18
18
|
|
|
19
19
|
## Prerequisite call chain (required for constructing definition/properties)
|
|
20
20
|
1. First confirm the cluster type (condition / sql).
|
|
21
|
-
2. Read `get-cluster-definition-schema.md`, then call `
|
|
22
|
-
3. Read `list-events.md`, then call `
|
|
23
|
-
4. Read `list-properties.md`, then call `
|
|
21
|
+
2. Read `get-cluster-definition-schema.md`, then call `ae-cli analysis_audience +get_cluster_definition_schema --cluster_type <condition|sql>` to get the structure.
|
|
22
|
+
3. Read `list-events.md`, then call `ae-cli analysis_meta +list_events --project_id 1`.
|
|
23
|
+
4. Read `list-properties.md`, then call `ae-cli analysis_meta +list_properties --project_id 1`.
|
|
24
24
|
5. Build `definition` (and optional `properties`) from the schema + metadata, then call `+build_entity_details_sql`.
|
|
25
25
|
|
|
26
26
|
## Command
|
|
27
27
|
```bash
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
ae-cli analysis +build_entity_details_sql --project_id 1 --definition '{}'
|
|
29
|
+
ae-cli analysis +build_entity_details_sql --project_id 1 --entity_id 1001 --definition '{}' --properties '{}' --sort_by time --sort_order desc --limit 100 --zone_offset 8
|
|
30
|
+
ae-cli analysis +build_entity_details_sql --dry-run
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Parameters
|
|
@@ -35,8 +35,8 @@ te-cli te_analysis +build_entity_details_sql --dry-run
|
|
|
35
35
|
|---|---|---|
|
|
36
36
|
| `--project_id` / `-p` | Yes | Project ID |
|
|
37
37
|
| `--entity_id` | No | Optional entity ID used in multi-entity scenarios. If omitted, the default user entity is used. |
|
|
38
|
-
| `--definition` | Yes | Cluster definition JSON. MUST call `+get_cluster_definition_schema` first, then fill valid event/property names from `
|
|
39
|
-
| `--properties` | No | Optional display properties JSON, for example `[{"columnName":"#user_id","tableType":"0"},{"columnName":"device_id","tableType":"0"}]`. If provided, property names should come from `
|
|
38
|
+
| `--definition` | Yes | Cluster definition JSON. MUST call `+get_cluster_definition_schema` first, then fill valid event/property names from `analysis_meta +list_events` / `analysis_meta +list_properties` in the same `project_id`. |
|
|
39
|
+
| `--properties` | No | Optional display properties JSON, for example `[{"columnName":"#user_id","tableType":"0"},{"columnName":"device_id","tableType":"0"}]`. If provided, property names should come from `analysis_meta +list_properties` in the same `project_id`. |
|
|
40
40
|
| `--sort_by` | No | Optional sort field |
|
|
41
41
|
| `--sort_order` | No | Optional sort order. Supported values: asc and desc |
|
|
42
42
|
| `--limit` | No | Optional result limit. Default: 1000, maximum: 10000 |
|
|
@@ -54,5 +54,5 @@ te-cli te_analysis +build_entity_details_sql --dry-run
|
|
|
54
54
|
- If `Invalid JSON` appears, first check the schema required fields, then verify whether the event/property names come from metadata query results for the same `project_id`.
|
|
55
55
|
|
|
56
56
|
## Recommended chaining
|
|
57
|
-
- +get_cluster_definition_schema ->
|
|
57
|
+
- +get_cluster_definition_schema -> analysis_meta +list_events -> analysis_meta +list_properties -> +build_entity_details_sql
|
|
58
58
|
- +query_entity_details -> +query_event_details -> +build_event_details_sql
|