@thinkingai/ae-cli 6.0.31 → 6.1.4

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 (192) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/{capability-SQ2IWKP3.js → capability-QW4AVJHI.js} +1 -1
  4. package/dist/{capability-SEH3JWLN.js → capability-SCRFGODD.js} +1 -1
  5. package/dist/{chunk-N2QORU5D.js → chunk-7OLGDQQ2.js} +5 -2
  6. package/dist/{chunk-TKQJQXWT.js → chunk-TBHBYKXZ.js} +5 -2
  7. package/dist/index.js +51 -24
  8. package/dist/{metadata-X62TKIVK.js → metadata-BFDL6RUK.js} +2 -2
  9. package/dist/{metadata-W6JFFMBA.js → metadata-FCLDBXX2.js} +2 -2
  10. package/dist/{te-analysis-NJGNWZFC.js → te-analysis-PUVF5IF4.js} +1297 -91
  11. package/dist/{te-analysis-YGV5V5EX.js → te-analysis-UJDOKPAN.js} +1297 -91
  12. package/dist/te-common-VUX3VOXZ.js +60 -0
  13. package/dist/te-common-XLAGWNIV.js +60 -0
  14. package/dist/te-engage-K4AEUPK5.js +3894 -0
  15. package/dist/te-engage-QBCCME22.js +3894 -0
  16. package/dist/te-experiment-JINSMHMW.js +606 -0
  17. package/dist/te-experiment-NWNQHJS5.js +606 -0
  18. package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
  19. package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
  20. package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
  21. package/package.json +2 -1
  22. package/skills/ae-analysis/SKILL.md +10 -7
  23. package/skills/ae-analysis/references/adhoc_export.md +3 -6
  24. package/skills/ae-analysis/references/adhoc_run.md +5 -9
  25. package/skills/ae-analysis/references/ai_models.md +17 -1
  26. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  27. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  28. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  29. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  30. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  31. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  32. package/skills/ae-analysis/references/command_index.md +62 -28
  33. package/skills/ae-analysis/references/create_entity.md +2 -2
  34. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
  35. package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
  36. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  37. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  38. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  39. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  40. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  41. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  42. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  43. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  44. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  45. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  46. package/skills/ae-analysis/references/event_list.md +10 -2
  47. package/skills/ae-analysis/references/list_entities.md +1 -1
  48. package/skills/ae-analysis/references/metric_create.md +13 -4
  49. package/skills/ae-analysis/references/metric_delete.md +7 -0
  50. package/skills/ae-analysis/references/metric_get.md +6 -0
  51. package/skills/ae-analysis/references/metric_list.md +16 -3
  52. package/skills/ae-analysis/references/metric_update.md +12 -1
  53. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  54. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  55. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  56. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  57. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  58. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  59. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  60. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  61. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  62. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  63. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  64. package/skills/ae-analysis/references/project_function_list.md +24 -0
  65. package/skills/ae-analysis/references/project_info_get.md +23 -0
  66. package/skills/ae-analysis/references/project_info_list.md +26 -0
  67. package/skills/ae-analysis/references/project_info_update.md +25 -0
  68. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  69. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  70. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  71. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  72. package/skills/ae-analysis/references/project_member_add.md +25 -0
  73. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  74. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  75. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  76. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  77. package/skills/ae-analysis/references/project_member_import.md +25 -0
  78. package/skills/ae-analysis/references/project_member_list.md +23 -0
  79. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  80. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  81. package/skills/ae-analysis/references/project_member_update.md +25 -0
  82. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  83. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  84. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  85. package/skills/ae-analysis/references/project_role_delete.md +25 -0
  86. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  87. package/skills/ae-analysis/references/project_role_get.md +23 -0
  88. package/skills/ae-analysis/references/project_role_list.md +25 -0
  89. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  90. package/skills/ae-analysis/references/project_role_user_list.md +23 -0
  91. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  92. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  93. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  94. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  95. package/skills/ae-analysis/references/property_list.md +21 -6
  96. package/skills/ae-analysis/references/public_link_create.md +1 -1
  97. package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
  98. package/skills/ae-analysis/references/report_create.md +1 -1
  99. package/skills/ae-analysis/references/report_data_export.md +2 -2
  100. package/skills/ae-analysis/references/report_data_run.md +2 -2
  101. package/skills/ae-analysis/references/report_get.md +2 -0
  102. package/skills/ae-analysis/references/report_update.md +1 -1
  103. package/skills/ae-analysis/references/user_cluster_create.md +3 -1
  104. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  105. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  106. package/skills/ae-analysis/references/user_cluster_update.md +3 -1
  107. package/skills/ae-analysis/references/user_tag_create.md +3 -1
  108. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  109. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  110. package/skills/ae-analysis/references/user_tag_update.md +3 -1
  111. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  112. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  113. package/skills/ae-engage/SKILL.md +202 -7
  114. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  115. package/skills/ae-engage/references/activity-activity.md +70 -0
  116. package/skills/ae-engage/references/activity-approval.md +53 -0
  117. package/skills/ae-engage/references/activity-task.md +87 -0
  118. package/skills/ae-engage/references/activity-topic.md +98 -0
  119. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  120. package/skills/ae-engage/references/channel-test-send.md +37 -0
  121. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  122. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  123. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  124. package/skills/ae-engage/references/channel-update-config.md +36 -0
  125. package/skills/ae-engage/references/client-param.md +58 -0
  126. package/skills/ae-engage/references/common-metric.md +75 -0
  127. package/skills/ae-engage/references/config-table.md +92 -0
  128. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  129. package/skills/ae-engage/references/operation-log-query.md +1 -1
  130. package/skills/ae-engage/references/preset-event.md +42 -0
  131. package/skills/ae-engage/references/push-language.md +39 -0
  132. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  133. package/skills/ae-engage/references/scene-config-group.md +62 -0
  134. package/skills/ae-engage/references/scene-config-item.md +68 -0
  135. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  136. package/skills/ae-engage/references/scene-config-param.md +72 -0
  137. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  138. package/skills/ae-engage/references/scene-strategy.md +47 -0
  139. package/skills/ae-engage/references/scene-template.md +71 -0
  140. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  141. package/skills/ae-engage/references/whitelist.md +72 -0
  142. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  143. package/skills/ae-experiment/SKILL.md +64 -0
  144. package/skills/ae-experiment/references/batch_delete_experiment.md +11 -0
  145. package/skills/ae-experiment/references/batch_delete_feature.md +11 -0
  146. package/skills/ae-experiment/references/batch_delete_traffic_layer.md +11 -0
  147. package/skills/ae-experiment/references/cancel_experiment_query_by_request_id.md +10 -0
  148. package/skills/ae-experiment/references/check_experiment_ready.md +13 -0
  149. package/skills/ae-experiment/references/delete_metric.md +11 -0
  150. package/skills/ae-experiment/references/manage_experiment.md +15 -0
  151. package/skills/ae-experiment/references/manage_feature_status.md +11 -0
  152. package/skills/ae-experiment/references/query_bucket_list.md +10 -0
  153. package/skills/ae-experiment/references/query_experiment_detail.md +11 -0
  154. package/skills/ae-experiment/references/query_experiment_list.md +10 -0
  155. package/skills/ae-experiment/references/query_experiment_metric_trend.md +16 -0
  156. package/skills/ae-experiment/references/query_experiment_report_summary.md +12 -0
  157. package/skills/ae-experiment/references/query_experiment_sample_size_report.md +16 -0
  158. package/skills/ae-experiment/references/query_feature_detail.md +12 -0
  159. package/skills/ae-experiment/references/query_feature_list.md +10 -0
  160. package/skills/ae-experiment/references/query_metric_detail.md +11 -0
  161. package/skills/ae-experiment/references/query_metric_list.md +10 -0
  162. package/skills/ae-experiment/references/query_traffic_layer_detail.md +11 -0
  163. package/skills/ae-experiment/references/query_traffic_layer_list.md +10 -0
  164. package/skills/ae-experiment/references/save_experiment.md +17 -0
  165. package/skills/ae-experiment/references/save_feature.md +13 -0
  166. package/skills/ae-experiment/references/save_metric.md +13 -0
  167. package/skills/ae-experiment/references/save_submit_experiment.md +13 -0
  168. package/skills/ae-experiment/references/save_traffic_layer.md +13 -0
  169. package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
  170. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  171. package/skills/ae-kb/SKILL.md +34 -8
  172. package/skills/ae-metadata/SKILL.md +1 -1
  173. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  174. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  175. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  176. package/dist/te-common-5NJLF3XG.js +0 -130
  177. package/dist/te-common-7VTJZPII.js +0 -130
  178. package/dist/te-engage-BUWVSSSK.js +0 -1912
  179. package/dist/te-engage-EPE3QKDE.js +0 -1912
  180. package/skills/ae-analysis/references/create_metric.md +0 -58
  181. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  182. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  183. package/skills/ae-analysis/references/delete_metric.md +0 -32
  184. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  185. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  186. package/skills/ae-analysis/references/get_metric.md +0 -38
  187. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  188. package/skills/ae-analysis/references/list_events.md +0 -46
  189. package/skills/ae-analysis/references/list_metrics.md +0 -52
  190. package/skills/ae-analysis/references/list_properties.md +0 -47
  191. package/skills/ae-analysis/references/update_metric.md +0 -58
  192. package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
@@ -0,0 +1,606 @@
1
+ import {
2
+ callMcpTool,
3
+ parseMcpResult,
4
+ registerMcpMappings,
5
+ resolveMcpUrl
6
+ } from "./chunk-6LEYLOV3.js";
7
+ import "./chunk-KGJQCYVC.js";
8
+ import "./chunk-NOO24N7W.js";
9
+ import "./chunk-2NDGFQHW.js";
10
+ import "./chunk-AJTH7LT3.js";
11
+ import "./chunk-YCLVYFK7.js";
12
+
13
+ // src/commands/te-experiment/shared.ts
14
+ var EXPERIMENT_CLI_SERVICE = "experiment";
15
+ var EXPERIMENT_MCP_SERVICE = "experiment";
16
+ var PROJECT_ID_FLAG = {
17
+ name: "project_id",
18
+ type: "number",
19
+ required: true,
20
+ alias: "p",
21
+ desc: "Project ID"
22
+ };
23
+ function createExperimentCommand(config) {
24
+ const mcpService = config.mcpService || EXPERIMENT_MCP_SERVICE;
25
+ const toolName = config.toolName || config.command.slice(1);
26
+ return {
27
+ service: EXPERIMENT_CLI_SERVICE,
28
+ command: config.command,
29
+ description: config.description,
30
+ flags: config.flags,
31
+ risk: config.risk,
32
+ validate: config.validate,
33
+ dryRun: (ctx) => buildMcpDryRun(ctx, mcpService, toolName, config.buildArgs(ctx)),
34
+ execute: async (ctx) => executeMcpCommand(ctx, mcpService, toolName, config.buildArgs(ctx))
35
+ };
36
+ }
37
+ function buildMcpDryRun(ctx, serviceName, toolName, args) {
38
+ const host = ctx.host();
39
+ return {
40
+ method: "MCP tools/call",
41
+ url: resolveMcpUrl(ctx.mcpUrl(), host, serviceName),
42
+ body: {
43
+ serviceName,
44
+ toolName,
45
+ arguments: args
46
+ }
47
+ };
48
+ }
49
+ async function executeMcpCommand(ctx, serviceName, toolName, args) {
50
+ const host = ctx.host();
51
+ const mcpUrl = resolveMcpUrl(ctx.mcpUrl(), host, serviceName);
52
+ const result = await callMcpTool(mcpUrl, toolName, args, host);
53
+ return parseMcpResult(result);
54
+ }
55
+ function reqFlag(desc) {
56
+ return { name: "req", type: "json", required: true, desc };
57
+ }
58
+ function hasFlag(ctx, name) {
59
+ return ctx.str(name) !== "";
60
+ }
61
+ function readOptionalString(ctx, name) {
62
+ const value = ctx.str(name);
63
+ return value === "" ? void 0 : value;
64
+ }
65
+ function readOptionalBoolean(ctx, name) {
66
+ return hasFlag(ctx, name) ? ctx.bool(name) : void 0;
67
+ }
68
+ function readOptionalJsonArray(ctx, name) {
69
+ const value = ctx.json(name);
70
+ if (value === void 0) return void 0;
71
+ if (!Array.isArray(value)) {
72
+ throw new Error(`Flag --${name} must be a JSON array`);
73
+ }
74
+ return value;
75
+ }
76
+ function readRequiredJsonArray(ctx, name, minLength = 1) {
77
+ const value = readOptionalJsonArray(ctx, name);
78
+ if (!value || value.length < minLength) {
79
+ throw new Error(`Flag --${name} must be a JSON array with at least ${minLength} item(s)`);
80
+ }
81
+ return value;
82
+ }
83
+ function readRequiredStringArray(ctx, name) {
84
+ const value = readRequiredJsonArray(ctx, name);
85
+ if (!value.every((item) => typeof item === "string" && item.length > 0)) {
86
+ throw new Error(`Flag --${name} must be a JSON array of non-empty strings`);
87
+ }
88
+ return value;
89
+ }
90
+ function readRequiredJsonObject(ctx, name) {
91
+ const value = ctx.json(name);
92
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
93
+ throw new Error(`Flag --${name} must be a JSON object`);
94
+ }
95
+ return value;
96
+ }
97
+ function projectArgs(ctx) {
98
+ return { projectId: ctx.num("project_id") };
99
+ }
100
+ function projectReqArgs(ctx) {
101
+ const projectId = ctx.num("project_id");
102
+ return {
103
+ projectId,
104
+ req: {
105
+ ...readRequiredJsonObject(ctx, "req"),
106
+ projectId
107
+ }
108
+ };
109
+ }
110
+ function addOptionalString(args, ctx, flagName, argName) {
111
+ const value = readOptionalString(ctx, flagName);
112
+ if (value !== void 0) args[argName] = value;
113
+ }
114
+ function addOptionalBoolean(args, ctx, flagName, argName) {
115
+ const value = readOptionalBoolean(ctx, flagName);
116
+ if (value !== void 0) args[argName] = value;
117
+ }
118
+ function requireAllowedValue(value, allowed, flagName) {
119
+ if (!allowed.includes(value)) {
120
+ throw new Error(`Flag --${flagName} must be one of: ${allowed.join(", ")}`);
121
+ }
122
+ }
123
+
124
+ // src/commands/te-experiment/batch-delete-experiment.ts
125
+ function buildArgs(ctx) {
126
+ return {
127
+ projectId: ctx.num("project_id"),
128
+ expIds: readRequiredStringArray(ctx, "exp_ids")
129
+ };
130
+ }
131
+ var batchDeleteExperiment = createExperimentCommand({
132
+ command: "+batch_delete_experiment",
133
+ description: "Batch delete experiments.",
134
+ flags: [
135
+ PROJECT_ID_FLAG,
136
+ { name: "exp_ids", type: "json", required: true, desc: "Experiment ID list as JSON array" }
137
+ ],
138
+ risk: "write",
139
+ validate: (ctx) => {
140
+ readRequiredStringArray(ctx, "exp_ids");
141
+ },
142
+ buildArgs
143
+ });
144
+
145
+ // src/commands/te-experiment/batch-delete-feature.ts
146
+ var batchDeleteFeature = createExperimentCommand({
147
+ command: "+batch_delete_feature",
148
+ description: "Batch delete Features.",
149
+ flags: [
150
+ PROJECT_ID_FLAG,
151
+ reqFlag("Feature delete request as JSON object")
152
+ ],
153
+ risk: "write",
154
+ validate: (ctx) => {
155
+ readRequiredJsonObject(ctx, "req");
156
+ },
157
+ buildArgs: projectReqArgs
158
+ });
159
+
160
+ // src/commands/te-experiment/batch-delete-traffic-layer.ts
161
+ function buildArgs2(ctx) {
162
+ return {
163
+ projectId: ctx.num("project_id"),
164
+ layerIds: readRequiredStringArray(ctx, "layer_ids")
165
+ };
166
+ }
167
+ var batchDeleteTrafficLayer = createExperimentCommand({
168
+ command: "+batch_delete_traffic_layer",
169
+ description: "Batch delete traffic layers.",
170
+ flags: [
171
+ PROJECT_ID_FLAG,
172
+ { name: "layer_ids", type: "json", required: true, desc: "Traffic layer ID list as JSON array" }
173
+ ],
174
+ risk: "write",
175
+ validate: (ctx) => {
176
+ readRequiredStringArray(ctx, "layer_ids");
177
+ },
178
+ buildArgs: buildArgs2
179
+ });
180
+
181
+ // src/commands/te-experiment/cancel-experiment-query-by-request-id.ts
182
+ function buildArgs3(ctx) {
183
+ return { requestId: ctx.str("request_id") };
184
+ }
185
+ var cancelExperimentQueryByRequestId = createExperimentCommand({
186
+ command: "+cancel_experiment_query_by_request_id",
187
+ description: "Cancel a running experiment report query by request ID.",
188
+ flags: [
189
+ { name: "request_id", type: "string", required: true, desc: "Request ID to cancel" }
190
+ ],
191
+ risk: "write",
192
+ buildArgs: buildArgs3
193
+ });
194
+
195
+ // src/commands/te-experiment/check-experiment-ready.ts
196
+ function buildArgs4(ctx) {
197
+ return {
198
+ projectId: ctx.num("project_id"),
199
+ expId: ctx.str("exp_id")
200
+ };
201
+ }
202
+ var checkExperimentReady = createExperimentCommand({
203
+ command: "+check_experiment_ready",
204
+ description: "Check whether an experiment is ready for online status transitions.",
205
+ flags: [
206
+ PROJECT_ID_FLAG,
207
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" }
208
+ ],
209
+ risk: "read",
210
+ buildArgs: buildArgs4
211
+ });
212
+
213
+ // src/commands/te-experiment/delete-metric.ts
214
+ function buildArgs5(ctx) {
215
+ return {
216
+ projectId: ctx.num("project_id"),
217
+ metricId: ctx.str("metric_id")
218
+ };
219
+ }
220
+ var deleteMetric = createExperimentCommand({
221
+ command: "+delete_metric",
222
+ description: "Delete a metric.",
223
+ flags: [
224
+ PROJECT_ID_FLAG,
225
+ { name: "metric_id", type: "string", required: true, desc: "Metric ID" }
226
+ ],
227
+ risk: "write",
228
+ buildArgs: buildArgs5
229
+ });
230
+
231
+ // src/commands/te-experiment/manage-experiment.ts
232
+ var TARGET_STATUSES = ["draft", "testing", "pending", "running", "paused", "ended", "archive"];
233
+ function buildArgs6(ctx) {
234
+ const args = {
235
+ projectId: ctx.num("project_id"),
236
+ expId: ctx.str("exp_id"),
237
+ targetStatus: ctx.str("target_status")
238
+ };
239
+ addOptionalString(args, ctx, "remark", "remark");
240
+ return args;
241
+ }
242
+ var manageExperiment = createExperimentCommand({
243
+ command: "+manage_experiment",
244
+ description: "Manage experiment status.",
245
+ flags: [
246
+ PROJECT_ID_FLAG,
247
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" },
248
+ { name: "target_status", type: "string", required: true, desc: "Target status: draft, testing, pending, running, paused, ended, or archive" },
249
+ { name: "remark", type: "string", required: false, desc: "Operation remark" }
250
+ ],
251
+ risk: "write",
252
+ validate: (ctx) => {
253
+ requireAllowedValue(ctx.str("target_status"), TARGET_STATUSES, "target_status");
254
+ },
255
+ buildArgs: buildArgs6
256
+ });
257
+
258
+ // src/commands/te-experiment/manage-feature-status.ts
259
+ var manageFeatureStatus = createExperimentCommand({
260
+ command: "+manage_feature_status",
261
+ description: "Update Feature status.",
262
+ flags: [
263
+ PROJECT_ID_FLAG,
264
+ reqFlag("Feature status request as JSON object")
265
+ ],
266
+ risk: "write",
267
+ validate: (ctx) => {
268
+ readRequiredJsonObject(ctx, "req");
269
+ },
270
+ buildArgs: projectReqArgs
271
+ });
272
+
273
+ // src/commands/te-experiment/query-bucket-list.ts
274
+ var queryBucketList = createExperimentCommand({
275
+ command: "+query_bucket_list",
276
+ description: "Query the split bucket list for a project.",
277
+ flags: [PROJECT_ID_FLAG],
278
+ risk: "read",
279
+ buildArgs: projectArgs
280
+ });
281
+
282
+ // src/commands/te-experiment/query-experiment-detail.ts
283
+ function buildArgs7(ctx) {
284
+ return {
285
+ projectId: ctx.num("project_id"),
286
+ expId: ctx.str("exp_id")
287
+ };
288
+ }
289
+ var queryExperimentDetail = createExperimentCommand({
290
+ command: "+query_experiment_detail",
291
+ description: "Query full experiment detail.",
292
+ flags: [
293
+ PROJECT_ID_FLAG,
294
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" }
295
+ ],
296
+ risk: "read",
297
+ buildArgs: buildArgs7
298
+ });
299
+
300
+ // src/commands/te-experiment/query-experiment-list.ts
301
+ var queryExperimentList = createExperimentCommand({
302
+ command: "+query_experiment_list",
303
+ description: "Query the experiment list for a project.",
304
+ flags: [PROJECT_ID_FLAG],
305
+ risk: "read",
306
+ buildArgs: projectArgs
307
+ });
308
+
309
+ // src/commands/te-experiment/query-experiment-metric-trend.ts
310
+ function buildArgs8(ctx) {
311
+ const args = {
312
+ projectId: ctx.num("project_id"),
313
+ expId: ctx.str("exp_id"),
314
+ metricId: ctx.str("metric_id"),
315
+ startTime: ctx.str("start_time"),
316
+ endTime: ctx.str("end_time")
317
+ };
318
+ addOptionalString(args, ctx, "request_id", "requestId");
319
+ addOptionalBoolean(args, ctx, "force_refresh", "forceRefresh");
320
+ return args;
321
+ }
322
+ var queryExperimentMetricTrend = createExperimentCommand({
323
+ command: "+query_experiment_metric_trend",
324
+ description: "Query an experiment metric trend report.",
325
+ flags: [
326
+ PROJECT_ID_FLAG,
327
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" },
328
+ { name: "metric_id", type: "string", required: true, desc: "Metric ID" },
329
+ { name: "start_time", type: "string", required: true, desc: "Start date, yyyy-MM-dd" },
330
+ { name: "end_time", type: "string", required: true, desc: "End date, yyyy-MM-dd" },
331
+ { name: "request_id", type: "string", required: false, desc: "Request ID for query tracking" },
332
+ { name: "force_refresh", type: "boolean", required: false, desc: "Whether to force refresh report data" }
333
+ ],
334
+ risk: "read",
335
+ buildArgs: buildArgs8
336
+ });
337
+
338
+ // src/commands/te-experiment/query-experiment-report-summary.ts
339
+ function buildArgs9(ctx) {
340
+ const args = {
341
+ projectId: ctx.num("project_id"),
342
+ expId: ctx.str("exp_id")
343
+ };
344
+ addOptionalBoolean(args, ctx, "force_refresh", "forceRefresh");
345
+ return args;
346
+ }
347
+ var queryExperimentReportSummary = createExperimentCommand({
348
+ command: "+query_experiment_report_summary",
349
+ description: "Query an experiment report summary.",
350
+ flags: [
351
+ PROJECT_ID_FLAG,
352
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" },
353
+ { name: "force_refresh", type: "boolean", required: false, desc: "Whether to force refresh report data" }
354
+ ],
355
+ risk: "read",
356
+ buildArgs: buildArgs9
357
+ });
358
+
359
+ // src/commands/te-experiment/query-experiment-sample-size-report.ts
360
+ function buildArgs10(ctx) {
361
+ const args = {
362
+ projectId: ctx.num("project_id"),
363
+ expId: ctx.str("exp_id"),
364
+ startTime: ctx.str("start_time"),
365
+ endTime: ctx.str("end_time")
366
+ };
367
+ addOptionalString(args, ctx, "request_id", "requestId");
368
+ addOptionalBoolean(args, ctx, "force_refresh", "forceRefresh");
369
+ addOptionalBoolean(args, ctx, "by_hour", "byHour");
370
+ return args;
371
+ }
372
+ var queryExperimentSampleSizeReport = createExperimentCommand({
373
+ command: "+query_experiment_sample_size_report",
374
+ description: "Query an experiment sample-size report.",
375
+ flags: [
376
+ PROJECT_ID_FLAG,
377
+ { name: "exp_id", type: "string", required: true, desc: "Experiment ID" },
378
+ { name: "start_time", type: "string", required: true, desc: "Start date, yyyy-MM-dd" },
379
+ { name: "end_time", type: "string", required: true, desc: "End date, yyyy-MM-dd" },
380
+ { name: "request_id", type: "string", required: false, desc: "Request ID for query tracking" },
381
+ { name: "force_refresh", type: "boolean", required: false, desc: "Whether to force refresh report data" },
382
+ { name: "by_hour", type: "boolean", required: false, desc: "Whether to show results by hour" }
383
+ ],
384
+ risk: "read",
385
+ buildArgs: buildArgs10
386
+ });
387
+
388
+ // src/commands/te-experiment/query-feature-detail.ts
389
+ function buildArgs11(ctx) {
390
+ const args = {
391
+ projectId: ctx.num("project_id"),
392
+ featureKey: ctx.str("feature_key")
393
+ };
394
+ addOptionalString(args, ctx, "version", "version");
395
+ return args;
396
+ }
397
+ var queryFeatureDetail = createExperimentCommand({
398
+ command: "+query_feature_detail",
399
+ description: "Query Feature detail by key and optional version.",
400
+ flags: [
401
+ PROJECT_ID_FLAG,
402
+ { name: "feature_key", type: "string", required: true, desc: "Feature key" },
403
+ { name: "version", type: "string", required: false, desc: "Feature version ID" }
404
+ ],
405
+ risk: "read",
406
+ buildArgs: buildArgs11
407
+ });
408
+
409
+ // src/commands/te-experiment/query-feature-list.ts
410
+ var queryFeatureList = createExperimentCommand({
411
+ command: "+query_feature_list",
412
+ description: "Query the Feature list for a project.",
413
+ flags: [PROJECT_ID_FLAG],
414
+ risk: "read",
415
+ buildArgs: projectArgs
416
+ });
417
+
418
+ // src/commands/te-experiment/query-metric-detail.ts
419
+ function buildArgs12(ctx) {
420
+ return {
421
+ projectId: ctx.num("project_id"),
422
+ metricId: ctx.str("metric_id")
423
+ };
424
+ }
425
+ var queryMetricDetail = createExperimentCommand({
426
+ command: "+query_metric_detail",
427
+ description: "Query metric detail.",
428
+ flags: [
429
+ PROJECT_ID_FLAG,
430
+ { name: "metric_id", type: "string", required: true, desc: "Metric ID" }
431
+ ],
432
+ risk: "read",
433
+ buildArgs: buildArgs12
434
+ });
435
+
436
+ // src/commands/te-experiment/query-metric-list.ts
437
+ var queryMetricList = createExperimentCommand({
438
+ command: "+query_metric_list",
439
+ description: "Query the metric list for a project.",
440
+ flags: [PROJECT_ID_FLAG],
441
+ risk: "read",
442
+ buildArgs: projectArgs
443
+ });
444
+
445
+ // src/commands/te-experiment/query-traffic-layer-detail.ts
446
+ function buildArgs13(ctx) {
447
+ return {
448
+ projectId: ctx.num("project_id"),
449
+ layerId: ctx.str("layer_id")
450
+ };
451
+ }
452
+ var queryTrafficLayerDetail = createExperimentCommand({
453
+ command: "+query_traffic_layer_detail",
454
+ description: "Query traffic layer detail.",
455
+ flags: [
456
+ PROJECT_ID_FLAG,
457
+ { name: "layer_id", type: "string", required: true, desc: "Traffic layer ID" }
458
+ ],
459
+ risk: "read",
460
+ buildArgs: buildArgs13
461
+ });
462
+
463
+ // src/commands/te-experiment/query-traffic-layer-list.ts
464
+ var queryTrafficLayerList = createExperimentCommand({
465
+ command: "+query_traffic_layer_list",
466
+ description: "Query the traffic layer list for a project.",
467
+ flags: [PROJECT_ID_FLAG],
468
+ risk: "read",
469
+ buildArgs: projectArgs
470
+ });
471
+
472
+ // src/commands/te-experiment/save-experiment.ts
473
+ var saveExperiment = createExperimentCommand({
474
+ command: "+save_experiment",
475
+ description: "Create or update an experiment draft.",
476
+ flags: [
477
+ PROJECT_ID_FLAG,
478
+ reqFlag("Experiment save request as JSON object")
479
+ ],
480
+ risk: "write",
481
+ validate: (ctx) => {
482
+ readRequiredJsonObject(ctx, "req");
483
+ },
484
+ buildArgs: projectReqArgs
485
+ });
486
+
487
+ // src/commands/te-experiment/save-feature.ts
488
+ var saveFeature = createExperimentCommand({
489
+ command: "+save_feature",
490
+ description: "Create or update a Feature.",
491
+ flags: [
492
+ PROJECT_ID_FLAG,
493
+ reqFlag("Feature save request as JSON object")
494
+ ],
495
+ risk: "write",
496
+ validate: (ctx) => {
497
+ readRequiredJsonObject(ctx, "req");
498
+ },
499
+ buildArgs: projectReqArgs
500
+ });
501
+
502
+ // src/commands/te-experiment/save-metric.ts
503
+ var saveMetric = createExperimentCommand({
504
+ command: "+save_metric",
505
+ description: "Create or update a metric.",
506
+ flags: [
507
+ PROJECT_ID_FLAG,
508
+ reqFlag("Metric save request as JSON object")
509
+ ],
510
+ risk: "write",
511
+ validate: (ctx) => {
512
+ readRequiredJsonObject(ctx, "req");
513
+ },
514
+ buildArgs: projectReqArgs
515
+ });
516
+
517
+ // src/commands/te-experiment/save-submit-experiment.ts
518
+ var saveSubmitExperiment = createExperimentCommand({
519
+ command: "+save_submit_experiment",
520
+ description: "Create or update a complete experiment and submit it.",
521
+ flags: [
522
+ PROJECT_ID_FLAG,
523
+ reqFlag("Experiment save-and-submit request as JSON object")
524
+ ],
525
+ risk: "write",
526
+ validate: (ctx) => {
527
+ readRequiredJsonObject(ctx, "req");
528
+ },
529
+ buildArgs: projectReqArgs
530
+ });
531
+
532
+ // src/commands/te-experiment/save-traffic-layer.ts
533
+ var saveTrafficLayer = createExperimentCommand({
534
+ command: "+save_traffic_layer",
535
+ description: "Create or update a traffic layer.",
536
+ flags: [
537
+ PROJECT_ID_FLAG,
538
+ reqFlag("Traffic layer save request as JSON object")
539
+ ],
540
+ risk: "write",
541
+ validate: (ctx) => {
542
+ readRequiredJsonObject(ctx, "req");
543
+ },
544
+ buildArgs: projectReqArgs
545
+ });
546
+
547
+ // src/commands/te-experiment/index.ts
548
+ registerMcpMappings({
549
+ "experiment": { componentName: "engage", mappingPath: "experiment" }
550
+ });
551
+ var commands = [
552
+ saveExperiment,
553
+ saveSubmitExperiment,
554
+ queryExperimentList,
555
+ queryExperimentDetail,
556
+ checkExperimentReady,
557
+ manageExperiment,
558
+ batchDeleteExperiment,
559
+ saveTrafficLayer,
560
+ queryTrafficLayerDetail,
561
+ queryTrafficLayerList,
562
+ batchDeleteTrafficLayer,
563
+ queryExperimentReportSummary,
564
+ queryExperimentSampleSizeReport,
565
+ queryExperimentMetricTrend,
566
+ cancelExperimentQueryByRequestId,
567
+ saveMetric,
568
+ queryMetricDetail,
569
+ queryMetricList,
570
+ deleteMetric,
571
+ saveFeature,
572
+ manageFeatureStatus,
573
+ queryFeatureDetail,
574
+ queryFeatureList,
575
+ batchDeleteFeature,
576
+ queryBucketList
577
+ ];
578
+ var te_experiment_default = commands;
579
+ export {
580
+ batchDeleteExperiment,
581
+ batchDeleteFeature,
582
+ batchDeleteTrafficLayer,
583
+ cancelExperimentQueryByRequestId,
584
+ checkExperimentReady,
585
+ te_experiment_default as default,
586
+ deleteMetric,
587
+ manageExperiment,
588
+ manageFeatureStatus,
589
+ queryBucketList,
590
+ queryExperimentDetail,
591
+ queryExperimentList,
592
+ queryExperimentMetricTrend,
593
+ queryExperimentReportSummary,
594
+ queryExperimentSampleSizeReport,
595
+ queryFeatureDetail,
596
+ queryFeatureList,
597
+ queryMetricDetail,
598
+ queryMetricList,
599
+ queryTrafficLayerDetail,
600
+ queryTrafficLayerList,
601
+ saveExperiment,
602
+ saveFeature,
603
+ saveMetric,
604
+ saveSubmitExperiment,
605
+ saveTrafficLayer
606
+ };