@thinkingai/ae-cli 6.0.31 → 6.0.32

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 (164) 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 +46 -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-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
  17. package/dist/{te-meta-VKWNAWO4.js → te-meta-ARDIW3YI.js} +1 -234
  18. package/dist/{te-meta-MAAUHFQO.js → te-meta-UUROEODR.js} +1 -234
  19. package/package.json +1 -1
  20. package/skills/ae-analysis/SKILL.md +10 -7
  21. package/skills/ae-analysis/references/adhoc_export.md +3 -6
  22. package/skills/ae-analysis/references/adhoc_run.md +5 -9
  23. package/skills/ae-analysis/references/ai_models.md +17 -1
  24. package/skills/ae-analysis/references/analysis_data_retrieval.md +11 -11
  25. package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
  26. package/skills/ae-analysis/references/analysis_gateway_assets.md +9 -8
  27. package/skills/ae-analysis/references/asset_url_get.md +4 -3
  28. package/skills/ae-analysis/references/bi_panel_page_data_export.md +2 -2
  29. package/skills/ae-analysis/references/bi_panel_page_data_run.md +1 -1
  30. package/skills/ae-analysis/references/command_index.md +62 -28
  31. package/skills/ae-analysis/references/create_entity.md +2 -2
  32. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -2
  33. package/skills/ae-analysis/references/dashboard_report_data_run.md +2 -2
  34. package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
  35. package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
  36. package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
  37. package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
  38. package/skills/ae-analysis/references/drilldown_user_events_export.md +6 -3
  39. package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -6
  40. package/skills/ae-analysis/references/entity_detail_export.md +2 -0
  41. package/skills/ae-analysis/references/entity_detail_run.md +8 -1
  42. package/skills/ae-analysis/references/event_detail_export.md +2 -0
  43. package/skills/ae-analysis/references/event_detail_run.md +2 -0
  44. package/skills/ae-analysis/references/event_list.md +10 -2
  45. package/skills/ae-analysis/references/list_entities.md +1 -1
  46. package/skills/ae-analysis/references/metric_create.md +13 -4
  47. package/skills/ae-analysis/references/metric_delete.md +7 -0
  48. package/skills/ae-analysis/references/metric_get.md +6 -0
  49. package/skills/ae-analysis/references/metric_list.md +16 -3
  50. package/skills/ae-analysis/references/metric_update.md +12 -1
  51. package/skills/ae-analysis/references/project_access_detail_get.md +23 -0
  52. package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
  53. package/skills/ae-analysis/references/project_data_power_get.md +24 -0
  54. package/skills/ae-analysis/references/project_data_power_list.md +23 -0
  55. package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
  56. package/skills/ae-analysis/references/project_entity_create.md +27 -0
  57. package/skills/ae-analysis/references/project_entity_delete.md +25 -0
  58. package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
  59. package/skills/ae-analysis/references/project_entity_get.md +24 -0
  60. package/skills/ae-analysis/references/project_entity_list.md +28 -0
  61. package/skills/ae-analysis/references/project_entity_update.md +28 -0
  62. package/skills/ae-analysis/references/project_function_list.md +24 -0
  63. package/skills/ae-analysis/references/project_info_get.md +23 -0
  64. package/skills/ae-analysis/references/project_info_list.md +26 -0
  65. package/skills/ae-analysis/references/project_info_update.md +25 -0
  66. package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
  67. package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
  68. package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
  69. package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
  70. package/skills/ae-analysis/references/project_member_add.md +25 -0
  71. package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
  72. package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
  73. package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
  74. package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
  75. package/skills/ae-analysis/references/project_member_import.md +25 -0
  76. package/skills/ae-analysis/references/project_member_list.md +23 -0
  77. package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
  78. package/skills/ae-analysis/references/project_member_remove.md +26 -0
  79. package/skills/ae-analysis/references/project_member_update.md +25 -0
  80. package/skills/ae-analysis/references/project_owner_update.md +27 -0
  81. package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
  82. package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
  83. package/skills/ae-analysis/references/project_role_delete.md +25 -0
  84. package/skills/ae-analysis/references/project_role_function_list.md +27 -0
  85. package/skills/ae-analysis/references/project_role_get.md +23 -0
  86. package/skills/ae-analysis/references/project_role_list.md +25 -0
  87. package/skills/ae-analysis/references/project_role_upsert.md +24 -0
  88. package/skills/ae-analysis/references/project_role_user_list.md +23 -0
  89. package/skills/ae-analysis/references/project_timezone_get.md +23 -0
  90. package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
  91. package/skills/ae-analysis/references/project_timezone_update.md +25 -0
  92. package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
  93. package/skills/ae-analysis/references/property_list.md +21 -6
  94. package/skills/ae-analysis/references/public_link_create.md +1 -1
  95. package/skills/ae-analysis/references/query_create_result_cluster.md +14 -32
  96. package/skills/ae-analysis/references/report_create.md +1 -1
  97. package/skills/ae-analysis/references/report_data_export.md +2 -2
  98. package/skills/ae-analysis/references/report_data_run.md +2 -2
  99. package/skills/ae-analysis/references/report_get.md +2 -0
  100. package/skills/ae-analysis/references/report_update.md +1 -1
  101. package/skills/ae-analysis/references/user_cluster_create.md +3 -1
  102. package/skills/ae-analysis/references/user_cluster_get.md +4 -0
  103. package/skills/ae-analysis/references/user_cluster_refresh.md +4 -2
  104. package/skills/ae-analysis/references/user_cluster_update.md +3 -1
  105. package/skills/ae-analysis/references/user_tag_create.md +3 -1
  106. package/skills/ae-analysis/references/user_tag_get.md +4 -0
  107. package/skills/ae-analysis/references/user_tag_refresh.md +4 -2
  108. package/skills/ae-analysis/references/user_tag_update.md +3 -1
  109. package/skills/ae-analysis/references/virtual_event_create.md +22 -3
  110. package/skills/ae-analysis/references/virtual_property_create.md +23 -2
  111. package/skills/ae-engage/SKILL.md +202 -7
  112. package/skills/ae-engage/references/activity-activity-type.md +42 -0
  113. package/skills/ae-engage/references/activity-activity.md +70 -0
  114. package/skills/ae-engage/references/activity-approval.md +53 -0
  115. package/skills/ae-engage/references/activity-task.md +87 -0
  116. package/skills/ae-engage/references/activity-topic.md +98 -0
  117. package/skills/ae-engage/references/approval-approver-delete.md +26 -0
  118. package/skills/ae-engage/references/channel-test-send.md +37 -0
  119. package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
  120. package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
  121. package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
  122. package/skills/ae-engage/references/channel-update-config.md +36 -0
  123. package/skills/ae-engage/references/client-param.md +58 -0
  124. package/skills/ae-engage/references/common-metric.md +75 -0
  125. package/skills/ae-engage/references/config-table.md +92 -0
  126. package/skills/ae-engage/references/engage-scene-config-item.md +69 -0
  127. package/skills/ae-engage/references/operation-log-query.md +1 -1
  128. package/skills/ae-engage/references/preset-event.md +42 -0
  129. package/skills/ae-engage/references/push-language.md +39 -0
  130. package/skills/ae-engage/references/scene-config-channel.md +58 -0
  131. package/skills/ae-engage/references/scene-config-group.md +62 -0
  132. package/skills/ae-engage/references/scene-config-item.md +68 -0
  133. package/skills/ae-engage/references/scene-config-metric.md +79 -0
  134. package/skills/ae-engage/references/scene-config-param.md +72 -0
  135. package/skills/ae-engage/references/scene-preset-metric.md +45 -0
  136. package/skills/ae-engage/references/scene-strategy.md +47 -0
  137. package/skills/ae-engage/references/scene-template.md +71 -0
  138. package/skills/ae-engage/references/{ops-delete.md → task-delete.md} +3 -3
  139. package/skills/ae-engage/references/whitelist.md +72 -0
  140. package/skills/ae-engage/references/workbench-workbench.md +48 -0
  141. package/skills/ae-generate-tracking-plan/SKILL.md +8 -5
  142. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -1
  143. package/skills/ae-kb/SKILL.md +34 -8
  144. package/skills/ae-metadata/SKILL.md +1 -1
  145. package/skills/ae-metadata/references/metadata_event_get.md +4 -4
  146. package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +1 -1
  147. package/skills/ae-metadata/references/metadata_property_get.md +4 -4
  148. package/dist/te-common-5NJLF3XG.js +0 -130
  149. package/dist/te-common-7VTJZPII.js +0 -130
  150. package/dist/te-engage-BUWVSSSK.js +0 -1912
  151. package/dist/te-engage-EPE3QKDE.js +0 -1912
  152. package/skills/ae-analysis/references/create_metric.md +0 -58
  153. package/skills/ae-analysis/references/create_virtual_event.md +0 -60
  154. package/skills/ae-analysis/references/create_virtual_property.md +0 -69
  155. package/skills/ae-analysis/references/delete_metric.md +0 -32
  156. package/skills/ae-analysis/references/drilldown_users_export.md +0 -17
  157. package/skills/ae-analysis/references/drilldown_users_run.md +0 -61
  158. package/skills/ae-analysis/references/get_metric.md +0 -38
  159. package/skills/ae-analysis/references/get_resource_url.md +0 -33
  160. package/skills/ae-analysis/references/list_events.md +0 -46
  161. package/skills/ae-analysis/references/list_metrics.md +0 -52
  162. package/skills/ae-analysis/references/list_properties.md +0 -47
  163. package/skills/ae-analysis/references/update_metric.md +0 -58
  164. package/dist/{chunk-HL2AJQ4Q.js → chunk-PTE56QPL.js} +3 -3
@@ -501,9 +501,46 @@ var kbIndex = {
501
501
  execute: async (ctx) => kbApi(ctx, "POST", API_PATH9, {}, buildBody8(ctx))
502
502
  };
503
503
 
504
- // src/commands/te-kb/kb-grep.ts
505
- var API_PATH10 = "/agent/api/external/knowledge-bases/grep";
504
+ // src/commands/te-kb/kb-list.ts
505
+ var API_PATH10 = "/agent/api/external/knowledge-bases/list";
506
+ var DEFAULT_BUILD_STATUS = "compiled";
507
+ function getBuildStatus(ctx) {
508
+ return ctx.str("build-status") || DEFAULT_BUILD_STATUS;
509
+ }
506
510
  function buildBody9(ctx) {
511
+ const body = {
512
+ buildStatus: getBuildStatus(ctx)
513
+ };
514
+ const locale = ctx.str("locale");
515
+ if (locale) body.locale = locale;
516
+ return body;
517
+ }
518
+ var kbList = {
519
+ service: "kb",
520
+ command: "+list",
521
+ description: "List accessible knowledge bases via POST /agent/api/external/knowledge-bases/list. Filters by buildStatus (default: compiled). Returns KB metadata including buildStatus, without index.md navigation maps.",
522
+ flags: [
523
+ {
524
+ name: "build-status",
525
+ type: "string",
526
+ required: false,
527
+ default: DEFAULT_BUILD_STATUS,
528
+ desc: "Filter by knowledge base build status (default: compiled)"
529
+ },
530
+ { name: "locale", type: "string", required: false, desc: "Optional locale: zh | en | ja | ko" }
531
+ ],
532
+ risk: "read",
533
+ dryRun: (ctx) => ({
534
+ method: "POST",
535
+ url: `${ctx.host().replace(/\/$/, "")}${API_PATH10}`,
536
+ body: buildBody9(ctx)
537
+ }),
538
+ execute: async (ctx) => kbApi(ctx, "POST", API_PATH10, {}, buildBody9(ctx))
539
+ };
540
+
541
+ // src/commands/te-kb/kb-grep.ts
542
+ var API_PATH11 = "/agent/api/external/knowledge-bases/grep";
543
+ function buildBody10(ctx) {
507
544
  const body = {
508
545
  query: ctx.str("query")
509
546
  };
@@ -539,15 +576,15 @@ var kbGrep = {
539
576
  risk: "read",
540
577
  dryRun: (ctx) => ({
541
578
  method: "POST",
542
- url: `${ctx.host().replace(/\/$/, "")}${API_PATH10}`,
543
- body: buildBody9(ctx)
579
+ url: `${ctx.host().replace(/\/$/, "")}${API_PATH11}`,
580
+ body: buildBody10(ctx)
544
581
  }),
545
- execute: async (ctx) => kbApi(ctx, "POST", API_PATH10, {}, buildBody9(ctx))
582
+ execute: async (ctx) => kbApi(ctx, "POST", API_PATH11, {}, buildBody10(ctx))
546
583
  };
547
584
 
548
585
  // src/commands/te-kb/kb-read.ts
549
- var API_PATH11 = "/agent/api/external/knowledge-bases/read";
550
- function buildBody10(ctx) {
586
+ var API_PATH12 = "/agent/api/external/knowledge-bases/read";
587
+ function buildBody11(ctx) {
551
588
  const body = {
552
589
  source: ctx.json("source"),
553
590
  path: ctx.str("path")
@@ -584,19 +621,19 @@ var kbRead = {
584
621
  risk: "read",
585
622
  dryRun: (ctx) => ({
586
623
  method: "POST",
587
- url: `${ctx.host().replace(/\/$/, "")}${API_PATH11}`,
588
- body: buildBody10(ctx)
624
+ url: `${ctx.host().replace(/\/$/, "")}${API_PATH12}`,
625
+ body: buildBody11(ctx)
589
626
  }),
590
- execute: async (ctx) => kbApi(ctx, "POST", API_PATH11, {}, buildBody10(ctx))
627
+ execute: async (ctx) => kbApi(ctx, "POST", API_PATH12, {}, buildBody11(ctx))
591
628
  };
592
629
 
593
630
  // src/commands/te-kb/ask.ts
594
- var API_PATH12 = "/agent/api/external/knowledge-bases/ask";
631
+ var API_PATH13 = "/agent/api/external/knowledge-bases/ask";
595
632
  var VALID_LOCALES = /* @__PURE__ */ new Set(["zh", "en", "ja", "ko"]);
596
633
  var MIN_QUESTION_LEN = 1;
597
634
  var MAX_QUESTION_LEN = 2e3;
598
635
  var MIN_MAX_TURNS = 1;
599
- var MAX_MAX_TURNS = 20;
636
+ var MAX_MAX_TURNS = 100;
600
637
  function validateQuestion(question) {
601
638
  const len = question.length;
602
639
  if (len < MIN_QUESTION_LEN || len > MAX_QUESTION_LEN) {
@@ -617,7 +654,7 @@ function validateMaxTurns(maxTurns) {
617
654
  );
618
655
  }
619
656
  }
620
- function buildBody11(ctx) {
657
+ function buildBody12(ctx) {
621
658
  const body = {
622
659
  question: ctx.str("question")
623
660
  };
@@ -659,7 +696,7 @@ var ask = {
659
696
  name: "max-turns",
660
697
  type: "number",
661
698
  required: false,
662
- desc: "Optional agent turn limit (1-20, default 10 on server when omitted)."
699
+ desc: "Optional agent turn limit (1-100, default 50 on server when omitted)."
663
700
  },
664
701
  { name: "locale", type: "string", required: false, desc: "Optional locale: zh | en | ja | ko" }
665
702
  ],
@@ -671,10 +708,10 @@ var ask = {
671
708
  },
672
709
  dryRun: (ctx) => ({
673
710
  method: "POST",
674
- url: `${ctx.host().replace(/\/$/, "")}${API_PATH12}`,
675
- body: buildBody11(ctx)
711
+ url: `${ctx.host().replace(/\/$/, "")}${API_PATH13}`,
712
+ body: buildBody12(ctx)
676
713
  }),
677
- execute: async (ctx) => kbApi(ctx, "POST", API_PATH12, {}, buildBody11(ctx))
714
+ execute: async (ctx) => kbApi(ctx, "POST", API_PATH13, {}, buildBody12(ctx))
678
715
  };
679
716
 
680
717
  // src/commands/te-kb/index.ts
@@ -688,6 +725,7 @@ var commands = [
688
725
  rmSource,
689
726
  schema,
690
727
  status,
728
+ kbList,
691
729
  kbIndex,
692
730
  kbGrep,
693
731
  kbRead
@@ -701,6 +739,7 @@ export {
701
739
  te_kb_default as default,
702
740
  kbGrep,
703
741
  kbIndex,
742
+ kbList,
704
743
  kbRead,
705
744
  query,
706
745
  remove,
@@ -42,72 +42,14 @@ function optionalNumber(ctx, name) {
42
42
  const value = ctx.str(name);
43
43
  return value === "" ? void 0 : Number(value);
44
44
  }
45
- function optionalBoolean(ctx, name) {
46
- const value = ctx.str(name);
47
- return value === "" ? void 0 : ctx.bool(name);
48
- }
49
45
  function optionalJson(ctx, name) {
50
46
  const value = ctx.str(name);
51
47
  return value === "" ? void 0 : ctx.json(name);
52
48
  }
53
- function optionalJsonString(ctx, name) {
54
- const value = optionalJson(ctx, name);
55
- return value === void 0 ? void 0 : JSON.stringify(value);
56
- }
57
49
  function requiredJsonString(ctx, name) {
58
50
  return JSON.stringify(ctx.json(name));
59
51
  }
60
52
 
61
- // src/commands/te-meta/meta/list-events.ts
62
- var listEvents = createMcpCommand({
63
- command: "+list_events",
64
- description: "List events in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve event names internally. Query performs fuzzy matching on eventName, eventDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: eventId, eventName, eventDesc, remark, authenticationStatus.",
65
- flags: [
66
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
67
- { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and remark; if omitted, all events are returned.", alias: "q" },
68
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventId, eventName, eventDesc, remark, eventTag, authenticationStatus. Default fields when omitted: eventId, eventName, eventDesc, remark, authenticationStatus.", alias: "f" },
69
- { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 50, maximum: 200.", alias: "l", min: 1, max: 200 },
70
- { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
71
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated events." }
72
- ],
73
- risk: "read",
74
- buildArgs: (ctx) => ({
75
- projectId: ctx.num("project_id"),
76
- query: optionalString(ctx, "query"),
77
- fields: optionalJson(ctx, "fields"),
78
- limit: optionalNumber(ctx, "limit"),
79
- offset: optionalNumber(ctx, "offset"),
80
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
81
- })
82
- });
83
-
84
- // src/commands/te-meta/meta/list-properties.ts
85
- var listProperties = createMcpCommand({
86
- command: "+list_properties",
87
- description: "List properties in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve property names internally. Query performs fuzzy matching on propName, propDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.",
88
- flags: [
89
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
90
- { name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
91
- { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
92
- { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all accessible properties are returned.", alias: "q" },
93
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propId, propName, propDesc, remark, selectType, tableType, subTableType, authenticationStatus. Default fields when omitted: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.", alias: "f" },
94
- { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 50, maximum: 200.", alias: "l", min: 1, max: 200 },
95
- { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
96
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated properties." }
97
- ],
98
- risk: "read",
99
- buildArgs: (ctx) => ({
100
- projectId: ctx.num("project_id"),
101
- scope: optionalString(ctx, "scope"),
102
- eventName: optionalString(ctx, "event_name"),
103
- query: optionalString(ctx, "query"),
104
- fields: optionalJson(ctx, "fields"),
105
- limit: optionalNumber(ctx, "limit"),
106
- offset: optionalNumber(ctx, "offset"),
107
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
108
- })
109
- });
110
-
111
53
  // src/commands/te-meta/meta/batch-edit-metadata.ts
112
54
  var batchEditMetadata = createMcpCommand({
113
55
  command: "+batch_edit_metadata",
@@ -146,185 +88,10 @@ var batchCreateMetadata = createMcpCommand({
146
88
  })
147
89
  });
148
90
 
149
- // src/commands/te-meta/meta/create-virtual-event.ts
150
- var createVirtualEvent = createMcpCommand({
151
- command: "+create_virtual_event",
152
- description: "Create a virtual event by combining multiple events with optional filters",
153
- flags: [
154
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
155
- { name: "event_name", type: "string", required: true, desc: "Virtual event name. Must start with 'ta@' and follow the naming constraints in the schema" },
156
- { name: "event_desc", type: "string", required: true, desc: "Virtual event description" },
157
- { name: "remark", type: "string", required: false, desc: "Optional remark" },
158
- { name: "events", type: "json", required: true, desc: "JSON array of events to combine" },
159
- { name: "filter", type: "json", required: false, desc: "Optional global filter JSON" },
160
- { name: "override", type: "boolean", required: false, desc: "Whether to override if the event already exists. Default: false" }
161
- ],
162
- risk: "write",
163
- mcpService: "te_analysis_extend",
164
- buildArgs: (ctx) => ({
165
- projectId: ctx.num("project_id"),
166
- eventName: ctx.str("event_name"),
167
- eventDesc: ctx.str("event_desc"),
168
- remark: optionalString(ctx, "remark"),
169
- events: requiredJsonString(ctx, "events"),
170
- filter: optionalJsonString(ctx, "filter"),
171
- override: optionalBoolean(ctx, "override")
172
- })
173
- });
174
-
175
- // src/commands/te-meta/meta/create-virtual-property.ts
176
- var createVirtualProperty = createMcpCommand({
177
- command: "+create_virtual_property",
178
- description: "Create a SQL-based virtual property",
179
- flags: [
180
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
181
- { name: "property_name", type: "string", required: true, desc: "Property name. Must start with '#vp@' and follow the naming constraints in the schema" },
182
- { name: "property_desc", type: "string", required: false, desc: "Display name/description" },
183
- { name: "table_type", type: "string", required: true, desc: "Table type: event or user" },
184
- { name: "select_type", type: "string", required: true, desc: "Select type: string, number, bool, or datetime" },
185
- { name: "sql_expression", type: "string", required: true, desc: "SQL expression for computing the property" },
186
- { name: "sql_event_relation_type", type: "string", required: true, desc: "SQL event relation type: relation_default, relation_always, or relation_by_setting" },
187
- { name: "related_events", type: "json", required: false, desc: "Optional related events JSON array. Required when sql_event_relation_type is relation_by_setting" },
188
- { name: "property_remark", type: "string", required: false, desc: "Optional property remark" }
189
- ],
190
- risk: "write",
191
- mcpService: "te_analysis_extend",
192
- buildArgs: (ctx) => ({
193
- projectId: ctx.num("project_id"),
194
- propertyName: ctx.str("property_name"),
195
- propertyDesc: optionalString(ctx, "property_desc"),
196
- tableType: ctx.str("table_type"),
197
- selectType: ctx.str("select_type"),
198
- sqlExpression: ctx.str("sql_expression"),
199
- sqlEventRelationType: ctx.str("sql_event_relation_type"),
200
- relatedEvents: optionalJsonString(ctx, "related_events"),
201
- propertyRemark: optionalString(ctx, "property_remark")
202
- })
203
- });
204
-
205
- // src/commands/te-meta/meta/list-metrics.ts
206
- var listMetrics = createMcpCommand({
207
- command: "+list_metrics",
208
- description: "List metric metadata in the project. Use for metric metadata inspection/management. For AI-facing analysis definitions, reference saved metrics by verified metric name in the analysis definition instead of calling old QP builders. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports authenticated asset filtering plus fields/limit/offset pagination. Default returned fields: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus.",
209
- flags: [
210
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
211
- { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark." },
212
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus." },
213
- { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 50, maximum: 200.", min: 1, max: 200 },
214
- { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." },
215
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated metrics." }
216
- ],
217
- risk: "read",
218
- mcpService: "te_analysis_extend",
219
- buildArgs: (ctx) => ({
220
- projectId: ctx.num("project_id"),
221
- query: optionalString(ctx, "query"),
222
- fields: optionalJson(ctx, "fields"),
223
- limit: optionalNumber(ctx, "limit"),
224
- offset: optionalNumber(ctx, "offset"),
225
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
226
- })
227
- });
228
-
229
- // src/commands/te-meta/meta/get-metric.ts
230
- var getMetric = createMcpCommand({
231
- command: "+get_metric",
232
- description: "Get the definition details of a single metric. Use for metric metadata inspection/management. For AI-facing analysis definitions, reference saved metrics by verified metric name instead of calling old QP builders.",
233
- flags: [
234
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
235
- { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" }
236
- ],
237
- risk: "read",
238
- mcpService: "te_analysis_extend",
239
- buildArgs: (ctx) => ({
240
- projectId: ctx.num("project_id"),
241
- metricId: ctx.num("metric_id")
242
- })
243
- });
244
-
245
- // src/commands/te-meta/meta/create-metric.ts
246
- var createMetric = createMcpCommand({
247
- command: "+create_metric",
248
- description: "Create a metric from analysis configuration",
249
- flags: [
250
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
251
- { name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
252
- { name: "display_name", type: "string", required: true, desc: "Metric display name" },
253
- { name: "remark", type: "string", required: false, desc: "Optional metric remark" },
254
- { name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
255
- { name: "events", type: "json", required: true, desc: "Metric events JSON. Follow the create_metric reference for the metric event contract." },
256
- { name: "params", type: "json", required: true, desc: "Metric parameters JSON. For event, use format config; for retention, use the eventView configuration." }
257
- ],
258
- risk: "write",
259
- mcpService: "te_analysis_extend",
260
- buildArgs: (ctx) => ({
261
- projectId: ctx.num("project_id"),
262
- name: ctx.str("name"),
263
- displayName: ctx.str("display_name"),
264
- remark: optionalString(ctx, "remark"),
265
- modelType: ctx.str("model_type"),
266
- events: requiredJsonString(ctx, "events"),
267
- params: requiredJsonString(ctx, "params")
268
- })
269
- });
270
-
271
- // src/commands/te-meta/meta/update-metric.ts
272
- var updateMetric = createMcpCommand({
273
- command: "+update_metric",
274
- description: "Update a metric definition",
275
- flags: [
276
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
277
- { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" },
278
- { name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
279
- { name: "display_name", type: "string", required: true, desc: "Metric display name" },
280
- { name: "remark", type: "string", required: false, desc: "Optional metric remark" },
281
- { name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
282
- { name: "events", type: "json", required: true, desc: "Metric event definition JSON" },
283
- { name: "params", type: "json", required: false, desc: "Metric parameter definition JSON" }
284
- ],
285
- risk: "write",
286
- mcpService: "te_analysis_extend",
287
- buildArgs: (ctx) => ({
288
- projectId: ctx.num("project_id"),
289
- metricId: ctx.num("metric_id"),
290
- name: ctx.str("name"),
291
- displayName: ctx.str("display_name"),
292
- remark: optionalString(ctx, "remark"),
293
- modelType: ctx.str("model_type"),
294
- events: requiredJsonString(ctx, "events"),
295
- params: optionalJsonString(ctx, "params")
296
- })
297
- });
298
-
299
- // src/commands/te-meta/meta/delete-metric.ts
300
- var deleteMetric = createMcpCommand({
301
- command: "+delete_metric",
302
- description: "Delete a metric by metricId",
303
- flags: [
304
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
305
- { name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
306
- ],
307
- risk: "high-risk-write",
308
- mcpService: "te_analysis_extend",
309
- buildArgs: (ctx) => ({
310
- projectId: ctx.num("project_id"),
311
- metricId: ctx.num("metric_id")
312
- })
313
- });
314
-
315
91
  // src/commands/te-meta/meta/index.ts
316
92
  var commands = [
317
- listEvents,
318
- listProperties,
319
93
  batchEditMetadata,
320
- batchCreateMetadata,
321
- createVirtualEvent,
322
- createVirtualProperty,
323
- listMetrics,
324
- getMetric,
325
- createMetric,
326
- updateMetric,
327
- deleteMetric
94
+ batchCreateMetadata
328
95
  ];
329
96
  var meta_default = commands;
330
97
 
@@ -42,72 +42,14 @@ function optionalNumber(ctx, name) {
42
42
  const value = ctx.str(name);
43
43
  return value === "" ? void 0 : Number(value);
44
44
  }
45
- function optionalBoolean(ctx, name) {
46
- const value = ctx.str(name);
47
- return value === "" ? void 0 : ctx.bool(name);
48
- }
49
45
  function optionalJson(ctx, name) {
50
46
  const value = ctx.str(name);
51
47
  return value === "" ? void 0 : ctx.json(name);
52
48
  }
53
- function optionalJsonString(ctx, name) {
54
- const value = optionalJson(ctx, name);
55
- return value === void 0 ? void 0 : JSON.stringify(value);
56
- }
57
49
  function requiredJsonString(ctx, name) {
58
50
  return JSON.stringify(ctx.json(name));
59
51
  }
60
52
 
61
- // src/commands/te-meta/meta/list-events.ts
62
- var listEvents = createMcpCommand({
63
- command: "+list_events",
64
- description: "List events in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve event names internally. Query performs fuzzy matching on eventName, eventDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: eventId, eventName, eventDesc, remark, authenticationStatus.",
65
- flags: [
66
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
67
- { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and remark; if omitted, all events are returned.", alias: "q" },
68
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventId, eventName, eventDesc, remark, eventTag, authenticationStatus. Default fields when omitted: eventId, eventName, eventDesc, remark, authenticationStatus.", alias: "f" },
69
- { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 50, maximum: 200.", alias: "l", min: 1, max: 200 },
70
- { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
71
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated events." }
72
- ],
73
- risk: "read",
74
- buildArgs: (ctx) => ({
75
- projectId: ctx.num("project_id"),
76
- query: optionalString(ctx, "query"),
77
- fields: optionalJson(ctx, "fields"),
78
- limit: optionalNumber(ctx, "limit"),
79
- offset: optionalNumber(ctx, "offset"),
80
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
81
- })
82
- });
83
-
84
- // src/commands/te-meta/meta/list-properties.ts
85
- var listProperties = createMcpCommand({
86
- command: "+list_properties",
87
- description: "List properties in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve property names internally. Query performs fuzzy matching on propName, propDesc, and remark. Supports authenticated asset filtering plus fields/limit/offset payload governance. Default returned fields: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.",
88
- flags: [
89
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
90
- { name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
91
- { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
92
- { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all accessible properties are returned.", alias: "q" },
93
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propId, propName, propDesc, remark, selectType, tableType, subTableType, authenticationStatus. Default fields when omitted: propId, propName, propDesc, remark, selectType, tableType, authenticationStatus.", alias: "f" },
94
- { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 50, maximum: 200.", alias: "l", min: 1, max: 200 },
95
- { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" },
96
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated properties." }
97
- ],
98
- risk: "read",
99
- buildArgs: (ctx) => ({
100
- projectId: ctx.num("project_id"),
101
- scope: optionalString(ctx, "scope"),
102
- eventName: optionalString(ctx, "event_name"),
103
- query: optionalString(ctx, "query"),
104
- fields: optionalJson(ctx, "fields"),
105
- limit: optionalNumber(ctx, "limit"),
106
- offset: optionalNumber(ctx, "offset"),
107
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
108
- })
109
- });
110
-
111
53
  // src/commands/te-meta/meta/batch-edit-metadata.ts
112
54
  var batchEditMetadata = createMcpCommand({
113
55
  command: "+batch_edit_metadata",
@@ -146,185 +88,10 @@ var batchCreateMetadata = createMcpCommand({
146
88
  })
147
89
  });
148
90
 
149
- // src/commands/te-meta/meta/create-virtual-event.ts
150
- var createVirtualEvent = createMcpCommand({
151
- command: "+create_virtual_event",
152
- description: "Create a virtual event by combining multiple events with optional filters",
153
- flags: [
154
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
155
- { name: "event_name", type: "string", required: true, desc: "Virtual event name. Must start with 'ta@' and follow the naming constraints in the schema" },
156
- { name: "event_desc", type: "string", required: true, desc: "Virtual event description" },
157
- { name: "remark", type: "string", required: false, desc: "Optional remark" },
158
- { name: "events", type: "json", required: true, desc: "JSON array of events to combine" },
159
- { name: "filter", type: "json", required: false, desc: "Optional global filter JSON" },
160
- { name: "override", type: "boolean", required: false, desc: "Whether to override if the event already exists. Default: false" }
161
- ],
162
- risk: "write",
163
- mcpService: "te_analysis_extend",
164
- buildArgs: (ctx) => ({
165
- projectId: ctx.num("project_id"),
166
- eventName: ctx.str("event_name"),
167
- eventDesc: ctx.str("event_desc"),
168
- remark: optionalString(ctx, "remark"),
169
- events: requiredJsonString(ctx, "events"),
170
- filter: optionalJsonString(ctx, "filter"),
171
- override: optionalBoolean(ctx, "override")
172
- })
173
- });
174
-
175
- // src/commands/te-meta/meta/create-virtual-property.ts
176
- var createVirtualProperty = createMcpCommand({
177
- command: "+create_virtual_property",
178
- description: "Create a SQL-based virtual property",
179
- flags: [
180
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
181
- { name: "property_name", type: "string", required: true, desc: "Property name. Must start with '#vp@' and follow the naming constraints in the schema" },
182
- { name: "property_desc", type: "string", required: false, desc: "Display name/description" },
183
- { name: "table_type", type: "string", required: true, desc: "Table type: event or user" },
184
- { name: "select_type", type: "string", required: true, desc: "Select type: string, number, bool, or datetime" },
185
- { name: "sql_expression", type: "string", required: true, desc: "SQL expression for computing the property" },
186
- { name: "sql_event_relation_type", type: "string", required: true, desc: "SQL event relation type: relation_default, relation_always, or relation_by_setting" },
187
- { name: "related_events", type: "json", required: false, desc: "Optional related events JSON array. Required when sql_event_relation_type is relation_by_setting" },
188
- { name: "property_remark", type: "string", required: false, desc: "Optional property remark" }
189
- ],
190
- risk: "write",
191
- mcpService: "te_analysis_extend",
192
- buildArgs: (ctx) => ({
193
- projectId: ctx.num("project_id"),
194
- propertyName: ctx.str("property_name"),
195
- propertyDesc: optionalString(ctx, "property_desc"),
196
- tableType: ctx.str("table_type"),
197
- selectType: ctx.str("select_type"),
198
- sqlExpression: ctx.str("sql_expression"),
199
- sqlEventRelationType: ctx.str("sql_event_relation_type"),
200
- relatedEvents: optionalJsonString(ctx, "related_events"),
201
- propertyRemark: optionalString(ctx, "property_remark")
202
- })
203
- });
204
-
205
- // src/commands/te-meta/meta/list-metrics.ts
206
- var listMetrics = createMcpCommand({
207
- command: "+list_metrics",
208
- description: "List metric metadata in the project. Use for metric metadata inspection/management. For AI-facing analysis definitions, reference saved metrics by verified metric name in the analysis definition instead of calling old QP builders. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports authenticated asset filtering plus fields/limit/offset pagination. Default returned fields: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus.",
209
- flags: [
210
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
211
- { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark." },
212
- { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode, authenticationStatus." },
213
- { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 50, maximum: 200.", min: 1, max: 200 },
214
- { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." },
215
- { name: "authenticated_only", type: "boolean", required: false, desc: "When true, return only authenticated metrics." }
216
- ],
217
- risk: "read",
218
- mcpService: "te_analysis_extend",
219
- buildArgs: (ctx) => ({
220
- projectId: ctx.num("project_id"),
221
- query: optionalString(ctx, "query"),
222
- fields: optionalJson(ctx, "fields"),
223
- limit: optionalNumber(ctx, "limit"),
224
- offset: optionalNumber(ctx, "offset"),
225
- authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
226
- })
227
- });
228
-
229
- // src/commands/te-meta/meta/get-metric.ts
230
- var getMetric = createMcpCommand({
231
- command: "+get_metric",
232
- description: "Get the definition details of a single metric. Use for metric metadata inspection/management. For AI-facing analysis definitions, reference saved metrics by verified metric name instead of calling old QP builders.",
233
- flags: [
234
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
235
- { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" }
236
- ],
237
- risk: "read",
238
- mcpService: "te_analysis_extend",
239
- buildArgs: (ctx) => ({
240
- projectId: ctx.num("project_id"),
241
- metricId: ctx.num("metric_id")
242
- })
243
- });
244
-
245
- // src/commands/te-meta/meta/create-metric.ts
246
- var createMetric = createMcpCommand({
247
- command: "+create_metric",
248
- description: "Create a metric from analysis configuration",
249
- flags: [
250
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
251
- { name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
252
- { name: "display_name", type: "string", required: true, desc: "Metric display name" },
253
- { name: "remark", type: "string", required: false, desc: "Optional metric remark" },
254
- { name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
255
- { name: "events", type: "json", required: true, desc: "Metric events JSON. Follow the create_metric reference for the metric event contract." },
256
- { name: "params", type: "json", required: true, desc: "Metric parameters JSON. For event, use format config; for retention, use the eventView configuration." }
257
- ],
258
- risk: "write",
259
- mcpService: "te_analysis_extend",
260
- buildArgs: (ctx) => ({
261
- projectId: ctx.num("project_id"),
262
- name: ctx.str("name"),
263
- displayName: ctx.str("display_name"),
264
- remark: optionalString(ctx, "remark"),
265
- modelType: ctx.str("model_type"),
266
- events: requiredJsonString(ctx, "events"),
267
- params: requiredJsonString(ctx, "params")
268
- })
269
- });
270
-
271
- // src/commands/te-meta/meta/update-metric.ts
272
- var updateMetric = createMcpCommand({
273
- command: "+update_metric",
274
- description: "Update a metric definition",
275
- flags: [
276
- { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
277
- { name: "metric_id", type: "number", required: true, alias: "m", desc: "Metric ID" },
278
- { name: "name", type: "string", required: true, desc: "Metric name. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores. Maximum length: 80." },
279
- { name: "display_name", type: "string", required: true, desc: "Metric display name" },
280
- { name: "remark", type: "string", required: false, desc: "Optional metric remark" },
281
- { name: "model_type", type: "string", required: true, desc: "Metric model type: event or retention" },
282
- { name: "events", type: "json", required: true, desc: "Metric event definition JSON" },
283
- { name: "params", type: "json", required: false, desc: "Metric parameter definition JSON" }
284
- ],
285
- risk: "write",
286
- mcpService: "te_analysis_extend",
287
- buildArgs: (ctx) => ({
288
- projectId: ctx.num("project_id"),
289
- metricId: ctx.num("metric_id"),
290
- name: ctx.str("name"),
291
- displayName: ctx.str("display_name"),
292
- remark: optionalString(ctx, "remark"),
293
- modelType: ctx.str("model_type"),
294
- events: requiredJsonString(ctx, "events"),
295
- params: optionalJsonString(ctx, "params")
296
- })
297
- });
298
-
299
- // src/commands/te-meta/meta/delete-metric.ts
300
- var deleteMetric = createMcpCommand({
301
- command: "+delete_metric",
302
- description: "Delete a metric by metricId",
303
- flags: [
304
- { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
305
- { name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
306
- ],
307
- risk: "high-risk-write",
308
- mcpService: "te_analysis_extend",
309
- buildArgs: (ctx) => ({
310
- projectId: ctx.num("project_id"),
311
- metricId: ctx.num("metric_id")
312
- })
313
- });
314
-
315
91
  // src/commands/te-meta/meta/index.ts
316
92
  var commands = [
317
- listEvents,
318
- listProperties,
319
93
  batchEditMetadata,
320
- batchCreateMetadata,
321
- createVirtualEvent,
322
- createVirtualProperty,
323
- listMetrics,
324
- getMetric,
325
- createMetric,
326
- updateMetric,
327
- deleteMetric
94
+ batchCreateMetadata
328
95
  ];
329
96
  var meta_default = commands;
330
97