@thinkingai/ae-cli 1.0.3 → 1.0.18

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 (198) hide show
  1. package/README.md +42 -72
  2. package/README.zh.md +202 -0
  3. package/dist/auth-2UTBG5U3.js +144 -0
  4. package/dist/{auth-BQC5DBE7.js → auth-ECD46NBA.js} +6 -4
  5. package/dist/{chunk-3CDLNXTD.js → chunk-4KQ7H7DY.js} +15 -3
  6. package/dist/{chunk-53FNNCZW.js → chunk-7QBNU44L.js} +101 -3
  7. package/dist/{chunk-ZYXIGPG7.js → chunk-LAAS6ITR.js} +3 -3
  8. package/dist/{chunk-EBFUVWIZ.js → chunk-MR57UIKC.js} +42 -0
  9. package/dist/{client-5QSQBBDB.js → client-O56G2SNJ.js} +3 -3
  10. package/dist/{config-Q7J3Z7Z2.js → config-BU5FHGGE.js} +23 -8
  11. package/dist/index.js +15 -15
  12. package/dist/{raw-G3GKHAPZ.js → raw-A3VN2B6I.js} +4 -4
  13. package/dist/{te-analysis-CHFTDN55.js → te-analysis-UGKESPBE.js} +62 -24
  14. package/dist/{te-audience-M6LQY6M7.js → te-audience-THZNVHYB.js} +61 -21
  15. package/dist/{te-common-BLQ7DVGC.js → te-common-QZOUME3S.js} +6 -33
  16. package/dist/{community-FVDAWGS4.js → te-community-AZVW3NFX.js} +59 -59
  17. package/dist/{te-dataops-V4OTKY35.js → te-dataops-OE5PX2K6.js} +3 -28
  18. package/dist/{te-engage-DXE4R5EW.js → te-engage-RYGEQTYK.js} +4 -22
  19. package/dist/{te-meta-FMM7KCVI.js → te-meta-MGO5BCMG.js} +88 -18
  20. package/package.json +3 -3
  21. package/skills/ae-analysis/SKILL.md +287 -0
  22. package/skills/{te-meta/references/batch-create-metadata.md → ae-analysis/references/batch_create_metadata.md} +3 -3
  23. package/skills/{te-meta/references/batch-edit-metadata.md → ae-analysis/references/batch_edit_metadata.md} +2 -2
  24. package/skills/{te-analysis/references/build-entity-details-sql.md → ae-analysis/references/build_entity_details_sql.md} +9 -9
  25. package/skills/{te-analysis/references/build-event-details-sql.md → ae-analysis/references/build_event_details_sql.md} +9 -9
  26. package/skills/{te-analysis/references/create-alert.md → ae-analysis/references/create_alert.md} +4 -4
  27. package/skills/{te-audience/references/create-cluster.md → ae-analysis/references/create_cluster.md} +23 -19
  28. package/skills/{te-analysis/references/create-dashboard.md → ae-analysis/references/create_dashboard.md} +4 -4
  29. package/skills/{te-meta/references/create-metric.md → ae-analysis/references/create_metric.md} +10 -10
  30. package/skills/{te-analysis/references/create-or-update-dashboard-note.md → ae-analysis/references/create_or_update_dashboard_note.md} +3 -3
  31. package/skills/{te-meta/references/create-project-mark-time.md → ae-analysis/references/create_project_mark_time.md} +3 -3
  32. package/skills/{te-analysis/references/create-public-access-link.md → ae-analysis/references/create_public_access_link.md} +3 -3
  33. package/skills/{te-analysis/references/create-report.md → ae-analysis/references/create_report.md} +9 -9
  34. package/skills/{te-analysis/references/create-result-cluster.md → ae-analysis/references/create_result_cluster.md} +6 -6
  35. package/skills/{te-audience/references/create-tag.md → ae-analysis/references/create_tag.md} +16 -15
  36. package/skills/{te-meta/references/create-virtual-event.md → ae-analysis/references/create_virtual_event.md} +9 -9
  37. package/skills/{te-meta/references/create-virtual-property.md → ae-analysis/references/create_virtual_property.md} +7 -7
  38. package/skills/{te-meta/references/delete-project-mark-times.md → ae-analysis/references/delete_project_mark_times.md} +2 -2
  39. package/skills/{te-meta/references/delete-track-items.md → ae-analysis/references/delete_track_items.md} +2 -2
  40. package/skills/{te-analysis/references/drilldown-user-events.md → ae-analysis/references/drilldown_user_events.md} +8 -8
  41. package/skills/{te-analysis/references/drilldown-users.md → ae-analysis/references/drilldown_users.md} +10 -7
  42. package/skills/ae-analysis/references/generate_track_program.md +51 -0
  43. package/skills/ae-analysis/references/generate_track_sdk_sample.md +43 -0
  44. package/skills/{te-analysis/references/get-alert.md → ae-analysis/references/get_alert.md} +2 -2
  45. package/skills/{te-analysis/references/get-alert-definition-schema.md → ae-analysis/references/get_alert_definition_schema.md} +1 -1
  46. package/skills/ae-analysis/references/get_analysis_query_schema.md +61 -0
  47. package/skills/ae-analysis/references/get_cluster_definition_schema.md +53 -0
  48. package/skills/ae-analysis/references/get_clusters_by_name.md +69 -0
  49. package/skills/{te-analysis/references/get-filter-schema.md → ae-analysis/references/get_filter_schema.md} +1 -1
  50. package/skills/{te-analysis/references/get-groupby-schema.md → ae-analysis/references/get_groupby_schema.md} +1 -1
  51. package/skills/{te-meta/references/get-metric.md → ae-analysis/references/get_metric.md} +2 -2
  52. package/skills/{te-meta/references/get-project-config.md → ae-analysis/references/get_project_config.md} +2 -2
  53. package/skills/{te-analysis/references/get-report-definition.md → ae-analysis/references/get_report_definition.md} +2 -2
  54. package/skills/{te-common/references/get-resource-url.md → ae-analysis/references/get_resource_url.md} +4 -4
  55. package/skills/{te-analysis/references/get-table-columns.md → ae-analysis/references/get_table_columns.md} +2 -2
  56. package/skills/ae-analysis/references/get_tag_definition_schema.md +49 -0
  57. package/skills/ae-analysis/references/get_tags_by_name.md +69 -0
  58. package/skills/{te-meta/references/get-track-program.md → ae-analysis/references/get_track_program.md} +2 -2
  59. package/skills/{te-analysis/references/list-alerts.md → ae-analysis/references/list_alerts.md} +10 -3
  60. package/skills/{te-audience/references/list-cluster-members.md → ae-analysis/references/list_cluster_members.md} +11 -4
  61. package/skills/{te-audience/references/list-clusters.md → ae-analysis/references/list_clusters.md} +14 -4
  62. package/skills/{te-analysis/references/list-dashboards.md → ae-analysis/references/list_dashboards.md} +12 -4
  63. package/skills/{te-meta/references/list-entities.md → ae-analysis/references/list_entities.md} +10 -3
  64. package/skills/{te-meta/references/list-events.md → ae-analysis/references/list_events.md} +12 -5
  65. package/skills/ae-analysis/references/list_metrics.md +45 -0
  66. package/skills/ae-analysis/references/list_project_mark_times.md +42 -0
  67. package/skills/{te-meta/references/list-project-users.md → ae-analysis/references/list_project_users.md} +2 -2
  68. package/skills/{te-common/references/list-projects.md → ae-analysis/references/list_projects.md} +6 -4
  69. package/skills/{te-meta/references/list-properties.md → ae-analysis/references/list_properties.md} +9 -4
  70. package/skills/ae-analysis/references/list_public_access_links.md +41 -0
  71. package/skills/{te-analysis/references/list-reports.md → ae-analysis/references/list_reports.md} +12 -4
  72. package/skills/{te-audience/references/list-tag-members.md → ae-analysis/references/list_tag_members.md} +11 -4
  73. package/skills/{te-audience/references/list-tags.md → ae-analysis/references/list_tags.md} +14 -4
  74. package/skills/{te-analysis/references/load-filters.md → ae-analysis/references/load_filters.md} +3 -3
  75. package/skills/{te-analysis/references/query-adhoc.md → ae-analysis/references/query_adhoc.md} +24 -9
  76. package/skills/{te-analysis/references/query-dashboard-detail.md → ae-analysis/references/query_dashboard_detail.md} +2 -2
  77. package/skills/{te-analysis/references/query-dashboard-report-data.md → ae-analysis/references/query_dashboard_report_data.md} +9 -9
  78. package/skills/{te-analysis/references/query-entity-details.md → ae-analysis/references/query_entity_details.md} +10 -10
  79. package/skills/{te-analysis/references/query-event-details.md → ae-analysis/references/query_event_details.md} +12 -12
  80. package/skills/{te-analysis/references/query-report-data.md → ae-analysis/references/query_report_data.md} +11 -11
  81. package/skills/{te-audience/references/refresh-cluster.md → ae-analysis/references/refresh_cluster.md} +2 -2
  82. package/skills/{te-audience/references/refresh-tag.md → ae-analysis/references/refresh_tag.md} +2 -2
  83. package/skills/{te-meta/references/save-track-items.md → ae-analysis/references/save_track_items.md} +2 -2
  84. package/skills/{te-analysis/references/update-alert.md → ae-analysis/references/update_alert.md} +4 -4
  85. package/skills/{te-audience/references/update-cluster.md → ae-analysis/references/update_cluster.md} +15 -13
  86. package/skills/{te-analysis/references/update-dashboard.md → ae-analysis/references/update_dashboard.md} +3 -3
  87. package/skills/{te-meta/references/update-metric.md → ae-analysis/references/update_metric.md} +9 -9
  88. package/skills/{te-meta/references/update-project-mark-time.md → ae-analysis/references/update_project_mark_time.md} +3 -3
  89. package/skills/{te-analysis/references/update-public-access-link.md → ae-analysis/references/update_public_access_link.md} +3 -3
  90. package/skills/{te-audience/references/update-tag.md → ae-analysis/references/update_tag.md} +15 -14
  91. package/skills/ae-community/SKILL.md +305 -0
  92. package/skills/{te-community → ae-community}/references/community-activity-analysis.md +6 -7
  93. package/skills/{te-community → ae-community}/references/community-analyzing-official-content.md +3 -4
  94. package/skills/{te-community → ae-community}/references/community-analyzing-theme-comment.md +5 -6
  95. package/skills/{te-community → ae-community}/references/community-character-analysis.md +5 -6
  96. package/skills/{te-community → ae-community}/references/community-daily-report.md +7 -8
  97. package/skills/{te-community → ae-community}/references/community-hottopic-insight.md +4 -5
  98. package/skills/{te-community → ae-community}/references/community-weekly-report.md +7 -8
  99. package/skills/{te-community → ae-community}/references/get_channel_info.md +4 -5
  100. package/skills/{te-community → ae-community}/references/get_comment_tag_analysis.md +3 -4
  101. package/skills/{te-community → ae-community}/references/get_comments_summary.md +4 -5
  102. package/skills/{te-community → ae-community}/references/get_corpus_tags.md +3 -4
  103. package/skills/{te-community → ae-community}/references/get_daily_summary.md +3 -4
  104. package/skills/{te-community → ae-community}/references/get_hot_topics.md +3 -4
  105. package/skills/{te-community → ae-community}/references/get_livestream_analysis.md +3 -4
  106. package/skills/{te-community → ae-community}/references/get_livestream_detail.md +4 -5
  107. package/skills/{te-community → ae-community}/references/get_livestream_list.md +3 -4
  108. package/skills/{te-community → ae-community}/references/get_livestream_overview.md +3 -4
  109. package/skills/{te-community → ae-community}/references/get_livestream_room_metrics.md +3 -4
  110. package/skills/{te-community → ae-community}/references/get_livestream_rooms.md +3 -4
  111. package/skills/{te-community → ae-community}/references/get_overview_metrics.md +3 -4
  112. package/skills/{te-community → ae-community}/references/get_post_detail.md +4 -5
  113. package/skills/{te-community → ae-community}/references/get_risk_content.md +5 -6
  114. package/skills/{te-community → ae-community}/references/get_sentiment_overview.md +4 -5
  115. package/skills/{te-community → ae-community}/references/get_tag_trends.md +3 -4
  116. package/skills/{te-community → ae-community}/references/get_topic_detail.md +3 -4
  117. package/skills/{te-community → ae-community}/references/search_posts.md +5 -6
  118. package/skills/{te-dataops → ae-dataops}/SKILL.md +73 -10
  119. package/skills/{te-dataops → ae-dataops}/references/dataops-flow-create.md +1 -1
  120. package/skills/{te-dataops → ae-dataops}/references/dataops-flow-monitor.md +1 -1
  121. package/skills/{te-dataops → ae-dataops}/references/dataops-integration.md +1 -1
  122. package/skills/{te-dataops → ae-dataops}/references/dataops-query.md +1 -1
  123. package/skills/{te-dataops → ae-dataops}/references/dataops-table.md +1 -1
  124. package/skills/{te-engage → ae-engage}/SKILL.md +106 -6
  125. package/skills/{te-engage → ae-engage}/references/add-approver.md +2 -2
  126. package/skills/{te-engage → ae-engage}/references/add-channel.md +2 -2
  127. package/skills/{te-engage → ae-engage}/references/approver-list.md +2 -2
  128. package/skills/{te-engage → ae-engage}/references/cancel-query-by-request-id.md +2 -2
  129. package/skills/{te-engage → ae-engage}/references/channel-detail.md +2 -2
  130. package/skills/{te-engage → ae-engage}/references/channel-list.md +2 -2
  131. package/skills/{te-engage → ae-engage}/references/config-channel-detail.md +2 -2
  132. package/skills/{te-engage → ae-engage}/references/config-channel-list.md +2 -2
  133. package/skills/{te-engage → ae-engage}/references/config-item-analysis-report.md +2 -2
  134. package/skills/{te-engage → ae-engage}/references/config-item-detail.md +2 -2
  135. package/skills/{te-engage → ae-engage}/references/config-item-list.md +2 -2
  136. package/skills/{te-engage → ae-engage}/references/config-item-strategy-comparison.md +2 -2
  137. package/skills/{te-engage → ae-engage}/references/config-item-trigger-report.md +2 -2
  138. package/skills/{te-engage → ae-engage}/references/copy-config-template.md +2 -2
  139. package/skills/{te-engage → ae-engage}/references/delete-channel.md +2 -2
  140. package/skills/{te-engage → ae-engage}/references/delete-config-channel.md +2 -2
  141. package/skills/{te-engage → ae-engage}/references/delete-config-item.md +2 -2
  142. package/skills/{te-engage → ae-engage}/references/delete-flow.md +2 -2
  143. package/skills/{te-engage → ae-engage}/references/flow-ab-split-node-report.md +2 -2
  144. package/skills/{te-engage → ae-engage}/references/flow-detail.md +2 -2
  145. package/skills/{te-engage → ae-engage}/references/flow-list.md +2 -2
  146. package/skills/{te-engage → ae-engage}/references/flow-node-config-schema.md +2 -2
  147. package/skills/{te-engage → ae-engage}/references/flow-node-detail-report.md +2 -2
  148. package/skills/{te-engage → ae-engage}/references/flow-node-overview-report.md +2 -2
  149. package/skills/{te-engage → ae-engage}/references/flow-process-report.md +2 -2
  150. package/skills/{te-engage → ae-engage}/references/manage-flow.md +2 -2
  151. package/skills/{te-engage → ae-engage}/references/manage-strategy.md +2 -2
  152. package/skills/{te-engage → ae-engage}/references/manage-task.md +2 -2
  153. package/skills/{te-engage → ae-engage}/references/modify-flow-base-info.md +2 -2
  154. package/skills/{te-engage → ae-engage}/references/save-flow.md +3 -3
  155. package/skills/{te-engage → ae-engage}/references/strategy-detail.md +2 -2
  156. package/skills/{te-engage → ae-engage}/references/strategy-list.md +2 -2
  157. package/skills/{te-engage → ae-engage}/references/task-data-detail.md +3 -10
  158. package/skills/{te-engage → ae-engage}/references/task-data-overview.md +3 -9
  159. package/skills/{te-engage → ae-engage}/references/task-detail.md +2 -2
  160. package/skills/{te-engage → ae-engage}/references/task-experiment-report.md +3 -9
  161. package/skills/{te-engage → ae-engage}/references/task-list.md +2 -2
  162. package/skills/{te-engage → ae-engage}/references/task-metric-detail.md +3 -9
  163. package/skills/{te-engage → ae-engage}/references/task-stats.md +2 -2
  164. package/skills/{te-engage → ae-engage}/references/update-channel-status.md +2 -2
  165. package/skills/{te-engage → ae-engage}/references/update-config-channel-status.md +2 -2
  166. package/skills/{te-engage → ae-engage}/references/validate-flow-node-config.md +2 -2
  167. package/skills/{te-engage → ae-engage}/references/whitelist-list.md +2 -2
  168. package/dist/auth-DXKYLMO7.js +0 -81
  169. package/dist/auth-JXELJNDS.js +0 -19
  170. package/dist/auth-L3G3A74I.js +0 -67
  171. package/dist/chunk-3GM5LJZR.js +0 -145
  172. package/dist/chunk-JD5DXMKL.js +0 -172
  173. package/dist/chunk-OVQOK35G.js +0 -108
  174. package/dist/chunk-RJNLN3KQ.js +0 -217
  175. package/dist/client-T4VODLA6.js +0 -16
  176. package/dist/community-GMALVSRF.js +0 -684
  177. package/dist/config-V7AXKDMB.js +0 -242
  178. package/dist/raw-ZNVURYMR.js +0 -59
  179. package/dist/te-analysis-7NN3SY3I.js +0 -871
  180. package/dist/te-audience-P43BWMHM.js +0 -350
  181. package/dist/te-common-H3IPTI2I.js +0 -144
  182. package/dist/te-dataops-WCGDBJLF.js +0 -1853
  183. package/dist/te-engage-UTRVNTGU.js +0 -1470
  184. package/dist/te-meta-HGYNXVGF.js +0 -479
  185. package/skills/te-analysis/SKILL.md +0 -107
  186. package/skills/te-analysis/references/get-analysis-query-schema.md +0 -36
  187. package/skills/te-analysis/references/list-public-access-links.md +0 -31
  188. package/skills/te-audience/SKILL.md +0 -63
  189. package/skills/te-audience/references/get-cluster-definition-schema.md +0 -37
  190. package/skills/te-audience/references/get-clusters-by-name.md +0 -32
  191. package/skills/te-audience/references/get-tag-definition-schema.md +0 -32
  192. package/skills/te-audience/references/get-tags-by-name.md +0 -32
  193. package/skills/te-common/SKILL.md +0 -135
  194. package/skills/te-community/SKILL.md +0 -125
  195. package/skills/te-meta/SKILL.md +0 -71
  196. package/skills/te-meta/references/list-metrics.md +0 -33
  197. package/skills/te-meta/references/list-project-mark-times.md +0 -33
  198. package/skills/te-shared/SKILL.md +0 -115
@@ -2,9 +2,9 @@ import {
2
2
  callMcpTool,
3
3
  parseMcpResult,
4
4
  resolveMcpUrl
5
- } from "./chunk-53FNNCZW.js";
6
- import "./chunk-3CDLNXTD.js";
7
- import "./chunk-EBFUVWIZ.js";
5
+ } from "./chunk-7QBNU44L.js";
6
+ import "./chunk-4KQ7H7DY.js";
7
+ import "./chunk-MR57UIKC.js";
8
8
 
9
9
  // src/commands/te-meta/shared.ts
10
10
  function createMcpCommand(config) {
@@ -58,34 +58,46 @@ function requiredJsonString(ctx, name) {
58
58
  // src/commands/te-meta/meta/list-events.ts
59
59
  var listEvents = createMcpCommand({
60
60
  command: "+list_events",
61
- description: "Read-only query for effective system event metadata",
61
+ description: "List events in the project. Query performs fuzzy matching on eventName, eventDesc and aiRemark. Supports fields/limit/offset payload governance.",
62
62
  flags: [
63
63
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
64
- { name: "query", type: "string", required: false, desc: "Optional keyword filter", alias: "q" }
64
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and aiRemark; if omitted, all events are returned.", alias: "q" },
65
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventName, eventDesc, aiRemark, eventTag, remark.", alias: "f" },
66
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 50.", alias: "l" },
67
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
65
68
  ],
66
69
  risk: "read",
67
70
  buildArgs: (ctx) => ({
68
71
  projectId: ctx.num("project_id"),
69
- query: optionalString(ctx, "query")
72
+ query: optionalString(ctx, "query"),
73
+ fields: optionalJson(ctx, "fields"),
74
+ limit: optionalNumber(ctx, "limit"),
75
+ offset: optionalNumber(ctx, "offset")
70
76
  })
71
77
  });
72
78
 
73
79
  // src/commands/te-meta/meta/list-properties.ts
74
80
  var listProperties = createMcpCommand({
75
81
  command: "+list_properties",
76
- description: "Read-only query for effective system property metadata",
82
+ description: "List properties in the project. Query performs fuzzy matching on propName, propDesc and aiRemark. Supports fields/limit/offset payload governance.",
77
83
  flags: [
78
84
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
79
85
  { name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
80
86
  { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
81
- { name: "query", type: "string", required: false, desc: "Optional keyword filter", alias: "q" }
87
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and aiRemark; if omitted, all accessible properties are returned.", alias: "q" },
88
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propName, propDesc, aiRemark, selectType, tableType, subTableType.", alias: "f" },
89
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 50.", alias: "l" },
90
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
82
91
  ],
83
92
  risk: "read",
84
93
  buildArgs: (ctx) => ({
85
94
  projectId: ctx.num("project_id"),
86
95
  scope: optionalString(ctx, "scope"),
87
96
  eventName: optionalString(ctx, "event_name"),
88
- query: optionalString(ctx, "query")
97
+ query: optionalString(ctx, "query"),
98
+ fields: optionalJson(ctx, "fields"),
99
+ limit: optionalNumber(ctx, "limit"),
100
+ offset: optionalNumber(ctx, "offset")
89
101
  })
90
102
  });
91
103
 
@@ -186,16 +198,22 @@ var createVirtualProperty = createMcpCommand({
186
198
  // src/commands/te-meta/meta/list-metrics.ts
187
199
  var listMetrics = createMcpCommand({
188
200
  command: "+list_metrics",
189
- description: "List metric metadata in the project",
201
+ description: "List metric metadata in the project. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports fields/limit/offset pagination.",
190
202
  flags: [
191
203
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
192
- { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter" }
204
+ { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark." },
205
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime." },
206
+ { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 20, maximum: 50." },
207
+ { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." }
193
208
  ],
194
209
  risk: "read",
195
210
  mcpService: "te_analysis_extend",
196
211
  buildArgs: (ctx) => ({
197
212
  projectId: ctx.num("project_id"),
198
- query: optionalString(ctx, "query")
213
+ query: optionalString(ctx, "query"),
214
+ fields: optionalJson(ctx, "fields"),
215
+ limit: optionalNumber(ctx, "limit"),
216
+ offset: optionalNumber(ctx, "offset")
199
217
  })
200
218
  });
201
219
 
@@ -356,6 +374,40 @@ var deleteTrackItems = createMcpCommand({
356
374
  })
357
375
  });
358
376
 
377
+ // src/commands/te-meta/project/generate-track-program.ts
378
+ var generateTrackProgram = createMcpCommand({
379
+ command: "+generate_track_program",
380
+ description: "Generate a tracking plan from structured business context (async)",
381
+ flags: [
382
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
383
+ { name: "language", type: "string", required: true, alias: "l", desc: "Language code (zh-CN, en-US, ja-JP, ko-KR)" },
384
+ { name: "form_data", type: "json", required: true, desc: "Structured business context JSON object, optional fields for example: account_system, revenue_model, core_gameplay, currency_system, main_entries, predefinedEvent, developmentCarrier" }
385
+ ],
386
+ risk: "write",
387
+ mcpService: "te_analysis_extend",
388
+ buildArgs: (ctx) => ({
389
+ projectId: ctx.num("project_id"),
390
+ language: ctx.str("language"),
391
+ formData: ctx.json("form_data")
392
+ })
393
+ });
394
+
395
+ // src/commands/te-meta/project/generate-track-sdk-sample.ts
396
+ var generateTrackSdkSample = createMcpCommand({
397
+ command: "+generate_track_sdk_sample",
398
+ description: "Generate SDK sample files based on tracking plan (async)",
399
+ flags: [
400
+ { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
401
+ { name: "sdk_type", type: "json", required: true, desc: "SDK types JSON array. Allowed values: android-java, server-php, ios-swift, server-python, web-js, server-java, server-nodejs, wechat-miniapp, harmonyos-arkts, android-kotlin, unity-csharp, cocos-creator-ts, server-go, server-cpp, ios-objc" }
402
+ ],
403
+ risk: "write",
404
+ mcpService: "te_analysis_extend",
405
+ buildArgs: (ctx) => ({
406
+ projectId: ctx.num("project_id"),
407
+ sdkType: ctx.json("sdk_type")
408
+ })
409
+ });
410
+
359
411
  // src/commands/te-meta/project/create-project-mark-time.ts
360
412
  var createProjectMarkTime = createMcpCommand({
361
413
  command: "+create_project_mark_time",
@@ -405,16 +457,24 @@ var updateProjectMarkTime = createMcpCommand({
405
457
  // src/commands/te-meta/project/list-project-mark-times.ts
406
458
  var listProjectMarkTimes = createMcpCommand({
407
459
  command: "+list_project_mark_times",
408
- description: "List project date markers",
460
+ description: "List project date markers. Query performs fuzzy matching on markContent. Supports fields/limit/offset pagination.",
409
461
  flags: [
410
462
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
411
- { name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" }
463
+ { name: "zone_offset", type: "number", required: false, desc: "Marker time zone offset" },
464
+ { name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on markContent." },
465
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: id, projectId, markTime, userZoneTime, zoneOffset, markContent, isShow, creatorName, creatorId, lastModifierName, lastModifierId, createTime, updateTime." },
466
+ { name: "limit", type: "number", required: false, desc: "Optional limit. Default: 20, maximum: 50." },
467
+ { name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." }
412
468
  ],
413
469
  risk: "read",
414
470
  mcpService: "te_analysis_extend",
415
471
  buildArgs: (ctx) => ({
416
472
  projectId: ctx.num("project_id"),
417
- zoneOffset: optionalNumber(ctx, "zone_offset")
473
+ zoneOffset: optionalNumber(ctx, "zone_offset"),
474
+ query: optionalString(ctx, "query"),
475
+ fields: optionalJson(ctx, "fields"),
476
+ limit: optionalNumber(ctx, "limit"),
477
+ offset: optionalNumber(ctx, "offset")
418
478
  })
419
479
  });
420
480
 
@@ -441,6 +501,8 @@ var commands2 = [
441
501
  getTrackProgram,
442
502
  saveTrackItems,
443
503
  deleteTrackItems,
504
+ generateTrackProgram,
505
+ generateTrackSdkSample,
444
506
  createProjectMarkTime,
445
507
  updateProjectMarkTime,
446
508
  listProjectMarkTimes,
@@ -451,15 +513,23 @@ var project_default = commands2;
451
513
  // src/commands/te-meta/entity/list-entities.ts
452
514
  var listEntities = createMcpCommand({
453
515
  command: "+list_entities",
454
- description: "List entities in the project",
516
+ description: "List entities in the project. Query performs fuzzy matching on entityName, columnName and columnDesc. Supports fields/limit/offset payload governance.",
455
517
  flags: [
456
518
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
457
- { name: "event_name", type: "string", required: false, desc: "Optional event name filter" }
519
+ { name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
520
+ { name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to entityName, columnName, and columnDesc; if omitted, all entities are returned.", alias: "q" },
521
+ { name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: entityId, entityName, columnName, columnDesc, selectType, tableType, entityType.", alias: "f" },
522
+ { name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 50.", alias: "l" },
523
+ { name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
458
524
  ],
459
525
  risk: "read",
460
526
  buildArgs: (ctx) => ({
461
527
  projectId: ctx.num("project_id"),
462
- eventName: optionalString(ctx, "event_name")
528
+ eventName: optionalString(ctx, "event_name"),
529
+ query: optionalString(ctx, "query"),
530
+ fields: optionalJson(ctx, "fields"),
531
+ limit: optionalNumber(ctx, "limit"),
532
+ offset: optionalNumber(ctx, "offset")
463
533
  })
464
534
  });
465
535
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@thinkingai/ae-cli",
3
- "version": "1.0.3",
4
- "description": "CLI tool for ThinkingAI AgenticEngine (AE) analytics platform",
3
+ "version": "1.0.18",
4
+ "description": "CLI tool for ThinkingAI (AE) analytics platform",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "ae-cli": "bin/ae-cli.js"
@@ -33,7 +33,7 @@
33
33
  "analytics",
34
34
  "cli"
35
35
  ],
36
- "author": "ThinkingAI",
36
+ "author": "ThinkingData",
37
37
  "license": "MIT",
38
38
  "engines": {
39
39
  "node": ">=18.0.0"
@@ -0,0 +1,287 @@
1
+ ---
2
+ name: ae-analysis
3
+ version: 3.0.0
4
+ description: "AE/TE/ThinkingEngine/ThinkingAI ae-cli manual for analysis-side tasks in the AE system or analysis platform: reports, dashboards, alerts, ad hoc analysis, drilldown, audience clusters, tags, tag members, metrics and metric definitions, events, properties, virtual events, virtual properties, metadata, project configuration, tracking plans, event tracking, mark times, project lists, and resource links. Use when the user asks to query, create, update, refresh, inspect, troubleshoot, govern, or manage these AE analysis assets. Must use ae-cli, read the matching references/<tool_name>.md command manual before composing commands, and never guess command names, flags, JSON payloads, project_id, resource IDs, or parameter formats."
5
+ metadata:
6
+ requires:
7
+ bins: ["ae-cli"]
8
+ cliHelp: "ae-cli --help"
9
+ ---
10
+
11
+ # ae-analysis
12
+
13
+ > **CRITICAL - This skill is self-contained.** Use the Global AE CLI Rules below; do not require a separate shared skill for analysis-side tasks.
14
+ > **CRITICAL - For all commands that require `project_id`, you MUST satisfy `PROJECT_ID_GATE` first (no guessing): verify the project by ID/name with `analysis_common +list_projects` only when there is no valid project context yet, when the user switches project/host/environment, or when the supplied project is ambiguous. Reuse a project already verified in the same continuous conversation and same host/environment.**
15
+ > **CRITICAL - For write operations in this skill, you MUST complete the post-write link loop when applicable:** after success and extractable `resource_id`, call `analysis_common +get_resource_url` and return the main result + resource link (or explicit link-failure reason).
16
+ > **CRITICAL - Before running any `+<tool_name>` command, you MUST first read the corresponding `references/<tool_name>.md`.** The reference filename always equals the command name without the leading `+`, for example `+query_adhoc` -> `references/query_adhoc.md`.
17
+
18
+ ## Global AE CLI Rules
19
+
20
+ AE CLI (`ae-cli`) is the command-line tool for the AE / TE / ThinkingEngine analysis platform. For AE analysis-side requests, prefer `ae-cli` and this skill's reference docs over model memory.
21
+
22
+ Authentication priority:
23
+ 1. `TE_TOKEN` environment variable.
24
+ 2. Cached token in `~/.ae-cli/tokens.json`, usually valid for 20 hours.
25
+ 3. macOS Chrome token extraction via `ae-cli auth login`.
26
+
27
+ Useful authentication commands:
28
+
29
+ ```bash
30
+ ae-cli auth login
31
+ ae-cli auth status
32
+ ae-cli auth logout
33
+ ```
34
+
35
+ Global parameters:
36
+
37
+ | Parameter | Description |
38
+ |---|---|
39
+ | `--host <host>` | Target AE host. Use when the environment is not the default host. |
40
+ | `--format <json|table>` | Output format. Default is JSON. |
41
+ | `--jq <expr>` | jq filter expression for JSON output. |
42
+ | `--dry-run` | Preview the request without executing it. |
43
+ | `--yes` | Skip confirmation for write operations. Use only when the user intent is explicit or automation requires it. |
44
+
45
+ Output and errors:
46
+ - Successful commands return machine-readable JSON by default.
47
+ - Failed commands return `{ "ok": false, "error": { "type": "...", "message": "...", "hint": "..." } }` and exit non-zero.
48
+ - On auth/config errors, check `ae-cli auth status`, host configuration, and the target environment before retrying.
49
+
50
+ Safety constraints:
51
+ - Read commands can execute directly after required IDs and references are verified.
52
+ - Write commands require explicit user intent and normally keep the confirmation prompt.
53
+ - Use `--dry-run` before risky or complex writes.
54
+ - Never invent command names, flags, JSON payloads, `project_id`, resource IDs, field names, event names, property names, metric definitions, or date formats. Read the matching command reference and discover real project metadata first.
55
+ - **NEVER fabricate or guess resource names** (reports, dashboards, events, properties, metrics, clusters, tags, alerts). Always use list commands to discover real resources first. If a resource is not found after fuzzy search and full list fallback, explicitly tell the user "resource not found" and stop - do not proceed with fabricated names.
56
+
57
+ Language consistency:
58
+ - **Input-output language matching**: Always respond in the same language as the user's input.
59
+ - User asks in Chinese → Respond in Chinese, including result interpretation and error messages
60
+ - User asks in English → Respond in English
61
+ - **CLI output handling**: CLI returns JSON in English, but your interpretation and summary MUST match user's language
62
+ - **Resource names**: Keep original resource names as-is (don't translate), but descriptions and explanations should match user's language
63
+ - **Error messages**: Translate CLI error messages to user's language when presenting results
64
+
65
+ ## When to Use
66
+
67
+ Use `ae-analysis` for all AE analysis-side work below:
68
+
69
+ - Domain `analysis`: alerts, reports/dashboards, ad-hoc model analysis, drilldown, entity/event details, schema helpers.
70
+ - Domain `analysis_audience`: clusters/tags and definition schemas.
71
+ - Domain `analysis_meta`: metadata governance, metrics, virtual metadata, project config, tracking plans, mark times, entity catalog.
72
+ - Domain `analysis_common`: project listing and post-write resource links.
73
+
74
+ If user intent is Engage/DataOps/Community, switch to `ae-engage` / `ae-dataops` / `ae-community`.
75
+
76
+ ## Command Format
77
+
78
+ - `ae-cli analysis +<tool_name> [options]`
79
+ - `ae-cli analysis_audience +<tool_name> [options]`
80
+ - `ae-cli analysis_meta +<tool_name> [options]`
81
+ - `ae-cli analysis_common +<tool_name> [options]`
82
+
83
+ Conventions:
84
+ - CLI flags use underscores, e.g. `--project_id`.
85
+ - MCP params map automatically to camelCase.
86
+ - JSON args pass as JSON string literals.
87
+ - Write operations require confirmation unless `--yes`.
88
+
89
+ ## Mandatory Constraints
90
+
91
+ ### A. PROJECT_ID_GATE
92
+
93
+ For any command requiring `project_id`:
94
+ 1. If the same continuous conversation already has a verified project context (`project_id`, project name when known, and host/environment), reuse it directly for follow-up commands.
95
+ 2. Call `analysis_common +list_projects` only when no verified project context exists, the user provides a new project ID/name, the user switches host/environment, the user asks to list projects, or the current project is ambiguous.
96
+ 3. Verify any new user-provided ID or name against returned projects before using it.
97
+ 4. If the user supplied an exact `project_id` and it uniquely matches one returned project in the intended host/environment, continue with that ID.
98
+ 5. If the project is missing, the name is ambiguous, the host/environment is unclear, or the supplied ID/name does not uniquely match, show candidate projects and stop for user choice.
99
+ 6. Do not use sample project IDs from reference docs as real IDs.
100
+ 7. When reusing verified project context, mention the reused `project_id` briefly if it helps the user understand why `+list_projects` was not called again.
101
+
102
+ ### B. Write-operation Post-link Completion
103
+
104
+ When these writes succeed and `resource_id` is extractable, call `analysis_common +get_resource_url` and append link output:
105
+ - `dashboard`: `+create_dashboard`, `+update_dashboard`
106
+ - `report`: `+create_report`
107
+ - `metric`: `+create_metric`, `+update_metric`
108
+ - `alert`: `+create_alert`, `+update_alert`
109
+ - `tag`: `+create_tag`, `+update_tag`
110
+ - `cluster`: `+create_cluster`, `+create_result_cluster`, `+update_cluster`
111
+ - `virtual_event`: `+create_virtual_event`
112
+ - `event_virtual_prop` / `user_virtual_prop`: `+create_virtual_property`
113
+ - `super_event` / `super_prop_event` / `super_prop_user`: `+batch_create_metadata`, `+batch_edit_metadata`
114
+
115
+ Closed-loop check (must be explicit in result):
116
+ - Write result
117
+ - `resource_id` checked
118
+ - `+get_resource_url` called or skipped (no ID)
119
+ - Link completion status
120
+
121
+ ### C. FUZZY_SEARCH_FALLBACK
122
+
123
+ For list commands with `--query` parameter (list_reports, list_dashboards, list_events, list_clusters, list_tags, list_alerts, list_metrics):
124
+
125
+ 1. **First attempt**: Use `--query` with user-provided keyword for fuzzy search
126
+ 2. **If no results found**, retry up to 2 more times with:
127
+ - Broader keywords (remove modifiers, use root words)
128
+ - Alternative terms or synonyms
129
+ 3. **After 3 failed fuzzy attempts**, fall back to full list (omit `--query`)
130
+ 4. **Present full list** to user and ask them to identify the target resource
131
+ 5. **Never proceed** with operations on non-existent resources
132
+
133
+ **Example workflow:**
134
+ - User asks: "Find active user report"
135
+ - Attempt 1: `--query "active user"` → no results
136
+ - Attempt 2: `--query "active"` → no results
137
+ - Attempt 3: `--query "user"` → no results
138
+ - Fallback: list all reports, show to user, ask for selection
139
+
140
+ ### D. QUERY_EXISTING_FIRST
141
+
142
+ Before executing ad-hoc queries (`query_adhoc`), MUST check for existing reports/dashboards first:
143
+
144
+ **Mandatory workflow for data queries:**
145
+
146
+ 1. **Identify user intent** - Extract what metrics/dimensions/filters the user wants
147
+ 2. **Search existing reports** - Use `list_reports --query <keyword>` to find matching reports
148
+ 3. **Search existing dashboards** - Use `list_dashboards --query <keyword>` to find matching dashboards
149
+ 4. **If found** - Use `query_report_data` or `query_dashboard_report_data` to get data from existing assets
150
+ 5. **If not found** - Only then use `query_adhoc` for ad-hoc analysis
151
+
152
+ **Rationale:**
153
+ - **Performance**: Existing reports are pre-computed and faster
154
+ - **Consistency**: Reports have business-defined metrics and calibrated logic
155
+ - **Resource efficiency**: Avoid redundant computation
156
+ - **Permissions**: Users may have report access but not ad-hoc query permissions
157
+
158
+ **Example:**
159
+ - User: "Query active users in last 7 days"
160
+ - Step 1: `list_reports --query "active user"` → found "DAU Active Users Report"
161
+ - Step 2: `query_report_data --report_id <id>` → return data
162
+ - ❌ WRONG: Directly use `query_adhoc` without checking existing reports
163
+
164
+ **Exceptions (when ad-hoc is acceptable):**
165
+ - User explicitly requests "ad-hoc query" or "ad-hoc analysis"
166
+ - User wants custom filters/groupings not available in existing reports
167
+ - User is exploring data for new insights (exploratory analysis)
168
+ - No matching reports found after search + fallback
169
+
170
+ ## Tool Groups (69)
171
+
172
+ ### analysis (31)
173
+
174
+ Alerts (5):
175
+ - `+get_alert_definition_schema` ([doc](references/get_alert_definition_schema.md))
176
+ - `+list_alerts` ([doc](references/list_alerts.md))
177
+ - `+get_alert` ([doc](references/get_alert.md))
178
+ - `+create_alert` ([doc](references/create_alert.md))
179
+ - `+update_alert` ([doc](references/update_alert.md))
180
+
181
+ Reports and Dashboards (13):
182
+ - `+create_report` ([doc](references/create_report.md))
183
+ - `+get_report_definition` ([doc](references/get_report_definition.md))
184
+ - `+list_reports` ([doc](references/list_reports.md))
185
+ - `+query_report_data` ([doc](references/query_report_data.md))
186
+ - `+create_dashboard` ([doc](references/create_dashboard.md))
187
+ - `+list_dashboards` ([doc](references/list_dashboards.md))
188
+ - `+query_dashboard_detail` ([doc](references/query_dashboard_detail.md))
189
+ - `+query_dashboard_report_data` ([doc](references/query_dashboard_report_data.md))
190
+ - `+update_dashboard` ([doc](references/update_dashboard.md))
191
+ - `+create_or_update_dashboard_note` ([doc](references/create_or_update_dashboard_note.md))
192
+ - `+list_public_access_links` ([doc](references/list_public_access_links.md))
193
+ - `+create_public_access_link` ([doc](references/create_public_access_link.md))
194
+ - `+update_public_access_link` ([doc](references/update_public_access_link.md))
195
+
196
+ Model Analysis (6):
197
+ - `+query_adhoc` ([doc](references/query_adhoc.md))
198
+ - `+drilldown_users` ([doc](references/drilldown_users.md))
199
+ - `+drilldown_user_events` ([doc](references/drilldown_user_events.md))
200
+ - `+create_result_cluster` ([doc](references/create_result_cluster.md))
201
+ - `+load_filters` ([doc](references/load_filters.md))
202
+ - `+get_table_columns` ([doc](references/get_table_columns.md))
203
+
204
+ Entity/Event Details (4):
205
+ - `+query_entity_details` ([doc](references/query_entity_details.md))
206
+ - `+query_event_details` ([doc](references/query_event_details.md))
207
+ - `+build_entity_details_sql` ([doc](references/build_entity_details_sql.md))
208
+ - `+build_event_details_sql` ([doc](references/build_event_details_sql.md))
209
+
210
+ Schema (3):
211
+ - `+get_analysis_query_schema` ([doc](references/get_analysis_query_schema.md))
212
+ - `+get_filter_schema` ([doc](references/get_filter_schema.md))
213
+ - `+get_groupby_schema` ([doc](references/get_groupby_schema.md))
214
+
215
+ ### analysis_audience (14)
216
+
217
+ Clusters (6):
218
+ - `+create_cluster` ([doc](references/create_cluster.md))
219
+ - `+get_clusters_by_name` ([doc](references/get_clusters_by_name.md))
220
+ - `+list_cluster_members` ([doc](references/list_cluster_members.md))
221
+ - `+list_clusters` ([doc](references/list_clusters.md))
222
+ - `+update_cluster` ([doc](references/update_cluster.md))
223
+ - `+refresh_cluster` ([doc](references/refresh_cluster.md))
224
+
225
+ Tags (6):
226
+ - `+create_tag` ([doc](references/create_tag.md))
227
+ - `+get_tags_by_name` ([doc](references/get_tags_by_name.md))
228
+ - `+list_tag_members` ([doc](references/list_tag_members.md))
229
+ - `+list_tags` ([doc](references/list_tags.md))
230
+ - `+update_tag` ([doc](references/update_tag.md))
231
+ - `+refresh_tag` ([doc](references/refresh_tag.md))
232
+
233
+ Schema Definitions (2):
234
+ - `+get_cluster_definition_schema` ([doc](references/get_cluster_definition_schema.md))
235
+ - `+get_tag_definition_schema` ([doc](references/get_tag_definition_schema.md))
236
+
237
+ ### analysis_meta (20)
238
+
239
+ Metadata and Governance (10):
240
+ - `+list_events` ([doc](references/list_events.md))
241
+ - `+list_properties` ([doc](references/list_properties.md))
242
+ - `+list_metrics` ([doc](references/list_metrics.md))
243
+ - `+get_metric` ([doc](references/get_metric.md))
244
+ - `+create_metric` ([doc](references/create_metric.md))
245
+ - `+update_metric` ([doc](references/update_metric.md))
246
+ - `+batch_edit_metadata` ([doc](references/batch_edit_metadata.md))
247
+ - `+batch_create_metadata` ([doc](references/batch_create_metadata.md))
248
+ - `+create_virtual_event` ([doc](references/create_virtual_event.md))
249
+ - `+create_virtual_property` ([doc](references/create_virtual_property.md))
250
+
251
+ Project and Tracking (11):
252
+ - `+get_project_config` ([doc](references/get_project_config.md))
253
+ - `+list_project_users` ([doc](references/list_project_users.md))
254
+ - `+get_track_program` ([doc](references/get_track_program.md))
255
+ - `+save_track_items` ([doc](references/save_track_items.md))
256
+ - `+delete_track_items` ([doc](references/delete_track_items.md))
257
+ - `+generate_track_program` ([doc](references/generate_track_program.md))
258
+ - `+generate_track_sdk_sample` ([doc](references/generate_track_sdk_sample.md))
259
+ - `+create_project_mark_time` ([doc](references/create_project_mark_time.md))
260
+ - `+update_project_mark_time` ([doc](references/update_project_mark_time.md))
261
+ - `+list_project_mark_times` ([doc](references/list_project_mark_times.md))
262
+ - `+delete_project_mark_times` ([doc](references/delete_project_mark_times.md))
263
+
264
+ Entity Catalog (1):
265
+ - `+list_entities` ([doc](references/list_entities.md))
266
+
267
+ ### analysis_common (2)
268
+
269
+ - `+list_projects` ([doc](references/list_projects.md))
270
+ - `+get_resource_url` ([doc](references/get_resource_url.md))
271
+
272
+ ## Quick Verification
273
+
274
+ ```bash
275
+ ae-cli analysis --help
276
+ ae-cli analysis_audience --help
277
+ ae-cli analysis_meta --help
278
+ ae-cli analysis_common --help
279
+ npm run verify:analysis-tools
280
+ npm run verify:analysis-audience-tools
281
+ npm run verify:analysis-meta-tools
282
+ npm run verify:analysis-common-tools
283
+ ```
284
+
285
+ ## Reference Docs
286
+
287
+ See the unified `references/` directory (69 command docs total).
@@ -1,6 +1,6 @@
1
1
  # analysis_meta +batch_create_metadata (Batch Create Metadata)
2
2
 
3
- > **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
4
 
5
5
  Domain: **Metadata Query**
6
6
 
@@ -9,8 +9,8 @@ Domain: **Metadata Query**
9
9
 
10
10
  ## Commands
11
11
  ```bash
12
- ae-cli analysis_meta +batch_create_metadata --project_id 1
13
- ae-cli analysis_meta +batch_create_metadata --project_id 1 --events '[{"eventName":"purchase"}]' --event_properties '[{"propName":"price","selectType":"number"}]' --user_properties '[{"propName":"vip_level","selectType":"string"}]'
12
+ ae-cli analysis_meta +batch_create_metadata --project_id <project_id>
13
+ ae-cli analysis_meta +batch_create_metadata --project_id <project_id> --events '[{"eventName":"purchase"}]' --event_properties '[{"propName":"price","selectType":"number"}]' --user_properties '[{"propName":"vip_level","selectType":"string"}]'
14
14
  ae-cli analysis_meta +batch_create_metadata --dry-run
15
15
  ```
16
16
 
@@ -1,6 +1,6 @@
1
1
  # analysis_meta +batch_edit_metadata (Batch Edit Metadata)
2
2
 
3
- > **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
4
 
5
5
  Domain: **Metadata Query**
6
6
 
@@ -10,7 +10,7 @@ Domain: **Metadata Query**
10
10
 
11
11
  ## Command
12
12
  ```bash
13
- ae-cli analysis_meta +batch_edit_metadata --project_id 1 --type event --items '[{"eventName":"purchase","eventDesc":"Purchase"}]'
13
+ ae-cli analysis_meta +batch_edit_metadata --project_id <project_id> --type event --items '[{"eventName":"purchase","eventDesc":"Purchase"}]'
14
14
  ae-cli analysis_meta +batch_edit_metadata --dry-run
15
15
  ```
16
16
 
@@ -1,6 +1,6 @@
1
1
  # analysis +build_entity_details_sql (Generate Entity Details SQL)
2
2
 
3
- > **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
4
 
5
5
  Domain: **Entity details SQL queries**
6
6
 
@@ -11,22 +11,22 @@ Domain: **Entity details SQL queries**
11
11
 
12
12
  ## Mandatory prerequisites (MUST)
13
13
  - Before constructing `--definition` / `--properties`, you must first read and follow these reference documents:
14
- - [`../../te-audience/references/get-cluster-definition-schema.md`](../../te-audience/references/get-cluster-definition-schema.md)
15
- - [`../../te-meta/references/list-events.md`](../../te-meta/references/list-events.md)
16
- - [`../../te-meta/references/list-properties.md`](../../te-meta/references/list-properties.md)
14
+ - [`./get_cluster_definition_schema.md`](./get_cluster_definition_schema.md)
15
+ - [`./list_events.md`](./list_events.md)
16
+ - [`./list_properties.md`](./list_properties.md)
17
17
  - Do not generate the final `definition` / `properties` until the documentation review and prerequisite command calls are complete.
18
18
 
19
19
  ## Prerequisite call chain (required for constructing definition/properties)
20
20
  1. First confirm the cluster type (condition / sql).
21
- 2. Read `get-cluster-definition-schema.md`, then call `ae-cli analysis_audience +get_cluster_definition_schema --cluster_type <condition|sql>` to get the structure.
22
- 3. Read `list-events.md`, then call `ae-cli analysis_meta +list_events --project_id 1`.
23
- 4. Read `list-properties.md`, then call `ae-cli analysis_meta +list_properties --project_id 1`.
21
+ 2. Read `get_cluster_definition_schema.md`, then call `ae-cli analysis_audience +get_cluster_definition_schema --cluster_type <condition|sql>` to get the structure.
22
+ 3. Read `list_events.md`, then call `ae-cli analysis_meta +list_events --project_id <project_id>`.
23
+ 4. Read `list_properties.md`, then call `ae-cli analysis_meta +list_properties --project_id <project_id>`.
24
24
  5. Build `definition` (and optional `properties`) from the schema + metadata, then call `+build_entity_details_sql`.
25
25
 
26
26
  ## Command
27
27
  ```bash
28
- ae-cli analysis +build_entity_details_sql --project_id 1 --definition '{}'
29
- ae-cli analysis +build_entity_details_sql --project_id 1 --entity_id 1001 --definition '{}' --properties '{}' --sort_by time --sort_order desc --limit 100 --zone_offset 8
28
+ ae-cli analysis +build_entity_details_sql --project_id <project_id> --definition '{}'
29
+ ae-cli analysis +build_entity_details_sql --project_id <project_id> --entity_id 1001 --definition '{}' --properties '{}' --sort_by time --sort_order desc --limit 100 --zone_offset 8
30
30
  ae-cli analysis +build_entity_details_sql --dry-run
31
31
  ```
32
32
 
@@ -1,6 +1,6 @@
1
1
  # analysis +build_event_details_sql (generate event detail SQL)
2
2
 
3
- > **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
4
 
5
5
  Domain: **Event Detail SQL Queries**
6
6
 
@@ -11,21 +11,21 @@ Domain: **Event Detail SQL Queries**
11
11
 
12
12
  ## Mandatory Prerequisites (MUST)
13
13
  - Before building `--filters` / `--properties`, you must first read and follow the following reference docs:
14
- - [`./get-filter-schema.md`](./get-filter-schema.md)
15
- - [`../../te-meta/references/list-events.md`](../../te-meta/references/list-events.md)
16
- - [`../../te-meta/references/list-properties.md`](../../te-meta/references/list-properties.md)
14
+ - [`./get_filter_schema.md`](./get_filter_schema.md)
15
+ - [`./list_events.md`](./list_events.md)
16
+ - [`./list_properties.md`](./list_properties.md)
17
17
  - Do not generate final `filters` / `properties` until the above docs have been read and the prerequisite commands have been called.
18
18
 
19
19
  ## Prerequisite Call Chain (required for filters/properties)
20
- 1. Read `get-filter-schema.md`, then call `ae-cli analysis +get_filter_schema` to get the filter structure.
21
- 2. Read `list-events.md`, then call `ae-cli analysis_meta +list_events --project_id 1` to confirm available event names.
22
- 3. Read `list-properties.md`, then call `ae-cli analysis_meta +list_properties --project_id 1` to get available properties.
20
+ 1. Read `get_filter_schema.md`, then call `ae-cli analysis +get_filter_schema` to get the filter structure.
21
+ 2. Read `list_events.md`, then call `ae-cli analysis_meta +list_events --project_id <project_id>` to confirm available event names.
22
+ 3. Read `list_properties.md`, then call `ae-cli analysis_meta +list_properties --project_id <project_id>` to get available properties.
23
23
  4. Build `filters` / `properties` based on the schema and metadata, then call `+build_event_details_sql`.
24
24
 
25
25
  ## Commands
26
26
  ```bash
27
- ae-cli analysis +build_event_details_sql --project_id 1 --event_name login --start_time '2026-04-08 00:00:00' --end_time '2026-04-08 23:59:59'
28
- ae-cli analysis +build_event_details_sql --project_id 1 --event_name login --relative_date_range 0-7 --filters '{}' --properties '{}' --sort_by time --sort_order desc --limit 100 --zone_offset 8
27
+ ae-cli analysis +build_event_details_sql --project_id <project_id> --event_name login --start_time '2026-04-08 00:00:00' --end_time '2026-04-08 23:59:59'
28
+ ae-cli analysis +build_event_details_sql --project_id <project_id> --event_name login --relative_date_range 0-7 --filters '{}' --properties '{}' --sort_by time --sort_order desc --limit 100 --zone_offset 8
29
29
  ae-cli analysis +build_event_details_sql --dry-run
30
30
  ```
31
31
 
@@ -1,6 +1,6 @@
1
1
  # analysis +create_alert (Create Alert)
2
2
 
3
- > **Prerequisite:** Read [`../te-shared/SKILL.md`](../../te-shared/SKILL.md)
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
4
 
5
5
  Domain: **Metadata queries**
6
6
 
@@ -11,17 +11,17 @@ Domain: **Metadata queries**
11
11
 
12
12
  ## Mandatory prerequisites (MUST)
13
13
  - Before constructing `--definition`, you must first read and follow:
14
- - [`./get-alert-definition-schema.md`](./get-alert-definition-schema.md)
14
+ - [`./get_alert_definition_schema.md`](./get_alert_definition_schema.md)
15
15
  - Do not generate the final `definition` until the documentation review and schema call are complete.
16
16
 
17
17
  ## Prerequisite call chain (required for constructing definition)
18
- 1. Read `get-alert-definition-schema.md` to understand the return structure of `+get_alert_definition_schema`.
18
+ 1. Read `get_alert_definition_schema.md` to understand the return structure of `+get_alert_definition_schema`.
19
19
  2. Call `ae-cli analysis +get_alert_definition_schema` to get the schema.
20
20
  3. Build `definition` from the schema, then call `+create_alert`.
21
21
 
22
22
  ## Command
23
23
  ```bash
24
- ae-cli analysis +create_alert --project_id 1 --definition '{}'
24
+ ae-cli analysis +create_alert --project_id <project_id> --definition '{}'
25
25
  ae-cli analysis +create_alert --dry-run
26
26
  ```
27
27