@thinkingai/ae-cli 6.0.18 → 6.0.20
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/README.md +7 -6
- package/README.zh.md +8 -7
- package/dist/index.js +11 -6
- package/dist/{te-agent-KZRIEN4N.js → te-agent-CYZUC4US.js} +543 -19
- package/dist/{te-analysis-VAR4KUOK.js → te-analysis-HJ22TUAA.js} +318 -40
- package/dist/te-audience-MYDE5WEH.js +590 -0
- package/dist/te-dataops-ZTS7XMXM.js +1842 -0
- package/dist/{te-kb-B62KFP2A.js → te-kb-OWM3RQRH.js} +46 -21
- package/dist/{te-meta-EPZGQN56.js → te-meta-JVO4QJBH.js} +28 -11
- package/package.json +1 -1
- package/skills/ae-agent/SKILL.md +103 -4
- package/skills/ae-analysis/SKILL.md +66 -19
- package/skills/ae-analysis/references/build_attribution_analysis_qp.md +60 -0
- package/skills/ae-analysis/references/build_cluster_definition.md +60 -0
- package/skills/ae-analysis/references/build_distribution_analysis_qp.md +65 -0
- package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +52 -0
- package/skills/ae-analysis/references/build_interval_analysis_qp.md +58 -0
- package/skills/ae-analysis/references/build_path_analysis_qp.md +51 -0
- package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +61 -0
- package/skills/ae-analysis/references/build_tag_definition.md +63 -0
- package/skills/ae-analysis/references/cancel_query.md +2 -3
- package/skills/ae-analysis/references/copy_dashboard.md +33 -0
- package/skills/ae-analysis/references/create_id_cluster.md +40 -0
- package/skills/ae-analysis/references/create_id_tag.md +39 -0
- package/skills/ae-analysis/references/delete_alert.md +27 -0
- package/skills/ae-analysis/references/delete_cluster.md +27 -0
- package/skills/ae-analysis/references/delete_dashboard.md +30 -0
- package/skills/ae-analysis/references/delete_metric.md +27 -0
- package/skills/ae-analysis/references/delete_report.md +27 -0
- package/skills/ae-analysis/references/delete_tag.md +27 -0
- package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
- package/skills/ae-analysis/references/drilldown_users.md +3 -3
- package/skills/ae-analysis/references/freeze_dashboards.md +29 -0
- package/skills/ae-analysis/references/get_table_columns.md +11 -12
- package/skills/ae-analysis/references/list_cluster_members.md +4 -4
- package/skills/ae-analysis/references/list_clusters.md +3 -3
- package/skills/ae-analysis/references/list_dashboards.md +3 -3
- package/skills/ae-analysis/references/list_entities.md +1 -1
- package/skills/ae-analysis/references/list_events.md +3 -3
- package/skills/ae-analysis/references/list_metrics.md +2 -2
- package/skills/ae-analysis/references/list_properties.md +3 -3
- package/skills/ae-analysis/references/list_reports.md +3 -3
- package/skills/ae-analysis/references/list_spaces.md +27 -0
- package/skills/ae-analysis/references/list_tag_members.md +4 -4
- package/skills/ae-analysis/references/list_tags.md +2 -2
- package/skills/ae-analysis/references/move_dashboard.md +33 -0
- package/skills/ae-analysis/references/query_adhoc.md +2 -2
- package/skills/ae-analysis/references/query_bi_panel_data.md +2 -2
- package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -4
- package/skills/ae-analysis/references/query_entity_details.md +4 -4
- package/skills/ae-analysis/references/query_event_details.md +3 -3
- package/skills/ae-analysis/references/query_report_data.md +37 -3
- package/skills/ae-analysis/references/update_id_cluster.md +36 -0
- package/skills/ae-analysis/references/update_id_tag.md +37 -0
- package/skills/ae-analysis/references/update_report.md +35 -0
- package/skills/ae-analysis-intent/SKILL.md +1 -1
- package/skills/ae-dataops/SKILL.md +54 -522
- package/skills/ae-dataops/references/dataops-flow-create.md +78 -75
- package/skills/ae-dataops/references/dataops-flow-monitor.md +58 -51
- package/skills/ae-dataops/references/dataops-integration.md +80 -41
- package/skills/ae-dataops/references/dataops-query.md +54 -53
- package/skills/ae-dataops/references/dataops-table.md +28 -59
- package/dist/te-audience-KMKYI2YJ.js +0 -400
- package/dist/te-dataops-GD3XBYCS.js +0 -1830
|
@@ -447,9 +447,32 @@ var schema = {
|
|
|
447
447
|
execute: async (ctx) => kbApi(ctx, "POST", API_PATH7, {}, buildBody6(ctx))
|
|
448
448
|
};
|
|
449
449
|
|
|
450
|
-
// src/commands/te-kb/
|
|
451
|
-
var API_PATH8 = "/agent/api/external/knowledge-bases/
|
|
450
|
+
// src/commands/te-kb/status.ts
|
|
451
|
+
var API_PATH8 = "/agent/api/external/knowledge-bases/status";
|
|
452
452
|
function buildBody7(ctx) {
|
|
453
|
+
return {
|
|
454
|
+
name: ctx.str("name")
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
var status = {
|
|
458
|
+
service: "kb",
|
|
459
|
+
command: "+status",
|
|
460
|
+
description: "Query knowledge base status.",
|
|
461
|
+
flags: [
|
|
462
|
+
{ name: "name", type: "string", required: true, desc: "Knowledge base name" }
|
|
463
|
+
],
|
|
464
|
+
risk: "read",
|
|
465
|
+
dryRun: (ctx) => ({
|
|
466
|
+
method: "POST",
|
|
467
|
+
url: `${ctx.host().replace(/\/$/, "")}${API_PATH8}`,
|
|
468
|
+
body: buildBody7(ctx)
|
|
469
|
+
}),
|
|
470
|
+
execute: async (ctx) => kbApi(ctx, "POST", API_PATH8, {}, buildBody7(ctx))
|
|
471
|
+
};
|
|
472
|
+
|
|
473
|
+
// src/commands/te-kb/kb-index.ts
|
|
474
|
+
var API_PATH9 = "/agent/api/external/knowledge-bases/index";
|
|
475
|
+
function buildBody8(ctx) {
|
|
453
476
|
const body = {};
|
|
454
477
|
const sources = ctx.json("sources");
|
|
455
478
|
if (sources) body.sources = sources;
|
|
@@ -473,15 +496,15 @@ var kbIndex = {
|
|
|
473
496
|
risk: "read",
|
|
474
497
|
dryRun: (ctx) => ({
|
|
475
498
|
method: "POST",
|
|
476
|
-
url: `${ctx.host().replace(/\/$/, "")}${
|
|
477
|
-
body:
|
|
499
|
+
url: `${ctx.host().replace(/\/$/, "")}${API_PATH9}`,
|
|
500
|
+
body: buildBody8(ctx)
|
|
478
501
|
}),
|
|
479
|
-
execute: async (ctx) => kbApi(ctx, "POST",
|
|
502
|
+
execute: async (ctx) => kbApi(ctx, "POST", API_PATH9, {}, buildBody8(ctx))
|
|
480
503
|
};
|
|
481
504
|
|
|
482
505
|
// src/commands/te-kb/kb-grep.ts
|
|
483
|
-
var
|
|
484
|
-
function
|
|
506
|
+
var API_PATH10 = "/agent/api/external/knowledge-bases/grep";
|
|
507
|
+
function buildBody9(ctx) {
|
|
485
508
|
const body = {
|
|
486
509
|
query: ctx.str("query")
|
|
487
510
|
};
|
|
@@ -517,15 +540,15 @@ var kbGrep = {
|
|
|
517
540
|
risk: "read",
|
|
518
541
|
dryRun: (ctx) => ({
|
|
519
542
|
method: "POST",
|
|
520
|
-
url: `${ctx.host().replace(/\/$/, "")}${
|
|
521
|
-
body:
|
|
543
|
+
url: `${ctx.host().replace(/\/$/, "")}${API_PATH10}`,
|
|
544
|
+
body: buildBody9(ctx)
|
|
522
545
|
}),
|
|
523
|
-
execute: async (ctx) => kbApi(ctx, "POST",
|
|
546
|
+
execute: async (ctx) => kbApi(ctx, "POST", API_PATH10, {}, buildBody9(ctx))
|
|
524
547
|
};
|
|
525
548
|
|
|
526
549
|
// src/commands/te-kb/kb-read.ts
|
|
527
|
-
var
|
|
528
|
-
function
|
|
550
|
+
var API_PATH11 = "/agent/api/external/knowledge-bases/read";
|
|
551
|
+
function buildBody10(ctx) {
|
|
529
552
|
const body = {
|
|
530
553
|
source: ctx.json("source"),
|
|
531
554
|
path: ctx.str("path")
|
|
@@ -562,14 +585,14 @@ var kbRead = {
|
|
|
562
585
|
risk: "read",
|
|
563
586
|
dryRun: (ctx) => ({
|
|
564
587
|
method: "POST",
|
|
565
|
-
url: `${ctx.host().replace(/\/$/, "")}${
|
|
566
|
-
body:
|
|
588
|
+
url: `${ctx.host().replace(/\/$/, "")}${API_PATH11}`,
|
|
589
|
+
body: buildBody10(ctx)
|
|
567
590
|
}),
|
|
568
|
-
execute: async (ctx) => kbApi(ctx, "POST",
|
|
591
|
+
execute: async (ctx) => kbApi(ctx, "POST", API_PATH11, {}, buildBody10(ctx))
|
|
569
592
|
};
|
|
570
593
|
|
|
571
594
|
// src/commands/te-kb/ask.ts
|
|
572
|
-
var
|
|
595
|
+
var API_PATH12 = "/agent/api/external/knowledge-bases/ask";
|
|
573
596
|
var VALID_LOCALES = /* @__PURE__ */ new Set(["zh", "en", "ja", "ko"]);
|
|
574
597
|
var MIN_QUESTION_LEN = 1;
|
|
575
598
|
var MAX_QUESTION_LEN = 2e3;
|
|
@@ -595,7 +618,7 @@ function validateMaxTurns(maxTurns) {
|
|
|
595
618
|
);
|
|
596
619
|
}
|
|
597
620
|
}
|
|
598
|
-
function
|
|
621
|
+
function buildBody11(ctx) {
|
|
599
622
|
const body = {
|
|
600
623
|
question: ctx.str("question")
|
|
601
624
|
};
|
|
@@ -649,10 +672,10 @@ var ask = {
|
|
|
649
672
|
},
|
|
650
673
|
dryRun: (ctx) => ({
|
|
651
674
|
method: "POST",
|
|
652
|
-
url: `${ctx.host().replace(/\/$/, "")}${
|
|
653
|
-
body:
|
|
675
|
+
url: `${ctx.host().replace(/\/$/, "")}${API_PATH12}`,
|
|
676
|
+
body: buildBody11(ctx)
|
|
654
677
|
}),
|
|
655
|
-
execute: async (ctx) => kbApi(ctx, "POST",
|
|
678
|
+
execute: async (ctx) => kbApi(ctx, "POST", API_PATH12, {}, buildBody11(ctx))
|
|
656
679
|
};
|
|
657
680
|
|
|
658
681
|
// src/commands/te-kb/index.ts
|
|
@@ -665,6 +688,7 @@ var commands = [
|
|
|
665
688
|
create,
|
|
666
689
|
rmSource,
|
|
667
690
|
schema,
|
|
691
|
+
status,
|
|
668
692
|
kbIndex,
|
|
669
693
|
kbGrep,
|
|
670
694
|
kbRead
|
|
@@ -682,5 +706,6 @@ export {
|
|
|
682
706
|
query,
|
|
683
707
|
remove,
|
|
684
708
|
rmSource,
|
|
685
|
-
schema
|
|
709
|
+
schema,
|
|
710
|
+
status
|
|
686
711
|
};
|
|
@@ -60,11 +60,11 @@ function requiredJsonString(ctx, name) {
|
|
|
60
60
|
// src/commands/te-meta/meta/list-events.ts
|
|
61
61
|
var listEvents = createMcpCommand({
|
|
62
62
|
command: "+list_events",
|
|
63
|
-
description: "List events in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve event names internally. Query performs fuzzy matching on eventName, eventDesc and
|
|
63
|
+
description: "List events in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve event names internally. Query performs fuzzy matching on eventName, eventDesc, and remark. Supports fields/limit/offset payload governance. Default returned fields: eventId, eventName, eventDesc, remark.",
|
|
64
64
|
flags: [
|
|
65
65
|
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
66
|
-
{ name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and
|
|
67
|
-
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventName, eventDesc,
|
|
66
|
+
{ name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to eventName, eventDesc, and remark; if omitted, all events are returned.", alias: "q" },
|
|
67
|
+
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: eventId, eventName, eventDesc, remark, eventTag. Default fields when omitted: eventId, eventName, eventDesc, remark.", alias: "f" },
|
|
68
68
|
{ name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 10000.", alias: "l" },
|
|
69
69
|
{ name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
|
|
70
70
|
],
|
|
@@ -81,13 +81,13 @@ var listEvents = createMcpCommand({
|
|
|
81
81
|
// src/commands/te-meta/meta/list-properties.ts
|
|
82
82
|
var listProperties = createMcpCommand({
|
|
83
83
|
command: "+list_properties",
|
|
84
|
-
description: "List properties in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve property names internally. Query performs fuzzy matching on propName, propDesc and
|
|
84
|
+
description: "List properties in the project. Use for explicit metadata inspection, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders; the builders resolve property names internally. Query performs fuzzy matching on propName, propDesc, and remark. Supports fields/limit/offset payload governance. Default returned fields: propId, propName, propDesc, remark, selectType, tableType.",
|
|
85
85
|
flags: [
|
|
86
86
|
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
87
87
|
{ name: "scope", type: "string", required: false, desc: "Property scope: event or user" },
|
|
88
88
|
{ name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
|
|
89
|
-
{ name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and
|
|
90
|
-
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propName, propDesc,
|
|
89
|
+
{ name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to propName, propDesc, and remark; if omitted, all accessible properties are returned.", alias: "q" },
|
|
90
|
+
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: propId, propName, propDesc, remark, selectType, tableType, subTableType. Default fields when omitted: propId, propName, propDesc, remark, selectType, tableType.", alias: "f" },
|
|
91
91
|
{ name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 10000.", alias: "l" },
|
|
92
92
|
{ name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
|
|
93
93
|
],
|
|
@@ -200,11 +200,11 @@ var createVirtualProperty = createMcpCommand({
|
|
|
200
200
|
// src/commands/te-meta/meta/list-metrics.ts
|
|
201
201
|
var listMetrics = createMcpCommand({
|
|
202
202
|
command: "+list_metrics",
|
|
203
|
-
description: "List metric metadata in the project. Use for metric metadata inspection/management, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders. For event saved metric queries, pass the metric name directly to +build_event_analysis_qp in metrics[].event. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports fields/limit/offset pagination.",
|
|
203
|
+
description: "List metric metadata in the project. Use for metric metadata inspection/management, not as a pre-step for event/retention/funnel/prop_analysis ad-hoc builders. For event saved metric queries, pass the metric name directly to +build_event_analysis_qp in metrics[].event. Query performs fuzzy matching on metricName, metricDesc, and metricRemark. Supports fields/limit/offset pagination. Default returned fields: metricId, metricName, metricDesc, metricRemark, metricMode.",
|
|
204
204
|
flags: [
|
|
205
205
|
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
206
206
|
{ name: "query", type: "string", required: false, alias: "q", desc: "Optional keyword filter. Fuzzy match on metricName, metricDesc, metricRemark." },
|
|
207
|
-
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime." },
|
|
207
|
+
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported: metricId, metricName, metricDesc, metricRemark, metricMode, openId, creator, creatorLoginName, updateOpenId, updateCreator, updateLoginName, createTime, updateTime. Default fields when omitted: metricId, metricName, metricDesc, metricRemark, metricMode." },
|
|
208
208
|
{ name: "limit", type: "number", required: false, desc: "Optional limit. Default: 20, maximum: 10000." },
|
|
209
209
|
{ name: "offset", type: "number", required: false, desc: "Optional offset. Default: 0." }
|
|
210
210
|
],
|
|
@@ -289,6 +289,22 @@ var updateMetric = createMcpCommand({
|
|
|
289
289
|
})
|
|
290
290
|
});
|
|
291
291
|
|
|
292
|
+
// src/commands/te-meta/meta/delete-metric.ts
|
|
293
|
+
var deleteMetric = createMcpCommand({
|
|
294
|
+
command: "+delete_metric",
|
|
295
|
+
description: "Delete a metric by metricId",
|
|
296
|
+
flags: [
|
|
297
|
+
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
298
|
+
{ name: "metric_id", type: "number", required: true, desc: "Metric ID to delete" }
|
|
299
|
+
],
|
|
300
|
+
risk: "write",
|
|
301
|
+
mcpService: "te_analysis_extend",
|
|
302
|
+
buildArgs: (ctx) => ({
|
|
303
|
+
projectId: ctx.num("project_id"),
|
|
304
|
+
metricId: ctx.num("metric_id")
|
|
305
|
+
})
|
|
306
|
+
});
|
|
307
|
+
|
|
292
308
|
// src/commands/te-meta/meta/index.ts
|
|
293
309
|
var commands = [
|
|
294
310
|
listEvents,
|
|
@@ -300,7 +316,8 @@ var commands = [
|
|
|
300
316
|
listMetrics,
|
|
301
317
|
getMetric,
|
|
302
318
|
createMetric,
|
|
303
|
-
updateMetric
|
|
319
|
+
updateMetric,
|
|
320
|
+
deleteMetric
|
|
304
321
|
];
|
|
305
322
|
var meta_default = commands;
|
|
306
323
|
|
|
@@ -515,12 +532,12 @@ var project_default = commands2;
|
|
|
515
532
|
// src/commands/te-meta/entity/list-entities.ts
|
|
516
533
|
var listEntities = createMcpCommand({
|
|
517
534
|
command: "+list_entities",
|
|
518
|
-
description: "List entities in the project. Query performs fuzzy matching on entityName, columnName and columnDesc. Supports fields/limit/offset payload governance.",
|
|
535
|
+
description: "List entities in the project. Query performs fuzzy matching on entityName, columnName and columnDesc. Supports fields/limit/offset payload governance. Default returned fields: entityId, entityName, columnName, columnDesc, selectType. Entity metadata exposes columnDesc as the description field; no remark field is available in this list response.",
|
|
519
536
|
flags: [
|
|
520
537
|
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
521
538
|
{ name: "event_name", type: "string", required: false, desc: "Optional event name filter" },
|
|
522
539
|
{ name: "query", type: "string", required: false, desc: "Optional keyword filter. Fuzzy match is applied to entityName, columnName, and columnDesc; if omitted, all entities are returned.", alias: "q" },
|
|
523
|
-
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: entityId, entityName, columnName, columnDesc, selectType, tableType, entityType.", alias: "f" },
|
|
540
|
+
{ name: "fields", type: "json", required: false, desc: "Optional fields to return. Supported fields: entityId, entityName, columnName, columnDesc, selectType, tableType, entityType. Default fields when omitted: entityId, entityName, columnName, columnDesc, selectType.", alias: "f" },
|
|
524
541
|
{ name: "limit", type: "number", required: false, desc: "Optional page size. Default: 20, maximum: 10000.", alias: "l" },
|
|
525
542
|
{ name: "offset", type: "number", required: false, desc: "Optional page offset. Default: 0.", alias: "o" }
|
|
526
543
|
],
|
package/package.json
CHANGED
package/skills/ae-agent/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-agent
|
|
3
|
-
version: 1.
|
|
4
|
-
description: "AE Agent platform resource management CLI for listing Agents, creating and updating automations, adding/removing/listing/toggling custom models, MCP servers, Skills,
|
|
3
|
+
version: 1.1.0
|
|
4
|
+
description: "AE Agent platform resource management CLI for listing Agents, creating and updating automations, adding/removing/listing/toggling custom models, MCP servers, Skills, uploading sandbox files to the attachment library, browsing the MCP/Skill market, setting market category/icon, copying system/company Skills to personal, and submitting/approving/sharing Skills. Use when the user asks to manage Agent platform resources, browse the market, or create scheduled Agent automations. Must use ae-cli agent commands."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# ae-agent
|
|
@@ -14,10 +14,10 @@ ae-cli agent +<command> [options]
|
|
|
14
14
|
|
|
15
15
|
## Global Rules
|
|
16
16
|
|
|
17
|
-
- Use this skill for Agent platform resource management: Agents, automations, models, MCP servers, Skills, and
|
|
17
|
+
- 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.
|
|
18
18
|
- Read operations can run directly. Write operations require explicit user intent and normally keep the confirmation prompt unless `--yes` is passed.
|
|
19
19
|
- Prefer `--dry-run` before destructive writes.
|
|
20
|
-
- Only personal scope resources can be created or deleted; company/system resources are read-only in the CLI.
|
|
20
|
+
- Only personal scope resources can be created or deleted; company/system resources are read-only in the CLI (exception: root users can approve/reject submissions and set company-scope meta).
|
|
21
21
|
- Toggle operations on company/system resources only affect the current user's preference, not the global state.
|
|
22
22
|
- JSON flags must be valid JSON strings, usually wrapped in single quotes in shell.
|
|
23
23
|
- Successful commands return JSON by default. Use `--format table` when a table is easier to scan.
|
|
@@ -64,6 +64,45 @@ ae-cli agent +<command> [options]
|
|
|
64
64
|
| `+del-skill` | write | Delete a personal Skill (physical delete). |
|
|
65
65
|
| `+toggle-skill` | write | Enable or disable a Skill. |
|
|
66
66
|
|
|
67
|
+
### Market (browse)
|
|
68
|
+
|
|
69
|
+
| Command | Risk | Purpose |
|
|
70
|
+
| -------------------- | ----: | ------------------------------------------------------------------------ |
|
|
71
|
+
| `+list-mcp-market` | read | List MCP servers from the market (filter by scope/category/search/sort). |
|
|
72
|
+
| `+list-skill-market` | read | List Skills from the market (only approved; same filters). |
|
|
73
|
+
|
|
74
|
+
### Category & Icon (meta)
|
|
75
|
+
|
|
76
|
+
| Command | Risk | Purpose |
|
|
77
|
+
| ----------------- | ----: | ----------------------------------------------------------------------------- |
|
|
78
|
+
| `+set-mcp-meta` | write | Update an MCP server market category/icon. Company requires root; system RO. |
|
|
79
|
+
| `+set-skill-meta` | write | Update a Skill market category/icon. Company requires root; system RO. |
|
|
80
|
+
|
|
81
|
+
### Copy to personal
|
|
82
|
+
|
|
83
|
+
| Command | Risk | Purpose |
|
|
84
|
+
| ------------- | ----: | ---------------------------------------------------------------------- |
|
|
85
|
+
| `+copy-skill` | write | Copy a system/company Skill to a personal copy (independent duplicate). |
|
|
86
|
+
|
|
87
|
+
### Skill Approval (company-scope publish)
|
|
88
|
+
|
|
89
|
+
| Command | Risk | Purpose |
|
|
90
|
+
| -------------------------- | ----: | ------------------------------------------------------------------ |
|
|
91
|
+
| `+submit-skill` | write | Submit a personal Skill for company-scope review. |
|
|
92
|
+
| `+list-skill-submissions` | read | List submissions (root sees all; others see only their own). |
|
|
93
|
+
| `+cancel-skill-submission` | write | Cancel a pending submission (submitter or root). |
|
|
94
|
+
| `+approve-skill` | write | Approve a submission (root only). Creates a company-scope copy. |
|
|
95
|
+
| `+reject-skill` | write | Reject a submission with a reason (root only). |
|
|
96
|
+
|
|
97
|
+
### Skill Share (peer-to-peer)
|
|
98
|
+
|
|
99
|
+
| Command | Risk | Purpose |
|
|
100
|
+
| --------------------- | ----: | ----------------------------------------------------------------- |
|
|
101
|
+
| `+share-skill` | write | Share a personal Skill to a same-company user. |
|
|
102
|
+
| `+list-skill-shares` | read | List Skill shares (received by default; `--direction sent`). |
|
|
103
|
+
| `+accept-skill-share` | write | Accept a received share (creates a personal copy for recipient). |
|
|
104
|
+
| `+reject-skill-share` | write | Reject a received share. |
|
|
105
|
+
|
|
67
106
|
### Attachments
|
|
68
107
|
|
|
69
108
|
| Command | Risk | Purpose |
|
|
@@ -129,6 +168,18 @@ ae-cli agent +add-mcp \
|
|
|
129
168
|
--headers '{"Authorization":"Bearer token"}'
|
|
130
169
|
```
|
|
131
170
|
|
|
171
|
+
### Add an MCP with a market category and icon
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
ae-cli agent +add-mcp \
|
|
175
|
+
--name my-mcp \
|
|
176
|
+
--url "https://mcp.example.com/mcp" \
|
|
177
|
+
--transport http \
|
|
178
|
+
--headers '{"Authorization":"Bearer token"}' \
|
|
179
|
+
--category dev_tool \
|
|
180
|
+
--icon-emoji robot
|
|
181
|
+
```
|
|
182
|
+
|
|
132
183
|
### Create a Skill with inline instructions
|
|
133
184
|
|
|
134
185
|
```bash
|
|
@@ -145,6 +196,49 @@ echo "You are a helpful assistant that..." | \
|
|
|
145
196
|
ae-cli agent +add-skill --name helper --description "Helper skill" --instructions @-
|
|
146
197
|
```
|
|
147
198
|
|
|
199
|
+
### Browse the market
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
ae-cli agent +list-mcp-market --scope company --category dev_tool --sort calls
|
|
203
|
+
ae-cli agent +list-skill-market --search "code review" --sort newest --format table
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Set market category / icon
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
ae-cli agent +set-mcp-meta --id <mcp-cuid> --category dev_tool --icon-emoji robot
|
|
210
|
+
ae-cli agent +set-skill-meta --id <skill-cuid> --category data_query
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Copy a system/company Skill to personal
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
ae-cli agent +copy-skill --id <skill-cuid>
|
|
217
|
+
ae-cli agent +copy-skill --id <skill-cuid> --category dev_tool --icon-emoji robot
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Submit a Skill for company approval
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
ae-cli agent +submit-skill --id <skill-cuid> --description "Code reviewer for the team"
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Review approvals (root)
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
ae-cli agent +list-skill-submissions --status pending
|
|
230
|
+
ae-cli agent +approve-skill --id <submission-cuid>
|
|
231
|
+
ae-cli agent +reject-skill --id <submission-cuid> --reason "Needs more detail"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Share a Skill peer-to-peer
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
ae-cli agent +share-skill --id <skill-cuid> --to-user-id <user-id>
|
|
238
|
+
ae-cli agent +list-skill-shares --direction received --status pending
|
|
239
|
+
ae-cli agent +accept-skill-share --id <share-cuid>
|
|
240
|
+
```
|
|
241
|
+
|
|
148
242
|
### Upload a single file to attachment library
|
|
149
243
|
|
|
150
244
|
```bash
|
|
@@ -172,3 +266,8 @@ ae-cli agent +toggle-model --id <model-cuid> --enabled false
|
|
|
172
266
|
- Attachment upload supports files up to 50MB each, with a 1GB user quota.
|
|
173
267
|
- Batch attachment uploads support partial success — individual file failures don't affect others.
|
|
174
268
|
- Skill `--instructions @-` reads from stdin, useful for piping long instruction text.
|
|
269
|
+
- Market category keys: `ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`. Sort options: `newest | calls | likes` (`calls` sorts MCP by call count, Skill by download count). Market scope: `all | system | company | custom` (`custom` = personal).
|
|
270
|
+
- `+add-mcp` / `+add-skill` accept optional `--category / --icon-emoji / --icon-color`; these are applied via a follow-up meta PATCH after creation. MCP creation still does NOT validate server connectivity.
|
|
271
|
+
- `+copy-skill` copies a system/company Skill to an independent personal copy. Optional `--category / --icon-emoji / --icon-color` override the copy's market meta; omit them to inherit the source's. MCP has no copy (use `+toggle-mcp` to enable a system/company MCP per-user).
|
|
272
|
+
- Approval and share flows are Skill-only; MCP has no approval or share. `+approve-skill` / `+reject-skill` require root.
|
|
273
|
+
- `--id` semantics differ by command: `+submit-skill` / `+share-skill` / `+copy-skill` take a Skill ID; `+cancel-skill-submission` / `+approve-skill` / `+reject-skill` take a submission ID; `+accept-skill-share` / `+reject-skill-share` take a share ID.
|