@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.
Files changed (170) hide show
  1. package/README.md +16 -13
  2. package/dist/auth-BQC5DBE7.js +19 -0
  3. package/dist/auth-DXKYLMO7.js +81 -0
  4. package/dist/chunk-3CDLNXTD.js +218 -0
  5. package/dist/chunk-53FNNCZW.js +174 -0
  6. package/dist/chunk-EBFUVWIZ.js +127 -0
  7. package/dist/chunk-ZYXIGPG7.js +148 -0
  8. package/dist/client-T4VODLA6.js +16 -0
  9. package/dist/community-FVDAWGS4.js +684 -0
  10. package/dist/config-V7AXKDMB.js +242 -0
  11. package/dist/index.js +16 -15
  12. package/dist/raw-G3GKHAPZ.js +61 -0
  13. package/dist/te-analysis-CHFTDN55.js +871 -0
  14. package/dist/te-audience-M6LQY6M7.js +350 -0
  15. package/dist/te-common-BLQ7DVGC.js +144 -0
  16. package/dist/te-dataops-V4OTKY35.js +1853 -0
  17. package/dist/te-engage-DXE4R5EW.js +1470 -0
  18. package/dist/te-meta-FMM7KCVI.js +479 -0
  19. package/package.json +7 -5
  20. package/skills/te-analysis/SKILL.md +10 -10
  21. package/skills/te-analysis/references/build-entity-details-sql.md +10 -10
  22. package/skills/te-analysis/references/build-event-details-sql.md +10 -10
  23. package/skills/te-analysis/references/create-alert.md +4 -4
  24. package/skills/te-analysis/references/create-dashboard.md +4 -4
  25. package/skills/te-analysis/references/create-or-update-dashboard-note.md +4 -4
  26. package/skills/te-analysis/references/create-public-access-link.md +4 -4
  27. package/skills/te-analysis/references/create-report.md +10 -10
  28. package/skills/te-analysis/references/create-result-cluster.md +4 -4
  29. package/skills/te-analysis/references/drilldown-user-events.md +6 -6
  30. package/skills/te-analysis/references/drilldown-users.md +4 -4
  31. package/skills/te-analysis/references/get-alert-definition-schema.md +3 -3
  32. package/skills/te-analysis/references/get-alert.md +3 -3
  33. package/skills/te-analysis/references/get-analysis-query-schema.md +4 -4
  34. package/skills/te-analysis/references/get-filter-schema.md +3 -3
  35. package/skills/te-analysis/references/get-groupby-schema.md +3 -3
  36. package/skills/te-analysis/references/get-report-definition.md +3 -3
  37. package/skills/te-analysis/references/get-table-columns.md +3 -3
  38. package/skills/te-analysis/references/list-alerts.md +4 -4
  39. package/skills/te-analysis/references/list-dashboards.md +4 -4
  40. package/skills/te-analysis/references/list-public-access-links.md +3 -3
  41. package/skills/te-analysis/references/list-reports.md +4 -4
  42. package/skills/te-analysis/references/load-filters.md +4 -4
  43. package/skills/te-analysis/references/query-adhoc.md +10 -10
  44. package/skills/te-analysis/references/query-dashboard-detail.md +3 -3
  45. package/skills/te-analysis/references/query-dashboard-report-data.md +9 -9
  46. package/skills/te-analysis/references/query-entity-details.md +10 -10
  47. package/skills/te-analysis/references/query-event-details.md +10 -10
  48. package/skills/te-analysis/references/query-report-data.md +11 -11
  49. package/skills/te-analysis/references/update-alert.md +4 -4
  50. package/skills/te-analysis/references/update-dashboard.md +4 -4
  51. package/skills/te-analysis/references/update-public-access-link.md +4 -4
  52. package/skills/te-audience/SKILL.md +5 -5
  53. package/skills/te-audience/references/create-cluster.md +10 -10
  54. package/skills/te-audience/references/create-tag.md +10 -10
  55. package/skills/te-audience/references/get-cluster-definition-schema.md +9 -9
  56. package/skills/te-audience/references/get-clusters-by-name.md +3 -3
  57. package/skills/te-audience/references/get-tag-definition-schema.md +3 -3
  58. package/skills/te-audience/references/get-tags-by-name.md +3 -3
  59. package/skills/te-audience/references/list-cluster-members.md +4 -4
  60. package/skills/te-audience/references/list-clusters.md +4 -4
  61. package/skills/te-audience/references/list-tag-members.md +4 -4
  62. package/skills/te-audience/references/list-tags.md +4 -4
  63. package/skills/te-audience/references/refresh-cluster.md +3 -3
  64. package/skills/te-audience/references/refresh-tag.md +3 -3
  65. package/skills/te-audience/references/update-cluster.md +9 -9
  66. package/skills/te-audience/references/update-tag.md +10 -10
  67. package/skills/te-common/SKILL.md +2 -2
  68. package/skills/te-common/references/get-resource-url.md +5 -5
  69. package/skills/te-common/references/list-projects.md +3 -3
  70. package/skills/te-community/SKILL.md +61 -69
  71. package/skills/te-community/references/community-activity-analysis.md +43 -43
  72. package/skills/te-community/references/community-analyzing-official-content.md +47 -47
  73. package/skills/te-community/references/community-analyzing-theme-comment.md +87 -87
  74. package/skills/te-community/references/community-character-analysis.md +44 -44
  75. package/skills/te-community/references/community-daily-report.md +56 -53
  76. package/skills/te-community/references/community-hottopic-insight.md +81 -87
  77. package/skills/te-community/references/community-weekly-report.md +54 -53
  78. package/skills/te-community/references/get_channel_info.md +9 -9
  79. package/skills/te-community/references/get_comment_tag_analysis.md +15 -15
  80. package/skills/te-community/references/get_comments_summary.md +15 -15
  81. package/skills/te-community/references/get_corpus_tags.md +9 -9
  82. package/skills/te-community/references/get_daily_summary.md +10 -10
  83. package/skills/te-community/references/get_hot_topics.md +12 -12
  84. package/skills/te-community/references/get_livestream_analysis.md +9 -9
  85. package/skills/te-community/references/get_livestream_detail.md +19 -19
  86. package/skills/te-community/references/get_livestream_list.md +13 -13
  87. package/skills/te-community/references/get_livestream_overview.md +11 -11
  88. package/skills/te-community/references/get_livestream_room_metrics.md +12 -12
  89. package/skills/te-community/references/get_livestream_rooms.md +12 -12
  90. package/skills/te-community/references/get_overview_metrics.md +12 -12
  91. package/skills/te-community/references/get_post_detail.md +21 -21
  92. package/skills/te-community/references/get_risk_content.md +23 -23
  93. package/skills/te-community/references/get_sentiment_overview.md +16 -16
  94. package/skills/te-community/references/get_tag_trends.md +13 -13
  95. package/skills/te-community/references/get_topic_detail.md +12 -12
  96. package/skills/te-community/references/search_posts.md +26 -26
  97. package/skills/te-dataops/SKILL.md +390 -392
  98. package/skills/te-dataops/references/dataops-flow-create.md +87 -87
  99. package/skills/te-dataops/references/dataops-flow-monitor.md +65 -65
  100. package/skills/te-dataops/references/dataops-integration.md +90 -85
  101. package/skills/te-dataops/references/dataops-query.md +58 -58
  102. package/skills/te-dataops/references/dataops-table.md +63 -63
  103. package/skills/te-engage/SKILL.md +103 -103
  104. package/skills/te-engage/references/add-approver.md +11 -11
  105. package/skills/te-engage/references/add-channel.md +34 -34
  106. package/skills/te-engage/references/approver-list.md +8 -8
  107. package/skills/te-engage/references/cancel-query-by-request-id.md +10 -10
  108. package/skills/te-engage/references/channel-detail.md +13 -13
  109. package/skills/te-engage/references/channel-list.md +15 -15
  110. package/skills/te-engage/references/config-channel-detail.md +10 -10
  111. package/skills/te-engage/references/config-channel-list.md +11 -11
  112. package/skills/te-engage/references/config-item-analysis-report.md +21 -21
  113. package/skills/te-engage/references/config-item-detail.md +10 -10
  114. package/skills/te-engage/references/config-item-list.md +8 -8
  115. package/skills/te-engage/references/config-item-strategy-comparison.md +14 -14
  116. package/skills/te-engage/references/config-item-trigger-report.md +26 -26
  117. package/skills/te-engage/references/copy-config-template.md +16 -16
  118. package/skills/te-engage/references/delete-channel.md +11 -11
  119. package/skills/te-engage/references/delete-config-channel.md +11 -11
  120. package/skills/te-engage/references/delete-config-item.md +12 -12
  121. package/skills/te-engage/references/delete-flow.md +11 -11
  122. package/skills/te-engage/references/flow-ab-split-node-report.md +29 -29
  123. package/skills/te-engage/references/flow-detail.md +19 -19
  124. package/skills/te-engage/references/flow-list.md +8 -8
  125. package/skills/te-engage/references/flow-node-config-schema.md +11 -11
  126. package/skills/te-engage/references/flow-node-detail-report.md +30 -30
  127. package/skills/te-engage/references/flow-node-overview-report.md +27 -27
  128. package/skills/te-engage/references/flow-process-report.md +32 -32
  129. package/skills/te-engage/references/manage-flow.md +44 -44
  130. package/skills/te-engage/references/manage-strategy.md +37 -37
  131. package/skills/te-engage/references/manage-task.md +20 -20
  132. package/skills/te-engage/references/modify-flow-base-info.md +14 -14
  133. package/skills/te-engage/references/save-flow.md +264 -263
  134. package/skills/te-engage/references/strategy-detail.md +16 -16
  135. package/skills/te-engage/references/strategy-list.md +10 -10
  136. package/skills/te-engage/references/task-data-detail.md +47 -47
  137. package/skills/te-engage/references/task-data-overview.md +23 -23
  138. package/skills/te-engage/references/task-detail.md +18 -18
  139. package/skills/te-engage/references/task-experiment-report.md +26 -26
  140. package/skills/te-engage/references/task-list.md +35 -35
  141. package/skills/te-engage/references/task-metric-detail.md +31 -31
  142. package/skills/te-engage/references/task-stats.md +31 -31
  143. package/skills/te-engage/references/update-channel-status.md +13 -13
  144. package/skills/te-engage/references/update-config-channel-status.md +14 -14
  145. package/skills/te-engage/references/validate-flow-node-config.md +15 -15
  146. package/skills/te-engage/references/whitelist-list.md +8 -8
  147. package/skills/te-meta/SKILL.md +5 -5
  148. package/skills/te-meta/references/batch-create-metadata.md +4 -4
  149. package/skills/te-meta/references/batch-edit-metadata.md +3 -3
  150. package/skills/te-meta/references/create-metric.md +12 -12
  151. package/skills/te-meta/references/create-project-mark-time.md +4 -4
  152. package/skills/te-meta/references/create-virtual-event.md +10 -10
  153. package/skills/te-meta/references/create-virtual-property.md +8 -8
  154. package/skills/te-meta/references/delete-project-mark-times.md +3 -3
  155. package/skills/te-meta/references/delete-track-items.md +3 -3
  156. package/skills/te-meta/references/get-metric.md +3 -3
  157. package/skills/te-meta/references/get-project-config.md +3 -3
  158. package/skills/te-meta/references/get-track-program.md +3 -3
  159. package/skills/te-meta/references/list-entities.md +4 -4
  160. package/skills/te-meta/references/list-events.md +4 -4
  161. package/skills/te-meta/references/list-metrics.md +4 -4
  162. package/skills/te-meta/references/list-project-mark-times.md +4 -4
  163. package/skills/te-meta/references/list-project-users.md +3 -3
  164. package/skills/te-meta/references/list-properties.md +4 -4
  165. package/skills/te-meta/references/save-track-items.md +3 -3
  166. package/skills/te-meta/references/update-metric.md +10 -10
  167. package/skills/te-meta/references/update-project-mark-time.md +4 -4
  168. package/skills/te-shared/SKILL.md +8 -8
  169. package/skills/te-community/references/community-release-analysis.md +0 -79
  170. 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.1",
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:te-analysis-tools": "node scripts/verify-te-analysis-tools.mjs",
20
- "verify:te-audience-tools": "node scripts/verify-te-audience-tools.mjs",
21
- "verify:te-meta-tools": "node scripts/verify-te-meta-tools.mjs",
22
- "verify:te-common-tools": "node scripts/verify-te-common-tools.mjs",
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 te_analysis --help"
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 `te_common +get_resource_url` to complete the link-completion loop.**
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 te_analysis +<tool_name> [options]`
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 `te_common +get_resource_url` to complete the link-completion loop
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 `te_common +get_resource_url` to complete the link-completion loop
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 `te_common +get_resource_url` to complete the link-completion loop
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 `te_common +get_resource_url` to complete the link-completion loop
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 te_analysis --help
100
- npm run verify:te-analysis-tools
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 te_analysis +query_adhoc --project_id <YOUR_PROJECT_ID> --model_type event --qp "{}" --dry-run
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
- # te_analysis +build_entity_details_sql (Generate Entity Details SQL)
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 `te-cli te_audience +get_cluster_definition_schema --cluster_type <condition|sql>` to get the structure.
22
- 3. Read `list-events.md`, then call `te-cli te_meta +list_events --project_id 1`.
23
- 4. Read `list-properties.md`, then call `te-cli te_meta +list_properties --project_id 1`.
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
- te-cli te_analysis +build_entity_details_sql --project_id 1 --definition '{}'
29
- te-cli te_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
- te-cli te_analysis +build_entity_details_sql --dry-run
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 `te_meta +list_events` / `te_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 `te_meta +list_properties` in the same `project_id`. |
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 -> te_meta +list_events -> te_meta +list_properties -> +build_entity_details_sql
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