@thinkingai/ae-cli 6.0.28 → 6.0.29

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 (100) hide show
  1. package/dist/capability-KVA55RMK.js +227 -0
  2. package/dist/capability-LKHLZQPD.js +227 -0
  3. package/dist/chunk-CWZUGF2J.js +26 -0
  4. package/dist/{chunk-YNQFYBDB.js → chunk-OJR23CIK.js} +12 -0
  5. package/dist/chunk-OO6XR6LK.js +26 -0
  6. package/dist/{chunk-C4DH76LX.js → chunk-P2JRP6HJ.js} +4 -21
  7. package/dist/{chunk-LG5YT7P7.js → chunk-S5XN6KEX.js} +4 -21
  8. package/dist/{chunk-BXMXMUD7.js → chunk-THBBNYXI.js} +12 -0
  9. package/dist/index.js +22 -11
  10. package/dist/{metadata-IPSPQBX3.js → metadata-6CCFV4K5.js} +11 -8
  11. package/dist/{metadata-N5REJ7R7.js → metadata-PDOIWH5O.js} +11 -8
  12. package/dist/{te-agent-QLIVKRUN.js → te-agent-FAIBM3SA.js} +5 -5
  13. package/dist/{te-analysis-5WZKVFHI.js → te-analysis-DDXGM7WM.js} +173 -260
  14. package/dist/{te-analysis-KAEZXLNS.js → te-analysis-HCDNYI7E.js} +173 -260
  15. package/dist/{te-audience-XMRMVD2V.js → te-audience-ECFS4GF4.js} +11 -10
  16. package/dist/{te-audience-PVMKQAFH.js → te-audience-WO377T2J.js} +11 -10
  17. package/dist/{te-engage-AGREUOW7.js → te-engage-545HJL6J.js} +4 -4
  18. package/dist/{te-engage-MIIUKY6M.js → te-engage-M7JQSJDP.js} +4 -4
  19. package/dist/{te-kb-KQJ53M3A.js → te-kb-NT33UHAE.js} +1 -1
  20. package/dist/{te-meta-QLANJ4B4.js → te-meta-FADFLTDM.js} +3 -3
  21. package/dist/{te-meta-TOA6FWDE.js → te-meta-PKT27OTN.js} +3 -3
  22. package/dist/{te-team-TQGMNHQQ.js → te-team-RG75PR5D.js} +1 -1
  23. package/package.json +2 -1
  24. package/skills/ae-agent/SKILL.md +4 -3
  25. package/skills/ae-analysis/SKILL.md +35 -16
  26. package/skills/ae-analysis/references/analysis_gateway_assets.md +42 -9
  27. package/skills/ae-analysis/references/asset_abnormal_get.md +3 -3
  28. package/skills/ae-analysis/references/asset_abnormal_list.md +3 -3
  29. package/skills/ae-analysis/references/asset_authentication_list.md +3 -3
  30. package/skills/ae-analysis/references/asset_authentication_update.md +3 -3
  31. package/skills/ae-analysis/references/asset_recent_list.md +3 -3
  32. package/skills/ae-analysis/references/asset_search.md +3 -3
  33. package/skills/ae-analysis/references/build_event_analysis_qp.md +1 -1
  34. package/skills/ae-analysis/references/build_funnel_analysis_qp.md +1 -1
  35. package/skills/ae-analysis/references/build_prop_analysis_qp.md +1 -1
  36. package/skills/ae-analysis/references/build_retention_analysis_qp.md +1 -1
  37. package/skills/ae-analysis/references/cancel_query.md +1 -1
  38. package/skills/ae-analysis/references/datatable_columns_get.md +3 -3
  39. package/skills/ae-analysis/references/datatable_influence_list.md +3 -3
  40. package/skills/ae-analysis/references/datatable_version_get.md +3 -3
  41. package/skills/ae-analysis/references/datatable_version_list.md +3 -3
  42. package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
  43. package/skills/ae-analysis/references/event_changelog_list.md +3 -3
  44. package/skills/ae-analysis/references/event_create.md +3 -3
  45. package/skills/ae-analysis/references/event_delete.md +3 -3
  46. package/skills/ae-analysis/references/event_get.md +3 -3
  47. package/skills/ae-analysis/references/event_hide_update.md +3 -3
  48. package/skills/ae-analysis/references/event_influence_list.md +3 -3
  49. package/skills/ae-analysis/references/event_list.md +3 -3
  50. package/skills/ae-analysis/references/event_relation_update.md +3 -3
  51. package/skills/ae-analysis/references/event_update.md +3 -3
  52. package/skills/ae-analysis/references/exchange_config_update.md +3 -3
  53. package/skills/ae-analysis/references/exchange_rate_refresh.md +3 -3
  54. package/skills/ae-analysis/references/exchange_rule_list.md +3 -3
  55. package/skills/ae-analysis/references/exchange_rule_update.md +3 -3
  56. package/skills/ae-analysis/references/exchange_rule_validate.md +3 -3
  57. package/skills/ae-analysis/references/folder_create.md +18 -6
  58. package/skills/ae-analysis/references/folder_delete.md +21 -6
  59. package/skills/ae-analysis/references/folder_share.md +16 -6
  60. package/skills/ae-analysis/references/get_analysis_query_schema.md +17 -18
  61. package/skills/ae-analysis/references/get_report_definition.md +1 -1
  62. package/skills/ae-analysis/references/list_events.md +1 -1
  63. package/skills/ae-analysis/references/list_metrics.md +1 -1
  64. package/skills/ae-analysis/references/list_properties.md +1 -1
  65. package/skills/ae-analysis/references/metric_create.md +3 -3
  66. package/skills/ae-analysis/references/metric_delete.md +3 -3
  67. package/skills/ae-analysis/references/metric_get.md +3 -3
  68. package/skills/ae-analysis/references/metric_list.md +3 -3
  69. package/skills/ae-analysis/references/metric_update.md +3 -3
  70. package/skills/ae-analysis/references/project_space_create.md +19 -5
  71. package/skills/ae-analysis/references/project_space_delete.md +23 -6
  72. package/skills/ae-analysis/references/project_space_share.md +16 -6
  73. package/skills/ae-analysis/references/property_changelog_list.md +3 -3
  74. package/skills/ae-analysis/references/property_create.md +3 -3
  75. package/skills/ae-analysis/references/property_delete.md +3 -3
  76. package/skills/ae-analysis/references/property_get.md +3 -3
  77. package/skills/ae-analysis/references/property_hide_update.md +3 -3
  78. package/skills/ae-analysis/references/property_influence_list.md +3 -3
  79. package/skills/ae-analysis/references/property_list.md +3 -3
  80. package/skills/ae-analysis/references/property_related_events.md +3 -3
  81. package/skills/ae-analysis/references/property_relation_update.md +3 -3
  82. package/skills/ae-analysis/references/property_update.md +3 -3
  83. package/skills/ae-analysis/references/query_adhoc.md +34 -21
  84. package/skills/ae-analysis/references/super_metadata_export.md +4 -4
  85. package/skills/ae-analysis/references/super_metadata_import.md +3 -3
  86. package/skills/ae-analysis/references/update_report.md +3 -3
  87. package/skills/ae-analysis/references/virtual_event_create.md +3 -3
  88. package/skills/ae-analysis/references/virtual_event_delete.md +3 -3
  89. package/skills/ae-analysis/references/virtual_event_get.md +3 -3
  90. package/skills/ae-analysis/references/virtual_property_create.md +3 -3
  91. package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +3 -3
  92. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
  93. package/skills/ae-capability/SKILL.md +103 -0
  94. package/skills/ae-community/SKILL.md +1 -1
  95. package/skills/ae-dataops/references/dataops-integration.md +3 -3
  96. package/skills/ae-engage/SKILL.md +5 -5
  97. package/skills/ae-metadata/references/metadata_data_table_sql_write.md +60 -8
  98. package/skills/ae-team/SKILL.md +1 -1
  99. package/skills/ae-analysis/references/folder_members.md +0 -15
  100. package/skills/ae-analysis/references/project_space_members.md +0 -15
@@ -142,14 +142,12 @@ var buildClusterDefinition = createMcpCommand({
142
142
  ],
143
143
  risk: "read",
144
144
  buildArgs: (ctx) => ({
145
- request: {
146
- projectId: ctx.num("project_id"),
147
- type: ctx.str("type"),
148
- conditions: optionalJson(ctx, "conditions"),
149
- includeFilter: optionalJson(ctx, "include_filter"),
150
- excludeFilter: optionalJson(ctx, "exclude_filter"),
151
- sql: optionalString(ctx, "sql")
152
- },
145
+ projectId: ctx.num("project_id"),
146
+ type: ctx.str("type"),
147
+ conditions: optionalJson(ctx, "conditions"),
148
+ includeFilter: optionalJson(ctx, "include_filter"),
149
+ excludeFilter: optionalJson(ctx, "exclude_filter"),
150
+ sql: optionalString(ctx, "sql"),
153
151
  authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
154
152
  })
155
153
  });
@@ -234,6 +232,7 @@ var createIdCluster = createMcpCommand({
234
232
  { name: "main_column_name", type: "string", required: false, desc: "Optional main column name for ID matching" }
235
233
  ],
236
234
  risk: "write",
235
+ mcpService: "te_analysis_extend",
237
236
  buildArgs: (ctx) => ({
238
237
  projectId: ctx.num("project_id"),
239
238
  displayName: ctx.str("display_name"),
@@ -248,6 +247,7 @@ var createIdCluster = createMcpCommand({
248
247
  // src/commands/te-audience/cluster/update-id-cluster.ts
249
248
  var updateIdCluster = createMcpCommand({
250
249
  command: "+update_id_cluster",
250
+ mcpService: "te_analysis_extend",
251
251
  description: "Update an existing ID cluster by re-uploading CSV file content as plain text. The cluster is identified by cluster_name. The operation is asynchronous.",
252
252
  flags: [
253
253
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
@@ -271,13 +271,14 @@ var updateIdCluster = createMcpCommand({
271
271
  // src/commands/te-audience/cluster/delete-cluster.ts
272
272
  var deleteCluster = createMcpCommand({
273
273
  command: "+delete_cluster",
274
+ mcpService: "te_analysis_extend",
274
275
  description: "Delete a cluster by clusterName. If dependencies exist, shows an influence list and requires --confirmed to proceed.",
275
276
  flags: [
276
277
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
277
278
  { name: "cluster_name", type: "string", required: true, desc: "Cluster name to delete" },
278
279
  { name: "confirmed", type: "boolean", required: false, desc: "Pass after user explicitly confirms deletion despite listed dependencies" }
279
280
  ],
280
- risk: "write",
281
+ risk: "high-risk-write",
281
282
  buildArgs: (ctx) => ({
282
283
  projectId: ctx.num("project_id"),
283
284
  clusterName: ctx.str("cluster_name"),
@@ -523,7 +524,7 @@ var deleteTag = createMcpCommand({
523
524
  { name: "tag_name", type: "string", required: true, desc: "Tag name to delete" },
524
525
  { name: "confirmed", type: "boolean", required: false, desc: "Pass after user explicitly confirms deletion despite listed dependencies" }
525
526
  ],
526
- risk: "write",
527
+ risk: "high-risk-write",
527
528
  buildArgs: (ctx) => ({
528
529
  projectId: ctx.num("project_id"),
529
530
  tagName: ctx.str("tag_name"),
@@ -142,14 +142,12 @@ var buildClusterDefinition = createMcpCommand({
142
142
  ],
143
143
  risk: "read",
144
144
  buildArgs: (ctx) => ({
145
- request: {
146
- projectId: ctx.num("project_id"),
147
- type: ctx.str("type"),
148
- conditions: optionalJson(ctx, "conditions"),
149
- includeFilter: optionalJson(ctx, "include_filter"),
150
- excludeFilter: optionalJson(ctx, "exclude_filter"),
151
- sql: optionalString(ctx, "sql")
152
- },
145
+ projectId: ctx.num("project_id"),
146
+ type: ctx.str("type"),
147
+ conditions: optionalJson(ctx, "conditions"),
148
+ includeFilter: optionalJson(ctx, "include_filter"),
149
+ excludeFilter: optionalJson(ctx, "exclude_filter"),
150
+ sql: optionalString(ctx, "sql"),
153
151
  authenticatedOnly: optionalBoolean(ctx, "authenticated_only")
154
152
  })
155
153
  });
@@ -234,6 +232,7 @@ var createIdCluster = createMcpCommand({
234
232
  { name: "main_column_name", type: "string", required: false, desc: "Optional main column name for ID matching" }
235
233
  ],
236
234
  risk: "write",
235
+ mcpService: "te_analysis_extend",
237
236
  buildArgs: (ctx) => ({
238
237
  projectId: ctx.num("project_id"),
239
238
  displayName: ctx.str("display_name"),
@@ -248,6 +247,7 @@ var createIdCluster = createMcpCommand({
248
247
  // src/commands/te-audience/cluster/update-id-cluster.ts
249
248
  var updateIdCluster = createMcpCommand({
250
249
  command: "+update_id_cluster",
250
+ mcpService: "te_analysis_extend",
251
251
  description: "Update an existing ID cluster by re-uploading CSV file content as plain text. The cluster is identified by cluster_name. The operation is asynchronous.",
252
252
  flags: [
253
253
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
@@ -271,13 +271,14 @@ var updateIdCluster = createMcpCommand({
271
271
  // src/commands/te-audience/cluster/delete-cluster.ts
272
272
  var deleteCluster = createMcpCommand({
273
273
  command: "+delete_cluster",
274
+ mcpService: "te_analysis_extend",
274
275
  description: "Delete a cluster by clusterName. If dependencies exist, shows an influence list and requires --confirmed to proceed.",
275
276
  flags: [
276
277
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
277
278
  { name: "cluster_name", type: "string", required: true, desc: "Cluster name to delete" },
278
279
  { name: "confirmed", type: "boolean", required: false, desc: "Pass after user explicitly confirms deletion despite listed dependencies" }
279
280
  ],
280
- risk: "write",
281
+ risk: "high-risk-write",
281
282
  buildArgs: (ctx) => ({
282
283
  projectId: ctx.num("project_id"),
283
284
  clusterName: ctx.str("cluster_name"),
@@ -523,7 +524,7 @@ var deleteTag = createMcpCommand({
523
524
  { name: "tag_name", type: "string", required: true, desc: "Tag name to delete" },
524
525
  { name: "confirmed", type: "boolean", required: false, desc: "Pass after user explicitly confirms deletion despite listed dependencies" }
525
526
  ],
526
- risk: "write",
527
+ risk: "high-risk-write",
527
528
  buildArgs: (ctx) => ({
528
529
  projectId: ctx.num("project_id"),
529
530
  tagName: ctx.str("tag_name"),
@@ -294,7 +294,7 @@ var deleteConfigItem = {
294
294
  { name: "config_id", type: "string", required: true, desc: "Config item ID" },
295
295
  { name: "open_id", type: "string", required: true, desc: "Operator open ID" }
296
296
  ],
297
- risk: "write",
297
+ risk: "high-risk-write",
298
298
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName7, toolName7, buildArgs7(ctx)),
299
299
  execute: async (ctx) => executeMcpCommand(ctx, serviceName7, toolName7, buildArgs7(ctx))
300
300
  };
@@ -426,7 +426,7 @@ var deleteFlow = {
426
426
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
427
427
  { name: "flow_uuid_list", type: "json", required: true, desc: "Flow UUID list as JSON array" }
428
428
  ],
429
- risk: "write",
429
+ risk: "high-risk-write",
430
430
  validate: (ctx) => {
431
431
  readRequiredJsonArray(ctx, "flow_uuid_list");
432
432
  },
@@ -1053,7 +1053,7 @@ var deleteChannel = {
1053
1053
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
1054
1054
  { name: "channel_id", type: "string", required: true, desc: "Channel ID" }
1055
1055
  ],
1056
- risk: "write",
1056
+ risk: "high-risk-write",
1057
1057
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName31, toolName31, buildArgs31(ctx)),
1058
1058
  execute: async (ctx) => executeMcpCommand(ctx, serviceName31, toolName31, buildArgs31(ctx))
1059
1059
  };
@@ -1075,7 +1075,7 @@ var deleteConfigChannel = {
1075
1075
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
1076
1076
  { name: "channel_id", type: "string", required: true, desc: "Config channel ID" }
1077
1077
  ],
1078
- risk: "write",
1078
+ risk: "high-risk-write",
1079
1079
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName32, toolName32, buildArgs32(ctx)),
1080
1080
  execute: async (ctx) => executeMcpCommand(ctx, serviceName32, toolName32, buildArgs32(ctx))
1081
1081
  };
@@ -294,7 +294,7 @@ var deleteConfigItem = {
294
294
  { name: "config_id", type: "string", required: true, desc: "Config item ID" },
295
295
  { name: "open_id", type: "string", required: true, desc: "Operator open ID" }
296
296
  ],
297
- risk: "write",
297
+ risk: "high-risk-write",
298
298
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName7, toolName7, buildArgs7(ctx)),
299
299
  execute: async (ctx) => executeMcpCommand(ctx, serviceName7, toolName7, buildArgs7(ctx))
300
300
  };
@@ -426,7 +426,7 @@ var deleteFlow = {
426
426
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
427
427
  { name: "flow_uuid_list", type: "json", required: true, desc: "Flow UUID list as JSON array" }
428
428
  ],
429
- risk: "write",
429
+ risk: "high-risk-write",
430
430
  validate: (ctx) => {
431
431
  readRequiredJsonArray(ctx, "flow_uuid_list");
432
432
  },
@@ -1053,7 +1053,7 @@ var deleteChannel = {
1053
1053
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
1054
1054
  { name: "channel_id", type: "string", required: true, desc: "Channel ID" }
1055
1055
  ],
1056
- risk: "write",
1056
+ risk: "high-risk-write",
1057
1057
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName31, toolName31, buildArgs31(ctx)),
1058
1058
  execute: async (ctx) => executeMcpCommand(ctx, serviceName31, toolName31, buildArgs31(ctx))
1059
1059
  };
@@ -1075,7 +1075,7 @@ var deleteConfigChannel = {
1075
1075
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
1076
1076
  { name: "channel_id", type: "string", required: true, desc: "Config channel ID" }
1077
1077
  ],
1078
- risk: "write",
1078
+ risk: "high-risk-write",
1079
1079
  dryRun: (ctx) => buildMcpDryRun(ctx, serviceName32, toolName32, buildArgs32(ctx)),
1080
1080
  execute: async (ctx) => executeMcpCommand(ctx, serviceName32, toolName32, buildArgs32(ctx))
1081
1081
  };
@@ -315,7 +315,7 @@ var remove = {
315
315
  flags: [
316
316
  { name: "name", type: "string", required: true, desc: "Knowledge base name to delete" }
317
317
  ],
318
- risk: "write",
318
+ risk: "high-risk-write",
319
319
  dryRun: (ctx) => ({
320
320
  method: "DELETE",
321
321
  url: `${ctx.host().replace(/\/$/, "")}${API_PATH4}`,
@@ -304,7 +304,7 @@ var deleteMetric = createMcpCommand({
304
304
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
305
305
  { name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
306
306
  ],
307
- risk: "write",
307
+ risk: "high-risk-write",
308
308
  mcpService: "te_analysis_extend",
309
309
  buildArgs: (ctx) => ({
310
310
  projectId: ctx.num("project_id"),
@@ -392,7 +392,7 @@ var deleteTrackItems = createMcpCommand({
392
392
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
393
393
  { name: "delete_data", type: "json", required: true, desc: "Delete payload JSON object with events/eventPropNames/userPropNames/commonEventPropNames" }
394
394
  ],
395
- risk: "write",
395
+ risk: "high-risk-write",
396
396
  mcpService: "te_analysis_extend",
397
397
  buildArgs: (ctx) => ({
398
398
  projectId: ctx.num("project_id"),
@@ -512,7 +512,7 @@ var deleteProjectMarkTimes = createMcpCommand({
512
512
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
513
513
  { name: "mark_time_ids", type: "json", required: true, desc: "Marker ID list JSON array" }
514
514
  ],
515
- risk: "write",
515
+ risk: "high-risk-write",
516
516
  mcpService: "te_analysis_extend",
517
517
  buildArgs: (ctx) => ({
518
518
  projectId: ctx.num("project_id"),
@@ -304,7 +304,7 @@ var deleteMetric = createMcpCommand({
304
304
  { name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
305
305
  { name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
306
306
  ],
307
- risk: "write",
307
+ risk: "high-risk-write",
308
308
  mcpService: "te_analysis_extend",
309
309
  buildArgs: (ctx) => ({
310
310
  projectId: ctx.num("project_id"),
@@ -392,7 +392,7 @@ var deleteTrackItems = createMcpCommand({
392
392
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
393
393
  { name: "delete_data", type: "json", required: true, desc: "Delete payload JSON object with events/eventPropNames/userPropNames/commonEventPropNames" }
394
394
  ],
395
- risk: "write",
395
+ risk: "high-risk-write",
396
396
  mcpService: "te_analysis_extend",
397
397
  buildArgs: (ctx) => ({
398
398
  projectId: ctx.num("project_id"),
@@ -512,7 +512,7 @@ var deleteProjectMarkTimes = createMcpCommand({
512
512
  { name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
513
513
  { name: "mark_time_ids", type: "json", required: true, desc: "Marker ID list JSON array" }
514
514
  ],
515
- risk: "write",
515
+ risk: "high-risk-write",
516
516
  mcpService: "te_analysis_extend",
517
517
  buildArgs: (ctx) => ({
518
518
  projectId: ctx.num("project_id"),
@@ -120,7 +120,7 @@ var deleteTeam = {
120
120
  flags: [
121
121
  { name: "id", type: "string", required: true, desc: "Team ID" }
122
122
  ],
123
- risk: "write",
123
+ risk: "high-risk-write",
124
124
  dryRun: (ctx) => ({
125
125
  method: "DELETE",
126
126
  url: `${ctx.host().replace(/\/$/, "")}${BASE_TEAM_PATH}/${ctx.str("id")}`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thinkingai/ae-cli",
3
- "version": "6.0.28",
3
+ "version": "6.0.29",
4
4
  "description": "CLI tool for ThinkingAI (AE) analytics platform",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,6 +20,7 @@
20
20
  "build": "tsup src/index.ts --format esm --outDir dist && node scripts/copy-tracking-assets.mjs",
21
21
  "verify:config": "node test/config-commands.test.mjs",
22
22
  "verify:analysis-tools": "tsx scripts/verify-te-analysis-tools.mjs",
23
+ "verify:analysis-contract-regressions": "node test/analysis-contract-regressions.test.mjs",
23
24
  "verify:analysis-cluster-routing": "node scripts/verify-analysis-cluster-routing.mjs",
24
25
  "verify:multi-cluster-mode": "node test/multi-cluster-mode.test.mjs",
25
26
  "verify:metadata-capability": "node test/metadata-capability-commands.test.mjs",
@@ -28,8 +28,9 @@ ae-cli agent +create-automation --help
28
28
 
29
29
  - Use this skill for Agent platform resource management: Agents, automations, models, MCP servers, Skills, attachments, the MCP/Skill market, and Skill copy/approval/share flows.
30
30
  - **Read operations** (`+list-*`) can run directly once required IDs are known.
31
- - **Write operations** require explicit user intent and keep the confirmation prompt by default. Pass `--yes` only in fully automated pipelines.
32
- - Prefer `--dry-run` before destructive writes to inspect the request shape without executing.
31
+ - **Write operations** (`risk: write`) can run directly once required IDs and references are verified.
32
+ - **Delete operations** (`risk: high-risk-write`) require explicit user authorization. Pass `--yes` only after the user confirms.
33
+ - Prefer `--dry-run` before delete operations to inspect the request shape without executing.
33
34
  - Personal and company scope resources can be created/updated/deleted; company scope requires root/agent_admin role; system resources are read-only (exception: root users can approve/reject submissions and set company-scope meta).
34
35
  - Toggle operations on company/system resources only affect the current user's preference, not the global state.
35
36
  - Never invent record IDs. Discover them with `+list-*` commands or accept them from the user.
@@ -41,7 +42,7 @@ ae-cli agent +create-automation --help
41
42
  |---|---|
42
43
  | `--format <json\|table>` | Output format. Default is JSON. |
43
44
  | `--host <url>` | Override the active AE host. Available on every command and may be placed after the subcommand, e.g. `ae-cli agent +<command> --host <url>`. |
44
- | `--yes` | Skip confirmation for write operations. |
45
+ | `--yes` | Skip confirmation for `high-risk-write` (delete) operations. |
45
46
  | `--dry-run` | Show request details (method + URL + body) without executing. |
46
47
 
47
48
  ### Output and Errors
@@ -10,7 +10,9 @@ description: "AE/TE/ThinkingEngine/ThinkingAI ae-cli manual for analysis-side ta
10
10
  > **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.**
11
11
  > **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).
12
12
  > **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`.
13
- > **CRITICAL - Before running any capability-gateway asset command such as `ae-cli analysis dashboard list`, `ae-cli analysis bi-panel get`, `ae-cli analysis project-space create`, or `ae-cli analysis public-link list`, read the matching `references/<resource>_<action>.md` file. Replace hyphens with underscores, for example `analysis dashboard list` -> `references/dashboard_list.md`, `analysis bi-panel get` -> `references/bi_panel_get.md`. Use [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md) only as the overview matrix.**
13
+ > **CRITICAL - Before running any capability-gateway L2 command such as `ae-cli analysis dashboard list`, `ae-cli analysis bi-panel get`, `ae-cli analysis project-space list`, or `ae-cli analysis public-link list`, read the matching `references/<resource>_<action>.md` file. Replace hyphens with underscores, for example `analysis dashboard list` -> `references/dashboard_list.md`, `analysis bi-panel get` -> `references/bi_panel_get.md`. Use [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md) as the overview matrix.**
14
+ > **CRITICAL - Project-space and folder create/delete/share are L3 capabilities only.** Do not use `ae-cli analysis project-space create` or `ae-cli analysis folder create`. Read the matching `references/<resource>_<action>.md` file and invoke via `ae-cli capability inspect/dry-run/run`. For `*.members` read capabilities, use `capability search/inspect/run` per [`ae-capability`](../../ae-capability/SKILL.md) and the L3 matrix in `analysis_gateway_assets.md` — no standalone reference file (see `te-cli/docs/capability-command-admission.md` §10).
15
+ > **CRITICAL - L3 delete capabilities:** user intent is not execution authorization. For `risk=high-risk-write`, dry-run first, summarize in chat, ask for confirmation, and call `capability run ... --yes` only in a later turn after the user explicitly confirms. For `risk=write`, run directly after dry-run. Follow [`ae-capability`](../../ae-capability/SKILL.md) High-Risk Confirmation Workflow.
14
16
 
15
17
  ## Global AE CLI Rules
16
18
 
@@ -31,9 +33,9 @@ Output and errors:
31
33
 
32
34
  Safety constraints:
33
35
 
34
- - Read commands can execute directly after required IDs and references are verified.
35
- - Write commands require explicit user intent and normally keep the confirmation prompt.
36
- - Never invent command names, flags, JSON payloads, `project_id`, resource IDs, field names, event names, property names, metric definitions, or date formats. For builder-supported ad-hoc models (`event`, `retention`, `funnel`, `prop_analysis`), do not pre-discover metadata; pass the user's event/property/metric wording to the matching QP builder and let the builder resolve metadata or return clarification. For non-builder/manual workflows, read the matching command reference and discover real project metadata first.
36
+ - Read and write commands can execute directly after required IDs and references are verified.
37
+ - Delete commands (`high-risk-write`) require explicit user authorization. For L3 `capability run` with `risk=high-risk-write`, dry-run first, then chat confirmation, then `--yes` only after the user authorizes execution in a follow-up message.
38
+ - Never invent command names, flags, JSON payloads, `project_id`, resource IDs, field names, event names, property names, metric definitions, or date formats. For every non-SQL ad-hoc model, do not pre-discover metadata; pass the user's intent to the matching QP builder and let the builder resolve metadata or return clarification. For the SQL manual workflow, read the matching command reference and verify the real project definition first.
37
39
  - **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.
38
40
 
39
41
  ## When to Use
@@ -41,6 +43,7 @@ Safety constraints:
41
43
  Use `ae-analysis` for all AE analysis-side work below:
42
44
 
43
45
  - Domain `analysis`: alerts, reports/dashboards, ad-hoc model analysis, drilldown, entity/event details, schema helpers.
46
+ - Domain `analysis-meta`: capability-gateway metadata assets, events, properties, virtual metadata, metrics, data tables, exchange rules, and super metadata.
44
47
  - Domain `analysis_audience`: clusters/tags and definition schemas.
45
48
  - Domain `analysis_meta`: metadata governance, metrics, virtual metadata, project config, tracking plans, mark times, entity catalog (MCP). For **single** super-event / super-property **detail** on the capability gateway, switch to **`ae-metadata`** skill (`metadata event get`, `metadata property get`).
46
49
  - Domain `analysis_common`: project listing and post-write resource links.
@@ -53,7 +56,9 @@ If user intent is Engage/DataOps/Community/metadata gateway detail, switch to `a
53
56
  - `ae-cli analysis_audience +<tool_name> [options]`
54
57
  - `ae-cli analysis_meta +<tool_name> [options]`
55
58
  - `ae-cli analysis_common +<tool_name> [options]`
56
- - `ae-cli analysis <resource> <action> [options]` for capability-gateway dashboard, BI panel, project-space, folder, favorite, public-link, dashboard-definition, dashboard-daily-report, and async asset data commands.
59
+ - `ae-cli analysis-meta <resource> <action> [options]` for capability-gateway metadata assets, events, properties, virtual metadata, metrics, data tables, exchange rules, and super metadata.
60
+ - `ae-cli analysis <resource> <action> [options]` for curated capability-gateway dashboard, BI panel, project-space list/get, favorite, public-link, dashboard-definition, dashboard-daily-report, and async asset data commands.
61
+ - `ae-cli capability inspect/dry-run/run <capability-id>` for L3 project-space and folder create/delete/share/members capabilities.
57
62
 
58
63
  Conventions:
59
64
 
@@ -61,7 +66,12 @@ Conventions:
61
66
  - Capability-gateway command flags use kebab-case, e.g. `--project-id`, `--dashboard-id`, `--request-id`. The CLI sends snake_case JSON to the gateway.
62
67
  - MCP params map automatically to camelCase.
63
68
  - JSON args pass as JSON string literals.
64
- - Write operations require confirmation unless `--yes`.
69
+ - Write operations require chat confirmation before `--yes`. User describing the desired action does not count as authorization to skip confirmation.
70
+
71
+ Credential lifecycle:
72
+
73
+ - Use `ae-cli auth login`, `ae-cli auth status`, and `ae-cli auth logout` for authentication. There is no separate MCP-token command.
74
+ - After login, the CLI automatically mints, stores, and refreshes the CLI token used by MCP and capability-gateway commands. Never ask the user to set an `mcp-token` manually.
65
75
 
66
76
  ## Capability Gateway Asset Commands
67
77
 
@@ -87,7 +97,8 @@ Use capability-gateway asset commands when the user wants to manage or inspect:
87
97
  - Dashboard definition export/import. Use `dashboard-definition import --validate-only true` for import pre-checks; do not look for a separate import-check command.
88
98
  - Dashboard daily report update or immediate send.
89
99
  - BI panel list/detail/create/update/delete/share/copy, BI panel release/draft version get/publish, and BI page data. Prefer `bi-panel-page-data export` for large results.
90
- - Project spaces, folders, favorites, and public links.
100
+ - Project spaces and folders: use `project-space list/get` for discovery; use L3 capability run for create/delete/share/members.
101
+ - Favorites and public links.
91
102
 
92
103
  Do **not** use these commands for:
93
104
 
@@ -103,7 +114,7 @@ Capability-gateway output:
103
114
  - Export commands return `run_id`, `artifact_id`, status fields, and expiration fields. Use `--artifact-format jsonl` for the artifact format; `--format` is reserved for CLI output formatting. Poll with `ae-cli analysis run inspect --run-id <run_id>` until the run and artifact are complete, then download with `ae-cli analysis artifact download --run-id <run_id> --artifact-id <artifact_id> --output <file>`. Do not call raw inspect/download API paths directly. Cancel with `ae-cli analysis query cancel --run-id <run_id>`.
104
115
  - Unknown input fields and camelCase external fields are rejected by the gateway; use kebab-case CLI flags only.
105
116
 
106
- See [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md) for the command matrix. Before running one command, read its dedicated reference file named as `<resource>_<action>.md`.
117
+ See [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md) for the command matrix. Before running an L2 command, read its dedicated reference file named as `<resource>_<action>.md`. L3 capabilities without a dedicated reference use dynamic discovery per [`ae-capability`](../../ae-capability/SKILL.md).
107
118
 
108
119
  ## Mandatory Constraints
109
120
 
@@ -170,7 +181,7 @@ Before executing ad-hoc queries (`query_adhoc`), MUST check for existing reports
170
181
  2. **Search existing reports** - Use `list_reports --query <keyword>` to find matching reports
171
182
  3. **Search existing dashboards** - Use `analysis dashboard list --query <keyword>` to find matching dashboards
172
183
  4. **If found** - Use `query_report_data` or `analysis dashboard-report-data run/export` to get data from existing assets
173
- 5. **If not found** - For QP builder-supported models (`event`, `retention`, `funnel`, `prop_analysis`), call the matching builder first and then call `query_adhoc` with builder `qp`; do not call schema or metadata tools between the report/dashboard miss and the builder. For all other `query_adhoc` models, use the legacy schema/metadata path.
184
+ 5. **If not found** - For every non-SQL model (`event`, `retention`, `funnel`, `prop_analysis`, `attribution`, `distribution`, `heat_map`, `interval`, `path`, `rank_list`), call the matching builder first and then call `query_adhoc` with builder `qp`; do not call schema or metadata tools between the report/dashboard miss and the builder. Only SQL uses the manual schema/verified-definition path.
174
185
 
175
186
  **Rationale:**
176
187
 
@@ -195,14 +206,20 @@ Before executing ad-hoc queries (`query_adhoc`), MUST check for existing reports
195
206
 
196
207
  ### E. QP_BUILDER_SUPPORTED_MODELS_ONLY
197
208
 
198
- QP builder supports exactly four ad-hoc model types: `event`, `retention`, `funnel`, and `prop_analysis`.
209
+ QP builder supports ten ad-hoc model types: `event`, `retention`, `funnel`, `prop_analysis`, `attribution`, `distribution`, `heat_map`, `interval`, `path`, and `rank_list`.
199
210
 
200
- For these four model types, QP builder is mandatory before `query_adhoc`. Do not handcraft QP from `get_analysis_query_schema`, examples, or prior knowledge.
211
+ For these ten model types, QP builder is mandatory before `query_adhoc`. Do not handcraft QP from `get_analysis_query_schema`, examples, or prior knowledge.
201
212
 
202
213
  1. `event` -> `+build_event_analysis_qp`
203
214
  2. `retention` -> `+build_retention_analysis_qp`
204
215
  3. `funnel` -> `+build_funnel_analysis_qp`
205
216
  4. `prop_analysis` -> `+build_prop_analysis_qp`
217
+ 5. `attribution` -> `+build_attribution_analysis_qp`
218
+ 6. `distribution` -> `+build_distribution_analysis_qp`
219
+ 7. `heat_map` -> `+build_heat_map_analysis_qp`
220
+ 8. `interval` -> `+build_interval_analysis_qp`
221
+ 9. `path` -> `+build_path_analysis_qp`
222
+ 10. `rank_list` -> `+build_rank_list_analysis_qp`
206
223
 
207
224
  Builder-supported model routing is:
208
225
 
@@ -237,7 +254,7 @@ Execution rule:
237
254
 
238
255
  - If builder result `status=generated`, call `+query_adhoc` with the same `model_type` and the returned `qp`.
239
256
  - If builder returns non-generated status (`need_clarification`, `invalid_argument`, `unsupported_feature`, `validation_error`), stop and ask the user for clarification instead of calling `query_adhoc`.
240
- - Never bypass a failed builder by manually assembling QP for `event`, `retention`, `funnel`, or `prop_analysis`.
257
+ - Never bypass a failed builder by manually assembling QP for any non-SQL model.
241
258
 
242
259
  Builder payload rules:
243
260
 
@@ -362,8 +379,7 @@ After outputting attribution results, verify that dimension contributions sum to
362
379
 
363
380
  ## Tool Groups (100)
364
381
 
365
- ### analysis (108)
366
-
382
+ ### analysis-meta (47)
367
383
 
368
384
  Metadata Capabilities (47):
369
385
 
@@ -415,6 +431,8 @@ Metadata Capabilities (47):
415
431
  - `virtual-property sql-rule-delete` ([doc](references/virtual_property_sql_rule_delete.md))
416
432
  - `virtual-property sql-rule-update` ([doc](references/virtual_property_sql_rule_update.md))
417
433
 
434
+ ### analysis
435
+
418
436
  Alerts (6):
419
437
  - `+get_alert_definition_schema` ([doc](references/get_alert_definition_schema.md))
420
438
  - `+list_alerts` ([doc](references/list_alerts.md))
@@ -431,7 +449,7 @@ Reports:
431
449
  - `+update_report` ([doc](references/update_report.md))
432
450
  - `+delete_report` ([doc](references/delete_report.md))
433
451
 
434
- Dashboard, BI panel, project-space, folder, favorite, public-link, dashboard-definition, dashboard-daily-report, run, artifact, and dashboard/BI data commands are capability-gateway commands. Use `ae-cli analysis <resource> <action>` after reading [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md); do not use old `+` dashboard/space/BI/public-link command names.
452
+ Dashboard, BI panel, project-space list/get, favorite, public-link, dashboard-definition, dashboard-daily-report, run, artifact, and dashboard/BI data commands are curated capability-gateway commands. Use `ae-cli analysis <resource> <action>` after reading [`references/analysis_gateway_assets.md`](references/analysis_gateway_assets.md). Project-space and folder create/delete/share are L3 only; use `ae-cli capability ...` after reading the matching reference. `*.members` read capabilities use L3 dynamic discovery via the gateway matrix (no standalone reference). Do not use old `+` dashboard/space/BI/public-link command names.
435
453
 
436
454
  Model Analysis (17):
437
455
  - `+build_event_analysis_qp` ([doc](references/build_event_analysis_qp.md))
@@ -539,6 +557,7 @@ Entity Catalog (2):
539
557
 
540
558
  ```bash
541
559
  ae-cli analysis --help
560
+ ae-cli analysis-meta --help
542
561
  ae-cli analysis_audience --help
543
562
  ae-cli analysis_meta --help
544
563
  ae-cli analysis_common --help
@@ -550,4 +569,4 @@ npm run verify:analysis-common-tools
550
569
 
551
570
  ## Reference Docs
552
571
 
553
- See the unified `references/` directory (126 command docs total).
572
+ See the unified `references/` directory (124 command docs total).
@@ -10,7 +10,7 @@ ae-cli analysis <resource> <action> [options]
10
10
 
11
11
  Flags use kebab-case. The gateway input JSON uses snake_case. Do not pass camelCase flags or payload keys unless a nested backend DTO explicitly requires them inside `--payload`.
12
12
 
13
- This file is an overview only. Before running one command, read the dedicated command reference named `references/<resource>_<action>.md` with hyphens converted to underscores, for example `dashboard_report_data_export.md`.
13
+ This file is an overview only. Before running an L2 command, read the dedicated command reference named `references/<resource>_<action>.md` with hyphens converted to underscores, for example `dashboard_report_data_export.md`. L3 capabilities without a dedicated reference use dynamic discovery per [`ae-capability`](../../ae-capability/SKILL.md) and the L3 section below.
14
14
 
15
15
  ## When to use
16
16
 
@@ -104,14 +104,6 @@ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. The de
104
104
  | `bi-panel-page-data export` | `analysis.bi_panel_page_data.export` | Large/long BI page data | same as run, optional `--artifact-format jsonl` | Async artifact descriptor |
105
105
  | `project-space list` | `analysis.project_space.list` | Find accessible project spaces | `--project-id`, optional list filters | Paginated project spaces |
106
106
  | `project-space get` | `analysis.project_space.get` | Inspect one project space | `--project-id`, `--space-id` | Project space detail |
107
- | `project-space create` | `analysis.project_space.create` | Create a project space; `avatar_type` defaults to 1 when omitted | `--space-name` or `--payload` | Created space |
108
- | `project-space delete` | `analysis.project_space.delete` | Delete project spaces | `--space-id` or `--space-ids` | Delete result |
109
- | `project-space share` | `analysis.project_space.share` | Modify project-space members | `--space-id`, `--payload` | Share update result |
110
- | `project-space members` | `analysis.project_space.members` | Read project-space members | `--space-id` | Members |
111
- | `folder create` | `analysis.folder.create` | Create personal/project-space folder | `--folder-name`, optional `--space-id`, `--parent-folder-id` | Created folder |
112
- | `folder delete` | `analysis.folder.delete` | Delete folders | `--folder-id` or `--folder-ids`, optional `--space-id` | Delete result |
113
- | `folder share` | `analysis.folder.share` | Modify folder members | `--folder-id`, `--payload` | Share update result |
114
- | `folder members` | `analysis.folder.members` | Read folder members | `--folder-id` | Members |
115
107
  | `favorite add` | `analysis.favorite.add` | Favorite dashboard/BI/folder | `--asset-id`, `--asset-type`, optional `--payload` | Favorite result |
116
108
  | `favorite remove` | `analysis.favorite.remove` | Remove favorite | same as add | Remove result |
117
109
  | `public-link create` | `analysis.public_link.create` | Generate public link | `--resource-type`, `--resource-id`, `--effective-at`, `--expires-at` | Link result |
@@ -120,6 +112,47 @@ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. The de
120
112
  | `public-link offline` | `analysis.public_link.offline` | Take links offline | `--link-id` or `--link-ids` | Offline result |
121
113
  | `public-link delete` | `analysis.public_link.delete` | Delete public links | `--link-id` or `--link-ids` | Delete result |
122
114
 
115
+ ## L3 project-space and folder capabilities
116
+
117
+ Per [`capability-command-admission` §10](../../../docs/capability-command-admission.md): new gateway capabilities default to **dynamic discovery** (`capability search` → `inspect` → `dry-run` → `run`); standalone skill references are **exceptions only** (L2 bar, confusion, high-risk delete, multi-step orchestration).
118
+
119
+ For **create / delete / share**, read the linked reference before `capability inspect/dry-run/run`. For **`*.members` read**, use this matrix only — no separate `references/*.md` (pilot).
120
+
121
+ | Capability ID | Use for | Reference / discovery |
122
+ | --- | --- | --- |
123
+ | `analysis.project_space.create` | Create a project space | [`project_space_create.md`](project_space_create.md) |
124
+ | `analysis.project_space.delete` | Delete project spaces | [`project_space_delete.md`](project_space_delete.md) |
125
+ | `analysis.project_space.share` | Modify project-space members | [`project_space_share.md`](project_space_share.md) |
126
+ | `analysis.project_space.members` | Read project-space members | Matrix only (see below) |
127
+ | `analysis.folder.create` | Create personal/project-space folder | [`folder_create.md`](folder_create.md) |
128
+ | `analysis.folder.delete` | Delete folders | [`folder_delete.md`](folder_delete.md) |
129
+ | `analysis.folder.share` | Modify folder members | [`folder_share.md`](folder_share.md) |
130
+ | `analysis.folder.members` | Read folder members | Matrix only (see below) |
131
+
132
+ ### L3 members (matrix-only pilot)
133
+
134
+ Read-only member lists; `risk=read`. Do not use to modify members — use the matching `*.share` capability.
135
+
136
+ **When to use:** inspect who has access to a project space or folder.
137
+
138
+ **When not to use:** modify members → `analysis.project_space.share` or `analysis.folder.share`.
139
+
140
+ ```bash
141
+ ae-cli capability inspect analysis.project_space.members
142
+ ae-cli capability run analysis.project_space.members --input '{"project_id":1,"space_id":10}'
143
+
144
+ ae-cli capability inspect analysis.folder.members
145
+ ae-cli capability run analysis.folder.members --input '{"project_id":1,"folder_id":1001}'
146
+ ```
147
+
148
+ | field | type | required | capability |
149
+ | --- | --- | --- | --- |
150
+ | `project_id` | integer | yes | both |
151
+ | `space_id` | integer | yes | `project_space.members` |
152
+ | `folder_id` | integer | yes | `folder.members` |
153
+
154
+ Output is the gateway envelope; `data` contains members.
155
+
123
156
  ## Examples
124
157
 
125
158
  ```bash
@@ -1,4 +1,4 @@
1
- # analysis asset abnormal-get
1
+ # analysis-meta asset abnormal-get
2
2
 
3
3
  Use when the user needs to get abnormal reason for one asset.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis asset abnormal-get --project-id <project_id> --resource-type <resource_type> --resource-id <resource_id> --resource-name <resource_name> --table-type <table_type>
11
- ae-cli analysis asset abnormal-get --dry-run
10
+ ae-cli analysis-meta asset abnormal-get --project-id <project_id> --resource-type <resource_type> --resource-id <resource_id> --resource-name <resource_name> --table-type <table_type>
11
+ ae-cli analysis-meta asset abnormal-get --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.asset_abnormal.get`.
@@ -1,4 +1,4 @@
1
- # analysis asset abnormal-list
1
+ # analysis-meta asset abnormal-list
2
2
 
3
3
  Use when the user needs to list abnormal assets by resource type.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis asset abnormal-list --project-id <project_id> --resource-types <resource_types>
11
- ae-cli analysis asset abnormal-list --dry-run
10
+ ae-cli analysis-meta asset abnormal-list --project-id <project_id> --resource-types <resource_types>
11
+ ae-cli analysis-meta asset abnormal-list --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.asset_abnormal.list`.
@@ -1,4 +1,4 @@
1
- # analysis asset authentication-list
1
+ # analysis-meta asset authentication-list
2
2
 
3
3
  Use when the user needs to list authenticatable project assets and authentication status.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis asset authentication-list --project-id <project_id>
11
- ae-cli analysis asset authentication-list --dry-run
10
+ ae-cli analysis-meta asset authentication-list --project-id <project_id>
11
+ ae-cli analysis-meta asset authentication-list --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.asset_authentication.list`.
@@ -1,4 +1,4 @@
1
- # analysis asset authentication-update
1
+ # analysis-meta asset authentication-update
2
2
 
3
3
  Use when the user needs to batch authenticate or unauthenticate assets.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis asset authentication-update --project-id <project_id> --payload '{}'
11
- ae-cli analysis asset authentication-update --dry-run
10
+ ae-cli analysis-meta asset authentication-update --project-id <project_id> --payload '{}'
11
+ ae-cli analysis-meta asset authentication-update --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.asset_authentication.update`.