@thinkingai/ae-cli 6.1.5 → 6.1.7

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 (203) hide show
  1. package/README.md +3 -2
  2. package/README.zh.md +3 -2
  3. package/dist/index.js +28 -20
  4. package/dist/{metadata-W2MEOI4Z.js → metadata-ELUAR3EJ.js} +0 -53
  5. package/dist/{metadata-3M5F2AED.js → metadata-P5GIVMZ6.js} +0 -53
  6. package/dist/{te-agent-K2OWMZXT.js → te-agent-BOQ7ZY56.js} +194 -1
  7. package/dist/{te-analysis-Q7AZCDU4.js → te-analysis-HZIP6SYW.js} +446 -562
  8. package/dist/{te-analysis-I73ZS4NK.js → te-analysis-ZT2MYAHL.js} +446 -562
  9. package/dist/{te-dataops-MJV54MNY.js → te-dataops-VYN3IOKO.js} +6 -6
  10. package/dist/{te-dataops-OA7I6HBG.js → te-dataops-Y5QAPPPF.js} +6 -6
  11. package/dist/{te-engage-GJRVQMK3.js → te-engage-2FSDUOIZ.js} +965 -1578
  12. package/dist/{te-engage-JIXX3WBI.js → te-engage-BMJ6UOUU.js} +965 -1578
  13. package/dist/te-experiment-4JC7WUKW.js +590 -0
  14. package/dist/te-experiment-KYRWAUZY.js +590 -0
  15. package/dist/{te-kb-CIZXRWMO.js → te-kb-E7NSCBRB.js} +25 -6
  16. package/dist/te-meta-GBDTMPEL.js +95 -0
  17. package/dist/te-meta-ZTLTSHXC.js +95 -0
  18. package/package.json +6 -5
  19. package/skills/ae-agent/SKILL.md +5 -1
  20. package/skills/ae-agent/references/list-sandbox-tools.md +79 -0
  21. package/skills/ae-analysis/SKILL.md +8 -9
  22. package/skills/ae-analysis/references/adhoc_export.md +8 -0
  23. package/skills/ae-analysis/references/adhoc_run.md +9 -0
  24. package/skills/ae-analysis/references/ai_models.md +3 -1
  25. package/skills/ae-analysis/references/analysis_data_retrieval.md +2 -0
  26. package/skills/ae-analysis/references/analysis_drilldown_contract.md +2 -0
  27. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -7
  28. package/skills/ae-analysis/references/command_index.md +18 -40
  29. package/skills/ae-analysis/references/dashboard_report_data_export.md +4 -2
  30. package/skills/ae-analysis/references/dashboard_report_data_run.md +5 -3
  31. package/skills/ae-analysis/references/drilldown_entities_export.md +3 -0
  32. package/skills/ae-analysis/references/drilldown_entities_run.md +2 -1
  33. package/skills/ae-analysis/references/drilldown_events_export.md +3 -0
  34. package/skills/ae-analysis/references/drilldown_events_run.md +2 -1
  35. package/skills/ae-analysis/references/drilldown_user_events_export.md +3 -0
  36. package/skills/ae-analysis/references/drilldown_user_events_run.md +2 -0
  37. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  38. package/skills/ae-analysis/references/filter_value_list.md +47 -0
  39. package/skills/ae-analysis/references/project_space_get.md +3 -3
  40. package/skills/ae-analysis/references/project_space_list.md +6 -2
  41. package/skills/ae-analysis/references/query_cancel.md +3 -1
  42. package/skills/ae-analysis/references/query_cluster_list.md +34 -0
  43. package/skills/ae-analysis/references/query_create_result_cluster.md +2 -0
  44. package/skills/ae-analysis/references/report_create.md +5 -1
  45. package/skills/ae-analysis/references/report_data_export.md +9 -2
  46. package/skills/ae-analysis/references/report_data_run.md +8 -3
  47. package/skills/ae-analysis/references/report_get.md +3 -1
  48. package/skills/ae-analysis/references/report_update.md +4 -0
  49. package/skills/ae-analysis/references/virtual_event_create.md +7 -6
  50. package/skills/ae-analysis-global/SKILL.md +15 -32
  51. package/skills/ae-community/SKILL.md +1 -1
  52. package/skills/ae-data-integration-helper/SKILL.md +3 -2
  53. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +1 -1
  54. package/skills/ae-dataops/SKILL.md +2 -1
  55. package/skills/ae-dataops/references/dataops-integration.md +75 -6
  56. package/skills/ae-engage/SKILL.md +127 -104
  57. package/skills/ae-engage/references/activity-activity-type.md +1 -1
  58. package/skills/ae-engage/references/activity-activity.md +1 -1
  59. package/skills/ae-engage/references/activity-approval.md +5 -7
  60. package/skills/ae-engage/references/activity-task.md +12 -18
  61. package/skills/ae-engage/references/activity-topic.md +39 -22
  62. package/skills/ae-engage/references/add-approver.md +4 -4
  63. package/skills/ae-engage/references/add-channel.md +10 -5
  64. package/skills/ae-engage/references/approval-approver-delete.md +1 -1
  65. package/skills/ae-engage/references/approver-list.md +4 -4
  66. package/skills/ae-engage/references/build-task-save-guide.md +13 -13
  67. package/skills/ae-engage/references/cancel-query-by-request-id.md +7 -6
  68. package/skills/ae-engage/references/channel-detail.md +14 -9
  69. package/skills/ae-engage/references/channel-list.md +15 -10
  70. package/skills/ae-engage/references/channel-mgmt.md +109 -0
  71. package/skills/ae-engage/references/channel-test-send.md +1 -1
  72. package/skills/ae-engage/references/channel-update-config.md +1 -1
  73. package/skills/ae-engage/references/channel_touch_limits_list.md +1 -1
  74. package/skills/ae-engage/references/client-param.md +34 -16
  75. package/skills/ae-engage/references/common-metric.md +85 -18
  76. package/skills/ae-engage/references/config-item-analysis-report.md +8 -27
  77. package/skills/ae-engage/references/config-item-strategy-comparison.md +7 -18
  78. package/skills/ae-engage/references/config-item-trigger-report.md +8 -35
  79. package/skills/ae-engage/references/delete-channel.md +5 -5
  80. package/skills/ae-engage/references/delete-flow.md +5 -5
  81. package/skills/ae-engage/references/flow-ab-split-node-report.md +11 -45
  82. package/skills/ae-engage/references/flow-detail.md +15 -10
  83. package/skills/ae-engage/references/flow-list.md +9 -4
  84. package/skills/ae-engage/references/flow-node-config-schema.md +9 -8
  85. package/skills/ae-engage/references/flow-node-detail-report.md +11 -46
  86. package/skills/ae-engage/references/flow-node-overview-report.md +11 -43
  87. package/skills/ae-engage/references/flow-process-report.md +12 -50
  88. package/skills/ae-engage/references/flow-update-remark.md +19 -0
  89. package/skills/ae-engage/references/manage-flow.md +19 -19
  90. package/skills/ae-engage/references/manage-task.md +5 -5
  91. package/skills/ae-engage/references/modify-flow-base-info.md +8 -8
  92. package/skills/ae-engage/references/preset-event.md +1 -1
  93. package/skills/ae-engage/references/push-language.md +1 -1
  94. package/skills/ae-engage/references/save-flow.md +54 -52
  95. package/skills/ae-engage/references/save-task.md +23 -17
  96. package/skills/ae-engage/references/scene-config-channel.md +90 -10
  97. package/skills/ae-engage/references/scene-config-group.md +1 -1
  98. package/skills/ae-engage/references/scene-config-item.md +27 -4
  99. package/skills/ae-engage/references/scene-config-metric.md +1 -1
  100. package/skills/ae-engage/references/scene-config-param.md +2 -2
  101. package/skills/ae-engage/references/scene-preset-metric.md +1 -1
  102. package/skills/ae-engage/references/scene-strategy.md +19 -3
  103. package/skills/ae-engage/references/scene-template.md +10 -4
  104. package/skills/ae-engage/references/task-data-detail.md +5 -67
  105. package/skills/ae-engage/references/task-data-overview.md +5 -35
  106. package/skills/ae-engage/references/task-detail.md +5 -5
  107. package/skills/ae-engage/references/task-experiment-report.md +5 -38
  108. package/skills/ae-engage/references/task-list.md +4 -4
  109. package/skills/ae-engage/references/task-metric-detail.md +5 -43
  110. package/skills/ae-engage/references/task-stats.md +5 -5
  111. package/skills/ae-engage/references/update-channel-status.md +6 -6
  112. package/skills/ae-engage/references/validate-flow-node-config.md +12 -11
  113. package/skills/ae-engage/references/whitelist-list.md +4 -4
  114. package/skills/ae-engage/references/whitelist.md +1 -1
  115. package/skills/ae-engage/references/workbench-workbench.md +1 -1
  116. package/skills/ae-experiment/SKILL.md +30 -20
  117. package/skills/ae-experiment/references/batch_delete_experiment.md +4 -4
  118. package/skills/ae-experiment/references/batch_delete_feature.md +3 -3
  119. package/skills/ae-experiment/references/batch_delete_traffic_layer.md +4 -4
  120. package/skills/ae-experiment/references/cancel_experiment_query_by_request_id.md +5 -4
  121. package/skills/ae-experiment/references/check_experiment_ready.md +7 -5
  122. package/skills/ae-experiment/references/check_experiment_traffic_layer_conflict.md +37 -0
  123. package/skills/ae-experiment/references/delete_metric.md +4 -4
  124. package/skills/ae-experiment/references/manage_experiment.md +8 -6
  125. package/skills/ae-experiment/references/manage_feature_status.md +3 -3
  126. package/skills/ae-experiment/references/query_bucket_list.md +5 -3
  127. package/skills/ae-experiment/references/query_experiment_detail.md +6 -4
  128. package/skills/ae-experiment/references/query_experiment_list.md +12 -4
  129. package/skills/ae-experiment/references/query_experiment_list_archived.md +15 -0
  130. package/skills/ae-experiment/references/query_experiment_metric_trend.md +6 -10
  131. package/skills/ae-experiment/references/query_experiment_operation_log.md +17 -0
  132. package/skills/ae-experiment/references/query_experiment_report_summary.md +5 -6
  133. package/skills/ae-experiment/references/query_experiment_sample_size_report.md +6 -10
  134. package/skills/ae-experiment/references/query_feature_detail.md +6 -4
  135. package/skills/ae-experiment/references/query_feature_list.md +5 -3
  136. package/skills/ae-experiment/references/query_feature_operation_log.md +19 -0
  137. package/skills/ae-experiment/references/query_feature_version_list.md +20 -0
  138. package/skills/ae-experiment/references/query_metric_detail.md +6 -4
  139. package/skills/ae-experiment/references/query_metric_list.md +5 -3
  140. package/skills/ae-experiment/references/query_traffic_layer_detail.md +6 -4
  141. package/skills/ae-experiment/references/query_traffic_layer_list.md +5 -3
  142. package/skills/ae-experiment/references/save_experiment.md +148 -9
  143. package/skills/ae-experiment/references/save_feature.md +3 -3
  144. package/skills/ae-experiment/references/save_metric.md +3 -3
  145. package/skills/ae-experiment/references/save_submit_experiment.md +6 -6
  146. package/skills/ae-experiment/references/save_traffic_layer.md +3 -3
  147. package/skills/ae-experiment/references/update_experiment_group.md +20 -0
  148. package/skills/ae-generate-tracking-code/SKILL.md +4 -3
  149. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  150. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +1 -1
  151. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +1 -1
  152. package/skills/ae-generate-tracking-plan/SKILL.md +6 -2
  153. package/skills/ae-kb/SKILL.md +9 -5
  154. package/skills/ae-metadata/SKILL.md +8 -15
  155. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  156. package/dist/te-common-ST3QPSXJ.js +0 -61
  157. package/dist/te-common-WSLIKKPC.js +0 -61
  158. package/dist/te-experiment-JKX4FH6D.js +0 -607
  159. package/dist/te-experiment-UMSHBBKI.js +0 -607
  160. package/dist/te-meta-Q4L6EE3Q.js +0 -363
  161. package/dist/te-meta-VHCN4Q62.js +0 -363
  162. package/skills/ae-analysis/references/batch_create_metadata.md +0 -41
  163. package/skills/ae-analysis/references/batch_edit_metadata.md +0 -39
  164. package/skills/ae-analysis/references/cancel_query.md +0 -38
  165. package/skills/ae-analysis/references/create_alert.md +0 -47
  166. package/skills/ae-analysis/references/create_entity.md +0 -39
  167. package/skills/ae-analysis/references/create_project_mark_time.md +0 -39
  168. package/skills/ae-analysis/references/delete_alert.md +0 -32
  169. package/skills/ae-analysis/references/delete_project_mark_times.md +0 -36
  170. package/skills/ae-analysis/references/delete_track_items.md +0 -36
  171. package/skills/ae-analysis/references/generate_track_program.md +0 -52
  172. package/skills/ae-analysis/references/generate_track_sdk_sample.md +0 -44
  173. package/skills/ae-analysis/references/get_alert.md +0 -35
  174. package/skills/ae-analysis/references/get_alert_definition_schema.md +0 -33
  175. package/skills/ae-analysis/references/get_project_config.md +0 -33
  176. package/skills/ae-analysis/references/get_track_program.md +0 -34
  177. package/skills/ae-analysis/references/list_alerts.md +0 -41
  178. package/skills/ae-analysis/references/list_entities.md +0 -42
  179. package/skills/ae-analysis/references/list_project_mark_times.md +0 -43
  180. package/skills/ae-analysis/references/list_project_users.md +0 -33
  181. package/skills/ae-analysis/references/list_projects.md +0 -39
  182. package/skills/ae-analysis/references/load_filters.md +0 -47
  183. package/skills/ae-analysis/references/save_track_items.md +0 -37
  184. package/skills/ae-analysis/references/update_alert.md +0 -49
  185. package/skills/ae-analysis/references/update_project_mark_time.md +0 -40
  186. package/skills/ae-analysis-global/references/list_query_clusters.md +0 -68
  187. package/skills/ae-engage/references/config-channel-detail.md +0 -31
  188. package/skills/ae-engage/references/config-channel-list.md +0 -26
  189. package/skills/ae-engage/references/config-item-detail.md +0 -29
  190. package/skills/ae-engage/references/config-item-list.md +0 -18
  191. package/skills/ae-engage/references/copy-config-template.md +0 -28
  192. package/skills/ae-engage/references/delete-config-channel.md +0 -23
  193. package/skills/ae-engage/references/delete-config-item.md +0 -24
  194. package/skills/ae-engage/references/engage-scene-config-item.md +0 -69
  195. package/skills/ae-engage/references/manage-strategy.md +0 -73
  196. package/skills/ae-engage/references/strategy-detail.md +0 -72
  197. package/skills/ae-engage/references/strategy-list.md +0 -20
  198. package/skills/ae-engage/references/update-config-channel-status.md +0 -31
  199. package/skills/ae-metadata/references/metadata_event_get.md +0 -52
  200. package/skills/ae-metadata/references/metadata_property_get.md +0 -54
  201. package/dist/{config-RCCGHHYA.js → config-PMPISN5Y.js} +4 -4
  202. package/dist/{te-community-WXGB6IOX.js → te-community-QOYIYEJI.js} +3 -3
  203. package/dist/{te-community-X2AHXGCA.js → te-community-UFKI6ONP.js} +3 -3
@@ -0,0 +1,590 @@
1
+ import {
2
+ createCapabilityCommand
3
+ } from "./chunk-6CHYBI64.js";
4
+ import {
5
+ registerCapabilityGatewayRoute
6
+ } from "./chunk-PTE56QPL.js";
7
+ import "./chunk-RGXCNC4N.js";
8
+ import "./chunk-IMMGMU54.js";
9
+ import "./chunk-E7UXXHO3.js";
10
+ import "./chunk-IR4ZLVPW.js";
11
+ import "./chunk-V6FR6WTW.js";
12
+ import "./chunk-24BAVOX3.js";
13
+ import "./chunk-LYVNONC4.js";
14
+
15
+ // src/commands/te-experiment/capability-shared.ts
16
+ function createExperimentCapabilityCommand(config) {
17
+ return createCapabilityCommand({
18
+ ...config,
19
+ cliService: "experiment",
20
+ gatewayDomain: "engage"
21
+ });
22
+ }
23
+ function readRequiredObject(ctx, name) {
24
+ const value = ctx.json(name);
25
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
26
+ throw new Error(`Flag --${name} must be a JSON object`);
27
+ }
28
+ return value;
29
+ }
30
+ function readRequiredStringArray(ctx, name) {
31
+ const value = ctx.json(name);
32
+ if (!Array.isArray(value) || value.length === 0 || !value.every((item) => typeof item === "string" && item.length > 0)) {
33
+ throw new Error(`Flag --${name} must be a non-empty JSON array of strings`);
34
+ }
35
+ return value;
36
+ }
37
+ function addOptionalString(input, name, value) {
38
+ if (value !== "") input[name] = value;
39
+ }
40
+
41
+ // src/commands/te-experiment/bucket/list.ts
42
+ var bucketList = createExperimentCapabilityCommand({
43
+ resource: "bucket",
44
+ command: "list",
45
+ capabilityId: "experiment.bucket.list",
46
+ description: "List split buckets in a project.",
47
+ flags: [{ name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." }],
48
+ risk: "read",
49
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id") })
50
+ });
51
+
52
+ // src/commands/te-experiment/experiment/batch-delete.ts
53
+ var experimentBatchDelete = createExperimentCapabilityCommand({
54
+ resource: "experiment",
55
+ command: "batch-delete",
56
+ capabilityId: "experiment.experiment.batch-delete",
57
+ description: "Batch delete experiments.",
58
+ flags: [
59
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
60
+ { name: "exp-ids", type: "json", required: true, desc: "Experiment IDs as a JSON string array." }
61
+ ],
62
+ risk: "high-risk-write",
63
+ validate: (ctx) => {
64
+ readRequiredStringArray(ctx, "exp-ids");
65
+ },
66
+ buildInput: (ctx) => ({
67
+ project_id: ctx.num("project-id"),
68
+ exp_ids: readRequiredStringArray(ctx, "exp-ids")
69
+ })
70
+ });
71
+
72
+ // src/commands/te-experiment/experiment/conflict-check.ts
73
+ function buildInput(ctx) {
74
+ const input = {
75
+ project_id: ctx.num("project-id"),
76
+ feature_key_list: readRequiredStringArray(ctx, "feature-key-list"),
77
+ traffic_layer_id: ctx.str("traffic-layer-id")
78
+ };
79
+ addOptionalString(input, "exp_id", ctx.str("exp-id"));
80
+ return input;
81
+ }
82
+ var experimentConflictCheck = createExperimentCapabilityCommand({
83
+ resource: "experiment",
84
+ command: "conflict-check",
85
+ capabilityId: "experiment.experiment.conflict-check",
86
+ description: "Pre-submit check for cross-layer Feature conflicts on a non-mutex traffic layer.",
87
+ flags: [
88
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
89
+ {
90
+ name: "feature-key-list",
91
+ type: "json",
92
+ required: true,
93
+ desc: "Feature keys selected by the current experiment as a JSON string array."
94
+ },
95
+ {
96
+ name: "traffic-layer-id",
97
+ type: "string",
98
+ required: true,
99
+ desc: "Selected non-mutex traffic layer ID."
100
+ },
101
+ {
102
+ name: "exp-id",
103
+ type: "string",
104
+ required: false,
105
+ desc: "Current experiment ID when editing an existing draft."
106
+ }
107
+ ],
108
+ risk: "read",
109
+ validate: (ctx) => {
110
+ readRequiredStringArray(ctx, "feature-key-list");
111
+ if (ctx.str("traffic-layer-id") === "") {
112
+ throw new Error("Flag --traffic-layer-id is required");
113
+ }
114
+ },
115
+ buildInput
116
+ });
117
+
118
+ // src/commands/te-experiment/experiment/get.ts
119
+ var experimentGet = createExperimentCapabilityCommand({
120
+ resource: "experiment",
121
+ command: "get",
122
+ capabilityId: "experiment.experiment.get",
123
+ description: "Get one experiment by ID.",
124
+ flags: [
125
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
126
+ { name: "exp-id", type: "string", required: true, desc: "Experiment ID." }
127
+ ],
128
+ risk: "read",
129
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), exp_id: ctx.str("exp-id") })
130
+ });
131
+
132
+ // src/commands/te-experiment/experiment/list.ts
133
+ function buildInput2(ctx) {
134
+ const input = {
135
+ project_id: ctx.num("project-id")
136
+ };
137
+ addOptionalString(input, "status", ctx.str("status"));
138
+ addOptionalString(input, "traffic_layer_id", ctx.str("traffic-layer-id"));
139
+ addOptionalString(input, "group_id", ctx.str("group-id"));
140
+ addOptionalString(input, "query_name", ctx.str("query-name"));
141
+ return input;
142
+ }
143
+ var experimentList = createExperimentCapabilityCommand({
144
+ resource: "experiment",
145
+ command: "list",
146
+ capabilityId: "experiment.experiment.list",
147
+ description: "List experiments in a project with optional status, traffic layer, group, and name filters.",
148
+ flags: [
149
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
150
+ {
151
+ name: "status",
152
+ type: "string",
153
+ required: false,
154
+ desc: "Experiment status filter: draft, testing, pending, running, paused, ended, or archive."
155
+ },
156
+ {
157
+ name: "traffic-layer-id",
158
+ type: "string",
159
+ required: false,
160
+ desc: "Traffic layer ID filter."
161
+ },
162
+ {
163
+ name: "group-id",
164
+ type: "string",
165
+ required: false,
166
+ desc: "Business group ID filter."
167
+ },
168
+ {
169
+ name: "query-name",
170
+ type: "string",
171
+ required: false,
172
+ desc: "Fuzzy match against experiment name (exp_name LIKE)."
173
+ }
174
+ ],
175
+ risk: "read",
176
+ buildInput: buildInput2
177
+ });
178
+
179
+ // src/commands/te-experiment/experiment/list-archived.ts
180
+ var experimentListArchived = createExperimentCapabilityCommand({
181
+ resource: "experiment",
182
+ command: "list-archived",
183
+ capabilityId: "experiment.experiment.list-archived",
184
+ description: "List archived experiments in a project.",
185
+ flags: [{ name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." }],
186
+ risk: "read",
187
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id") })
188
+ });
189
+
190
+ // src/commands/te-experiment/experiment/manage.ts
191
+ var targetStatuses = ["draft", "testing", "pending", "running", "paused", "ended", "archive"];
192
+ function buildInput3(ctx) {
193
+ const input = {
194
+ project_id: ctx.num("project-id"),
195
+ exp_id: ctx.str("exp-id"),
196
+ target_status: ctx.str("target-status")
197
+ };
198
+ addOptionalString(input, "remark", ctx.str("remark"));
199
+ return input;
200
+ }
201
+ var experimentManage = createExperimentCapabilityCommand({
202
+ resource: "experiment",
203
+ command: "manage",
204
+ capabilityId: "experiment.experiment.manage",
205
+ description: "Update an experiment status.",
206
+ flags: [
207
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
208
+ { name: "exp-id", type: "string", required: true, desc: "Experiment ID." },
209
+ { name: "target-status", type: "string", required: true, desc: "Target experiment status." },
210
+ { name: "remark", type: "string", required: false, desc: "Operation remark." }
211
+ ],
212
+ risk: "write",
213
+ validate: (ctx) => {
214
+ const value = ctx.str("target-status");
215
+ if (!targetStatuses.includes(value)) {
216
+ throw new Error(`Flag --target-status must be one of: ${targetStatuses.join(", ")}`);
217
+ }
218
+ },
219
+ buildInput: buildInput3
220
+ });
221
+
222
+ // src/commands/te-experiment/experiment/ready-check.ts
223
+ var experimentReadyCheck = createExperimentCapabilityCommand({
224
+ resource: "experiment",
225
+ command: "ready-check",
226
+ capabilityId: "experiment.experiment.ready-check",
227
+ description: "Check whether an experiment is ready for an online status transition.",
228
+ flags: [
229
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
230
+ { name: "exp-id", type: "string", required: true, desc: "Experiment ID." }
231
+ ],
232
+ risk: "read",
233
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), exp_id: ctx.str("exp-id") })
234
+ });
235
+
236
+ // src/commands/te-experiment/experiment/save.ts
237
+ var experimentSave = createExperimentCapabilityCommand({
238
+ resource: "experiment",
239
+ command: "save",
240
+ capabilityId: "experiment.experiment.save",
241
+ description: "Create or update an experiment draft.",
242
+ flags: [
243
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
244
+ { name: "req", type: "json", required: true, desc: "Native camelCase experiment save request object." }
245
+ ],
246
+ risk: "write",
247
+ validate: (ctx) => {
248
+ readRequiredObject(ctx, "req");
249
+ },
250
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
251
+ });
252
+
253
+ // src/commands/te-experiment/experiment/update-group.ts
254
+ var experimentUpdateGroup = createExperimentCapabilityCommand({
255
+ resource: "experiment",
256
+ command: "update-group",
257
+ capabilityId: "experiment.experiment.update-group",
258
+ description: "Update the business group of one experiment.",
259
+ flags: [
260
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
261
+ { name: "exp-id", type: "string", required: true, desc: "Experiment ID." },
262
+ {
263
+ name: "group-id",
264
+ type: "string",
265
+ required: true,
266
+ desc: 'Target business group ID. Use "0" for ungrouped.'
267
+ }
268
+ ],
269
+ risk: "write",
270
+ buildInput: (ctx) => ({
271
+ project_id: ctx.num("project-id"),
272
+ exp_id: ctx.str("exp-id"),
273
+ group_id: ctx.str("group-id")
274
+ })
275
+ });
276
+
277
+ // src/commands/te-experiment/feature/batch-delete.ts
278
+ var featureBatchDelete = createExperimentCapabilityCommand({
279
+ resource: "feature",
280
+ command: "batch-delete",
281
+ capabilityId: "experiment.feature.batch-delete",
282
+ description: "Batch delete Features.",
283
+ flags: [
284
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
285
+ { name: "req", type: "json", required: true, desc: "Native camelCase Feature delete request object." }
286
+ ],
287
+ risk: "high-risk-write",
288
+ validate: (ctx) => {
289
+ readRequiredObject(ctx, "req");
290
+ },
291
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
292
+ });
293
+
294
+ // src/commands/te-experiment/feature/get.ts
295
+ function buildInput4(ctx) {
296
+ const input = {
297
+ project_id: ctx.num("project-id"),
298
+ feature_key: ctx.str("feature-key")
299
+ };
300
+ addOptionalString(input, "version", ctx.str("version"));
301
+ return input;
302
+ }
303
+ var featureGet = createExperimentCapabilityCommand({
304
+ resource: "feature",
305
+ command: "get",
306
+ capabilityId: "experiment.feature.get",
307
+ description: "Get one Feature by key and optional version.",
308
+ flags: [
309
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
310
+ { name: "feature-key", type: "string", required: true, desc: "Feature key." },
311
+ { name: "version", type: "string", required: false, desc: "Feature version ID." }
312
+ ],
313
+ risk: "read",
314
+ buildInput: buildInput4
315
+ });
316
+
317
+ // src/commands/te-experiment/feature/list.ts
318
+ var featureList = createExperimentCapabilityCommand({
319
+ resource: "feature",
320
+ command: "list",
321
+ capabilityId: "experiment.feature.list",
322
+ description: "List Features in a project.",
323
+ flags: [{ name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." }],
324
+ risk: "read",
325
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id") })
326
+ });
327
+
328
+ // src/commands/te-experiment/feature/save.ts
329
+ var featureSave = createExperimentCapabilityCommand({
330
+ resource: "feature",
331
+ command: "save",
332
+ capabilityId: "experiment.feature.save",
333
+ description: "Create or update a Feature.",
334
+ flags: [
335
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
336
+ { name: "req", type: "json", required: true, desc: "Native camelCase Feature save request object." }
337
+ ],
338
+ risk: "write",
339
+ validate: (ctx) => {
340
+ readRequiredObject(ctx, "req");
341
+ },
342
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
343
+ });
344
+
345
+ // src/commands/te-experiment/feature/update-status.ts
346
+ var featureUpdateStatus = createExperimentCapabilityCommand({
347
+ resource: "feature",
348
+ command: "update-status",
349
+ capabilityId: "experiment.feature.update-status",
350
+ description: "Update a Feature status.",
351
+ flags: [
352
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
353
+ { name: "req", type: "json", required: true, desc: "Native camelCase Feature status request object." }
354
+ ],
355
+ risk: "write",
356
+ validate: (ctx) => {
357
+ readRequiredObject(ctx, "req");
358
+ },
359
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
360
+ });
361
+
362
+ // src/commands/te-experiment/feature/version-list.ts
363
+ var featureVersionList = createExperimentCapabilityCommand({
364
+ resource: "feature",
365
+ command: "version-list",
366
+ capabilityId: "experiment.feature.version-list",
367
+ description: "List Feature version history for one Feature key.",
368
+ flags: [
369
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
370
+ { name: "feature-key", type: "string", required: true, desc: "Feature key." }
371
+ ],
372
+ risk: "read",
373
+ buildInput: (ctx) => ({
374
+ project_id: ctx.num("project-id"),
375
+ feature_key: ctx.str("feature-key")
376
+ })
377
+ });
378
+
379
+ // src/commands/te-experiment/feature/operation-log/query.ts
380
+ var featureOperationLogQuery = createExperimentCapabilityCommand({
381
+ resource: "feature operation-log",
382
+ command: "query",
383
+ capabilityId: "experiment.feature.operation-log.query",
384
+ description: "Query Feature operation logs for one Feature key.",
385
+ flags: [
386
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
387
+ { name: "feature-key", type: "string", required: true, desc: "Feature key." }
388
+ ],
389
+ risk: "read",
390
+ buildInput: (ctx) => ({
391
+ project_id: ctx.num("project-id"),
392
+ feature_key: ctx.str("feature-key")
393
+ })
394
+ });
395
+
396
+ // src/commands/te-experiment/metric/delete.ts
397
+ var metricDelete = createExperimentCapabilityCommand({
398
+ resource: "metric",
399
+ command: "delete",
400
+ capabilityId: "experiment.metric.delete",
401
+ description: "Delete one experiment metric.",
402
+ flags: [
403
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
404
+ { name: "metric-id", type: "string", required: true, desc: "Metric ID." }
405
+ ],
406
+ risk: "high-risk-write",
407
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), metric_id: ctx.str("metric-id") })
408
+ });
409
+
410
+ // src/commands/te-experiment/metric/get.ts
411
+ var metricGet = createExperimentCapabilityCommand({
412
+ resource: "metric",
413
+ command: "get",
414
+ capabilityId: "experiment.metric.get",
415
+ description: "Get one experiment metric by ID.",
416
+ flags: [
417
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
418
+ { name: "metric-id", type: "string", required: true, desc: "Metric ID." }
419
+ ],
420
+ risk: "read",
421
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), metric_id: ctx.str("metric-id") })
422
+ });
423
+
424
+ // src/commands/te-experiment/metric/list.ts
425
+ var metricList = createExperimentCapabilityCommand({
426
+ resource: "metric",
427
+ command: "list",
428
+ capabilityId: "experiment.metric.list",
429
+ description: "List experiment metrics in a project.",
430
+ flags: [{ name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." }],
431
+ risk: "read",
432
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id") })
433
+ });
434
+
435
+ // src/commands/te-experiment/metric/save.ts
436
+ var metricSave = createExperimentCapabilityCommand({
437
+ resource: "metric",
438
+ command: "save",
439
+ capabilityId: "experiment.metric.save",
440
+ description: "Create or update an experiment metric.",
441
+ flags: [
442
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
443
+ { name: "req", type: "json", required: true, desc: "Native camelCase metric save request object." }
444
+ ],
445
+ risk: "write",
446
+ validate: (ctx) => {
447
+ readRequiredObject(ctx, "req");
448
+ },
449
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
450
+ });
451
+
452
+ // src/commands/te-experiment/operation-log/query.ts
453
+ var operationLogQuery = createExperimentCapabilityCommand({
454
+ resource: "operation-log",
455
+ command: "query",
456
+ capabilityId: "experiment.operation-log.query",
457
+ description: "Query full operation logs for one experiment, including remark and structured changes.",
458
+ flags: [
459
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
460
+ { name: "exp-id", type: "string", required: true, desc: "Experiment ID." }
461
+ ],
462
+ risk: "read",
463
+ buildInput: (ctx) => ({
464
+ project_id: ctx.num("project-id"),
465
+ exp_id: ctx.str("exp-id")
466
+ })
467
+ });
468
+
469
+ // src/commands/te-experiment/traffic-layer/batch-delete.ts
470
+ var trafficLayerBatchDelete = createExperimentCapabilityCommand({
471
+ resource: "traffic-layer",
472
+ command: "batch-delete",
473
+ capabilityId: "experiment.traffic-layer.batch-delete",
474
+ description: "Batch delete traffic layers.",
475
+ flags: [
476
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
477
+ { name: "layer-ids", type: "json", required: true, desc: "Traffic layer IDs as a JSON string array." }
478
+ ],
479
+ risk: "high-risk-write",
480
+ validate: (ctx) => {
481
+ readRequiredStringArray(ctx, "layer-ids");
482
+ },
483
+ buildInput: (ctx) => ({
484
+ project_id: ctx.num("project-id"),
485
+ layer_ids: readRequiredStringArray(ctx, "layer-ids")
486
+ })
487
+ });
488
+
489
+ // src/commands/te-experiment/traffic-layer/get.ts
490
+ var trafficLayerGet = createExperimentCapabilityCommand({
491
+ resource: "traffic-layer",
492
+ command: "get",
493
+ capabilityId: "experiment.traffic-layer.get",
494
+ description: "Get one traffic layer by ID.",
495
+ flags: [
496
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
497
+ { name: "layer-id", type: "string", required: true, desc: "Traffic layer ID." }
498
+ ],
499
+ risk: "read",
500
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), layer_id: ctx.str("layer-id") })
501
+ });
502
+
503
+ // src/commands/te-experiment/traffic-layer/list.ts
504
+ var trafficLayerList = createExperimentCapabilityCommand({
505
+ resource: "traffic-layer",
506
+ command: "list",
507
+ capabilityId: "experiment.traffic-layer.list",
508
+ description: "List traffic layers in a project.",
509
+ flags: [{ name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." }],
510
+ risk: "read",
511
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id") })
512
+ });
513
+
514
+ // src/commands/te-experiment/traffic-layer/save.ts
515
+ var trafficLayerSave = createExperimentCapabilityCommand({
516
+ resource: "traffic-layer",
517
+ command: "save",
518
+ capabilityId: "experiment.traffic-layer.save",
519
+ description: "Create or update a traffic layer.",
520
+ flags: [
521
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
522
+ { name: "req", type: "json", required: true, desc: "Native camelCase traffic layer save request object." }
523
+ ],
524
+ risk: "write",
525
+ validate: (ctx) => {
526
+ readRequiredObject(ctx, "req");
527
+ },
528
+ buildInput: (ctx) => ({ project_id: ctx.num("project-id"), req: readRequiredObject(ctx, "req") })
529
+ });
530
+
531
+ // src/commands/te-experiment/index.ts
532
+ registerCapabilityGatewayRoute("experiment", { gatewayDomain: "engage" });
533
+ var commands = [
534
+ experimentSave,
535
+ experimentList,
536
+ experimentListArchived,
537
+ experimentGet,
538
+ experimentReadyCheck,
539
+ experimentConflictCheck,
540
+ experimentManage,
541
+ experimentUpdateGroup,
542
+ experimentBatchDelete,
543
+ operationLogQuery,
544
+ trafficLayerSave,
545
+ trafficLayerGet,
546
+ trafficLayerList,
547
+ trafficLayerBatchDelete,
548
+ metricSave,
549
+ metricGet,
550
+ metricList,
551
+ metricDelete,
552
+ featureSave,
553
+ featureUpdateStatus,
554
+ featureGet,
555
+ featureList,
556
+ featureVersionList,
557
+ featureOperationLogQuery,
558
+ featureBatchDelete,
559
+ bucketList
560
+ ];
561
+ var te_experiment_default = commands;
562
+ export {
563
+ bucketList,
564
+ te_experiment_default as default,
565
+ experimentBatchDelete,
566
+ experimentConflictCheck,
567
+ experimentGet,
568
+ experimentList,
569
+ experimentListArchived,
570
+ experimentManage,
571
+ experimentReadyCheck,
572
+ experimentSave,
573
+ experimentUpdateGroup,
574
+ featureBatchDelete,
575
+ featureGet,
576
+ featureList,
577
+ featureOperationLogQuery,
578
+ featureSave,
579
+ featureUpdateStatus,
580
+ featureVersionList,
581
+ metricDelete,
582
+ metricGet,
583
+ metricList,
584
+ metricSave,
585
+ operationLogQuery,
586
+ trafficLayerBatchDelete,
587
+ trafficLayerGet,
588
+ trafficLayerList,
589
+ trafficLayerSave
590
+ };
@@ -11,18 +11,37 @@ import "./chunk-LYVNONC4.js";
11
11
  // src/commands/te-kb/query.ts
12
12
  var API_PATH = "/agent/api/external/knowledge-bases/query";
13
13
  function buildBody(ctx) {
14
- return {
15
- query: ctx.str("query"),
16
- sources: ctx.json("sources")
14
+ const body = {
15
+ query: ctx.str("query")
17
16
  };
17
+ const sources = ctx.json("sources");
18
+ if (sources) body.sources = sources;
19
+ const topK = ctx.num("top-k");
20
+ if (topK) body.topK = topK;
21
+ const locale = ctx.str("locale");
22
+ if (locale) body.locale = locale;
23
+ return body;
18
24
  }
19
25
  var query = {
20
26
  service: "kb",
21
27
  command: "+query",
22
- description: "Query knowledge.",
28
+ description: "Query knowledge bases via POST /agent/api/external/knowledge-bases/query. Returns ranked passages for a natural-language question.",
23
29
  flags: [
24
- { name: "query", type: "string", required: true, alias: "q", desc: "Natural language question to query against the knowledge bases" },
25
- { name: "sources", type: "json", required: true, desc: 'JSON array of knowledge base refs, e.g. [{"scope":"company","name":"engineering-handbook"}]' }
30
+ {
31
+ name: "query",
32
+ type: "string",
33
+ required: true,
34
+ alias: "q",
35
+ desc: "Natural language question to query against the knowledge bases"
36
+ },
37
+ {
38
+ name: "sources",
39
+ type: "json",
40
+ required: false,
41
+ desc: 'Optional JSON array of knowledge base refs to scope the query, e.g. [{"scope":"company","name":"engineering-handbook"}]. Omit to search all accessible knowledge bases.'
42
+ },
43
+ { name: "top-k", type: "number", required: false, desc: "Max number of hits to return (1-10000, default 10)" },
44
+ { name: "locale", type: "string", required: false, desc: "Optional locale: zh | en | ja | ko" }
26
45
  ],
27
46
  risk: "read",
28
47
  dryRun: (ctx) => ({