@thinkingai/ae-cli 6.0.22 → 6.0.24

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 (94) hide show
  1. package/dist/{auth-RDN6D5HU.js → auth-A2XXG5K4.js} +7 -11
  2. package/dist/auth-IDPKDFSY.js +13 -0
  3. package/dist/{chunk-4EUZRJPO.js → chunk-2OW2RENH.js} +40 -10
  4. package/dist/{chunk-H52CSLJW.js → chunk-4FQ36OGO.js} +4 -4
  5. package/dist/chunk-AKORWVHJ.js +59 -0
  6. package/dist/{chunk-E34XH4GW.js → chunk-F3ZDMC2W.js} +8 -8
  7. package/dist/chunk-FIT4CFIN.js +59 -0
  8. package/dist/{chunk-2W7HULUD.js → chunk-IDXW6MEJ.js} +2 -2
  9. package/dist/{chunk-5FBLRSMU.js → chunk-NGJDCOYA.js} +3 -3
  10. package/dist/chunk-NXJP4CES.js +209 -0
  11. package/dist/{chunk-FPE5LGVU.js → chunk-OCQPQYHZ.js} +2 -2
  12. package/dist/{chunk-YACCPUNQ.js → chunk-ONOA6DYB.js} +1 -1
  13. package/dist/{chunk-U6QPKCN3.js → chunk-PFJFZVCK.js} +8 -115
  14. package/dist/chunk-V5R5UIRM.js +195 -0
  15. package/dist/{chunk-XE2PI5DS.js → chunk-WXBCP6SD.js} +1 -1
  16. package/dist/{cli-token-6AGEDJF4.js → cli-token-OZXHC3U2.js} +3 -3
  17. package/dist/{client-VTJMUZ4O.js → client-7L735LVY.js} +3 -3
  18. package/dist/{config-2SDTLGOC.js → config-SXD2JKSL.js} +3 -3
  19. package/dist/index.js +27 -24
  20. package/dist/{metadata-JZ2OTWBK.js → metadata-QWUAX625.js} +56 -65
  21. package/dist/metadata-XWTEGEN2.js +411 -0
  22. package/dist/{model-ZYMRN4VS.js → model-3OVX42DA.js} +2 -2
  23. package/dist/{raw-NGYHAL3F.js → raw-IANB4AV5.js} +4 -4
  24. package/dist/{sync-JVLX6TGW.js → sync-4HQ3CXSK.js} +3 -3
  25. package/dist/{te-agent-QPZTLHPH.js → te-agent-OYNNTJDU.js} +2 -2
  26. package/dist/{te-analysis-WWX3Z6RP.js → te-analysis-CRPFK3LX.js} +1074 -340
  27. package/dist/te-analysis-JX3V76OI.js +2281 -0
  28. package/dist/{te-audience-UXGHUVBB.js → te-audience-77FGNG5E.js} +5 -5
  29. package/dist/te-audience-RO2IZOUC.js +599 -0
  30. package/dist/{te-common-7XXH73MF.js → te-common-4TRJPRC5.js} +5 -5
  31. package/dist/te-common-PUXBUPOL.js +130 -0
  32. package/dist/{te-community-QKE67HR2.js → te-community-NPDZQKMY.js} +5 -5
  33. package/dist/te-community-XKE526DS.js +687 -0
  34. package/dist/{te-dataops-6W7NNYST.js → te-dataops-6KWLFNV4.js} +5 -5
  35. package/dist/te-dataops-PW74WP76.js +1842 -0
  36. package/dist/{te-engage-NCFAQFX3.js → te-engage-HTLMUN7G.js} +5 -5
  37. package/dist/te-engage-YPQIVF5H.js +1510 -0
  38. package/dist/{te-kb-K5BQYUCM.js → te-kb-DOGDQIU4.js} +4 -4
  39. package/dist/{te-meta-LJZBOSMO.js → te-meta-5ESSQ5B3.js} +5 -5
  40. package/dist/te-meta-Z47X4VT3.js +595 -0
  41. package/dist/{te-team-DHK5R7MV.js → te-team-SOVKZIDD.js} +5 -5
  42. package/package.json +1 -1
  43. package/skills/ae-analysis/SKILL.md +51 -25
  44. package/skills/ae-analysis/references/analysis_gateway_assets.md +114 -0
  45. package/skills/ae-analysis/references/bi_panel_copy.md +15 -0
  46. package/skills/ae-analysis/references/bi_panel_create.md +15 -0
  47. package/skills/ae-analysis/references/bi_panel_delete.md +15 -0
  48. package/skills/ae-analysis/references/bi_panel_get.md +18 -0
  49. package/skills/ae-analysis/references/bi_panel_list.md +15 -0
  50. package/skills/ae-analysis/references/bi_panel_page_data_export.md +15 -0
  51. package/skills/ae-analysis/references/bi_panel_page_data_run.md +15 -0
  52. package/skills/ae-analysis/references/bi_panel_share.md +15 -0
  53. package/skills/ae-analysis/references/bi_panel_update.md +15 -0
  54. package/skills/ae-analysis/references/dashboard_abnormal_get.md +15 -0
  55. package/skills/ae-analysis/references/dashboard_copy.md +15 -0
  56. package/skills/ae-analysis/references/dashboard_create.md +15 -0
  57. package/skills/ae-analysis/references/dashboard_daily_report_send.md +15 -0
  58. package/skills/ae-analysis/references/dashboard_daily_report_update.md +15 -0
  59. package/skills/ae-analysis/references/dashboard_definition_export.md +15 -0
  60. package/skills/ae-analysis/references/dashboard_definition_import.md +15 -0
  61. package/skills/ae-analysis/references/dashboard_delete.md +15 -0
  62. package/skills/ae-analysis/references/dashboard_freeze.md +15 -0
  63. package/skills/ae-analysis/references/dashboard_get.md +15 -0
  64. package/skills/ae-analysis/references/dashboard_handover.md +15 -0
  65. package/skills/ae-analysis/references/dashboard_list.md +15 -0
  66. package/skills/ae-analysis/references/dashboard_report_data_export.md +15 -0
  67. package/skills/ae-analysis/references/dashboard_report_data_run.md +15 -0
  68. package/skills/ae-analysis/references/dashboard_share.md +15 -0
  69. package/skills/ae-analysis/references/dashboard_share_info.md +15 -0
  70. package/skills/ae-analysis/references/dashboard_task_status.md +15 -0
  71. package/skills/ae-analysis/references/dashboard_update.md +16 -0
  72. package/skills/ae-analysis/references/favorite_add.md +15 -0
  73. package/skills/ae-analysis/references/favorite_remove.md +15 -0
  74. package/skills/ae-analysis/references/folder_create.md +15 -0
  75. package/skills/ae-analysis/references/folder_delete.md +15 -0
  76. package/skills/ae-analysis/references/folder_members.md +15 -0
  77. package/skills/ae-analysis/references/folder_share.md +15 -0
  78. package/skills/ae-analysis/references/project_space_create.md +15 -0
  79. package/skills/ae-analysis/references/project_space_delete.md +15 -0
  80. package/skills/ae-analysis/references/project_space_get.md +18 -0
  81. package/skills/ae-analysis/references/project_space_list.md +15 -0
  82. package/skills/ae-analysis/references/project_space_members.md +15 -0
  83. package/skills/ae-analysis/references/project_space_share.md +15 -0
  84. package/skills/ae-analysis/references/public_link_create.md +15 -0
  85. package/skills/ae-analysis/references/public_link_delete.md +15 -0
  86. package/skills/ae-analysis/references/public_link_list.md +15 -0
  87. package/skills/ae-analysis/references/public_link_offline.md +15 -0
  88. package/skills/ae-analysis/references/public_link_update.md +15 -0
  89. package/skills/ae-analysis/references/query_cancel.md +15 -0
  90. package/skills/ae-metadata/references/metadata_data_table_csv_write.md +5 -3
  91. package/skills/ae-metadata/references/metadata_data_table_sql_write.md +5 -4
  92. package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +5 -3
  93. package/dist/auth-I2G7OAU2.js +0 -19
  94. package/dist/{chunk-WPXHCP4A.js → chunk-65DKFJZB.js} +3 -3
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  kbApi,
3
3
  kbUpload
4
- } from "./chunk-2W7HULUD.js";
4
+ } from "./chunk-IDXW6MEJ.js";
5
5
  import "./chunk-NOO24N7W.js";
6
- import "./chunk-FPE5LGVU.js";
7
- import "./chunk-U6QPKCN3.js";
8
- import "./chunk-WPXHCP4A.js";
6
+ import "./chunk-OCQPQYHZ.js";
7
+ import "./chunk-PFJFZVCK.js";
8
+ import "./chunk-65DKFJZB.js";
9
9
 
10
10
  // src/commands/te-kb/query.ts
11
11
  var API_PATH = "/agent/api/external/knowledge-bases/query";
@@ -2,12 +2,12 @@ import {
2
2
  callMcpTool,
3
3
  parseMcpResult,
4
4
  resolveMcpUrl
5
- } from "./chunk-5FBLRSMU.js";
6
- import "./chunk-XE2PI5DS.js";
5
+ } from "./chunk-NGJDCOYA.js";
6
+ import "./chunk-WXBCP6SD.js";
7
7
  import "./chunk-NOO24N7W.js";
8
- import "./chunk-FPE5LGVU.js";
9
- import "./chunk-U6QPKCN3.js";
10
- import "./chunk-WPXHCP4A.js";
8
+ import "./chunk-OCQPQYHZ.js";
9
+ import "./chunk-PFJFZVCK.js";
10
+ import "./chunk-65DKFJZB.js";
11
11
 
12
12
  // src/commands/te-meta/shared.ts
13
13
  function createMcpCommand(config) {
@@ -0,0 +1,595 @@
1
+ import {
2
+ callMcpTool,
3
+ parseMcpResult,
4
+ resolveMcpUrl
5
+ } from "./chunk-NXJP4CES.js";
6
+ import "./chunk-WXBCP6SD.js";
7
+ import "./chunk-NOO24N7W.js";
8
+ import "./chunk-OCQPQYHZ.js";
9
+ import "./chunk-PFJFZVCK.js";
10
+ import "./chunk-65DKFJZB.js";
11
+
12
+ // src/commands/te-meta/shared.ts
13
+ function createMcpCommand(config) {
14
+ const toolName = config.command.slice(1);
15
+ const mcpService = config.mcpService || "analysis";
16
+ return {
17
+ service: "analysis_meta",
18
+ command: config.command,
19
+ description: config.description,
20
+ flags: config.flags,
21
+ risk: config.risk,
22
+ dryRun: (ctx) => ({
23
+ method: "tools/call",
24
+ url: resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService),
25
+ body: {
26
+ name: toolName,
27
+ arguments: config.buildArgs(ctx)
28
+ }
29
+ }),
30
+ execute: async (ctx) => {
31
+ const url = resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService);
32
+ const result = await callMcpTool(url, toolName, config.buildArgs(ctx), ctx.host());
33
+ return parseMcpResult(result);
34
+ }
35
+ };
36
+ }
37
+ function optionalString(ctx, name) {
38
+ const value = ctx.str(name);
39
+ return value === "" ? void 0 : value;
40
+ }
41
+ function optionalNumber(ctx, name) {
42
+ const value = ctx.str(name);
43
+ return value === "" ? void 0 : Number(value);
44
+ }
45
+ function optionalBoolean(ctx, name) {
46
+ const value = ctx.str(name);
47
+ return value === "" ? void 0 : ctx.bool(name);
48
+ }
49
+ function optionalJson(ctx, name) {
50
+ const value = ctx.str(name);
51
+ return value === "" ? void 0 : ctx.json(name);
52
+ }
53
+ function optionalJsonString(ctx, name) {
54
+ const value = optionalJson(ctx, name);
55
+ return value === void 0 ? void 0 : JSON.stringify(value);
56
+ }
57
+ function requiredJsonString(ctx, name) {
58
+ return JSON.stringify(ctx.json(name));
59
+ }
60
+
61
+ // src/commands/te-meta/meta/list-events.ts
62
+ var listEvents = createMcpCommand({
63
+ command: "+list_events",
64
+ description: "List events in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve event names internally. Query performs fuzzy matching on eventName, eventDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: eventId, eventName, eventDesc, remark, authenticationStatus.",
65
+ flags: [
66
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
67
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and remark; if omitted, all events are returned.", alias: "q" },
68
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventId, eventName, eventDesc, remark, eventTag, authenticationStatus. Default fields when omitted: eventId, eventName, eventDesc, remark, authenticationStatus.", alias: "f" },
69
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 50.", alias: "l" },
70
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
71
+ { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated events." }
72
+ ],
73
+ risk: "read",
74
+ buildArgs: (ctx) => ({
75
+ projectId: ctx.num("project_id"),
76
+ query: optionalString(ctx, "query"),
77
+ fields: optionalJson(ctx, "fields"),
78
+ limit: optionalNumber(ctx, "limit"),
79
+ offset: optionalNumber(ctx, "offset"),
80
+ authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
81
+ })
82
+ });
83
+
84
+ // src/commands/te-meta/meta/list-properties.ts
85
+ var listProperties = createMcpCommand({
86
+ command: "+list_properties",
87
+ description: "List properties in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve property names internally. Query performs fuzzy matching on propName, propDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.",
88
+ flags: [
89
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
90
+ { name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
91
+ { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
92
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all accessible properties are returned.", alias: "q" },
93
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propId, propName, propDesc, remark, selectType, tableType, subTableType, authenticationStatus. Default fields when omitted: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.", alias: "f" },
94
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 50.", alias: "l" },
95
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
96
+ { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated properties." }
97
+ ],
98
+ risk: "read",
99
+ buildArgs: (ctx) => ({
100
+ projectId: ctx.num("project_id"),
101
+ scope: optionalString(ctx, "scope"),
102
+ eventName: optionalString(ctx, "event_name"),
103
+ query: optionalString(ctx, "query"),
104
+ fields: optionalJson(ctx, "fields"),
105
+ limit: optionalNumber(ctx, "limit"),
106
+ offset: optionalNumber(ctx, "offset"),
107
+ authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
108
+ })
109
+ });
110
+
111
+ // src/commands/te-meta/meta/batch-edit-metadata.ts
112
+ var batchEditMetadata = createMcpCommand({
113
+ command: "+batch_edit_metadata",
114
+ description: "Batch edit effective system metadata only",
115
+ flags: [
116
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
117
+ { name: "type", type: "string", required: true, desc: "Metadata type: event, event_property, or user_property" },
118
+ { name: "items", type: "json", required: true, desc: "Batch edit item list JSON array" }
119
+ ],
120
+ risk: "write",
121
+ mcpService: "te_analysis_extend",
122
+ buildArgs: (ctx) => ({
123
+ projectId: ctx.num("project_id"),
124
+ type: ctx.str("type"),
125
+ items: ctx.json("items")
126
+ })
127
+ });
128
+
129
+ // src/commands/te-meta/meta/batch-create-metadata.ts
130
+ var batchCreateMetadata = createMcpCommand({
131
+ command: "+batch_create_metadata",
132
+ description: "Batch create effective system metadata only",
133
+ flags: [
134
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
135
+ { name: "events", type: "json", required: false, desc: "Event creation list JSON array" },
136
+ { name: "event_properties", type: "json", required: false, desc: "Event property creation list JSON array" },
137
+ { name: "user_properties", type: "json", required: false, desc: "User property creation list JSON array" }
138
+ ],
139
+ risk: "write",
140
+ mcpService: "te_analysis_extend",
141
+ buildArgs: (ctx) => ({
142
+ projectId: ctx.num("project_id"),
143
+ events: optionalJson(ctx, "events"),
144
+ eventProperties: optionalJson(ctx, "event_properties"),
145
+ userProperties: optionalJson(ctx, "user_properties")
146
+ })
147
+ });
148
+
149
+ // src/commands/te-meta/meta/create-virtual-event.ts
150
+ var createVirtualEvent = createMcpCommand({
151
+ command: "+create_virtual_event",
152
+ description: "Create a virtual event by combining multiple events with optional filters",
153
+ flags: [
154
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
155
+ { name: "event_name", type: "string", required: true, desc: "Virtual event name. Must start with 'ta@' and follow the naming constraints in the schema" },
156
+ { name: "event_desc", type: "string", required: true, desc: "Virtual event description" },
157
+ { name: "remark", type: "string", required: false, desc: "Optional remark" },
158
+ { name: "events", type: "json", required: true, desc: "JSON array of events to combine" },
159
+ { name: "filter", type: "json", required: false, desc: "Optional global filter JSON" },
160
+ { name: "override", type: "boolean", required: false, desc: "Whether to override if the event already exists. Default: false" }
161
+ ],
162
+ risk: "write",
163
+ mcpService: "te_analysis_extend",
164
+ buildArgs: (ctx) => ({
165
+ projectId: ctx.num("project_id"),
166
+ eventName: ctx.str("event_name"),
167
+ eventDesc: ctx.str("event_desc"),
168
+ remark: optionalString(ctx, "remark"),
169
+ events: requiredJsonString(ctx, "events"),
170
+ filter: optionalJsonString(ctx, "filter"),
171
+ override: optionalBoolean(ctx, "override")
172
+ })
173
+ });
174
+
175
+ // src/commands/te-meta/meta/create-virtual-property.ts
176
+ var createVirtualProperty = createMcpCommand({
177
+ command: "+create_virtual_property",
178
+ description: "Create a SQL-based virtual property",
179
+ flags: [
180
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
181
+ { name: "property_name", type: "string", required: true, desc: "Property name. Must start with '#vp@' and follow the naming constraints in the schema" },
182
+ { name: "property_desc", type: "string", required: false, desc: "Display name/description" },
183
+ { name: "table_type", type: "string", required: true, desc: "Table type: event or user" },
184
+ { name: "select_type", type: "string", required: true, desc: "Select type: string, number, bool, or datetime" },
185
+ { name: "sql_expression", type: "string", required: true, desc: "SQL expression for computing the property" },
186
+ { name: "sql_event_relation_type", type: "string", required: true, desc: "SQL event relation type: relation_default, relation_always, or relation_by_setting" },
187
+ { name: "related_events", type: "json", required: false, desc: "Optional related events JSON array. Required when sql_event_relation_type is relation_by_setting" },
188
+ { name: "property_remark", type: "string", required: false, desc: "Optional property remark" }
189
+ ],
190
+ risk: "write",
191
+ mcpService: "te_analysis_extend",
192
+ buildArgs: (ctx) => ({
193
+ projectId: ctx.num("project_id"),
194
+ propertyName: ctx.str("property_name"),
195
+ propertyDesc: optionalString(ctx, "property_desc"),
196
+ tableType: ctx.str("table_type"),
197
+ selectType: ctx.str("select_type"),
198
+ sqlExpression: ctx.str("sql_expression"),
199
+ sqlEventRelationType: ctx.str("sql_event_relation_type"),
200
+ relatedEvents: optionalJsonString(ctx, "related_events"),
201
+ propertyRemark: optionalString(ctx, "property_remark")
202
+ })
203
+ });
204
+
205
+ // src/commands/te-meta/meta/list-metrics.ts
206
+ var listMetrics = createMcpCommand({
207
+ command: "+list_metrics",
208
+ description: "List metric metadata in the project. Use for metric metadata inspection/management, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders. For event saved metric queries, pass the metric name directly to +build_event_analysis_qp in metrics[].event. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports authenticated asset filtering plus fields/limit/offset pagination. Default returned fields: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus.",
209
+ flags: [
210
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
211
+ { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark." },
212
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus." },
213
+ { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 20, maximum: 50." },
214
+ { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." },
215
+ { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated metrics." }
216
+ ],
217
+ risk: "read",
218
+ mcpService: "te_analysis_extend",
219
+ buildArgs: (ctx) => ({
220
+ projectId: ctx.num("project_id"),
221
+ query: optionalString(ctx, "query"),
222
+ fields: optionalJson(ctx, "fields"),
223
+ limit: optionalNumber(ctx, "limit"),
224
+ offset: optionalNumber(ctx, "offset"),
225
+ authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
226
+ })
227
+ });
228
+
229
+ // src/commands/te-meta/meta/get-metric.ts
230
+ var getMetric = createMcpCommand({
231
+ command: "+get_metric",
232
+ description: "Get the definition details of a single metric. Use for metric metadata inspection/management, not as a pre-step for event ad-hoc builder; pass saved metric names directly to +build_event_analysis_qp in metrics[].event.",
233
+ flags: [
234
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
235
+ { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" }
236
+ ],
237
+ risk: "read",
238
+ mcpService: "te_analysis_extend",
239
+ buildArgs: (ctx) => ({
240
+ projectId: ctx.num("project_id"),
241
+ metricId: ctx.num("metric_id")
242
+ })
243
+ });
244
+
245
+ // src/commands/te-meta/meta/create-metric.ts
246
+ var createMetric = createMcpCommand({
247
+ command: "+create_metric",
248
+ description: "Create a metric from analysis configuration",
249
+ flags: [
250
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project 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 events JSON. Use get_analysis_query_schema first to obtain the schema." },
256
+ { name: "params", type: "json", required: true, desc: "Metric parameters JSON. For event, use format config; for retention, use the eventView configuration." }
257
+ ],
258
+ risk: "write",
259
+ mcpService: "te_analysis_extend",
260
+ buildArgs: (ctx) => ({
261
+ projectId: ctx.num("project_id"),
262
+ name: ctx.str("name"),
263
+ displayName: ctx.str("display_name"),
264
+ remark: optionalString(ctx, "remark"),
265
+ modelType: ctx.str("model_type"),
266
+ events: requiredJsonString(ctx, "events"),
267
+ params: requiredJsonString(ctx, "params")
268
+ })
269
+ });
270
+
271
+ // src/commands/te-meta/meta/update-metric.ts
272
+ var updateMetric = createMcpCommand({
273
+ command: "+update_metric",
274
+ description: "Update a metric definition",
275
+ flags: [
276
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
277
+ { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" },
278
+ { 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." },
279
+ { name: "display_name", type: "string", required: true, desc: "Metric display name" },
280
+ { name: "remark", type: "string", required: false, desc: "Optional metric remark" },
281
+ { name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
282
+ { name: "events", type: "json", required: true, desc: "Metric event definition JSON" },
283
+ { name: "params", type: "json", required: false, desc: "Metric parameter definition JSON" }
284
+ ],
285
+ risk: "write",
286
+ mcpService: "te_analysis_extend",
287
+ buildArgs: (ctx) => ({
288
+ projectId: ctx.num("project_id"),
289
+ metricId: ctx.num("metric_id"),
290
+ name: ctx.str("name"),
291
+ displayName: ctx.str("display_name"),
292
+ remark: optionalString(ctx, "remark"),
293
+ modelType: ctx.str("model_type"),
294
+ events: requiredJsonString(ctx, "events"),
295
+ params: optionalJsonString(ctx, "params")
296
+ })
297
+ });
298
+
299
+ // src/commands/te-meta/meta/delete-metric.ts
300
+ var deleteMetric = createMcpCommand({
301
+ command: "+delete_metric",
302
+ description: "Delete a metric by metricId",
303
+ flags: [
304
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
305
+ { name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
306
+ ],
307
+ risk: "write",
308
+ mcpService: "te_analysis_extend",
309
+ buildArgs: (ctx) => ({
310
+ projectId: ctx.num("project_id"),
311
+ metricId: ctx.num("metric_id")
312
+ })
313
+ });
314
+
315
+ // src/commands/te-meta/meta/index.ts
316
+ var commands = [
317
+ listEvents,
318
+ listProperties,
319
+ batchEditMetadata,
320
+ batchCreateMetadata,
321
+ createVirtualEvent,
322
+ createVirtualProperty,
323
+ listMetrics,
324
+ getMetric,
325
+ createMetric,
326
+ updateMetric,
327
+ deleteMetric
328
+ ];
329
+ var meta_default = commands;
330
+
331
+ // src/commands/te-meta/project/get-project-config.ts
332
+ var getProjectConfig = createMcpCommand({
333
+ command: "+get_project_config",
334
+ description: "Get project configuration details including timezone settings",
335
+ flags: [
336
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" }
337
+ ],
338
+ risk: "read",
339
+ buildArgs: (ctx) => ({
340
+ projectId: ctx.num("project_id")
341
+ })
342
+ });
343
+
344
+ // src/commands/te-meta/project/list-project-users.ts
345
+ var listProjectUsers = createMcpCommand({
346
+ command: "+list_project_users",
347
+ description: "Get all project members",
348
+ flags: [
349
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" }
350
+ ],
351
+ risk: "read",
352
+ buildArgs: (ctx) => ({
353
+ projectId: ctx.num("project_id")
354
+ })
355
+ });
356
+
357
+ // src/commands/te-meta/project/get-track-program.ts
358
+ var getTrackProgram = createMcpCommand({
359
+ command: "+get_track_program",
360
+ description: "Query tracking-plan metadata (bury program)",
361
+ flags: [
362
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" }
363
+ ],
364
+ risk: "read",
365
+ mcpService: "te_analysis_extend",
366
+ buildArgs: (ctx) => ({
367
+ projectId: ctx.num("project_id")
368
+ })
369
+ });
370
+
371
+ // src/commands/te-meta/project/save-track-items.ts
372
+ var saveTrackItems = createMcpCommand({
373
+ command: "+save_track_items",
374
+ description: "Create or update tracking-plan metadata only",
375
+ flags: [
376
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
377
+ { name: "track_data", type: "json", required: true, desc: "Track program JSON object with events/eventProps/userProps/commonEventProps" }
378
+ ],
379
+ risk: "write",
380
+ mcpService: "te_analysis_extend",
381
+ buildArgs: (ctx) => ({
382
+ projectId: ctx.num("project_id"),
383
+ trackData: requiredJsonString(ctx, "track_data")
384
+ })
385
+ });
386
+
387
+ // src/commands/te-meta/project/delete-track-items.ts
388
+ var deleteTrackItems = createMcpCommand({
389
+ command: "+delete_track_items",
390
+ description: "Delete tracking-plan metadata items only",
391
+ flags: [
392
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
393
+ { name: "delete_data", type: "json", required: true, desc: "Delete payload JSON object with events/eventPropNames/userPropNames/commonEventPropNames" }
394
+ ],
395
+ risk: "write",
396
+ mcpService: "te_analysis_extend",
397
+ buildArgs: (ctx) => ({
398
+ projectId: ctx.num("project_id"),
399
+ deleteData: requiredJsonString(ctx, "delete_data")
400
+ })
401
+ });
402
+
403
+ // src/commands/te-meta/project/generate-track-program.ts
404
+ var generateTrackProgram = createMcpCommand({
405
+ command: "+generate_track_program",
406
+ description: "Generate a tracking plan from structured business context (async)",
407
+ flags: [
408
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
409
+ { name: "language", type: "string", required: true, alias: "l", desc: "Language code (zh-CN, en-US, ja-JP, ko-KR)" },
410
+ { name: "form_data", type: "json", required: true, desc: "Structured business context JSON object, optional fields for example: account_system, revenue_model, core_gameplay, currency_system, main_entries, predefinedEvent, developmentCarrier" }
411
+ ],
412
+ risk: "write",
413
+ mcpService: "te_analysis_extend",
414
+ buildArgs: (ctx) => ({
415
+ projectId: ctx.num("project_id"),
416
+ language: ctx.str("language"),
417
+ formData: ctx.json("form_data")
418
+ })
419
+ });
420
+
421
+ // src/commands/te-meta/project/generate-track-sdk-sample.ts
422
+ var generateTrackSdkSample = createMcpCommand({
423
+ command: "+generate_track_sdk_sample",
424
+ description: "Generate SDK sample files based on tracking plan (async)",
425
+ flags: [
426
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
427
+ { name: "sdk_type", type: "json", required: true, desc: "SDK types JSON array. Allowed values: android-java, server-php, ios-swift, server-python, web-js, server-java, server-nodejs, wechat-miniapp, harmonyos-arkts, android-kotlin, unity-csharp, cocos-creator-ts, server-go, server-cpp, ios-objc" }
428
+ ],
429
+ risk: "write",
430
+ mcpService: "te_analysis_extend",
431
+ buildArgs: (ctx) => ({
432
+ projectId: ctx.num("project_id"),
433
+ sdkType: ctx.json("sdk_type")
434
+ })
435
+ });
436
+
437
+ // src/commands/te-meta/project/create-project-mark-time.ts
438
+ var createProjectMarkTime = createMcpCommand({
439
+ command: "+create_project_mark_time",
440
+ description: "Create a project date marker",
441
+ flags: [
442
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
443
+ { name: "marked_at", type: "string", required: true, desc: "Marked time yyyy-MM-dd HH:mm" },
444
+ { name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
445
+ { name: "content", type: "string", required: true, desc: "Marker content" },
446
+ { name: "is_visible", type: "number", required: false, desc: "Whether the marker is visible. Default: 1" }
447
+ ],
448
+ risk: "write",
449
+ mcpService: "te_analysis_extend",
450
+ buildArgs: (ctx) => ({
451
+ projectId: ctx.num("project_id"),
452
+ markedAt: ctx.str("marked_at"),
453
+ zoneOffset: optionalNumber(ctx, "zone_offset"),
454
+ content: ctx.str("content"),
455
+ isVisible: optionalNumber(ctx, "is_visible")
456
+ })
457
+ });
458
+
459
+ // src/commands/te-meta/project/update-project-mark-time.ts
460
+ var updateProjectMarkTime = createMcpCommand({
461
+ command: "+update_project_mark_time",
462
+ description: "Update an existing project date marker",
463
+ flags: [
464
+ { name: "mark_time_id", type: "number", required: true, desc: "Mark time ID" },
465
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
466
+ { name: "marked_at", type: "string", required: true, desc: "Marked time yyyy-MM-dd HH:mm" },
467
+ { name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
468
+ { name: "content", type: "string", required: true, desc: "Marker content" },
469
+ { name: "is_visible", type: "number", required: false, desc: "Whether the marker is visible. Default: 1" }
470
+ ],
471
+ risk: "write",
472
+ mcpService: "te_analysis_extend",
473
+ buildArgs: (ctx) => ({
474
+ markTimeId: ctx.num("mark_time_id"),
475
+ projectId: ctx.num("project_id"),
476
+ markedAt: ctx.str("marked_at"),
477
+ zoneOffset: optionalNumber(ctx, "zone_offset"),
478
+ content: ctx.str("content"),
479
+ isVisible: optionalNumber(ctx, "is_visible")
480
+ })
481
+ });
482
+
483
+ // src/commands/te-meta/project/list-project-mark-times.ts
484
+ var listProjectMarkTimes = createMcpCommand({
485
+ command: "+list_project_mark_times",
486
+ description: "List project date markers. Query performs fuzzy matching on markContent. Supports fields/limit/offset pagination.",
487
+ flags: [
488
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
489
+ { name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
490
+ { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on markContent." },
491
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: id, projectId, markTime, userZoneTime, zoneOffset, markContent, isShow, creatorName, creatorId, lastModifierName, lastModifierId, createTime, updateTime." },
492
+ { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 20, maximum: 10000." },
493
+ { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." }
494
+ ],
495
+ risk: "read",
496
+ mcpService: "te_analysis_extend",
497
+ buildArgs: (ctx) => ({
498
+ projectId: ctx.num("project_id"),
499
+ zoneOffset: optionalNumber(ctx, "zone_offset"),
500
+ query: optionalString(ctx, "query"),
501
+ fields: optionalJson(ctx, "fields"),
502
+ limit: optionalNumber(ctx, "limit"),
503
+ offset: optionalNumber(ctx, "offset")
504
+ })
505
+ });
506
+
507
+ // src/commands/te-meta/project/delete-project-mark-times.ts
508
+ var deleteProjectMarkTimes = createMcpCommand({
509
+ command: "+delete_project_mark_times",
510
+ description: "Delete one or more project date markers",
511
+ flags: [
512
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
513
+ { name: "mark_time_ids", type: "json", required: true, desc: "Marker ID list JSON array" }
514
+ ],
515
+ risk: "write",
516
+ mcpService: "te_analysis_extend",
517
+ buildArgs: (ctx) => ({
518
+ projectId: ctx.num("project_id"),
519
+ markTimeIds: ctx.json("mark_time_ids")
520
+ })
521
+ });
522
+
523
+ // src/commands/te-meta/project/index.ts
524
+ var commands2 = [
525
+ getProjectConfig,
526
+ listProjectUsers,
527
+ getTrackProgram,
528
+ saveTrackItems,
529
+ deleteTrackItems,
530
+ generateTrackProgram,
531
+ generateTrackSdkSample,
532
+ createProjectMarkTime,
533
+ updateProjectMarkTime,
534
+ listProjectMarkTimes,
535
+ deleteProjectMarkTimes
536
+ ];
537
+ var project_default = commands2;
538
+
539
+ // src/commands/te-meta/entity/list-entities.ts
540
+ var listEntities = createMcpCommand({
541
+ command: "+list_entities",
542
+ description: "List entities in the project. Query performs fuzzy matching on entityName, columnName and columnDesc. Supports fields/limit/offset payload governance. Default returned fields: entityId, entityName, columnName, columnDesc, selectType. Entity metadata exposes columnDesc as the description field; no remark field is available in this list response.",
543
+ flags: [
544
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
545
+ { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
546
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to entityName, columnName, and columnDesc; if omitted, all entities are returned.", alias: "q" },
547
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: entityId, entityName, columnName, columnDesc, selectType, tableType, entityType. Default fields when omitted: entityId, entityName, columnName, columnDesc, selectType.", alias: "f" },
548
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 10000.", alias: "l" },
549
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
550
+ ],
551
+ risk: "read",
552
+ buildArgs: (ctx) => ({
553
+ projectId: ctx.num("project_id"),
554
+ eventName: optionalString(ctx, "event_name"),
555
+ query: optionalString(ctx, "query"),
556
+ fields: optionalJson(ctx, "fields"),
557
+ limit: optionalNumber(ctx, "limit"),
558
+ offset: optionalNumber(ctx, "offset")
559
+ })
560
+ });
561
+
562
+ // src/commands/te-meta/entity/create-entity.ts
563
+ var createEntity = createMcpCommand({
564
+ command: "+create_entity",
565
+ description: "Create a new entity that links an event or user property as an analysis dimension.",
566
+ flags: [
567
+ { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
568
+ { name: "entity_name", type: "string", required: true, desc: "Entity name" },
569
+ { name: "column_name", type: "string", required: true, desc: "Property column name to associate with the entity" },
570
+ { name: "table_type", type: "number", required: true, desc: "Table type: 0 = event property, 1 = user property" }
571
+ ],
572
+ risk: "write",
573
+ mcpService: "te_analysis_extend",
574
+ buildArgs: (ctx) => ({
575
+ projectId: ctx.num("project_id"),
576
+ entityName: ctx.str("entity_name"),
577
+ columnName: ctx.str("column_name"),
578
+ tableType: ctx.num("table_type")
579
+ })
580
+ });
581
+
582
+ // src/commands/te-meta/entity/index.ts
583
+ var commands3 = [listEntities, createEntity];
584
+ var entity_default = commands3;
585
+
586
+ // src/commands/te-meta/index.ts
587
+ var commands4 = [
588
+ ...meta_default,
589
+ ...project_default,
590
+ ...entity_default
591
+ ];
592
+ var te_meta_default = commands4;
593
+ export {
594
+ te_meta_default as default
595
+ };
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getAuthHeaders,
3
3
  kbApi
4
- } from "./chunk-2W7HULUD.js";
4
+ } from "./chunk-IDXW6MEJ.js";
5
5
  import {
6
6
  printError,
7
7
  printOutput
8
- } from "./chunk-YACCPUNQ.js";
8
+ } from "./chunk-ONOA6DYB.js";
9
9
  import "./chunk-NOO24N7W.js";
10
- import "./chunk-FPE5LGVU.js";
11
- import "./chunk-U6QPKCN3.js";
12
- import "./chunk-WPXHCP4A.js";
10
+ import "./chunk-OCQPQYHZ.js";
11
+ import "./chunk-PFJFZVCK.js";
12
+ import "./chunk-65DKFJZB.js";
13
13
 
14
14
  // src/commands/te-team/shared.ts
15
15
  var API_PREFIX = process.env.AE_API_PREFIX ?? "/agent";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkingai/ae-cli",
3
- "version": "6.0.22",
3
+ "version": "6.0.24",
4
4
  "description": "CLI tool for ThinkingAI (AE) analytics platform",
5
5
  "type": "module",
6
6
  "bin": {