@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.
- package/dist/capability-KVA55RMK.js +227 -0
- package/dist/capability-LKHLZQPD.js +227 -0
- package/dist/chunk-CWZUGF2J.js +26 -0
- package/dist/{chunk-YNQFYBDB.js → chunk-OJR23CIK.js} +12 -0
- package/dist/chunk-OO6XR6LK.js +26 -0
- package/dist/{chunk-C4DH76LX.js → chunk-P2JRP6HJ.js} +4 -21
- package/dist/{chunk-LG5YT7P7.js → chunk-S5XN6KEX.js} +4 -21
- package/dist/{chunk-BXMXMUD7.js → chunk-THBBNYXI.js} +12 -0
- package/dist/index.js +22 -11
- package/dist/{metadata-IPSPQBX3.js → metadata-6CCFV4K5.js} +11 -8
- package/dist/{metadata-N5REJ7R7.js → metadata-PDOIWH5O.js} +11 -8
- package/dist/{te-agent-QLIVKRUN.js → te-agent-FAIBM3SA.js} +5 -5
- package/dist/{te-analysis-5WZKVFHI.js → te-analysis-DDXGM7WM.js} +173 -260
- package/dist/{te-analysis-KAEZXLNS.js → te-analysis-HCDNYI7E.js} +173 -260
- package/dist/{te-audience-XMRMVD2V.js → te-audience-ECFS4GF4.js} +11 -10
- package/dist/{te-audience-PVMKQAFH.js → te-audience-WO377T2J.js} +11 -10
- package/dist/{te-engage-AGREUOW7.js → te-engage-545HJL6J.js} +4 -4
- package/dist/{te-engage-MIIUKY6M.js → te-engage-M7JQSJDP.js} +4 -4
- package/dist/{te-kb-KQJ53M3A.js → te-kb-NT33UHAE.js} +1 -1
- package/dist/{te-meta-QLANJ4B4.js → te-meta-FADFLTDM.js} +3 -3
- package/dist/{te-meta-TOA6FWDE.js → te-meta-PKT27OTN.js} +3 -3
- package/dist/{te-team-TQGMNHQQ.js → te-team-RG75PR5D.js} +1 -1
- package/package.json +2 -1
- package/skills/ae-agent/SKILL.md +4 -3
- package/skills/ae-analysis/SKILL.md +35 -16
- package/skills/ae-analysis/references/analysis_gateway_assets.md +42 -9
- package/skills/ae-analysis/references/asset_abnormal_get.md +3 -3
- package/skills/ae-analysis/references/asset_abnormal_list.md +3 -3
- package/skills/ae-analysis/references/asset_authentication_list.md +3 -3
- package/skills/ae-analysis/references/asset_authentication_update.md +3 -3
- package/skills/ae-analysis/references/asset_recent_list.md +3 -3
- package/skills/ae-analysis/references/asset_search.md +3 -3
- package/skills/ae-analysis/references/build_event_analysis_qp.md +1 -1
- package/skills/ae-analysis/references/build_funnel_analysis_qp.md +1 -1
- package/skills/ae-analysis/references/build_prop_analysis_qp.md +1 -1
- package/skills/ae-analysis/references/build_retention_analysis_qp.md +1 -1
- package/skills/ae-analysis/references/cancel_query.md +1 -1
- package/skills/ae-analysis/references/datatable_columns_get.md +3 -3
- package/skills/ae-analysis/references/datatable_influence_list.md +3 -3
- package/skills/ae-analysis/references/datatable_version_get.md +3 -3
- package/skills/ae-analysis/references/datatable_version_list.md +3 -3
- package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
- package/skills/ae-analysis/references/event_changelog_list.md +3 -3
- package/skills/ae-analysis/references/event_create.md +3 -3
- package/skills/ae-analysis/references/event_delete.md +3 -3
- package/skills/ae-analysis/references/event_get.md +3 -3
- package/skills/ae-analysis/references/event_hide_update.md +3 -3
- package/skills/ae-analysis/references/event_influence_list.md +3 -3
- package/skills/ae-analysis/references/event_list.md +3 -3
- package/skills/ae-analysis/references/event_relation_update.md +3 -3
- package/skills/ae-analysis/references/event_update.md +3 -3
- package/skills/ae-analysis/references/exchange_config_update.md +3 -3
- package/skills/ae-analysis/references/exchange_rate_refresh.md +3 -3
- package/skills/ae-analysis/references/exchange_rule_list.md +3 -3
- package/skills/ae-analysis/references/exchange_rule_update.md +3 -3
- package/skills/ae-analysis/references/exchange_rule_validate.md +3 -3
- package/skills/ae-analysis/references/folder_create.md +18 -6
- package/skills/ae-analysis/references/folder_delete.md +21 -6
- package/skills/ae-analysis/references/folder_share.md +16 -6
- package/skills/ae-analysis/references/get_analysis_query_schema.md +17 -18
- package/skills/ae-analysis/references/get_report_definition.md +1 -1
- package/skills/ae-analysis/references/list_events.md +1 -1
- package/skills/ae-analysis/references/list_metrics.md +1 -1
- package/skills/ae-analysis/references/list_properties.md +1 -1
- package/skills/ae-analysis/references/metric_create.md +3 -3
- package/skills/ae-analysis/references/metric_delete.md +3 -3
- package/skills/ae-analysis/references/metric_get.md +3 -3
- package/skills/ae-analysis/references/metric_list.md +3 -3
- package/skills/ae-analysis/references/metric_update.md +3 -3
- package/skills/ae-analysis/references/project_space_create.md +19 -5
- package/skills/ae-analysis/references/project_space_delete.md +23 -6
- package/skills/ae-analysis/references/project_space_share.md +16 -6
- package/skills/ae-analysis/references/property_changelog_list.md +3 -3
- package/skills/ae-analysis/references/property_create.md +3 -3
- package/skills/ae-analysis/references/property_delete.md +3 -3
- package/skills/ae-analysis/references/property_get.md +3 -3
- package/skills/ae-analysis/references/property_hide_update.md +3 -3
- package/skills/ae-analysis/references/property_influence_list.md +3 -3
- package/skills/ae-analysis/references/property_list.md +3 -3
- package/skills/ae-analysis/references/property_related_events.md +3 -3
- package/skills/ae-analysis/references/property_relation_update.md +3 -3
- package/skills/ae-analysis/references/property_update.md +3 -3
- package/skills/ae-analysis/references/query_adhoc.md +34 -21
- package/skills/ae-analysis/references/super_metadata_export.md +4 -4
- package/skills/ae-analysis/references/super_metadata_import.md +3 -3
- package/skills/ae-analysis/references/update_report.md +3 -3
- package/skills/ae-analysis/references/virtual_event_create.md +3 -3
- package/skills/ae-analysis/references/virtual_event_delete.md +3 -3
- package/skills/ae-analysis/references/virtual_event_get.md +3 -3
- package/skills/ae-analysis/references/virtual_property_create.md +3 -3
- package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +3 -3
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
- package/skills/ae-capability/SKILL.md +103 -0
- package/skills/ae-community/SKILL.md +1 -1
- package/skills/ae-dataops/references/dataops-integration.md +3 -3
- package/skills/ae-engage/SKILL.md +5 -5
- package/skills/ae-metadata/references/metadata_data_table_sql_write.md +60 -8
- package/skills/ae-team/SKILL.md +1 -1
- package/skills/ae-analysis/references/folder_members.md +0 -15
- 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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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.
|
|
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",
|
package/skills/ae-agent/SKILL.md
CHANGED
|
@@ -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**
|
|
32
|
-
-
|
|
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
|
|
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
|
-
-
|
|
36
|
-
- Never invent command names, flags, JSON payloads, `project_id`, resource IDs, field names, event names, property names, metric definitions, or date formats. For
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
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 (
|
|
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
|
|
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`.
|