@thinkingai/ae-cli 6.1.7 → 6.1.8
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/{auth-UPGUOKTW.js → auth-B2BRSYMS.js} +1 -1
- package/dist/{capability-TQ5KU5Q6.js → capability-6KPXYNO7.js} +1 -1
- package/dist/{capability-AJC5CBRT.js → capability-ROKYESAP.js} +1 -1
- package/dist/{chunk-6CHYBI64.js → chunk-EBPXT3TN.js} +1 -1
- package/dist/{chunk-4Q5TNP4Q.js → chunk-J7MZHDHQ.js} +48 -24
- package/dist/{chunk-IMMGMU54.js → chunk-JTKMDN4A.js} +64 -166
- package/dist/{chunk-ISY6HMHM.js → chunk-RRFK2W7I.js} +1 -1
- package/dist/{config-PMPISN5Y.js → config-DDYJPJX3.js} +1 -1
- package/dist/index.js +49 -22
- package/dist/{metadata-P5GIVMZ6.js → metadata-2ZFRMVOL.js} +2 -2
- package/dist/{metadata-ELUAR3EJ.js → metadata-ABQCKU5P.js} +2 -2
- package/dist/{model-OYQLXCQY.js → model-JASQVOFD.js} +1 -1
- package/dist/{raw-TPB7KSZO.js → raw-6HXFFHLV.js} +1 -1
- package/dist/{sync-EFJKFZK2.js → sync-BF3IWYFC.js} +2 -2
- package/dist/{te-agent-BOQ7ZY56.js → te-agent-3GJ5H2XF.js} +1 -1
- package/dist/{te-analysis-ZT2MYAHL.js → te-analysis-DJ6KELTU.js} +213 -129
- package/dist/{te-analysis-HZIP6SYW.js → te-analysis-PCGESPLW.js} +213 -129
- package/dist/{te-dataops-Y5QAPPPF.js → te-dataops-LXL5YULV.js} +1 -1
- package/dist/{te-dataops-VYN3IOKO.js → te-dataops-ROHUJOX5.js} +1 -1
- package/dist/{te-engage-2FSDUOIZ.js → te-engage-2YDCA552.js} +87 -4
- package/dist/{te-engage-BMJ6UOUU.js → te-engage-VW6NJZ5V.js} +87 -4
- package/dist/{te-experiment-4JC7WUKW.js → te-experiment-7JGJNDXO.js} +2 -2
- package/dist/{te-experiment-KYRWAUZY.js → te-experiment-OYK54B72.js} +2 -2
- package/dist/te-system-AH7DMCAQ.js +1706 -0
- package/dist/{te-team-PDKKW7Q5.js → te-team-RRZI4WRI.js} +1 -1
- package/dist/update-ER7VFU55.js +101 -0
- package/package.json +5 -1
- package/skills/ae-agent/references/create-automation.md +1 -0
- package/skills/ae-analysis/SKILL.md +1 -1
- package/skills/ae-analysis/references/alert_create.md +2 -3
- package/skills/ae-analysis/references/alert_update.md +2 -3
- package/skills/ae-analysis/references/analysis_gateway_assets.md +6 -4
- package/skills/ae-analysis/references/bi_panel_create.md +12 -4
- package/skills/ae-analysis/references/bi_panel_update.md +11 -8
- package/skills/ae-analysis/references/bi_panel_version_publish.md +3 -1
- package/skills/ae-analysis/references/command_index.md +10 -7
- package/skills/ae-analysis/references/dashboard_daily_report_get.md +18 -0
- package/skills/ae-analysis/references/dashboard_daily_report_send.md +12 -9
- package/skills/ae-analysis/references/dashboard_daily_report_send_status.md +22 -0
- package/skills/ae-analysis/references/dashboard_daily_report_update.md +13 -6
- package/skills/ae-analysis/references/drilldown_user_events_export.md +5 -0
- package/skills/ae-analysis/references/drilldown_user_events_run.md +6 -0
- package/skills/ae-analysis/references/super_metadata_batch_create.md +29 -0
- package/skills/ae-analysis/references/super_metadata_batch_edit.md +24 -0
- package/skills/ae-engage/SKILL.md +32 -5
- package/skills/ae-engage/references/activity-topic.md +34 -1
- package/skills/ae-engage/references/add-channel.md +2 -3
- package/skills/ae-engage/references/build-task-save-guide.md +17 -3
- package/skills/ae-engage/references/channel-detail.md +2 -3
- package/skills/ae-engage/references/channel-list.md +2 -5
- package/skills/ae-engage/references/channel-mgmt.md +17 -2
- package/skills/ae-engage/references/channel-test-send.md +1 -1
- package/skills/ae-engage/references/channel-update-config.md +1 -1
- package/skills/ae-engage/references/delete-channel.md +2 -3
- package/skills/ae-engage/references/save-flow.md +6 -3
- package/skills/ae-engage/references/save-task.md +12 -15
- package/skills/ae-engage/references/scene-config-channel.md +28 -4
- package/skills/ae-engage/references/scene-config-group.md +1 -1
- package/skills/ae-engage/references/scene-config-item.md +1 -1
- package/skills/ae-engage/references/scene-config-metric.md +1 -1
- package/skills/ae-engage/references/scene-config-param.md +1 -1
- package/skills/ae-engage/references/scene-preset-metric.md +1 -1
- package/skills/ae-engage/references/scene-strategy-audience.md +680 -0
- package/skills/ae-engage/references/scene-strategy.md +16 -1
- package/skills/ae-engage/references/scene-template.md +1 -1
- package/skills/ae-engage/references/update-channel-status.md +2 -3
- package/skills/ae-system/SKILL.md +357 -0
- package/skills/ae-analysis/references/alert_definition_schema_get.md +0 -24
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AE_CLI_SKILLS_REPO,
|
|
3
|
+
OPEN_SOURCE_AE_CLI_PACKAGE,
|
|
4
|
+
fetchCliConfig,
|
|
5
|
+
getCachedCompatForHost,
|
|
6
|
+
printError,
|
|
7
|
+
printOutput
|
|
8
|
+
} from "./chunk-JTKMDN4A.js";
|
|
9
|
+
import {
|
|
10
|
+
peekCliToken
|
|
11
|
+
} from "./chunk-E7UXXHO3.js";
|
|
12
|
+
import "./chunk-IR4ZLVPW.js";
|
|
13
|
+
import {
|
|
14
|
+
getActiveHost,
|
|
15
|
+
normalizeUrl
|
|
16
|
+
} from "./chunk-V6FR6WTW.js";
|
|
17
|
+
import "./chunk-LYVNONC4.js";
|
|
18
|
+
|
|
19
|
+
// src/commands/update.ts
|
|
20
|
+
import { spawnSync } from "child_process";
|
|
21
|
+
var HOST_OPTION_DESC = "Override active AE host URL (e.g., https://ta.thinkingdata.cn)";
|
|
22
|
+
var SEMVER_RE = /^\d+\.\d+\.\d+(?:[-+].*)?$/;
|
|
23
|
+
function registerUpdate(program) {
|
|
24
|
+
program.command("update").description("Install the ae-cli and Skills version required by the current AE host").option("--host <url>", HOST_OPTION_DESC).option("--target <version>", "Install a specific ae-cli version instead of reading the active host").action(async (opts) => {
|
|
25
|
+
const target = await resolveTargetVersion(program, opts);
|
|
26
|
+
if (!target) return;
|
|
27
|
+
const host = resolveUpdateHost(program, opts);
|
|
28
|
+
const plan = buildUpdatePlan(target, host);
|
|
29
|
+
if (program.opts().dryRun) {
|
|
30
|
+
await printOutput({ action: "update", dryRun: true, ...plan }, program.opts().format || "json", program.opts().jq);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
runCommand("npm", ["i", "-g", `${OPEN_SOURCE_AE_CLI_PACKAGE}@${target}`]);
|
|
34
|
+
runCommand("npx", ["skills", "add", `${AE_CLI_SKILLS_REPO}#v${target}`, "-g", "-y"]);
|
|
35
|
+
await printOutput({ action: "update", dryRun: false, ...plan }, program.opts().format || "json", program.opts().jq);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async function resolveTargetVersion(program, opts) {
|
|
39
|
+
if (opts.target) {
|
|
40
|
+
return validateTarget(opts.target);
|
|
41
|
+
}
|
|
42
|
+
const host = resolveUpdateHost(program, opts);
|
|
43
|
+
if (!host) {
|
|
44
|
+
failUpdate("No AE host configured.", "Run: ae-cli config set-host <url>, or pass --target <version>.");
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const token = peekCliToken(host);
|
|
48
|
+
if (token) {
|
|
49
|
+
const remote = await fetchCliConfig(host, token);
|
|
50
|
+
if (remote?.aeCliVersion) {
|
|
51
|
+
return validateTarget(remote.aeCliVersion);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const cached = getCachedCompatForHost(host);
|
|
55
|
+
if (cached?.expectedVersion) {
|
|
56
|
+
return validateTarget(cached.expectedVersion);
|
|
57
|
+
}
|
|
58
|
+
failUpdate(
|
|
59
|
+
"Could not determine the ae-cli version required by this host.",
|
|
60
|
+
"Run: ae-cli auth login --host <url>, or pass --target <version>."
|
|
61
|
+
);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
function validateTarget(version) {
|
|
65
|
+
const target = version.trim().replace(/^v/i, "");
|
|
66
|
+
if (!SEMVER_RE.test(target)) {
|
|
67
|
+
failUpdate(`Invalid target version: ${version}`, "Expected semver like 6.0.34 or 6.1.6.");
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
return target;
|
|
71
|
+
}
|
|
72
|
+
function resolveUpdateHost(program, opts) {
|
|
73
|
+
const raw = opts.host || program.opts().host || getActiveHost();
|
|
74
|
+
return raw ? normalizeUrl(raw) : void 0;
|
|
75
|
+
}
|
|
76
|
+
function buildUpdatePlan(target, host) {
|
|
77
|
+
return {
|
|
78
|
+
target,
|
|
79
|
+
...host ? { host } : {},
|
|
80
|
+
commands: [
|
|
81
|
+
`npm i -g ${OPEN_SOURCE_AE_CLI_PACKAGE}@${target}`,
|
|
82
|
+
`npx skills add ${AE_CLI_SKILLS_REPO}#v${target} -g -y`
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
function runCommand(command, args) {
|
|
87
|
+
const result = spawnSync(command, args, { stdio: "inherit" });
|
|
88
|
+
if (result.error) {
|
|
89
|
+
throw result.error;
|
|
90
|
+
}
|
|
91
|
+
if (result.status !== 0) {
|
|
92
|
+
process.exit(result.status ?? 1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function failUpdate(message, hint) {
|
|
96
|
+
printError("config", message, hint);
|
|
97
|
+
process.exitCode = 1;
|
|
98
|
+
}
|
|
99
|
+
export {
|
|
100
|
+
registerUpdate
|
|
101
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thinkingai/ae-cli",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.8",
|
|
4
4
|
"description": "CLI tool for ThinkingAI (AE) analytics platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"verify:experiment-tools": "node scripts/verify-te-experiment-tools.mjs && node --import tsx test/experiment/experiment-capability-command.test.mjs",
|
|
41
41
|
"verify:team-tools": "node scripts/verify-te-team-tools.mjs",
|
|
42
42
|
"verify:agent-tools": "node scripts/verify-agent-tools.mjs && npm run verify:sandbox-tools",
|
|
43
|
+
"verify:system-tools": "node scripts/verify-system-tools.mjs && npx tsx tests/system-domain.test.ts && npx tsx tests/sandbox-tool-package.test.ts",
|
|
43
44
|
"verify:sandbox-tools": "tsx test/sandbox-tools.test.ts",
|
|
44
45
|
"verify:tracking-tools": "node test/tracking-client.test.mjs && node test/tracking-skill-flow.test.mjs && node test/tracking-commands.test.mjs",
|
|
45
46
|
"verify:self-check-overlay": "node test/self-check-overlay.test.mjs",
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
},
|
|
70
71
|
"dependencies": {
|
|
71
72
|
"@types/json-bigint": "^1.0.4",
|
|
73
|
+
"archiver": "^5.3.2",
|
|
72
74
|
"cli-table3": "^0.6.5",
|
|
73
75
|
"commander": "^12.1.0",
|
|
74
76
|
"exceljs": "^4.4.0",
|
|
@@ -80,9 +82,11 @@
|
|
|
80
82
|
"xlsx": "^0.18.5"
|
|
81
83
|
},
|
|
82
84
|
"devDependencies": {
|
|
85
|
+
"@types/archiver": "^5.3.4",
|
|
83
86
|
"@types/node": "^22.0.0",
|
|
84
87
|
"@types/turndown": "^5.0.6",
|
|
85
88
|
"@types/ws": "^8.5.0",
|
|
89
|
+
"jszip": "^3.10.1",
|
|
86
90
|
"mysql2": "^3.22.6",
|
|
87
91
|
"tsup": "^8.0.0",
|
|
88
92
|
"tsx": "^4.0.0",
|
|
@@ -13,6 +13,7 @@ Domain: **Automations / write**
|
|
|
13
13
|
- `--name` and `--message` are required.
|
|
14
14
|
- A schedule is required: provide either `--cron` or a `--schedule-kind` (with its time/day fields). `--cron` and `--schedule-kind` are mutually exclusive.
|
|
15
15
|
- `--agent-id` and `--agent-name` are mutually exclusive. Obtain a real Agent ID via `+list-agents` — do not guess.
|
|
16
|
+
- In a chat runtime, omitted `--conversation-id`, `--agent-id`, and `--model` values fall back to `TE_AGENT_CONVERSATION_ID`, `TE_AGENT_CURRENT_AGENT_ID`, and `TE_AGENT_CURRENT_MODEL_ID`. Explicit flags always take precedence; `--agent-name` intentionally suppresses the current Agent ID fallback.
|
|
16
17
|
- JSON flags must be valid JSON strings, usually wrapped in single quotes in shell.
|
|
17
18
|
- This is an ordinary `write` operation and does not require CLI confirmation.
|
|
18
19
|
- Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
|
|
@@ -29,7 +29,7 @@ Use this skill for these CLI services:
|
|
|
29
29
|
- `analysis-meta`: gateway metadata assets, events, properties, virtual metadata, metrics, data tables, exchange rules, and super metadata.
|
|
30
30
|
- `analysis-governance`: gateway asset governance operations, including governed asset lists/exports, lineage, dependency, impact, query history, rule schema/list/create/update/delete, batch asset actions, and operation records. Use this service for asset governance workflows, not for metadata event/property/metric CRUD.
|
|
31
31
|
- `tracking`: gateway tracking plan, checking, ingest, live-data, and event blacklist operations.
|
|
32
|
-
- `analysis_meta`: legacy metadata
|
|
32
|
+
- `analysis_meta`: legacy MCP metadata commands. Prefer `analysis-meta` gateway commands whenever the generated index contains the needed operation.
|
|
33
33
|
|
|
34
34
|
For metadata gateway detail outside the commands in the generated index, use the metadata skill. For Engage, DataOps, or Community work, use the corresponding skill.
|
|
35
35
|
|
|
@@ -12,7 +12,7 @@ ae-cli analysis alert create [options]
|
|
|
12
12
|
|
|
13
13
|
Capability id: `analysis.alert.create`
|
|
14
14
|
|
|
15
|
-
Input sends `project_id` and `
|
|
15
|
+
Input sends `project_id` and `definition_request`. Do not send camelCase aliases.
|
|
16
16
|
|
|
17
17
|
Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
|
|
18
18
|
|
|
@@ -21,5 +21,4 @@ Parameters:
|
|
|
21
21
|
| Parameter | Description | Required |
|
|
22
22
|
| --- | --- | --- |
|
|
23
23
|
| `--project-id` | See command help | Yes |
|
|
24
|
-
| `--definition` | See command help | Yes |
|
|
25
|
-
|
|
24
|
+
| `--definition-request` | See command help | Yes |
|
|
@@ -12,7 +12,7 @@ ae-cli analysis alert update [options]
|
|
|
12
12
|
|
|
13
13
|
Capability id: `analysis.alert.update`
|
|
14
14
|
|
|
15
|
-
Input sends `project_id`, `alert_id`, and `
|
|
15
|
+
Input sends `project_id`, `alert_id`, and `definition_request`. Do not send camelCase aliases.
|
|
16
16
|
|
|
17
17
|
Output is the capability gateway envelope: success is `ok=true,data,meta`; failure is `ok=false,error`. Export commands return lifecycle data such as `run_id` and `artifact_id` for inspect/download.
|
|
18
18
|
|
|
@@ -22,5 +22,4 @@ Parameters:
|
|
|
22
22
|
| --- | --- | --- |
|
|
23
23
|
| `--project-id` | See command help | Yes |
|
|
24
24
|
| `--alert-id` | See command help | Yes |
|
|
25
|
-
| `--definition` | See command help | Yes |
|
|
26
|
-
|
|
25
|
+
| `--definition-request` | See command help | Yes |
|
|
@@ -114,12 +114,14 @@ Prefer the run/artifact commands over hand-written HTTP, Python, or curl. Analys
|
|
|
114
114
|
| `query cancel` | `analysis.query.cancel` | Cancel gateway run/export | `--run-id`, optional `--reason` | Cancellation result |
|
|
115
115
|
| `dashboard-definition export` | `analysis.dashboard_definition.export` | Export dashboard definition JSON | `--dashboard-id`, `--dashboard-ids`, `--dashboard-folder-ids`, `--shared-spaces`, or `--payload` | Definition JSON |
|
|
116
116
|
| `dashboard-definition import` | `analysis.dashboard_definition.import` | Validate/import dashboard definition | `--definition`, optional `--validate-only true` | Validation or import result |
|
|
117
|
-
| `dashboard-daily-report
|
|
118
|
-
| `dashboard-daily-report
|
|
117
|
+
| `dashboard-daily-report get` | `analysis.dashboard_daily_report.get` | Get one saved daily report config with secrets and webhook URLs redacted | `--dashboard-id` | Config state |
|
|
118
|
+
| `dashboard-daily-report update` | `analysis.dashboard_daily_report.update` | Patch-style create or update; omitted fields remain unchanged | `--dashboard-id`, optional config flags or `--payload` | Config result |
|
|
119
|
+
| `dashboard-daily-report send` | `analysis.dashboard_daily_report.send` | Send immediately; destination fields infer channels, omission reuses saved destinations | `--dashboard-id`, optional destination/content flags or `--payload` | Async task ID |
|
|
120
|
+
| `dashboard-daily-report send-status` | `analysis.dashboard_daily_report.send_status` | Inspect one immediate-send task and per-channel outcome | `--task-id` | Send task status |
|
|
119
121
|
| `bi-panel list` | `analysis.bi_panel.list` | Find accessible BI panels | `--project-id`, optional list filters | Paginated BI panel summaries |
|
|
120
122
|
| `bi-panel get` | `analysis.bi_panel.get` | Inspect released BI panel page structure only | `--panel-id`, optional `--fields` | Panel structure |
|
|
121
|
-
| `bi-panel create` | `analysis.bi_panel.create` | Create
|
|
122
|
-
| `bi-panel update` | `analysis.bi_panel.update` |
|
|
123
|
+
| `bi-panel create` | `analysis.bi_panel.create` | Create an empty BI panel shell | required `--panel-name`; optional destination IDs | Created shell identifiers |
|
|
124
|
+
| `bi-panel update` | `analysis.bi_panel.update` | Rename a BI panel without changing content | required `--panel-uuid`, `--panel-name` | Rename result |
|
|
123
125
|
| `bi-panel delete` | `analysis.bi_panel.delete` | Delete BI panels | `--panel-ids '[...]'` | Delete result |
|
|
124
126
|
| `bi-panel share` | `analysis.bi_panel.share` | Modify BI panel sharing | `--panel-id`, `--payload` | Share update result |
|
|
125
127
|
| `bi-panel copy` | `analysis.bi_panel.copy` | Copy a BI panel | optional source/target flags and `--payload` | Copied panel |
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
# analysis bi-panel create
|
|
2
2
|
|
|
3
|
-
Use when the user explicitly wants to create
|
|
3
|
+
Use when the user explicitly wants to create a BI dashboard (`仪表盘`) as an empty shell, including requests phrased as `BI 仪表盘`.
|
|
4
4
|
|
|
5
5
|
Do not use for an analysis board (`看板`); use `analysis dashboard create` instead. Do not use to copy an existing BI dashboard; use `bi-panel copy`.
|
|
6
6
|
|
|
7
|
+
This first-version capability creates an empty BI-dashboard shell only. It does
|
|
8
|
+
not create pages, charts, worksheets, draft content, or released content.
|
|
9
|
+
Use `bi-panel copy` when the new BI dashboard should inherit an existing
|
|
10
|
+
released definition. The CLI does not currently expose draft-content writes.
|
|
11
|
+
|
|
7
12
|
Command:
|
|
8
13
|
|
|
9
14
|
```bash
|
|
10
|
-
ae-cli analysis bi-panel create --project-id <project_id>
|
|
15
|
+
ae-cli analysis bi-panel create --project-id <project_id> --panel-name <name> [--space-id <space_id>] [--folder-id <folder_id>]
|
|
11
16
|
```
|
|
12
17
|
|
|
13
|
-
Input sends `project_id` plus optional
|
|
18
|
+
Input sends required `project_id` and `panel_name`, plus optional target
|
|
19
|
+
`space_id` and `folder_id`.
|
|
14
20
|
|
|
15
|
-
Output is the gateway envelope. `data` contains the created BI-dashboard
|
|
21
|
+
Output is the gateway envelope. `data` contains the created BI-dashboard shell
|
|
22
|
+
identifier. Released-only reads and page-data queries remain unavailable until
|
|
23
|
+
content is created and released through another supported producer.
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
# analysis bi-panel update
|
|
2
2
|
|
|
3
|
-
Use when the user wants to
|
|
3
|
+
Use only when the user wants to rename a BI dashboard.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
`
|
|
5
|
+
This first-version capability does not modify pages, charts, worksheets, draft
|
|
6
|
+
content, or released content. Do not use it as a content-update command.
|
|
7
|
+
|
|
8
|
+
`bi-panel get` reads only the released/queryable version. If another product
|
|
9
|
+
entry point has created a draft, use
|
|
10
|
+
`bi-panel-version get --version-type draft` to inspect it and
|
|
11
|
+
`bi-panel-version publish` to publish its matching `source_version`.
|
|
9
12
|
|
|
10
13
|
Command:
|
|
11
14
|
|
|
12
15
|
```bash
|
|
13
|
-
ae-cli analysis bi-panel update --project-id <project_id>
|
|
16
|
+
ae-cli analysis bi-panel update --project-id <project_id> --panel-uuid <uuid> --panel-name <new_name>
|
|
14
17
|
```
|
|
15
18
|
|
|
16
|
-
Input sends `project_id`,
|
|
19
|
+
Input sends required `project_id`, `panel_uuid`, and new `panel_name`.
|
|
17
20
|
|
|
18
|
-
Output is the gateway envelope. `data`
|
|
21
|
+
Output is the gateway envelope. `data.updated=true` confirms the rename.
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Use when the user wants to publish the current BI panel draft so `bi-panel get`
|
|
4
4
|
and BI page-data queries can read it as a released/queryable version.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
`bi-panel update` only renames the BI dashboard and does not create a draft.
|
|
7
|
+
Do not call this command unless another supported producer has created draft
|
|
8
|
+
content. First inspect that draft with
|
|
7
9
|
`bi-panel-version get --version-type draft` and use the returned `data.version`
|
|
8
10
|
as `--source-version`. The gateway rejects stale `source_version` values.
|
|
9
11
|
|
|
@@ -8,25 +8,24 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
8
8
|
|---|---|---|---|---|
|
|
9
9
|
| `ae-cli analysis adhoc export` | analysis.adhoc.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--cluster-query-scope` (string; optional) — Optional physical query routing: GLOBAL aggregates accessible query clusters; SLAVE targets one --slave-cluster-id. Omit for the surface default.<br>`--slave-cluster-id` (string; optional) — Physical slave query-cluster ID from analysis query-cluster list. Required only with --cluster-query-scope SLAVE.<br>`--artifact-format` (string; optional) — Logical artifact format, usually jsonl or csv. This does not select compression; read format, compression, file_name, content_type, and content_encoding from the returned descriptor.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>. | [adhoc_export.md](adhoc_export.md) |
|
|
10
10
|
| `ae-cli analysis adhoc run` | analysis.adhoc.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--model-type` (string; required) — Supported AI-facing model_type values, 12 total. 9 common models: event (event analysis), retention (retention analysis), funnel (funnel conversion), distribution (distribution analysis), attribution (attribution analysis), interval (interval analysis), path (path analysis), prop_analysis (property analysis), sql (SQL analysis). 3 scenario models: heat_map (heat map analysis), rank_list (ranking analysis), revenue (revenue analysis). Tags and cohorts/clusters are separate capabilities and are not ad-hoc model_type values.<br>`--definition` (json; required) — AI-facing model definition JSON. Do not pass raw QP, events, event_view, visual_view, or analysis_query. For path definitions, global filters support user_property, cluster, and tag only; event_property is not supported. session_unit accepts second (1..999), minute (1..999), or hour (1..24). Do not use day; express one day as session_interval=24 and session_unit=hour. For SQL, a simple query is {"sql":"select ..."}; raw variables use ${name}, while typed params use ${Text:name}, ${Selector:name}, or ${PartDate:name}. PartDate expands to a complete predicate, so write WHERE ${PartDate:d}, not a column followed by the placeholder. A part_date parameter may set boolean use_timezone; it defaults to false and controls whether that parameter uses the query effective timezone. Selector value must match one options[].value. Trino identifiers containing #, $, @, spaces, or punctuation must be delimited with double quotes, for example SELECT "#user_id", "$part_event" FROM ...; single quotes are string literals. Queries against an event table must include a date-partition predicate on the quoted "$part_date" column, for example WHERE "$part_date" BETWEEN '2026-07-01' AND '2026-07-07'; the backend rejects event-table SQL without it. The CLI preserves SQL text and never auto-quotes identifiers.<br>`--request-id` (string; optional) — Optional caller-supplied cli_<32 lowercase hex> lifecycle ID. ae-cli generates and prints one before dispatch when omitted.<br>`--use-cache` (boolean; optional) — Whether to use query cache. Default: true.<br>`--zone-offset` (number; optional) — Optional timezone mode. Fixed UTC offsets are -12..14; 99 means stored local time without fixed UTC conversion (not UTC+99). Omit to use the project analysis default.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--cluster-query-scope` (string; optional) — Optional physical query routing: GLOBAL aggregates accessible query clusters; SLAVE targets one --slave-cluster-id. Omit for the surface default.<br>`--slave-cluster-id` (string; optional) — Physical slave query-cluster ID from analysis query-cluster list. Required only with --cluster-query-scope SLAVE.<br>`--limit` (number; optional, min=1, max=1000) — Maximum inline rows for sync query results. Default: 100, max: 1000. Use export for full data.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180. | [adhoc_run.md](adhoc_run.md) |
|
|
11
|
-
| `ae-cli analysis alert create` | analysis.alert.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) —
|
|
11
|
+
| `ae-cli analysis alert create` | analysis.alert.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_create.md](alert_create.md) |
|
|
12
12
|
| `ae-cli analysis alert delete` | analysis.alert.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_delete.md](alert_delete.md) |
|
|
13
13
|
| `ae-cli analysis alert get` | analysis.alert.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_get.md](alert_get.md) |
|
|
14
14
|
| `ae-cli analysis alert list` | analysis.alert.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--limit` (number; optional, min=1, max=200) — Page size. Default: 50, max: 200.<br>`--offset` (number; optional) — Optional zero-based result offset. | [alert_list.md](alert_list.md) |
|
|
15
15
|
| `ae-cli analysis alert start` | analysis.alert.start | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_start.md](alert_start.md) |
|
|
16
16
|
| `ae-cli analysis alert stop` | analysis.alert.stop | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID. | [alert_stop.md](alert_stop.md) |
|
|
17
|
-
| `ae-cli analysis alert update` | analysis.alert.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID.<br>`--definition` (json; required) —
|
|
18
|
-
| `ae-cli analysis alert-definition-schema get` | analysis.alert_definition_schema.get | read | None | [alert_definition_schema_get.md](alert_definition_schema_get.md) |
|
|
17
|
+
| `ae-cli analysis alert update` | analysis.alert.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID.<br>`--definition-request` (json; required) — Structured alert definition request JSON object using snake_case field names. | [alert_update.md](alert_update.md) |
|
|
19
18
|
| `ae-cli analysis alert-detail list` | analysis.alert_detail.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--alert-id` (number; required) — Alert task ID.<br>`--start-time` (string; optional) — Optional alert detail start time.<br>`--end-time` (string; optional) — Optional alert detail end time. | [alert_detail_list.md](alert_detail_list.md) |
|
|
20
19
|
| `ae-cli analysis alert-job list` | analysis.alert_job.list | read | `--project-id` (number; required) — Numeric project ID. | [alert_job_list.md](alert_job_list.md) |
|
|
21
20
|
| `ae-cli analysis alert-notice-config list` | analysis.alert_notice_config.list | read | `--project-id` (number; required) — Numeric project ID. | [alert_notice_config_list.md](alert_notice_config_list.md) |
|
|
22
21
|
| `ae-cli analysis artifact download` | gateway lifecycle | read | `--run-id` (string; required) — Async run ID returned by an export capability.<br>`--artifact-id` (string; required) — Artifact ID returned by the same export capability.<br>`--output` (string; required) — Local output file path. Use a file path, not a directory. | [artifact_download.md](artifact_download.md) |
|
|
23
22
|
| `ae-cli analysis bi-panel copy` | analysis.bi_panel.copy | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; optional) — New BI panel name.<br>`--panel-uuid` (string; optional) — Source BI panel UUID.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_copy.md](bi_panel_copy.md) |
|
|
24
|
-
| `ae-cli analysis bi-panel create` | analysis.bi_panel.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string;
|
|
23
|
+
| `ae-cli analysis bi-panel create` | analysis.bi_panel.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — Name for the new empty BI dashboard shell.<br>`--space-id` (number; optional) — Target project space ID.<br>`--folder-id` (number; optional) — Target folder ID. | [bi_panel_create.md](bi_panel_create.md) |
|
|
25
24
|
| `ae-cli analysis bi-panel delete` | analysis.bi_panel.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-ids` (json; required) — BI panel ID array. | [bi_panel_delete.md](bi_panel_delete.md) |
|
|
26
25
|
| `ae-cli analysis bi-panel get` | analysis.bi_panel.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [bi_panel_get.md](bi_panel_get.md) |
|
|
27
26
|
| `ae-cli analysis bi-panel list` | analysis.bi_panel.list | read | `--project-id` (number; required) — Numeric project ID.<br>`--query` (string; optional) — Optional keyword filter.<br>`--fields` (json; optional) — Optional result field projection JSON array.<br>`--limit` (number; optional, min=1, max=200) — Directory page size. Default: 50, max: 200. Values outside 1..200 are rejected.<br>`--offset` (number; optional) — Optional zero-based result offset. | [bi_panel_list.md](bi_panel_list.md) |
|
|
28
27
|
| `ae-cli analysis bi-panel share` | analysis.bi_panel.share | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [bi_panel_share.md](bi_panel_share.md) |
|
|
29
|
-
| `ae-cli analysis bi-panel update` | analysis.bi_panel.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string;
|
|
28
|
+
| `ae-cli analysis bi-panel update` | analysis.bi_panel.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--panel-name` (string; required) — New BI dashboard name.<br>`--panel-uuid` (string; required) — BI dashboard UUID. | [bi_panel_update.md](bi_panel_update.md) |
|
|
30
29
|
| `ae-cli analysis bi-panel-page-data export` | analysis.bi_panel_page_data.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--page-key` (string; required) — Page key returned by bi-panel get.<br>`--result-type` (string; required) — Result type: charts or summary.<br>`--chart-ids` (json; optional) — Optional chart ID array.<br>`--parameter-controls` (json; optional) — Optional parameter control override array.<br>`--permission-controls` (json; optional) — Optional permission control array.<br>`--chart-filter-controls` (json; optional) — Optional chart filter control array.<br>`--columns` (json; optional) — Optional returned column array.<br>`--row-limit` (number; optional, min=1, max=1000) — BI chart row window control. Default: 100, max: 1000. This is chart paging, not the async artifact total-row policy.<br>`--row-offset` (number; optional) — Chart row offset.<br>`--block-limit` (number; optional) — Summary block limit.<br>`--block-offset` (number; optional) — Summary block offset.<br>`--use-cache` (boolean; optional) — Whether to use cache. Default: true.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=21600) — Async runtime in seconds. Default and max: 21600 (6 hours); cancel earlier with analysis query cancel --run-id <run_id>.<br>`--artifact-format` (string; optional) — Artifact format. Only jsonl is supported. | [bi_panel_page_data_export.md](bi_panel_page_data_export.md) |
|
|
31
30
|
| `ae-cli analysis bi-panel-page-data run` | analysis.bi_panel_page_data.run | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; required) — BI panel ID.<br>`--page-key` (string; required) — Page key returned by bi-panel get.<br>`--result-type` (string; required) — Result type: charts or summary.<br>`--chart-ids` (json; optional) — Optional chart ID array.<br>`--parameter-controls` (json; optional) — Optional parameter control override array.<br>`--permission-controls` (json; optional) — Optional permission control array.<br>`--chart-filter-controls` (json; optional) — Optional chart filter control array.<br>`--columns` (json; optional) — Optional returned column array.<br>`--row-limit` (number; optional, min=1, max=1000) — BI chart row window control. Default: 100, max: 1000. This is chart paging, not the sync/export routing policy.<br>`--row-offset` (number; optional) — Chart row offset.<br>`--block-limit` (number; optional) — Summary block limit.<br>`--block-offset` (number; optional) — Summary block offset.<br>`--use-cache` (boolean; optional) — Whether to use cache. Default: true.<br>`--request-id` (string; optional) — Optional cli_<32 lowercase hex> request ID. Generated when omitted.<br>`--timeout-seconds` (number; optional, min=1, max=180) — Sync timeout seconds. Default: 120, max: 180.<br>`--limit` (number; optional, min=1, max=1000) — Maximum inline rows for sync query results. Default: 100, max: 1000. Use export for full data. | [bi_panel_page_data_run.md](bi_panel_page_data_run.md) |
|
|
32
31
|
| `ae-cli analysis bi-panel-version get` | analysis.bi_panel_version.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--panel-id` (number; optional) — BI panel ID. Required when --panel-uuid is omitted.<br>`--panel-uuid` (string; optional) — BI panel UUID. Required when --panel-id is omitted.<br>`--version-type` (string; optional) — Version to inspect: release or draft. Default: release.<br>`--fields` (json; optional) — Optional result field projection JSON array. | [bi_panel_version_get.md](bi_panel_version_get.md) |
|
|
@@ -43,8 +42,10 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
43
42
|
| `ae-cli analysis dashboard share-info` | analysis.dashboard.share_info | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_share_info.md](dashboard_share_info.md) |
|
|
44
43
|
| `ae-cli analysis dashboard task-status` | analysis.dashboard.task_status | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_task_status.md](dashboard_task_status.md) |
|
|
45
44
|
| `ae-cli analysis dashboard update` | analysis.dashboard.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--operation` (string; required) — Update operation: settings or note-upsert.<br>`--dashboard-id` (number; optional) — Dashboard ID for a single-dashboard update.<br>`--dashboard-ids` (json; optional) — Dashboard ID array for batch settings updates.<br>`--dashboard-name` (string; optional) — Dashboard name for single rename.<br>`--zone-offset` (number; optional) — Fixed dashboard time zone offset in hours. For example, UTC+8 is 8 and UTC-5 is -5. Valid range: -12 to 14.<br>`--refresh-type` (number; optional, min=0, max=1) — Dashboard refresh type: 0 real-time, 1 scheduled.<br>`--dashboard-status` (string; optional) — Dashboard status: normal or freeze.<br>`--note-id` (number; optional) — Dashboard note ID. Omit to create a new note.<br>`--note-title` (string; optional) — Dashboard note title.<br>`--description` (string; optional) — Dashboard note description.<br>`--ui-config` (string; optional) — Dashboard or note UI config string.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_update.md](dashboard_update.md) |
|
|
46
|
-
| `ae-cli analysis dashboard-daily-report
|
|
47
|
-
| `ae-cli analysis dashboard-daily-report
|
|
45
|
+
| `ae-cli analysis dashboard-daily-report get` | analysis.dashboard_daily_report.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID. | [dashboard_daily_report_get.md](dashboard_daily_report_get.md) |
|
|
46
|
+
| `ae-cli analysis dashboard-daily-report send` | analysis.dashboard_daily_report.send | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--need-csv` (boolean; optional) — Whether to include CSV attachment.<br>`--host-url` (string; optional) — Public host URL used in report links.<br>`--send-title` (string; optional) — Daily report title.<br>`--send-content` (string; optional) — Daily report content.<br>`--lang` (string; optional) — Report language.<br>`--screen-type` (string; optional) — Screenshot screen type.<br>`--zone-offset` (number; optional) — Time zone offset.<br>`--email-login-users` (string; optional) — Comma-separated login users for email.<br>`--email-new` (string; optional) — Comma-separated direct email addresses. The server selects company SMTP or the default mail service.<br>`--dd-url` (json; optional) — DingTalk webhook URL array, e.g. ["https://..."].<br>`--wx-url` (json; optional) — WeCom webhook URL array, e.g. ["https://..."].<br>`--feishu-info` (json; optional) — Feishu image upload and bot config, e.g. {"app_id":"cli_xxx","app_secret":"secret_xxx","webhook":["https://..."]}.<br>`--kim-url` (json; optional) — KIM/custom webhook URL array, e.g. ["https://..."].<br>`--slack-url` (json; optional) — Slack webhook URL array, e.g. ["https://..."].<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_daily_report_send.md](dashboard_daily_report_send.md) |
|
|
47
|
+
| `ae-cli analysis dashboard-daily-report send-status` | analysis.dashboard_daily_report.send_status | read | `--project-id` (number; required) — Numeric project ID.<br>`--task-id` (number; required) — Task ID returned by dashboard-daily-report send. | [dashboard_daily_report_send_status.md](dashboard_daily_report_send_status.md) |
|
|
48
|
+
| `ae-cli analysis dashboard-daily-report update` | analysis.dashboard_daily_report.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--need-csv` (boolean; optional) — Whether to include CSV attachment.<br>`--host-url` (string; optional) — Public host URL used in report links.<br>`--send-title` (string; optional) — Daily report title.<br>`--send-content` (string; optional) — Daily report content.<br>`--lang` (string; optional) — Report language.<br>`--screen-type` (string; optional) — Screenshot screen type.<br>`--zone-offset` (number; optional) — Time zone offset.<br>`--enable-email` (boolean; optional) — Whether scheduled email delivery is enabled.<br>`--enable-dd` (boolean; optional) — Whether scheduled DingTalk delivery is enabled.<br>`--enable-wx` (boolean; optional) — Whether scheduled WeCom delivery is enabled.<br>`--enable-feishu` (boolean; optional) — Whether scheduled Feishu delivery is enabled.<br>`--enable-kim` (boolean; optional) — Whether scheduled KIM delivery is enabled.<br>`--enable-slack` (boolean; optional) — Whether scheduled Slack delivery is enabled.<br>`--email-login-users` (string; optional) — Comma-separated login users for email.<br>`--email-new` (string; optional) — Comma-separated direct email addresses. The server selects company SMTP or the default mail service.<br>`--dd-url` (json; optional) — DingTalk webhook URL array, e.g. ["https://..."].<br>`--wx-url` (json; optional) — WeCom webhook URL array, e.g. ["https://..."].<br>`--feishu-info` (json; optional) — Feishu image upload and bot config, e.g. {"app_id":"cli_xxx","app_secret":"secret_xxx","webhook":["https://..."]}.<br>`--kim-url` (json; optional) — KIM/custom webhook URL array, e.g. ["https://..."].<br>`--slack-url` (json; optional) — Slack webhook URL array, e.g. ["https://..."].<br>`--send-date` (string; optional) — Scheduled weekdays, comma-separated 1..7.<br>`--send-time` (string; optional) — Scheduled send time, HH:mm.<br>`--enable-send` (boolean; optional) — Whether scheduled sending is enabled.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_daily_report_update.md](dashboard_daily_report_update.md) |
|
|
48
49
|
| `ae-cli analysis dashboard-definition export` | analysis.dashboard_definition.export | read | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; optional) — Single dashboard ID to export. The gateway resolves folder or project-space context.<br>`--dashboard-ids` (json; optional) — Dashboard ID array to export. The gateway resolves folder or project-space context.<br>`--dashboard-folder-ids` (json; optional) — Private folder ID array, or advanced descriptor array: [{"dashboard_folder_id":1,"dashboard_ids":[2]}].<br>`--shared-spaces` (json; optional) — Shared space export descriptor array.<br>`--export-file-name` (string; optional) — Optional export file name.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_definition_export.md](dashboard_definition_export.md) |
|
|
49
50
|
| `ae-cli analysis dashboard-definition import` | analysis.dashboard_definition.import | write | `--project-id` (number; required) — Numeric project ID.<br>`--definition` (json; required) — Dashboard definition JSON object.<br>`--validate-only` (boolean; optional) — Only validate import conflicts and importable state.<br>`--dashboard-name-conflict-policy` (string; optional) — Optional dashboard name conflict policy.<br>`--space-dashboard-policy` (string; optional) — Optional space/dashboard import policy.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields. | [dashboard_definition_import.md](dashboard_definition_import.md) |
|
|
50
51
|
| `ae-cli analysis dashboard-report add` | analysis.dashboard_report.add | write | `--project-id` (number; required) — Numeric project ID.<br>`--dashboard-id` (number; required) — Dashboard ID.<br>`--report-ids` (json; required) — Report ID array to add. | [dashboard_report_add.md](dashboard_report_add.md) |
|
|
@@ -224,6 +225,8 @@ This is the exhaustive command and flag inventory for the analysis skill. Read t
|
|
|
224
225
|
| `ae-cli analysis-meta property related-events` | metadata.property.related_events | read | `--project-id` (number; required) — Numeric project ID.<br>`--prop-name` (string; required) — Event property column name. | [property_related_events.md](property_related_events.md) |
|
|
225
226
|
| `ae-cli analysis-meta property relation-update` | metadata.property.relation_update | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--payload` (json; required) — Required snake_case capability payload. Read the dedicated command reference for its semantic shape; an empty object is not a generic valid payload. | [property_relation_update.md](property_relation_update.md) |
|
|
226
227
|
| `ae-cli analysis-meta property update` | metadata.property.update | write | `--project-id` (number; required) — Numeric project ID.<br>`--table-type` (string; required) — Property table type.<br>`--prop-name` (string; required) — Property column name.<br>`--prop-desc` (string; optional) — Property display name.<br>`--prop-remark` (string; optional) — Property remark. | [property_update.md](property_update.md) |
|
|
228
|
+
| `ae-cli analysis-meta super-metadata batch-create` | metadata.super_metadata.batch_create | write | `--project-id` (number; required) — Numeric project ID.<br>`--events` (json; optional) — Optional super event JSON array. Items use event_name, event_desc, remark, and super_event_prop_names.<br>`--event-properties` (json; optional) — Optional event property JSON array. Items use prop_name, select_type, prop_desc, prop_remark, common_prop, and super_event_names.<br>`--user-properties` (json; optional) — Optional user property JSON array. Items use prop_name, select_type, prop_desc, and prop_remark. | [super_metadata_batch_create.md](super_metadata_batch_create.md) |
|
|
229
|
+
| `ae-cli analysis-meta super-metadata batch-edit` | metadata.super_metadata.batch_edit | write | `--project-id` (number; required) — Numeric project ID.<br>`--type` (string; required) — Metadata type to edit: event, event_property, or user_property.<br>`--items` (json; required) — Batch edit item JSON array. Event items use event_name/event_desc/remark; property items use prop_name/prop_desc/prop_remark. | [super_metadata_batch_edit.md](super_metadata_batch_edit.md) |
|
|
227
230
|
| `ae-cli analysis-meta virtual-event create` | metadata.virtual_event.create | write | `--project-id` (number; required) — Numeric project ID.<br>`--payload` (json; optional) — Optional snake_case object for complex capability payload fields.<br>`--event-name` (string; optional) — Virtual event name. Must start with 'ta@'.<br>`--event-desc` (string; optional) — Virtual event display name.<br>`--remark` (string; optional) — Optional virtual event remark.<br>`--events` (json; optional) — Event array using snake_case event_name and optional AI-facing filter {relation,items:[{field:{name,type?},operator,values?}]}.<br>`--filter` (json; optional) — Optional AI-facing global filter {relation,items:[{field:{name,type?},operator,values?}]}; raw taFilters/junctionKind are rejected.<br>`--override` (boolean; optional) — Whether to override an existing virtual event rule. | [virtual_event_create.md](virtual_event_create.md) |
|
|
228
231
|
| `ae-cli analysis-meta virtual-event delete` | metadata.virtual_event.delete | high-risk-write | `--project-id` (number; required) — Numeric project ID.<br>`--v-event-id` (number; required) — Virtual event ID. | [virtual_event_delete.md](virtual_event_delete.md) |
|
|
229
232
|
| `ae-cli analysis-meta virtual-event get` | metadata.virtual_event.get | read | `--project-id` (number; required) — Numeric project ID.<br>`--v-event-id` (number; required) — Virtual event ID. | [virtual_event_get.md](virtual_event_get.md) |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# analysis dashboard-daily-report get
|
|
2
|
+
|
|
3
|
+
Use when the user wants to inspect one dashboard's saved daily report configuration.
|
|
4
|
+
|
|
5
|
+
Command:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli analysis dashboard-daily-report get --project-id <project_id> --dashboard-id <dashboard_id>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Output:
|
|
12
|
+
|
|
13
|
+
- `exists` indicates whether a saved configuration exists.
|
|
14
|
+
- `config` contains the saved schedule, content, enabled channels, and destinations.
|
|
15
|
+
- Internal SMTP selection is not exposed.
|
|
16
|
+
- Feishu secrets and all webhook URLs are redacted.
|
|
17
|
+
|
|
18
|
+
Use patch-style `dashboard-daily-report update` to change selected fields. Do not submit redacted values back as configuration.
|
|
@@ -7,17 +7,20 @@ Do not use for configuration changes. Use `dashboard-daily-report update`.
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis dashboard-daily-report send --project-id <project_id> --dashboard-id <dashboard_id> [--
|
|
10
|
+
ae-cli analysis dashboard-daily-report send --project-id <project_id> --dashboard-id <dashboard_id> [--email-new <emails>] [--dd-url '["https://..."]'] [--need-csv true] [--payload '{...}']
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Input sends `project_id`, `dashboard_id`, and optional daily report fields or `payload`.
|
|
14
|
-
|
|
15
13
|
Behavior:
|
|
16
14
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- If
|
|
20
|
-
-
|
|
21
|
-
-
|
|
15
|
+
- Destination fields infer channels. Do not pass `enable_email`, `enable_smtp`, or other channel switches.
|
|
16
|
+
- Email fields select email, `dd_url` selects DingTalk, `wx_url` selects WeCom, `feishu_info` selects Feishu, `kim_url` selects KIM, and `slack_url` selects Slack.
|
|
17
|
+
- If no destination field is provided, the command reuses saved destinations. Other fields such as `need_csv`, title, language, or timezone may still override the saved configuration for this send.
|
|
18
|
+
- If a destination field is explicitly provided but empty or invalid, the command fails instead of falling back to saved destinations.
|
|
19
|
+
- Direct email addresses use company SMTP when configured and otherwise use the default mail service.
|
|
20
|
+
- Feishu requires `app_id`, `app_secret`, and at least one webhook because the backend uploads the dashboard image before calling the group bot. Treat credentials and webhook URLs as sensitive.
|
|
21
|
+
|
|
22
|
+
Output `data.task_id` identifies the asynchronous delivery task. Inspect it with:
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
```bash
|
|
25
|
+
ae-cli analysis dashboard-daily-report send-status --project-id <project_id> --task-id <task_id>
|
|
26
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# analysis dashboard-daily-report send-status
|
|
2
|
+
|
|
3
|
+
Use after `dashboard-daily-report send` to inspect the actual delivery result.
|
|
4
|
+
Do not use it to read or change the saved daily report configuration.
|
|
5
|
+
|
|
6
|
+
Command:
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
ae-cli analysis dashboard-daily-report send-status --project-id <project_id> --task-id <task_id>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
The normalized `status` is one of:
|
|
13
|
+
|
|
14
|
+
- `queued`
|
|
15
|
+
- `rendering`
|
|
16
|
+
- `sending`
|
|
17
|
+
- `succeeded`
|
|
18
|
+
- `partially_succeeded`
|
|
19
|
+
- `failed`
|
|
20
|
+
- `canceled`
|
|
21
|
+
|
|
22
|
+
Output also includes `progress`, `message`, and per-channel status when the backend task contains channel details.
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
# analysis dashboard-daily-report update
|
|
2
2
|
|
|
3
|
-
Use when the user wants to update a dashboard daily report configuration.
|
|
3
|
+
Use when the user wants to create or update a dashboard daily report configuration.
|
|
4
4
|
|
|
5
5
|
Do not use to send immediately. Use `dashboard-daily-report send`.
|
|
6
6
|
|
|
7
7
|
Command:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
ae-cli analysis dashboard-daily-report update --project-id <project_id> --dashboard-id <dashboard_id> [--enable-send true] [--send-time <time>] [--
|
|
10
|
+
ae-cli analysis dashboard-daily-report update --project-id <project_id> --dashboard-id <dashboard_id> [--enable-send true] [--send-time <time>] [--enable-email true] [--email-new <emails>] [--payload '{...}']
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
The command is a patch-style upsert:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
- If the dashboard has no saved configuration, the backend creates one and applies defaults for omitted fields.
|
|
16
|
+
- If a configuration exists, omitted fields remain unchanged.
|
|
17
|
+
- Pass an explicit boolean to enable or disable a saved channel.
|
|
18
|
+
- Pass an empty string or array to clear a saved destination.
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
SMTP transport is not caller-selectable. For direct email addresses, the backend uses company SMTP when configured and otherwise uses the default mail service.
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
When enabling Feishu, pass `--enable-feishu true --feishu-info '{"app_id":"cli_xxx","app_secret":"secret_xxx","webhook":["https://open.feishu.cn/open-apis/bot/v2/hook/..."]}'`. Treat `app_secret` and webhook URLs as sensitive.
|
|
23
|
+
|
|
24
|
+
Use `dashboard-daily-report get` before a selective update when the current state matters. The get response redacts secrets and webhook URLs, so do not copy the full response back as an update payload.
|
|
25
|
+
|
|
26
|
+
Output is the gateway envelope. `data` contains the saved daily report configuration result.
|
|
@@ -21,6 +21,11 @@ The nested backend keys are exactly `columnName` and `tableType`, and the table
|
|
|
21
21
|
|
|
22
22
|
Use the exact `drilldown_context_id` and canonical `user_id` returned by a user-subject `analysis drilldown-entities run`. Do not use a custom entity, an entity export artifact, or a guessed identity. Export does not accept `--limit`, `--offset`, `--page-num`, or `--page-size`; Common builds the same authorized event-sequence query without the synchronous 1000-row preview cap and streams one `csv.gz` artifact. The platform full-download ceiling (`model_full_download_limit`) still applies.
|
|
23
23
|
|
|
24
|
+
For a `scope=total` source coordinate, there is no single selected date. Common
|
|
25
|
+
preserves the machine date coordinates returned by the source query together
|
|
26
|
+
with that query's time granularity, such as daily, weekly, or monthly. Do not
|
|
27
|
+
construct dates outside that context or force a daily granularity.
|
|
28
|
+
|
|
24
29
|
Inspect the returned `run_id` with `analysis run inspect`, then download the completed artifact with `analysis artifact download`.
|
|
25
30
|
|
|
26
31
|
Output is an async run/artifact descriptor. The complete event rows exist only in the downloaded artifact; they cannot be used as new analysis coordinates.
|
|
@@ -29,6 +29,12 @@ ae-cli analysis drilldown-user-events run \
|
|
|
29
29
|
|
|
30
30
|
Do not use raw QP, `query_context_id`, or guessed user IDs for this command.
|
|
31
31
|
|
|
32
|
+
For a `scope=total` source coordinate, there is no single selected date. Common
|
|
33
|
+
preserves the machine date coordinates returned by the source query together
|
|
34
|
+
with that query's time granularity, such as daily, weekly, or monthly. Do not
|
|
35
|
+
invent `target_dates`, force a daily granularity, or replace the returned
|
|
36
|
+
`drilldown_context_id`.
|
|
37
|
+
|
|
32
38
|
Do not call this command merely because an entity row looks like a user. The explicit subject and follow-up context are the authority.
|
|
33
39
|
|
|
34
40
|
## Output
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# analysis-meta super-metadata batch-create
|
|
2
|
+
|
|
3
|
+
Use this command to create effective system metadata in batch through the capability gateway: super events, event properties, and user properties.
|
|
4
|
+
|
|
5
|
+
Do not use it for ordinary event/property CRUD, metadata import from XLSX, or asset governance. Use the dedicated event/property commands, event-property-bundle import, or governance commands instead.
|
|
6
|
+
|
|
7
|
+
Command:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
ae-cli analysis-meta super-metadata batch-create --project-id <project_id> --events '[{"event_name":"purchase","event_desc":"Purchase"}]' --event-properties '[{"prop_name":"amount","select_type":"number","super_event_names":["purchase"]}]' --dry-run
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Capability id: `metadata.super_metadata.batch_create`.
|
|
14
|
+
|
|
15
|
+
Input sends `project_id` plus any non-empty JSON arrays among `events`, `event_properties`, and `user_properties`. Use snake_case object fields exactly as documented by the common-service schema:
|
|
16
|
+
|
|
17
|
+
- Event items: `event_name`, optional `event_desc`, optional `remark`, optional `super_event_prop_names`.
|
|
18
|
+
- Event property items: `prop_name`, `select_type`, optional `prop_desc`, optional `prop_remark`, optional `common_prop`, optional `super_event_names`.
|
|
19
|
+
- User property items: `prop_name`, `select_type`, optional `prop_desc`, optional `prop_remark`.
|
|
20
|
+
|
|
21
|
+
Output returns `created.events`, `created.event_properties`, and `created.user_properties` with created names and IDs, plus count metadata. If common-service rejects a duplicate, bad reference, or invalid type, preserve the gateway error code and message.
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
| Parameter | Required | Description |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `--project-id` | Yes | Numeric project ID. |
|
|
27
|
+
| `--events` | No | Super event JSON array. |
|
|
28
|
+
| `--event-properties` | No | Event property JSON array. |
|
|
29
|
+
| `--user-properties` | No | User property JSON array. |
|