@thinkingai/ae-cli 6.1.9 → 6.1.11

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 (232) hide show
  1. package/README.md +25 -3
  2. package/README.zh.md +25 -3
  3. package/dist/{auth-56Z45UVR.js → auth-GDV3H5I4.js} +18 -8
  4. package/dist/{auth-ENM3FE6L.js → auth-NN55553T.js} +3 -3
  5. package/dist/{capability-2H6PAOA3.js → capability-TPORIKRQ.js} +19 -15
  6. package/dist/{capability-YPOQX6PL.js → capability-VQNC5CF7.js} +19 -15
  7. package/dist/chunk-4NN5IWVN.js +26 -0
  8. package/dist/{chunk-DB4Q3ANU.js → chunk-6A2FUCIS.js} +3 -3
  9. package/dist/{chunk-PVBYJWC2.js → chunk-7KQWSBSL.js} +4 -4
  10. package/dist/{chunk-24BAVOX3.js → chunk-AXDXJTPC.js} +3 -1
  11. package/dist/{chunk-CPVTECJ3.js → chunk-DT6Y3TD7.js} +5 -5
  12. package/dist/{chunk-EGEIXA2Z.js → chunk-DWO43OIB.js} +0 -248
  13. package/dist/{chunk-V6FR6WTW.js → chunk-GJJA4CQZ.js} +34 -2
  14. package/dist/{chunk-RGXCNC4N.js → chunk-GS2P7LFD.js} +50 -17
  15. package/dist/{chunk-LYVNONC4.js → chunk-JHENBQ5B.js} +35 -0
  16. package/dist/{chunk-3P3562ZX.js → chunk-MVDZ7DBQ.js} +5 -5
  17. package/dist/{chunk-LCXU3AAT.js → chunk-NBPKWKRA.js} +2 -2
  18. package/dist/{chunk-HQ2A7ITL.js → chunk-RBNKI5ZW.js} +50 -17
  19. package/dist/{chunk-LHVM35J4.js → chunk-TS6BUGUY.js} +4 -4
  20. package/dist/chunk-TUKQZTMI.js +250 -0
  21. package/dist/{chunk-J7MZHDHQ.js → chunk-VKD5WQKN.js} +5 -5
  22. package/dist/{chunk-3KI3RRXX.js → chunk-VTXHDCBW.js} +3 -3
  23. package/dist/{chunk-KTYR3U6D.js → chunk-YTG6Q75E.js} +10 -6
  24. package/dist/{chunk-IR4ZLVPW.js → chunk-YV52FB5G.js} +25 -3
  25. package/dist/{chunk-E7UXXHO3.js → chunk-Z3OXWCIA.js} +3 -3
  26. package/dist/{cli-token-4SBMXAUK.js → cli-token-GL5MS5FK.js} +4 -4
  27. package/dist/{client-PP5FETMW.js → client-DAIPF7XN.js} +4 -4
  28. package/dist/{community-report-client-KK2QBANO.js → community-report-client-M2RW4MXD.js} +2 -2
  29. package/dist/config-4VZNLBKF.js +489 -0
  30. package/dist/index.js +94 -35
  31. package/dist/memory-RWJW4XFO.js +892 -0
  32. package/dist/memory-VO2ZJCRT.js +892 -0
  33. package/dist/{metadata-JIQ77HFY.js → metadata-YGTHR2XJ.js} +8 -8
  34. package/dist/{metadata-AN3YFZEV.js → metadata-ZRN2GHPN.js} +8 -8
  35. package/dist/{model-JASQVOFD.js → model-CLUIK3K5.js} +7 -5
  36. package/dist/{raw-XJCAT3HX.js → raw-52B4UKO4.js} +8 -7
  37. package/dist/sync-3REDHGY6.js +10259 -0
  38. package/dist/{te-agent-JHUG6DVV.js → te-agent-XNPELAKX.js} +580 -84
  39. package/dist/{te-analysis-IWQZO423.js → te-analysis-GJI5FZUL.js} +1611 -25
  40. package/dist/{te-analysis-X222IRYR.js → te-analysis-N2BRDJZ5.js} +1611 -25
  41. package/dist/{te-community-QOYIYEJI.js → te-community-SQXKE5OO.js} +7 -7
  42. package/dist/{te-community-UFKI6ONP.js → te-community-TYSNU3NQ.js} +7 -7
  43. package/dist/{te-dataops-PZQ5NQLY.js → te-dataops-5TM7WZDI.js} +370 -189
  44. package/dist/{te-dataops-XTWVTJCA.js → te-dataops-OWIADNSM.js} +370 -189
  45. package/dist/{te-engage-NLZUPSBK.js → te-engage-F7V55KVW.js} +333 -105
  46. package/dist/{te-engage-E7F4HTXU.js → te-engage-FMYAYCNV.js} +333 -105
  47. package/dist/{te-experiment-N63WF7XA.js → te-experiment-JWXOYJ3W.js} +83 -10
  48. package/dist/{te-experiment-D32TB6ZB.js → te-experiment-UPDMHCAJ.js} +83 -10
  49. package/dist/{te-kb-E7NSCBRB.js → te-kb-VRMEY3D4.js} +6 -6
  50. package/dist/{te-meta-GBDTMPEL.js → te-meta-53BVXPFI.js} +7 -7
  51. package/dist/{te-meta-ZTLTSHXC.js → te-meta-TOCBPBXI.js} +7 -7
  52. package/dist/{te-system-AH7DMCAQ.js → te-system-XGS5EQIQ.js} +4 -4
  53. package/dist/{te-team-BQ3SKSZV.js → te-team-BZRDV2CM.js} +7 -7
  54. package/dist/{update-DKG6UXEM.js → update-HEDXGOJH.js} +8 -6
  55. package/package.json +5 -2
  56. package/skills/ae-agent/SKILL.md +178 -16
  57. package/skills/ae-agent/references/add-skill.md +22 -10
  58. package/skills/ae-agent/references/edit-skill.md +24 -14
  59. package/skills/ae-agent/references/find-archived-conversations.md +82 -0
  60. package/skills/ae-agent/references/restore-conversation.md +54 -0
  61. package/skills/ae-agent/references/upload-skill.md +24 -14
  62. package/skills/ae-analysis/SKILL.md +1 -1
  63. package/skills/ae-analysis/references/command_index.md +109 -42
  64. package/skills/ae-analysis/references/debug_data_list.md +28 -0
  65. package/skills/ae-analysis/references/debug_device_add.md +23 -0
  66. package/skills/ae-analysis/references/debug_device_list.md +19 -0
  67. package/skills/ae-analysis/references/debug_device_select.md +22 -0
  68. package/skills/ae-analysis/references/entity_id_import_options.md +1 -1
  69. package/skills/ae-analysis/references/plan_sync_display_names.md +28 -0
  70. package/skills/ae-analysis/references/project_access_detail_get.md +3 -3
  71. package/skills/ae-analysis/references/project_data_power_delete.md +3 -3
  72. package/skills/ae-analysis/references/project_data_power_get.md +3 -3
  73. package/skills/ae-analysis/references/project_data_power_list.md +3 -3
  74. package/skills/ae-analysis/references/project_data_power_upsert.md +3 -3
  75. package/skills/ae-analysis/references/project_entity_create.md +3 -3
  76. package/skills/ae-analysis/references/project_entity_delete.md +3 -3
  77. package/skills/ae-analysis/references/project_entity_event_list.md +3 -3
  78. package/skills/ae-analysis/references/project_entity_get.md +3 -3
  79. package/skills/ae-analysis/references/project_entity_list.md +3 -3
  80. package/skills/ae-analysis/references/project_entity_update.md +3 -3
  81. package/skills/ae-analysis/references/project_function_list.md +3 -3
  82. package/skills/ae-analysis/references/project_info_create.md +25 -0
  83. package/skills/ae-analysis/references/project_info_delete.md +24 -0
  84. package/skills/ae-analysis/references/project_info_get.md +3 -3
  85. package/skills/ae-analysis/references/project_info_list.md +3 -3
  86. package/skills/ae-analysis/references/project_info_update.md +3 -3
  87. package/skills/ae-analysis/references/project_mark_time_create.md +3 -3
  88. package/skills/ae-analysis/references/project_mark_time_delete.md +3 -3
  89. package/skills/ae-analysis/references/project_mark_time_list.md +3 -3
  90. package/skills/ae-analysis/references/project_mark_time_update.md +3 -3
  91. package/skills/ae-analysis/references/project_member_add.md +3 -3
  92. package/skills/ae-analysis/references/project_member_batch_update.md +3 -3
  93. package/skills/ae-analysis/references/project_member_candidate_list.md +3 -3
  94. package/skills/ae-analysis/references/project_member_handover_export.md +3 -3
  95. package/skills/ae-analysis/references/project_member_handover_run.md +3 -3
  96. package/skills/ae-analysis/references/project_member_import.md +3 -3
  97. package/skills/ae-analysis/references/project_member_list.md +3 -3
  98. package/skills/ae-analysis/references/project_member_receiver_list.md +3 -3
  99. package/skills/ae-analysis/references/project_member_remove.md +3 -3
  100. package/skills/ae-analysis/references/project_member_update.md +3 -3
  101. package/skills/ae-analysis/references/project_owner_update.md +3 -3
  102. package/skills/ae-analysis/references/project_permission_binding_list.md +3 -3
  103. package/skills/ae-analysis/references/project_receive_status_update.md +3 -3
  104. package/skills/ae-analysis/references/project_role_delete.md +3 -3
  105. package/skills/ae-analysis/references/project_role_function_list.md +3 -3
  106. package/skills/ae-analysis/references/project_role_get.md +3 -3
  107. package/skills/ae-analysis/references/project_role_list.md +3 -3
  108. package/skills/ae-analysis/references/project_role_upsert.md +3 -3
  109. package/skills/ae-analysis/references/project_role_user_list.md +3 -3
  110. package/skills/ae-analysis/references/project_space_list.md +1 -1
  111. package/skills/ae-analysis/references/project_timezone_get.md +3 -3
  112. package/skills/ae-analysis/references/project_timezone_overview.md +3 -3
  113. package/skills/ae-analysis/references/project_timezone_update.md +3 -3
  114. package/skills/ae-analysis/references/project_user_id_items_update.md +3 -3
  115. package/skills/ae-analysis/references/system_admin_function_list.md +22 -0
  116. package/skills/ae-analysis/references/system_admin_function_update.md +26 -0
  117. package/skills/ae-analysis/references/system_admin_list.md +21 -0
  118. package/skills/ae-analysis/references/system_admin_remove.md +25 -0
  119. package/skills/ae-analysis/references/system_admin_upsert.md +25 -0
  120. package/skills/ae-analysis/references/system_function_list.md +21 -0
  121. package/skills/ae-analysis/references/system_member_add.md +25 -0
  122. package/skills/ae-analysis/references/system_member_candidate_list.md +22 -0
  123. package/skills/ae-analysis/references/system_member_delete.md +25 -0
  124. package/skills/ae-analysis/references/system_member_list.md +24 -0
  125. package/skills/ae-analysis/references/system_member_mfa_unbind.md +25 -0
  126. package/skills/ae-analysis/references/system_member_password_reset.md +32 -0
  127. package/skills/ae-analysis/references/system_member_project_batch_update.md +27 -0
  128. package/skills/ae-analysis/references/system_member_status_update.md +26 -0
  129. package/skills/ae-analysis/references/system_member_update.md +23 -0
  130. package/skills/ae-analysis/references/system_mfa_get.md +21 -0
  131. package/skills/ae-analysis/references/system_mfa_update.md +25 -0
  132. package/skills/ae-analysis/references/system_node_monitor_list.md +24 -0
  133. package/skills/ae-analysis/references/system_oauth2_update.md +22 -0
  134. package/skills/ae-analysis/references/system_ops_alert_contact_delete.md +25 -0
  135. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +23 -0
  136. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +29 -0
  137. package/skills/ae-analysis/references/system_ops_alert_contact_upsert.md +39 -0
  138. package/skills/ae-analysis/references/system_preference_get.md +21 -0
  139. package/skills/ae-analysis/references/system_preference_update.md +22 -0
  140. package/skills/ae-analysis/references/system_project_usage_list.md +28 -0
  141. package/skills/ae-analysis/references/system_query_alert_rule_list.md +21 -0
  142. package/skills/ae-analysis/references/system_query_alert_rule_update.md +26 -0
  143. package/skills/ae-analysis/references/system_query_monitor_overview.md +26 -0
  144. package/skills/ae-analysis/references/system_query_task_cancel.md +25 -0
  145. package/skills/ae-analysis/references/system_query_task_export.md +49 -0
  146. package/skills/ae-analysis/references/system_query_task_get.md +23 -0
  147. package/skills/ae-analysis/references/system_query_task_list.md +35 -0
  148. package/skills/ae-analysis/references/system_query_task_options.md +27 -0
  149. package/skills/ae-analysis/references/system_receiver_address_delete.md +26 -0
  150. package/skills/ae-analysis/references/system_receiver_address_overview.md +21 -0
  151. package/skills/ae-analysis/references/system_receiver_address_project_list.md +21 -0
  152. package/skills/ae-analysis/references/system_receiver_address_promote.md +24 -0
  153. package/skills/ae-analysis/references/system_receiver_address_upsert.md +27 -0
  154. package/skills/ae-analysis/references/system_receiver_detection_get.md +22 -0
  155. package/skills/ae-analysis/references/system_receiver_detection_run.md +22 -0
  156. package/skills/ae-analysis/references/system_receiver_detection_update.md +25 -0
  157. package/skills/ae-analysis/references/system_role_delete.md +26 -0
  158. package/skills/ae-analysis/references/system_role_function_list.md +22 -0
  159. package/skills/ae-analysis/references/system_role_get.md +22 -0
  160. package/skills/ae-analysis/references/system_role_list.md +24 -0
  161. package/skills/ae-analysis/references/system_role_upsert.md +27 -0
  162. package/skills/ae-analysis/references/system_role_user_list.md +22 -0
  163. package/skills/ae-analysis/references/system_seat_list.md +25 -0
  164. package/skills/ae-analysis/references/system_seat_update.md +26 -0
  165. package/skills/ae-analysis/references/system_smtp_delete.md +24 -0
  166. package/skills/ae-analysis/references/system_smtp_get.md +21 -0
  167. package/skills/ae-analysis/references/system_smtp_test.md +22 -0
  168. package/skills/ae-analysis/references/system_smtp_upsert.md +31 -0
  169. package/skills/ae-analysis/references/system_third_party_login_disable.md +25 -0
  170. package/skills/ae-analysis/references/system_third_party_login_list.md +21 -0
  171. package/skills/ae-analysis/references/system_third_party_login_upsert.md +33 -0
  172. package/skills/ae-analysis/references/system_usage_overview.md +21 -0
  173. package/skills/ae-analysis/references/system_usage_trend_export.md +44 -0
  174. package/skills/ae-analysis/references/system_usage_trend_query.md +28 -0
  175. package/skills/ae-dataops/SKILL.md +1 -1
  176. package/skills/ae-dataops/references/dataops-flow-create.md +51 -16
  177. package/skills/ae-engage/SKILL.md +56 -26
  178. package/skills/ae-engage/references/activity-activity.md +3 -0
  179. package/skills/ae-engage/references/activity-approval.md +12 -4
  180. package/skills/ae-engage/references/activity-task.md +21 -6
  181. package/skills/ae-engage/references/activity-topic.md +31 -13
  182. package/skills/ae-engage/references/add-channel.md +170 -41
  183. package/skills/ae-engage/references/build-task-save-guide.md +40 -27
  184. package/skills/ae-engage/references/channel-update-config.md +3 -2
  185. package/skills/ae-engage/references/common-metric.md +48 -120
  186. package/skills/ae-engage/references/flow-detail.md +13 -0
  187. package/skills/ae-engage/references/preset-event.md +12 -32
  188. package/skills/ae-engage/references/save-flow.md +127 -64
  189. package/skills/ae-engage/references/save-task.md +197 -59
  190. package/skills/ae-engage/references/scene-config-metric.md +3 -0
  191. package/skills/ae-engage/references/scene-preset-metric.md +8 -37
  192. package/skills/ae-engage/references/scene-strategy-audience.md +51 -643
  193. package/skills/ae-engage/references/scene-strategy.md +6 -6
  194. package/skills/ae-engage/references/task-detail.md +10 -0
  195. package/skills/ae-engage/references/task-submit-approval.md +45 -0
  196. package/skills/ae-engage/references/validate-flow-node-config.md +1 -1
  197. package/skills/ae-experiment/SKILL.md +21 -1
  198. package/skills/ae-experiment/references/check_experiment_ready.md +2 -0
  199. package/skills/ae-experiment/references/query_experiment_detail.md +6 -0
  200. package/skills/ae-experiment/references/query_experiment_list.md +4 -0
  201. package/skills/ae-experiment/references/query_experiment_list_archived.md +3 -0
  202. package/skills/ae-experiment/references/query_metric_detail.md +5 -0
  203. package/skills/ae-experiment/references/query_metric_list.md +3 -0
  204. package/skills/ae-experiment/references/save_experiment.md +46 -3
  205. package/skills/ae-experiment/references/save_metric.md +62 -0
  206. package/skills/ae-experiment/references/save_submit_experiment.md +3 -0
  207. package/skills/ae-experiment-design/SKILL.md +149 -0
  208. package/skills/ae-experiment-design/agents/openai.yaml +4 -0
  209. package/skills/ae-experiment-design/references/client-experiment-sdk.md +147 -0
  210. package/skills/ae-experiment-design/references/experiment-creation.md +108 -0
  211. package/skills/ae-experiment-design/references/experiment-sdk-contract.md +100 -0
  212. package/skills/ae-experiment-design/references/exposure-contract.md +91 -0
  213. package/skills/ae-experiment-design/references/hybrid-experiment-sdk.md +74 -0
  214. package/skills/ae-experiment-design/references/metric-readiness.md +143 -0
  215. package/skills/ae-experiment-design/references/platform-operations.md +99 -0
  216. package/skills/ae-experiment-design/references/sdk-index.md +76 -0
  217. package/skills/ae-experiment-design/references/sdk-integration.md +114 -0
  218. package/skills/ae-experiment-design/references/sdk-troubleshooting.md +139 -0
  219. package/skills/ae-experiment-design/references/server-experiment-sdk.md +78 -0
  220. package/skills/ae-experiment-design/scripts/calculate_experiment_plan.py +450 -0
  221. package/skills/ae-experiment-insight/SKILL.md +149 -0
  222. package/skills/ae-experiment-insight/agents/openai.yaml +4 -0
  223. package/skills/ae-experiment-insight/references/decision-framework.md +69 -0
  224. package/skills/ae-experiment-insight/references/diagnostic-playbook.md +225 -0
  225. package/skills/ae-experiment-insight/references/platform-operations.md +76 -0
  226. package/skills/ae-experiment-insight/scripts/analyze_experiment.py +478 -0
  227. package/skills/ae-generate-tracking-code/SKILL.md +24 -8
  228. package/skills/ae-generate-tracking-code/references/debug-script.md +46 -37
  229. package/skills/ae-generate-tracking-plan/SKILL.md +26 -1
  230. package/skills/ae-metadata/SKILL.md +1 -1
  231. package/dist/config-BSSALXEN.js +0 -128
  232. package/dist/sync-QFP4XFN3.js +0 -485
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createCapabilityCommand
3
- } from "./chunk-PVBYJWC2.js";
3
+ } from "./chunk-TS6BUGUY.js";
4
4
  import {
5
5
  registerCapabilityGatewayRoute
6
6
  } from "./chunk-PTE56QPL.js";
7
- import "./chunk-HQ2A7ITL.js";
8
- import "./chunk-KTYR3U6D.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";
7
+ import "./chunk-YTG6Q75E.js";
8
+ import "./chunk-GS2P7LFD.js";
9
+ import "./chunk-Z3OXWCIA.js";
10
+ import "./chunk-YV52FB5G.js";
11
+ import "./chunk-GJJA4CQZ.js";
12
+ import "./chunk-AXDXJTPC.js";
13
+ import "./chunk-JHENBQ5B.js";
14
14
 
15
15
  // src/commands/te-experiment/capability-shared.ts
16
16
  function createExperimentCapabilityCommand(config) {
@@ -241,7 +241,12 @@ var experimentSave = createExperimentCapabilityCommand({
241
241
  description: "Create or update an experiment draft.",
242
242
  flags: [
243
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." }
244
+ {
245
+ name: "req",
246
+ type: "json",
247
+ required: true,
248
+ desc: "Native camelCase request; custom audiences use targeting.definitionRequest, never targetConfig."
249
+ }
245
250
  ],
246
251
  risk: "write",
247
252
  validate: (ctx) => {
@@ -440,7 +445,12 @@ var metricSave = createExperimentCapabilityCommand({
440
445
  description: "Create or update an experiment metric.",
441
446
  flags: [
442
447
  { 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." }
448
+ {
449
+ name: "req",
450
+ type: "json",
451
+ required: true,
452
+ desc: "Native camelCase request; use metricDefinition, never metricConfig or calcType."
453
+ }
444
454
  ],
445
455
  risk: "write",
446
456
  validate: (ctx) => {
@@ -466,6 +476,65 @@ var operationLogQuery = createExperimentCapabilityCommand({
466
476
  })
467
477
  });
468
478
 
479
+ // src/commands/te-experiment/save/build-guide.ts
480
+ var saveBuildGuide = createExperimentCapabilityCommand({
481
+ resource: "save",
482
+ command: "build-guide",
483
+ capabilityId: "experiment.save.build-guide",
484
+ description: "Build a read-only save guide for feature, traffic layer, experiment, or metric saves.",
485
+ flags: [
486
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
487
+ {
488
+ name: "operation-mode",
489
+ type: "string",
490
+ required: true,
491
+ desc: "Save operation mode: save_feature, save_traffic_layer, save_experiment, or save_metric."
492
+ }
493
+ ],
494
+ risk: "read",
495
+ validate: (ctx) => {
496
+ const mode = ctx.str("operation-mode");
497
+ if (!["save_feature", "save_traffic_layer", "save_experiment", "save_metric"].includes(mode)) {
498
+ throw new Error("Flag --operation-mode must be one of: save_feature, save_traffic_layer, save_experiment, save_metric");
499
+ }
500
+ },
501
+ buildInput: (ctx) => ({
502
+ project_id: ctx.num("project-id"),
503
+ operation_mode: ctx.str("operation-mode")
504
+ })
505
+ });
506
+
507
+ // src/commands/te-experiment/save/validate.ts
508
+ var saveValidate = createExperimentCapabilityCommand({
509
+ resource: "save",
510
+ command: "validate",
511
+ capabilityId: "experiment.save.validate",
512
+ description: "Dry-run validation for feature, traffic layer, experiment, or metric save requests.",
513
+ flags: [
514
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
515
+ {
516
+ name: "operation-mode",
517
+ type: "string",
518
+ required: true,
519
+ desc: "Save operation mode: save_feature, save_traffic_layer, save_experiment, or save_metric."
520
+ },
521
+ { name: "req", type: "json", required: true, desc: "Candidate camelCase save request object." }
522
+ ],
523
+ risk: "read",
524
+ validate: (ctx) => {
525
+ const mode = ctx.str("operation-mode");
526
+ if (!["save_feature", "save_traffic_layer", "save_experiment", "save_metric"].includes(mode)) {
527
+ throw new Error("Flag --operation-mode must be one of: save_feature, save_traffic_layer, save_experiment, save_metric");
528
+ }
529
+ readRequiredObject(ctx, "req");
530
+ },
531
+ buildInput: (ctx) => ({
532
+ project_id: ctx.num("project-id"),
533
+ operation_mode: ctx.str("operation-mode"),
534
+ req: readRequiredObject(ctx, "req")
535
+ })
536
+ });
537
+
469
538
  // src/commands/te-experiment/traffic-layer/batch-delete.ts
470
539
  var trafficLayerBatchDelete = createExperimentCapabilityCommand({
471
540
  resource: "traffic-layer",
@@ -541,6 +610,8 @@ var commands = [
541
610
  experimentUpdateGroup,
542
611
  experimentBatchDelete,
543
612
  operationLogQuery,
613
+ saveBuildGuide,
614
+ saveValidate,
544
615
  trafficLayerSave,
545
616
  trafficLayerGet,
546
617
  trafficLayerList,
@@ -583,6 +654,8 @@ export {
583
654
  metricList,
584
655
  metricSave,
585
656
  operationLogQuery,
657
+ saveBuildGuide,
658
+ saveValidate,
586
659
  trafficLayerBatchDelete,
587
660
  trafficLayerGet,
588
661
  trafficLayerList,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createCapabilityCommand
3
- } from "./chunk-LHVM35J4.js";
3
+ } from "./chunk-7KQWSBSL.js";
4
4
  import {
5
5
  registerCapabilityGatewayRoute
6
6
  } from "./chunk-PTE56QPL.js";
7
- import "./chunk-RGXCNC4N.js";
8
- import "./chunk-KTYR3U6D.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";
7
+ import "./chunk-YTG6Q75E.js";
8
+ import "./chunk-RBNKI5ZW.js";
9
+ import "./chunk-Z3OXWCIA.js";
10
+ import "./chunk-YV52FB5G.js";
11
+ import "./chunk-GJJA4CQZ.js";
12
+ import "./chunk-AXDXJTPC.js";
13
+ import "./chunk-JHENBQ5B.js";
14
14
 
15
15
  // src/commands/te-experiment/capability-shared.ts
16
16
  function createExperimentCapabilityCommand(config) {
@@ -241,7 +241,12 @@ var experimentSave = createExperimentCapabilityCommand({
241
241
  description: "Create or update an experiment draft.",
242
242
  flags: [
243
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." }
244
+ {
245
+ name: "req",
246
+ type: "json",
247
+ required: true,
248
+ desc: "Native camelCase request; custom audiences use targeting.definitionRequest, never targetConfig."
249
+ }
245
250
  ],
246
251
  risk: "write",
247
252
  validate: (ctx) => {
@@ -440,7 +445,12 @@ var metricSave = createExperimentCapabilityCommand({
440
445
  description: "Create or update an experiment metric.",
441
446
  flags: [
442
447
  { 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." }
448
+ {
449
+ name: "req",
450
+ type: "json",
451
+ required: true,
452
+ desc: "Native camelCase request; use metricDefinition, never metricConfig or calcType."
453
+ }
444
454
  ],
445
455
  risk: "write",
446
456
  validate: (ctx) => {
@@ -466,6 +476,65 @@ var operationLogQuery = createExperimentCapabilityCommand({
466
476
  })
467
477
  });
468
478
 
479
+ // src/commands/te-experiment/save/build-guide.ts
480
+ var saveBuildGuide = createExperimentCapabilityCommand({
481
+ resource: "save",
482
+ command: "build-guide",
483
+ capabilityId: "experiment.save.build-guide",
484
+ description: "Build a read-only save guide for feature, traffic layer, experiment, or metric saves.",
485
+ flags: [
486
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
487
+ {
488
+ name: "operation-mode",
489
+ type: "string",
490
+ required: true,
491
+ desc: "Save operation mode: save_feature, save_traffic_layer, save_experiment, or save_metric."
492
+ }
493
+ ],
494
+ risk: "read",
495
+ validate: (ctx) => {
496
+ const mode = ctx.str("operation-mode");
497
+ if (!["save_feature", "save_traffic_layer", "save_experiment", "save_metric"].includes(mode)) {
498
+ throw new Error("Flag --operation-mode must be one of: save_feature, save_traffic_layer, save_experiment, save_metric");
499
+ }
500
+ },
501
+ buildInput: (ctx) => ({
502
+ project_id: ctx.num("project-id"),
503
+ operation_mode: ctx.str("operation-mode")
504
+ })
505
+ });
506
+
507
+ // src/commands/te-experiment/save/validate.ts
508
+ var saveValidate = createExperimentCapabilityCommand({
509
+ resource: "save",
510
+ command: "validate",
511
+ capabilityId: "experiment.save.validate",
512
+ description: "Dry-run validation for feature, traffic layer, experiment, or metric save requests.",
513
+ flags: [
514
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
515
+ {
516
+ name: "operation-mode",
517
+ type: "string",
518
+ required: true,
519
+ desc: "Save operation mode: save_feature, save_traffic_layer, save_experiment, or save_metric."
520
+ },
521
+ { name: "req", type: "json", required: true, desc: "Candidate camelCase save request object." }
522
+ ],
523
+ risk: "read",
524
+ validate: (ctx) => {
525
+ const mode = ctx.str("operation-mode");
526
+ if (!["save_feature", "save_traffic_layer", "save_experiment", "save_metric"].includes(mode)) {
527
+ throw new Error("Flag --operation-mode must be one of: save_feature, save_traffic_layer, save_experiment, save_metric");
528
+ }
529
+ readRequiredObject(ctx, "req");
530
+ },
531
+ buildInput: (ctx) => ({
532
+ project_id: ctx.num("project-id"),
533
+ operation_mode: ctx.str("operation-mode"),
534
+ req: readRequiredObject(ctx, "req")
535
+ })
536
+ });
537
+
469
538
  // src/commands/te-experiment/traffic-layer/batch-delete.ts
470
539
  var trafficLayerBatchDelete = createExperimentCapabilityCommand({
471
540
  resource: "traffic-layer",
@@ -541,6 +610,8 @@ var commands = [
541
610
  experimentUpdateGroup,
542
611
  experimentBatchDelete,
543
612
  operationLogQuery,
613
+ saveBuildGuide,
614
+ saveValidate,
544
615
  trafficLayerSave,
545
616
  trafficLayerGet,
546
617
  trafficLayerList,
@@ -583,6 +654,8 @@ export {
583
654
  metricList,
584
655
  metricSave,
585
656
  operationLogQuery,
657
+ saveBuildGuide,
658
+ saveValidate,
586
659
  trafficLayerBatchDelete,
587
660
  trafficLayerGet,
588
661
  trafficLayerList,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  kbApi,
3
3
  kbUpload
4
- } from "./chunk-3KI3RRXX.js";
5
- import "./chunk-E7UXXHO3.js";
6
- import "./chunk-IR4ZLVPW.js";
7
- import "./chunk-V6FR6WTW.js";
8
- import "./chunk-24BAVOX3.js";
9
- import "./chunk-LYVNONC4.js";
4
+ } from "./chunk-VTXHDCBW.js";
5
+ import "./chunk-Z3OXWCIA.js";
6
+ import "./chunk-YV52FB5G.js";
7
+ import "./chunk-GJJA4CQZ.js";
8
+ import "./chunk-AXDXJTPC.js";
9
+ import "./chunk-JHENBQ5B.js";
10
10
 
11
11
  // src/commands/te-kb/query.ts
12
12
  var API_PATH = "/agent/api/external/knowledge-bases/query";
@@ -2,13 +2,13 @@ import {
2
2
  callMcpTool,
3
3
  parseMcpResult,
4
4
  resolveMcpUrl
5
- } from "./chunk-CPVTECJ3.js";
6
- import "./chunk-LCXU3AAT.js";
7
- import "./chunk-E7UXXHO3.js";
8
- import "./chunk-IR4ZLVPW.js";
9
- import "./chunk-V6FR6WTW.js";
10
- import "./chunk-24BAVOX3.js";
11
- import "./chunk-LYVNONC4.js";
5
+ } from "./chunk-MVDZ7DBQ.js";
6
+ import "./chunk-NBPKWKRA.js";
7
+ import "./chunk-Z3OXWCIA.js";
8
+ import "./chunk-YV52FB5G.js";
9
+ import "./chunk-GJJA4CQZ.js";
10
+ import "./chunk-AXDXJTPC.js";
11
+ import "./chunk-JHENBQ5B.js";
12
12
 
13
13
  // src/commands/te-meta/shared.ts
14
14
  function createMcpCommand(config) {
@@ -2,13 +2,13 @@ import {
2
2
  callMcpTool,
3
3
  parseMcpResult,
4
4
  resolveMcpUrl
5
- } from "./chunk-3P3562ZX.js";
6
- import "./chunk-LCXU3AAT.js";
7
- import "./chunk-E7UXXHO3.js";
8
- import "./chunk-IR4ZLVPW.js";
9
- import "./chunk-V6FR6WTW.js";
10
- import "./chunk-24BAVOX3.js";
11
- import "./chunk-LYVNONC4.js";
5
+ } from "./chunk-DT6Y3TD7.js";
6
+ import "./chunk-NBPKWKRA.js";
7
+ import "./chunk-Z3OXWCIA.js";
8
+ import "./chunk-YV52FB5G.js";
9
+ import "./chunk-GJJA4CQZ.js";
10
+ import "./chunk-AXDXJTPC.js";
11
+ import "./chunk-JHENBQ5B.js";
12
12
 
13
13
  // src/commands/te-meta/shared.ts
14
14
  function createMcpCommand(config) {
@@ -6,14 +6,14 @@ import {
6
6
  putToMainApp,
7
7
  tryLoadTeAgentSandboxCredentials,
8
8
  uploadToMainApp
9
- } from "./chunk-J7MZHDHQ.js";
9
+ } from "./chunk-VKD5WQKN.js";
10
10
  import {
11
11
  safeJsonParse
12
- } from "./chunk-V6FR6WTW.js";
12
+ } from "./chunk-GJJA4CQZ.js";
13
13
  import {
14
14
  CliValidationError
15
- } from "./chunk-24BAVOX3.js";
16
- import "./chunk-LYVNONC4.js";
15
+ } from "./chunk-AXDXJTPC.js";
16
+ import "./chunk-JHENBQ5B.js";
17
17
 
18
18
  // src/commands/te-system/shared.ts
19
19
  import { readFileSync } from "fs";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  getAuthHeaders,
3
3
  kbApi
4
- } from "./chunk-3KI3RRXX.js";
4
+ } from "./chunk-VTXHDCBW.js";
5
5
  import {
6
6
  printError,
7
7
  printOutput
8
- } from "./chunk-KTYR3U6D.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";
8
+ } from "./chunk-YTG6Q75E.js";
9
+ import "./chunk-Z3OXWCIA.js";
10
+ import "./chunk-YV52FB5G.js";
11
+ import "./chunk-GJJA4CQZ.js";
12
+ import "./chunk-AXDXJTPC.js";
13
+ import "./chunk-JHENBQ5B.js";
14
14
 
15
15
  // src/commands/te-team/shared.ts
16
16
  var API_PREFIX = process.env.AE_API_PREFIX ?? "/agent";
@@ -7,16 +7,18 @@ import {
7
7
  printError,
8
8
  printOutput,
9
9
  recordVersionSyncResult
10
- } from "./chunk-KTYR3U6D.js";
10
+ } from "./chunk-YTG6Q75E.js";
11
11
  import {
12
12
  peekCliToken
13
- } from "./chunk-E7UXXHO3.js";
14
- import "./chunk-IR4ZLVPW.js";
13
+ } from "./chunk-Z3OXWCIA.js";
14
+ import {
15
+ missingAeHostHint
16
+ } from "./chunk-YV52FB5G.js";
15
17
  import {
16
18
  getActiveHost,
17
19
  normalizeUrl
18
- } from "./chunk-V6FR6WTW.js";
19
- import "./chunk-LYVNONC4.js";
20
+ } from "./chunk-GJJA4CQZ.js";
21
+ import "./chunk-JHENBQ5B.js";
20
22
 
21
23
  // src/commands/update.ts
22
24
  var HOST_OPTION_DESC = "Override active AE host URL (e.g., https://ta.thinkingdata.cn)";
@@ -73,7 +75,7 @@ async function resolveTargetVersion(program, opts) {
73
75
  }
74
76
  const host = resolveUpdateHost(program, opts);
75
77
  if (!host) {
76
- failUpdate("No AE host configured.", "Run: ae-cli config set-host <url>, or pass --target <version>.");
78
+ failUpdate("No AE host configured.", missingAeHostHint("Alternatively, pass --target <version>."));
77
79
  return null;
78
80
  }
79
81
  const token = peekCliToken(host);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkingai/ae-cli",
3
- "version": "6.1.9",
3
+ "version": "6.1.11",
4
4
  "description": "CLI tool for ThinkingAI (AE) analytics platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -27,6 +27,7 @@
27
27
  "verify:analysis-four-modules": "tsx tests/analysis-report-capability-command.test.ts && tsx tests/analysis-export-flow-command.test.ts && tsx tests/analysis-dashboard-audience-contract.test.ts",
28
28
  "verify:analysis-contract-regressions": "tsx test/analysis-contract-regressions.test.mjs && tsx tests/analysis-sql-special-identifiers.test.ts",
29
29
  "verify:analysis-agent-contract": "tsx tests/analysis-agent-skill-contract.test.ts",
30
+ "verify:analysis-system": "tsx tests/analysis-system-capability-command.test.ts",
30
31
  "verify:output-contract": "tsx tests/output-contract.test.ts",
31
32
  "verify:analysis-cluster-routing": "node scripts/verify-analysis-cluster-routing.mjs",
32
33
  "verify:multi-cluster-mode": "node test/multi-cluster-mode.test.mjs",
@@ -40,9 +41,11 @@
40
41
  "verify:experiment-tools": "node scripts/verify-te-experiment-tools.mjs && node --import tsx test/experiment/experiment-capability-command.test.mjs",
41
42
  "verify:team-tools": "node scripts/verify-te-team-tools.mjs",
42
43
  "verify:agent-tools": "node scripts/verify-agent-tools.mjs && npm run verify:sandbox-tools",
44
+ "verify:memory": "tsx tests/memory-command.test.ts && tsx tests/memory-cli-client.test.ts && tsx tests/memory-skill.test.ts",
43
45
  "verify:system-tools": "node scripts/verify-system-tools.mjs && npx tsx tests/system-domain.test.ts && npx tsx tests/sandbox-tool-package.test.ts",
44
46
  "verify:sandbox-tools": "tsx test/sandbox-tools.test.ts",
45
- "verify:tracking-tools": "node test/tracking-client.test.mjs && node test/tracking-skill-flow.test.mjs && node test/tracking-commands.test.mjs",
47
+ "verify:skill-version-management": "tsx tests/skill-version-management.test.ts",
48
+ "verify:tracking-tools": "tsx test/tracking-client.test.mjs && tsx test/tracking-skill-flow.test.mjs && node test/tracking-commands.test.mjs && tsx tests/tracking-display-name-sync.test.ts",
46
49
  "verify:self-check-overlay": "node test/self-check-overlay.test.mjs",
47
50
  "verify:update-check": "npx tsx test/update-check.test.mjs",
48
51
  "verify:version-sync": "npx tsx tests/version-sync.test.ts",